diff --git a/Makefile b/Makefile index 2631e22192..095b6b6ac8 100644 --- a/Makefile +++ b/Makefile @@ -427,7 +427,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 diff --git a/asm/macros/event.inc b/asm/macros/event.inc index c52635ec77..a5e37967c6 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. @ If nowait set, does not wait for the fade to complete .macro fadescreenswapbuffers mode:req, nowait=0 @@ -2473,6 +2473,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/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/docs/SUMMARY.md b/docs/SUMMARY.md index 9472ac5352..f7bedfbd39 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) - [Day/Night System FAQ](tutorials/dns.md) - [Changelog](./CHANGELOG.md) - [1.10.x]() 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/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/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/graphics/pokemon/clodsire/anim_front.png b/graphics/pokemon/clodsire/anim_front.png new file mode 100644 index 0000000000..1630189f62 Binary files /dev/null and b/graphics/pokemon/clodsire/anim_front.png differ diff --git a/graphics/pokemon/clodsire/back.png b/graphics/pokemon/clodsire/back.png index 64132a060f..115f842435 100755 Binary files a/graphics/pokemon/clodsire/back.png and b/graphics/pokemon/clodsire/back.png differ diff --git a/graphics/pokemon/clodsire/front.png b/graphics/pokemon/clodsire/front.png deleted file mode 100755 index 2722b7eb70..0000000000 Binary files a/graphics/pokemon/clodsire/front.png and /dev/null differ diff --git a/graphics/pokemon/clodsire/normal.pal b/graphics/pokemon/clodsire/normal.pal index c7d36df32c..bf8f45d0c8 100755 --- a/graphics/pokemon/clodsire/normal.pal +++ b/graphics/pokemon/clodsire/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -64 60 48 -128 108 96 +153 211 165 +248 141 165 +176 90 105 +105 54 57 +184 160 162 +152 122 126 +86 71 72 +128 109 102 96 80 72 -48 40 32 +69 60 50 +51 41 36 +46 39 36 16 16 16 -184 160 160 -208 208 208 -40 36 32 -152 120 120 -80 68 72 -104 52 56 -176 88 104 -248 140 160 -0 0 0 -0 0 0 +215 189 217 +152 116 156 +91 67 108 diff --git a/graphics/pokemon/clodsire/shiny.pal b/graphics/pokemon/clodsire/shiny.pal index fcf3c9dc23..e3c18d79db 100755 --- a/graphics/pokemon/clodsire/shiny.pal +++ b/graphics/pokemon/clodsire/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -74 67 90 -127 116 143 -107 97 124 -46 40 44 -16 16 16 +153 211 165 +248 141 142 +176 94 90 +105 62 54 160 158 197 -205 180 170 -40 36 32 127 127 157 87 85 112 -104 52 56 -176 88 104 -248 140 160 -0 0 0 -0 0 0 +127 116 143 +107 97 124 +74 67 90 +49 43 62 +46 40 44 +16 16 16 +230 209 181 +201 159 123 +99 63 59 diff --git a/graphics/pokemon/grookey/back.png b/graphics/pokemon/grookey/back.png index b7f6c6076e..bdcc5924d4 100644 Binary files a/graphics/pokemon/grookey/back.png and b/graphics/pokemon/grookey/back.png differ diff --git a/graphics/pokemon/grookey/overworld.png b/graphics/pokemon/grookey/overworld.png index 2fb8352956..928fd09bc4 100644 Binary files a/graphics/pokemon/grookey/overworld.png and b/graphics/pokemon/grookey/overworld.png differ diff --git a/graphics/summary_screen/iv_ev_tiles.png b/graphics/summary_screen/iv_ev_tiles.png new file mode 100644 index 0000000000..66774f1438 Binary files /dev/null and b/graphics/summary_screen/iv_ev_tiles.png differ diff --git a/include/battle.h b/include/battle.h index a61eff5306..5e435a9a5b 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. // @@ -68,6 +69,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; @@ -354,7 +356,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 @@ -793,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. @@ -841,6 +833,8 @@ struct BattleStruct u8 printedStrongWindsWeakenedAttack:1; u8 numSpreadTargets:2; u8 padding3:2; + struct MessageStatus slideMessageStatus; + 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/battle_ai_util.h b/include/battle_ai_util.h index f561182fca..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); @@ -146,6 +147,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/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 914e97d5d6..adc399dd3c 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -245,35 +245,18 @@ 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; 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/battle_util.h b/include/battle_util.h index 4fde2ea341..0dd0d9ce81 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -67,7 +67,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, @@ -82,7 +82,15 @@ enum ItemEffect ITEMEFFECT_STATS_CHANGED, // For White Herb and Eject Pack }; -#define WEATHER_HAS_EFFECT ((!IsAbilityOnField(ABILITY_CLOUD_NINE) && !IsAbilityOnField(ABILITY_AIR_LOCK))) +enum ItemEffect +{ + ITEM_NO_EFFECT, + ITEM_STATUS_CHANGE, + ITEM_EFFECT_OTHER, + ITEM_PP_CHANGE, + ITEM_HP_CHANGE, + ITEM_STATS_CHANGE, +}; #define IS_WHOLE_SIDE_ALIVE(battler) ((IsBattlerAlive(battler) && IsBattlerAlive(BATTLE_PARTNER(battler)))) #define IS_ALIVE_AND_PRESENT(battler) (IsBattlerAlive(battler) && IsBattlerSpritePresent(battler)) @@ -157,6 +165,7 @@ struct DamageCalculationData u32 updateFlags:1; u32 padding:2; }; +STATIC_ASSERT(sizeof(struct DamageCalculationData) <= 4, StructExceedsFourBytes); enum SleepClauseBlock { @@ -224,7 +233,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); @@ -282,7 +291,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); @@ -343,5 +352,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/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/battle.h b/include/config/battle.h index 40e2e42770..27e13e3d1c 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -297,8 +297,7 @@ #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. // Battle UI settings #define B_MOVE_REARRANGEMENT_IN_BATTLE GEN_LATEST // In Gen 4+ move slots cannot be rearranged in battle diff --git a/include/config/overworld.h b/include/config/overworld.h index 218df4ac3a..a9a4f93727 100644 --- a/include/config/overworld.h +++ b/include/config/overworld.h @@ -117,4 +117,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/config/pokemon.h b/include/config/pokemon.h index 0b5d3828ad..3288065f7c 100644 --- a/include/config/pokemon.h +++ b/include/config/pokemon.h @@ -60,18 +60,15 @@ #define P_ONLY_OBTAINABLE_SHINIES FALSE // If TRUE, Pokémon encountered in the Battle Pyramid won't be shiny. #define P_NO_SHINIES_WITHOUT_POKEBALLS FALSE // If TRUE, Pokémon encountered when the player is out of Poké Balls won't be shiny #define P_SHOW_DYNAMIC_TYPES FALSE // If TRUE, all moves with dynamic type changes will be reflected as their current type in battle/summary screens instead of just select ones like in vanilla. -#define P_SUMMARY_SCREEN_MOVE_RELEARNER TRUE // If TRUE, shows an option for Pokémon to relearn moves on the summary screen moves page. -#define P_SUMMARY_MOVE_RELEARNER_FULL_PP TRUE // If TRUE, the move relearner in the summary screen restores relearned moves' PP to full. -#define P_SUMMARY_SCREEN_RENAME TRUE // If TRUE, an option to change Pokémon nicknames replaces the cancel prompt on the summary screen info page. // Learnset helper toggles -#define P_LEARNSET_HELPER_TEACHABLE TRUE // If TRUE, teachable_learnsets.h will be populated by tools/learnset_helpers/teachable.py using the included JSON files based on available TMs and tutors. +#define P_LEARNSET_HELPER_TEACHABLE TRUE // If TRUE, teachable_learnsets.h will be populated by tools/learnset_helpers/teachable.py using the included JSON files based on available TMs and tutors. // Flag settings // To use the following features in scripting, replace the 0s with the flag ID you're assigning it to. // Eg: Replace with FLAG_UNUSED_0x264 so you can use that flag to toggle the feature. -#define P_FLAG_FORCE_SHINY 0 // If this flag is set, all wild and gift Pokémon will forced into being Shiny. -#define P_FLAG_FORCE_NO_SHINY 0 // If this flag is set, all wild and gift Pokémon will forced into NOT being Shiny. +#define P_FLAG_FORCE_SHINY 0 // If this flag is set, all wild and gift Pokémon will forced into being Shiny. +#define P_FLAG_FORCE_NO_SHINY 0 // If this flag is set, all wild and gift Pokémon will forced into NOT being Shiny. // Go here if you want to disable specific families of Pokémon. #include "config/species_enabled.h" diff --git a/include/config/summary_screen.h b/include/config/summary_screen.h new file mode 100644 index 0000000000..9407d93c7e --- /dev/null +++ b/include/config/summary_screen.h @@ -0,0 +1,30 @@ +#ifndef GUARD_CONFIG_SUMMARY_SCREEN_H +#define GUARD_CONFIG_SUMMARY_SCREEN_H + +// Settings +#define P_SUMMARY_SCREEN_MOVE_RELEARNER TRUE // If TRUE, shows an option for Pokémon to relearn moves on the summary screen moves page. +#define P_SUMMARY_MOVE_RELEARNER_FULL_PP TRUE // If TRUE, the move relearner in the summary screen restores relearned moves' PP to full. +#define P_SUMMARY_SCREEN_RENAME TRUE // If TRUE, an option to change Pokémon nicknames replaces the cancel prompt on the summary screen info page. +#define P_SUMMARY_SCREEN_IV_EV_INFO FALSE // If TRUE, will allow player to cycle through the Stats, IVs, and EVs in the summary screen skills page. +#define P_SUMMARY_SCREEN_IV_EV_BOX_ONLY FALSE // If TRUE, will allow player to cycle through the Stats, IVs, and EVs in the summary screen skills page, but only in the PC storage box. +#define P_SUMMARY_SCREEN_IV_EV_TILESET FALSE // If TRUE, loads an alternate tileset to allow changing the "STATS" label in the summary screen skills page. Note: if it's still loading the alternate tileset after changing this and recompiling, you may need a `make clean` before compilation. +#define P_SUMMARY_SCREEN_IV_EV_VALUES FALSE // If TRUE, will show the actual IV value instead of the letter grade. +/* +LETTER GRADE GUIDE: + + F = 0 + D = 1 - 15 + C = 16 - 25 + B = 26 - 29 + A = 30 + S = 31 + +Info taken from https://bulbapedia.bulbagarden.net/wiki/Stats_judge. +*/ +#define P_SUMMARY_SCREEN_IV_ONLY FALSE // If TRUE, will only show IV info in the summary screen. +#define P_SUMMARY_SCREEN_EV_ONLY FALSE // If TRUE, will only show EV info in the summary screen. + +// Flags +#define P_FLAG_SUMMARY_SCREEN_IV_EV_INFO 0 // If this flag is set, will allow player to cycle through the Stats, IVs, and EVs in the summary screen skills page. Note: if P_SUMMARY_SCREEN_IV_EV_INFO is TRUE, this flag does nothing. + +#endif // GUARD_CONFIG_SUMMARY_SCREEN_H diff --git a/include/constants/battle.h b/include/constants/battle.h index 561d4f81e5..b361e90060 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -364,61 +364,60 @@ enum BattleWeather #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_ai.h b/include/constants/battle_ai.h index 0e52c10128..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. @@ -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/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index df752bf496..4d2ccef9ac 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -351,6 +351,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 808ee406d2..bcf11683a1 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -284,6 +284,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/include/constants/global.h b/include/constants/global.h index 76e6847c40..9adb46db23 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -9,6 +9,7 @@ #include "config/pokemon.h" #include "config/overworld.h" #include "config/dexnav.h" +#include "config/summary_screen.h" // Invalid Versions show as "----------" in Gen 4 and Gen 5's summary screen. // In Gens 6 and 7, invalid versions instead show "a distant land" in the summary screen. 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/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/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/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/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 1f286698a5..3aa8460a17 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -2,6 +2,7 @@ #define GUARD_POKEMON_SUMMARY_SCREEN_H #include "main.h" +#include "config/summary_screen.h" extern u8 gLastViewedMonIndex; @@ -40,4 +41,11 @@ enum PokemonSummaryScreenPage PSS_PAGE_COUNT, }; +enum PokemonSummarySkillsMode +{ + SUMMARY_SKILLS_MODE_STATS, + SUMMARY_SKILLS_MODE_IVS, + SUMMARY_SKILLS_MODE_EVS, +}; + #endif // GUARD_POKEMON_SUMMARY_SCREEN_H diff --git a/include/sprite.h b/include/sprite.h index 40ee6f6a87..8f69aba8c6 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -318,11 +318,11 @@ 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); u8 LoadSpritePaletteInSlot(const struct SpritePalette *palette, u8 paletteNum); 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/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_ai_main.c b/src/battle_ai_main.c index 8482716f5b..66774d1afe 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); @@ -458,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 @@ -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) @@ -1707,7 +1833,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: @@ -2965,7 +3091,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: @@ -3516,7 +3642,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; @@ -4072,9 +4198,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)) @@ -4431,6 +4561,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 u32 additionalEffectCount = GetMoveAdditionalEffectCount(move); @@ -4475,11 +4611,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 @@ -4674,7 +4805,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: @@ -5284,10 +5415,16 @@ 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; + } case EFFECT_FOCUS_PUNCH: ADJUST_SCORE(DECENT_EFFECT); @@ -5338,6 +5475,10 @@ static s32 AI_PredictSwitch(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) if (opposingHazardFlags != 0) ADJUST_SCORE(GOOD_EFFECT); break; + case EFFECT_RAPID_SPIN: + if (aiHazardFlags != 0) + ADJUST_SCORE(BEST_EFFECT); + break; case EFFECT_DEFOG: if (aiHazardFlags != 0) ADJUST_SCORE(GOOD_EFFECT); @@ -5393,10 +5534,6 @@ static s32 AI_PredictSwitch(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) case MOVE_EFFECT_WRAP: ADJUST_SCORE(-GOOD_EFFECT); break; - case MOVE_EFFECT_RAPID_SPIN: - if (aiHazardFlags != 0) - ADJUST_SCORE(BEST_EFFECT); - break; case MOVE_EFFECT_FEINT: ADJUST_SCORE(-BEST_EFFECT); break; diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 93148d8b83..24fafaf8bd 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 @@ -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]) @@ -825,7 +825,7 @@ static bool32 CanMonSurviveHazardSwitchin(u32 battler) { aiMove = GetMonData(&party[i], MON_DATA_MOVE1 + j, NULL); u32 aiEffect = GetMoveEffect(aiMove); - if (MoveHasAdditionalEffectSelf(aiMove, MOVE_EFFECT_RAPID_SPIN) + if (aiEffect == EFFECT_RAPID_SPIN || (B_DEFOG_EFFECT_CLEARING >= GEN_6 && aiEffect == EFFECT_DEFOG) || aiEffect == EFFECT_TIDY_UP) { @@ -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; } @@ -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) @@ -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; @@ -1984,8 +1985,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_ai_util.c b/src/battle_ai_util.c index 6f6b5c7188..d3a427890c 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); @@ -4111,7 +4123,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_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_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_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..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, @@ -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_controllers.c b/src/battle_controllers.c index d60cd34312..856da30d1b 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; @@ -2223,12 +2223,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); } } @@ -2270,7 +2270,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); } @@ -2460,18 +2460,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 { @@ -2481,15 +2481,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 { @@ -2497,20 +2497,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; } @@ -2521,26 +2521,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; } @@ -2551,14 +2551,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; } @@ -2828,34 +2828,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); 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 5c1b999ab9..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" @@ -121,8 +122,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 +254,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 +1776,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; @@ -3198,9 +3132,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 +3247,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 +3865,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 +3986,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 +4002,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) @@ -4076,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); } @@ -4168,7 +4104,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,11 +4140,6 @@ 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)) @@ -4219,10 +4150,15 @@ 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); } + + // AI's data + AI_DATA->mostSuitableMonId[battler] = GetMostSuitableMonToSwitchInto(battler, isAiRisky); + if (ShouldSwitch(battler)) + AI_DATA->shouldSwitch |= (1u << battler); } static void HandleTurnActionSelectionState(void) @@ -4257,7 +4193,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 +4246,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 +4288,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 +4304,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 +4315,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 +4329,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 +4342,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 +4403,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 +4420,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 +4462,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 +4593,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 +4615,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 +4626,7 @@ static void HandleTurnActionSelectionState(void) else { RecordedBattle_ClearBattlerAction(battler, 1); - gBattleCommunication[battler] = *(gBattleStruct->stateIdAfterSelScript + battler); + gBattleCommunication[battler] = gBattleStruct->stateIdAfterSelScript[battler]; } } else @@ -4732,7 +4668,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]); } } } @@ -4785,7 +4721,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 +4740,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; @@ -4862,7 +4798,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); } @@ -5911,7 +5847,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_message.c b/src/battle_message.c index fbc1f60353..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" @@ -137,9 +138,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] = { @@ -3541,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 f88be3a36f..daf0cc5b35 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" @@ -299,11 +300,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 @@ -1450,7 +1446,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 +1535,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 +1591,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 +2303,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) @@ -2702,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; } @@ -2850,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()) @@ -3796,10 +3788,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()) { @@ -4507,7 +4495,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); @@ -6139,6 +6127,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) + && IsBattlerTurnDamaged(gBattlerTarget)) + { + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_RapidSpinAway; + effect = TRUE; + } + gBattleScripting.moveendState++; + break; case MOVEEND_ITEM_EFFECTS_ATTACKER: if (ItemBattleEffects(ITEMEFFECT_MOVE_END, gBattlerAttacker, FALSE)) effect = TRUE; @@ -6950,9 +6949,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 +7026,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 +7036,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 +7561,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 +7618,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 +7640,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 +7654,7 @@ static void Cmd_switchhandleorder(void) } else if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) { - SwitchPartyOrderInGameMulti(battler, *(gBattleStruct->monToSwitchIntoId + battler)); + SwitchPartyOrderInGameMulti(battler, gBattleStruct->monToSwitchIntoId[battler]); } else { @@ -7692,7 +7691,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))); } @@ -8319,9 +8318,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; @@ -9054,7 +9053,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 +10503,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++) { @@ -10696,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); @@ -10721,7 +10720,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; @@ -10828,25 +10827,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; @@ -12488,10 +12487,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 +14003,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 +14027,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 +14090,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; @@ -14161,14 +14160,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; @@ -14417,7 +14416,6 @@ static void Cmd_setcharge(void) gDisableStructs[battler].chargeTimer = 2; else gDisableStructs[battler].chargeTimer = 0; - gBattlescriptCurrInstr++; gBattlescriptCurrInstr = cmd->nextInstr; } @@ -15084,7 +15082,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 +15094,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_setup.c b/src/battle_setup.c index 37204c1d8d..62eb192b75 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -360,12 +360,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] @@ -1920,9 +1914,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/battle_transition.c b/src/battle_transition.c index 1deddf59f0..d6fc75066e 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -2527,13 +2527,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/battle_tv.c b/src/battle_tv.c index e5be946d81..2dd171a35a 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -934,7 +934,7 @@ static void AddMovePoints(u8 caseId, u16 arg1, u8 arg2, u8 arg3) // Various cases to add/remove points if (GetMoveRecoil(arg2) > 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/battle_util.c b/src/battle_util.c index 19c9f5c4db..97a2e0aa30 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" @@ -253,7 +254,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 +262,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 +274,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 +285,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 +336,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 +377,7 @@ void HandleAction_UseMove(void) } else { - gBattlerTarget = *(gBattleStruct->moveTarget + gBattlerAttacker); + gBattlerTarget = gBattleStruct->moveTarget[gBattlerAttacker]; } if (!IsBattlerAlive(gBattlerTarget) && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget)) @@ -426,7 +427,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 +487,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 +789,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(); @@ -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); @@ -2242,7 +2240,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 +3551,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)) @@ -3901,7 +3899,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 +3921,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 +4010,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); @@ -4893,7 +4891,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 +4904,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 +4917,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 +4935,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 +6068,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; @@ -6298,7 +6296,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; @@ -6533,7 +6531,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 +6563,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) { @@ -6787,16 +6785,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)) @@ -6935,7 +6923,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))) @@ -6971,10 +6959,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)) { @@ -7002,7 +6990,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; @@ -7050,10 +7038,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)) { @@ -7069,10 +7057,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) @@ -7089,10 +7077,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) @@ -7118,10 +7106,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)) { @@ -7131,7 +7119,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); } @@ -7142,10 +7130,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]]; @@ -7192,7 +7203,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)) @@ -7288,7 +7299,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; @@ -7313,12 +7324,12 @@ 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 (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)); @@ -7579,7 +7590,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; @@ -7639,10 +7650,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; @@ -7840,24 +7851,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); @@ -7885,12 +7879,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; } } } @@ -8102,12 +8094,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; } } } @@ -8466,16 +8456,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; @@ -8611,7 +8592,7 @@ u32 GetBattleMoveTarget(u16 move, u8 setTarget) break; } - *(gBattleStruct->moveTarget + gBattlerAttacker) = targetBattler; + gBattleStruct->moveTarget[gBattlerAttacker] = targetBattler; return targetBattler; } @@ -9574,7 +9555,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 +9837,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 +9856,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 +10551,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 +10624,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); @@ -10758,9 +10739,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; } @@ -11124,13 +11104,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 +11733,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 +12282,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; +} 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/data/battle_move_effects.h b/src/data/battle_move_effects.h index b9fcdd59f6..c3077632f9 100644 --- a/src/data/battle_move_effects.h +++ b/src/data/battle_move_effects.h @@ -2240,4 +2240,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/graphics/pokemon.h b/src/data/graphics/pokemon.h index 141e2f16f8..00d878ba0c 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -7696,7 +7696,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS - const u32 gMonFrontPic_Clodsire[] = INCBIN_U32("graphics/pokemon/clodsire/front.4bpp.lz"); + const u32 gMonFrontPic_Clodsire[] = INCBIN_U32("graphics/pokemon/clodsire/anim_front.4bpp.lz"); const u32 gMonPalette_Clodsire[] = INCBIN_U32("graphics/pokemon/clodsire/normal.gbapal.lz"); const u32 gMonBackPic_Clodsire[] = INCBIN_U32("graphics/pokemon/clodsire/back.4bpp.lz"); const u32 gMonShinyPalette_Clodsire[] = INCBIN_U32("graphics/pokemon/clodsire/shiny.gbapal.lz"); diff --git a/src/data/moves_info.h b/src/data/moves_info.h index ec9e209dda..6f8d658560 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -5806,7 +5806,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, @@ -5815,12 +5815,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, @@ -19571,7 +19568,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, @@ -19580,10 +19577,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/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 864fdc5297..9c2fc2450a 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 @@ -42,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 @@ -145,7 +112,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), @@ -172,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 314b5bd73f..f419eaff6c 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), @@ -54,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 ) @@ -105,7 +110,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), @@ -118,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 ) @@ -174,7 +184,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), @@ -193,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, @@ -250,7 +266,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 +325,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 +384,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), @@ -381,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 ) @@ -432,7 +453,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), @@ -445,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 ) @@ -500,7 +526,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), @@ -513,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 ) @@ -563,7 +593,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 +649,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 +707,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 +766,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), @@ -749,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 ) @@ -800,7 +836,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), @@ -813,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 ) @@ -868,7 +909,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, @@ -882,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 ) @@ -933,7 +980,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 +1038,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 +1097,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), @@ -1063,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 ) @@ -1113,7 +1170,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), @@ -1126,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 ) @@ -1188,7 +1249,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, @@ -1208,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, @@ -1267,7 +1344,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 +1404,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, @@ -1341,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 ) @@ -1391,7 +1477,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, @@ -1405,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 ) @@ -1467,7 +1566,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, @@ -1481,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 ) @@ -1534,7 +1642,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 +1706,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, @@ -1612,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 ) @@ -1666,7 +1779,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, @@ -1680,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 ) @@ -1743,7 +1863,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, @@ -1757,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 ) @@ -1807,7 +1931,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 +1991,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), @@ -1886,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, @@ -1943,7 +2074,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), @@ -1962,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, @@ -2019,7 +2165,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), @@ -2032,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 ) @@ -2082,7 +2229,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), @@ -2095,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 ) @@ -2142,7 +2290,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), @@ -2155,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 ) @@ -2211,7 +2360,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), @@ -2224,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 ) @@ -2275,7 +2430,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, @@ -2290,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 ) @@ -2340,7 +2505,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, @@ -2354,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 ) @@ -2410,7 +2583,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), @@ -2423,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 ) @@ -2471,7 +2649,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), @@ -2484,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 ) @@ -2532,7 +2717,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), @@ -2544,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, @@ -2602,7 +2795,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, @@ -2625,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, @@ -2682,7 +2882,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 +2933,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 +2985,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 +3037,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 +3088,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 +3139,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 +3198,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 +3253,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 +3308,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 +3363,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 +3418,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 +3473,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 +3529,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 +3584,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 +3642,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 +3696,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, @@ -3520,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 ) @@ -3583,7 +3789,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), @@ -3600,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, @@ -3656,7 +3870,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, @@ -3670,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 ) @@ -3724,7 +3939,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), @@ -3737,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 ) @@ -3789,7 +4011,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), @@ -3802,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 ) @@ -3853,7 +4082,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), @@ -3866,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 ) @@ -3919,7 +4149,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), @@ -3932,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 ) @@ -3989,7 +4220,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, @@ -4003,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 ) @@ -4057,7 +4299,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), @@ -4070,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 ) @@ -4131,7 +4377,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), @@ -4144,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 ) @@ -4196,7 +4446,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), @@ -4209,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 ) @@ -4263,7 +4518,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), @@ -4276,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 ) @@ -4337,7 +4597,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, @@ -4351,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 ) @@ -4414,7 +4680,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), @@ -4427,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 ) @@ -4484,7 +4756,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), @@ -4497,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 ) @@ -4560,7 +4837,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), @@ -4573,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 ) @@ -4624,7 +4906,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), @@ -4637,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 ) @@ -4690,7 +4979,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), @@ -4703,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 ) @@ -4754,7 +5050,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), @@ -4767,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 ) @@ -4821,7 +5118,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), @@ -4834,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 ) @@ -4899,7 +5197,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), @@ -4912,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 ) @@ -4969,7 +5274,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), @@ -4982,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 ) @@ -5045,7 +5357,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), @@ -5058,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 ) @@ -5108,7 +5427,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, @@ -5128,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, @@ -5184,7 +5519,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, @@ -5204,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, @@ -5266,7 +5623,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, @@ -5280,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 ) @@ -5332,7 +5708,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), @@ -5345,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 ) @@ -5396,7 +5781,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), @@ -5415,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, @@ -5480,7 +5872,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), @@ -5499,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, @@ -5563,7 +5960,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), @@ -5576,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 ) @@ -5633,7 +6048,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, @@ -5647,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 ) @@ -5704,7 +6137,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, @@ -5718,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 ) @@ -5772,7 +6213,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, @@ -5786,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 ) @@ -5842,7 +6291,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, @@ -5856,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 ) @@ -5918,7 +6391,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, @@ -5932,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 ) @@ -5984,7 +6462,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, @@ -5998,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 ) @@ -6049,7 +6539,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), @@ -6062,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 ) @@ -6116,7 +6607,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), @@ -6129,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 ) @@ -6187,7 +6679,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, @@ -6201,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 ) @@ -6258,7 +6758,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, @@ -6272,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 ) @@ -6323,7 +6827,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), @@ -6336,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 ) @@ -6389,7 +6894,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), @@ -6402,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 ) @@ -6454,7 +6960,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), @@ -6467,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 ) @@ -6518,7 +7025,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), @@ -6531,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 ) @@ -6582,7 +7090,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 +7150,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), @@ -6655,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 ) @@ -6705,7 +7220,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), @@ -6718,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 ) @@ -6772,7 +7294,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, @@ -6786,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 ) @@ -6840,7 +7370,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), @@ -6853,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 ) @@ -6903,7 +7442,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), @@ -6916,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 ) @@ -6967,7 +7507,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, @@ -6981,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 ) @@ -7032,7 +7580,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, @@ -7046,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 ) @@ -7096,7 +7648,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), @@ -7109,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 ) @@ -7160,7 +7713,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), @@ -7173,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 ) @@ -7227,7 +7781,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), @@ -7240,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 ) @@ -7292,7 +7851,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, @@ -7306,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 ) @@ -7367,7 +7933,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), @@ -7380,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 ) @@ -7437,7 +8007,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, @@ -7457,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, @@ -7521,7 +8100,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), @@ -7534,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 ) @@ -7586,7 +8172,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), @@ -7605,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, @@ -7672,7 +8264,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), @@ -7691,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, @@ -7748,7 +8346,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 +8417,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), @@ -7832,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 ) @@ -7888,7 +8493,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), @@ -7901,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 ) @@ -7964,7 +8574,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), @@ -7977,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 ) @@ -8033,7 +8652,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 +8711,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), @@ -8105,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 ) @@ -8155,7 +8779,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, @@ -8169,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 ) @@ -8226,7 +8859,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), @@ -8239,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 ) @@ -8290,7 +8932,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), @@ -8303,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 ) @@ -8354,7 +9003,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), @@ -8367,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 ) @@ -8439,7 +9095,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, @@ -8453,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 ) @@ -8505,7 +9166,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), @@ -8518,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 ) @@ -8570,7 +9238,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), @@ -8583,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 ) @@ -8634,7 +9309,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, @@ -8648,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 ) @@ -8701,7 +9377,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), @@ -8714,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 ) @@ -8767,7 +9444,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), @@ -8780,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 ) @@ -8833,7 +9511,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, @@ -8847,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 ) @@ -8898,7 +9580,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), @@ -8911,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 ) @@ -8961,7 +9648,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), @@ -8974,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 ) @@ -9026,7 +9714,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), @@ -9039,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 ) @@ -9093,7 +9782,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), @@ -9106,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 ) @@ -9160,7 +9854,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), @@ -9173,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 ) @@ -9225,7 +9923,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), @@ -9238,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 ) @@ -9290,7 +9993,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 +10051,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), @@ -9361,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 ) @@ -9415,7 +10119,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), @@ -9427,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, @@ -9480,7 +10184,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), @@ -9493,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 ) @@ -9548,7 +10253,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, @@ -9562,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 ) @@ -9612,7 +10324,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, @@ -9626,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 ) @@ -9684,7 +10405,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, @@ -9698,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 ) @@ -9760,7 +10488,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), @@ -9772,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, @@ -9826,7 +10567,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), @@ -9839,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 ) @@ -9892,7 +10634,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), @@ -9905,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 ) @@ -9957,7 +10700,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), @@ -9976,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, @@ -10039,7 +10790,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), @@ -10058,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, @@ -10118,7 +10879,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), @@ -10131,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 ) @@ -10185,7 +10952,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), @@ -10198,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 ) @@ -10249,7 +11021,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), @@ -10262,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 ) @@ -10315,7 +11094,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, @@ -10329,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 ) @@ -10380,7 +11166,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), @@ -10393,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 ) @@ -10448,7 +11235,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), @@ -10461,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 ) @@ -10520,7 +11308,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, @@ -10534,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 ) @@ -10590,7 +11384,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), @@ -10603,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 ) @@ -10653,7 +11453,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, @@ -10667,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 ) @@ -10717,7 +11526,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, @@ -10732,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 ) @@ -10794,7 +11610,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), @@ -10807,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 ) @@ -10858,7 +11679,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 +11737,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 +11796,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), @@ -10988,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 ) @@ -11041,7 +11866,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, @@ -11061,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, @@ -11119,7 +11952,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 +12016,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, @@ -11197,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 ) @@ -11251,7 +12092,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, @@ -11271,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, @@ -11327,7 +12178,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), @@ -11340,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 ) @@ -11391,7 +12250,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, @@ -11405,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 ) @@ -11457,7 +12320,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 +12387,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, @@ -11538,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 ) @@ -11588,7 +12458,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, @@ -11602,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 ) @@ -11652,7 +12528,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), @@ -11665,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 ) @@ -11716,7 +12593,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), @@ -11729,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 ) @@ -11783,7 +12661,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), @@ -11796,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 ) @@ -11857,7 +12746,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), @@ -11870,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 ) @@ -11920,7 +12813,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), @@ -11933,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 ) @@ -11987,7 +12881,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, @@ -12001,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 ) @@ -12054,7 +12956,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), @@ -12067,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 ) @@ -12114,7 +13024,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), @@ -12127,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 ) @@ -12174,7 +13085,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), @@ -12187,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 ) @@ -12247,7 +13159,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), @@ -12260,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 ) @@ -12317,7 +13233,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), @@ -12330,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 ) @@ -12382,7 +13303,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), @@ -12395,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 ) @@ -12448,7 +13382,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), @@ -12461,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 ) @@ -12513,7 +13454,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), @@ -12526,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 ) @@ -12578,7 +13523,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), @@ -12591,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 ) @@ -12647,7 +13603,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, @@ -12661,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 ) @@ -12718,7 +13681,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, @@ -12732,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 ) @@ -12784,7 +13754,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, @@ -12798,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 ) @@ -12851,7 +13822,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), @@ -12870,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, @@ -12926,7 +13905,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), @@ -12945,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, @@ -13008,7 +13992,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), @@ -13027,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, @@ -13086,7 +14078,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), @@ -13099,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 ) @@ -13152,7 +14149,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), @@ -13165,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 ) @@ -13217,7 +14219,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), @@ -13230,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 ) @@ -13285,7 +14292,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), @@ -13298,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 ) @@ -13349,7 +14361,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), @@ -13366,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, @@ -13423,7 +14445,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), @@ -13436,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 ) @@ -13488,7 +14516,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 +14581,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), @@ -13566,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 ) @@ -13622,7 +14657,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), @@ -13635,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 ) @@ -13699,7 +14741,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), @@ -13712,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 ) @@ -13764,7 +14813,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), @@ -13783,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, @@ -13840,7 +14901,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), @@ -13859,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, @@ -13918,7 +14987,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), @@ -13931,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 ) @@ -13982,7 +15058,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), @@ -13995,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 ) @@ -14054,7 +15137,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), @@ -14067,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 ) @@ -14123,7 +15214,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), @@ -14136,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 ) @@ -14187,7 +15286,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), @@ -14200,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 ) @@ -14251,7 +15351,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), @@ -14264,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 ) @@ -14319,7 +15420,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, @@ -14337,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, @@ -14400,7 +15512,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, @@ -14418,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, @@ -14475,7 +15592,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 +15651,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), @@ -14547,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 ) @@ -14603,7 +15721,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, @@ -14617,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 ) @@ -14672,7 +15794,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), @@ -14685,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 ) @@ -14738,7 +15867,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), @@ -14751,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 ) @@ -14804,7 +15938,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), @@ -14817,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 ) @@ -14875,7 +16016,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), @@ -14888,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 ) @@ -14942,7 +16088,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), @@ -14955,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 ) @@ -15007,7 +16159,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), @@ -15020,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 ) @@ -15079,7 +16235,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), @@ -15092,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 ) @@ -15147,7 +16307,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), @@ -15160,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 ) @@ -15212,7 +16379,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 +16445,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, @@ -15292,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 ) @@ -15342,7 +16515,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), @@ -15355,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 ) @@ -15406,7 +16580,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), @@ -15419,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 ) @@ -15470,7 +16645,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), @@ -15483,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 ) @@ -15537,7 +16713,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), @@ -15556,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, @@ -15612,7 +16800,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), @@ -15631,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, @@ -15688,7 +16882,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 +16944,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), @@ -15763,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 ) @@ -15817,7 +17015,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 +17077,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), @@ -15892,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 ) @@ -15943,7 +17147,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), @@ -15962,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, @@ -16030,7 +17239,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 +17293,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), @@ -16107,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 ) @@ -16159,7 +17372,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), @@ -16172,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 ) @@ -16220,7 +17437,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), @@ -16233,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 ) @@ -16281,7 +17502,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), @@ -16294,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 ) @@ -16343,7 +17568,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), @@ -16356,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 ) @@ -16404,7 +17634,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), @@ -16417,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 ) @@ -16467,7 +17701,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), @@ -16480,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 ) @@ -16528,7 +17767,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), @@ -16541,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 ) @@ -16592,7 +17836,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), @@ -16605,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 ) @@ -16660,7 +17909,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), @@ -16673,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 ) @@ -16728,7 +17983,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, @@ -16742,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 ) @@ -16799,7 +18061,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, @@ -16813,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 ) @@ -16871,7 +18139,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), @@ -16884,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 ) @@ -16934,7 +18212,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), @@ -16947,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 ) @@ -17003,7 +18287,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), @@ -17016,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 ) @@ -17072,7 +18366,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), @@ -17085,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 ) @@ -17135,7 +18435,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, @@ -17149,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 ) @@ -17200,7 +18506,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 +18570,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), @@ -17277,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 ) @@ -17330,7 +18641,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), @@ -17343,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 ) @@ -17397,7 +18713,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 +18779,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, @@ -17477,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 ) @@ -17529,7 +18851,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, @@ -17543,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 ) @@ -17608,7 +18931,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, @@ -17622,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 ) @@ -17674,7 +19003,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), @@ -17687,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 ) @@ -17748,7 +19078,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, @@ -17762,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 ) @@ -17814,7 +19178,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), @@ -17827,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 ) @@ -17883,7 +19248,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), @@ -17896,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 ) @@ -17947,7 +19317,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), @@ -17960,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 ) @@ -18016,7 +19392,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, @@ -18030,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 ) @@ -18086,7 +19467,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), @@ -18099,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 ) @@ -18153,7 +19538,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 +19597,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 +19668,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, @@ -18297,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 b3bd0da95a..4e8804dacf 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), @@ -54,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 ) @@ -105,7 +110,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), @@ -118,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 ) @@ -174,7 +183,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), @@ -193,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, @@ -249,7 +263,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), @@ -262,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 ) @@ -313,7 +333,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), @@ -326,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 ) @@ -384,7 +408,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, @@ -398,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 ) @@ -448,7 +476,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), @@ -461,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 ) @@ -514,7 +543,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), @@ -527,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 ) @@ -579,7 +616,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), @@ -592,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 ) @@ -648,7 +689,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, @@ -662,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 ) @@ -712,7 +759,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), @@ -725,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 ) @@ -775,7 +828,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), @@ -788,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 ) @@ -838,7 +895,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), @@ -851,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 ) @@ -907,7 +978,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), @@ -920,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 ) @@ -970,7 +1045,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), @@ -989,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, @@ -1045,7 +1127,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, @@ -1065,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, @@ -1121,7 +1210,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), @@ -1134,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 ) @@ -1190,7 +1289,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), @@ -1203,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 ) @@ -1254,7 +1359,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), @@ -1267,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 ) @@ -1318,7 +1430,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), @@ -1331,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 ) @@ -1383,7 +1502,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), @@ -1396,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 ) @@ -1446,7 +1570,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), @@ -1459,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 ) @@ -1517,7 +1646,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, @@ -1531,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 ) @@ -1582,7 +1720,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, @@ -1596,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 ) @@ -1647,7 +1792,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), @@ -1664,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, @@ -1720,7 +1875,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, @@ -1734,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 ) @@ -1784,7 +1947,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), @@ -1797,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 ) @@ -1856,7 +2026,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, @@ -1870,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 ) @@ -1921,7 +2096,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 +2160,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), @@ -1998,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 ) @@ -2053,7 +2237,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), @@ -2066,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 ) @@ -2128,7 +2317,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), @@ -2141,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 ) @@ -2192,7 +2388,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), @@ -2205,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 ) @@ -2256,7 +2459,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), @@ -2275,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, @@ -2336,7 +2548,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, @@ -2350,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 ) @@ -2404,7 +2622,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, @@ -2418,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 ) @@ -2479,7 +2707,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, @@ -2493,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 ) @@ -2543,7 +2779,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), @@ -2562,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, @@ -2619,7 +2860,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), @@ -2638,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, @@ -2699,7 +2946,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), @@ -2712,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 ) @@ -2766,7 +3021,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), @@ -2779,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 ) @@ -2830,7 +3090,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, @@ -2844,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 ) @@ -2896,7 +3180,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, @@ -2910,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 ) @@ -2961,7 +3273,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), @@ -2980,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, @@ -3037,7 +3355,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), @@ -3056,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, @@ -3111,7 +3434,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), @@ -3124,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 ) @@ -3176,7 +3500,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .frontPic = gMonFrontPic_Clodsire, .frontPicSize = MON_COORDS_SIZE(64, 64), .frontPicYOffset = 8, - .frontAnimFrames = sAnims_Clodsire, + .frontAnimFrames = sAnims_TwoFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Clodsire, .backPicSize = MON_COORDS_SIZE(64, 64), @@ -3189,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 ) @@ -3244,7 +3569,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, @@ -3264,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, @@ -3321,7 +3651,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), @@ -3334,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 ) @@ -3386,7 +3722,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, @@ -3400,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 ) @@ -3452,7 +3800,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, @@ -3466,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 ) @@ -3515,7 +3875,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, \ @@ -3529,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, \ ) \ @@ -3611,7 +3972,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, @@ -3625,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 ) @@ -3676,7 +4044,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), @@ -3699,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, @@ -3756,7 +4132,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), @@ -3775,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, @@ -3832,7 +4214,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), @@ -3845,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 ) @@ -3896,7 +4279,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), @@ -3909,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 ) @@ -3959,7 +4352,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), @@ -3972,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 ) @@ -4028,7 +4427,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, @@ -4042,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 ) @@ -4094,7 +4499,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), @@ -4107,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 ) @@ -4156,7 +4562,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), @@ -4169,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 ) @@ -4221,7 +4628,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, @@ -4241,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, @@ -4299,7 +4711,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, @@ -4313,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 ) @@ -4368,7 +4786,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), @@ -4381,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 ) @@ -4439,7 +4861,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), @@ -4452,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 ) @@ -4512,7 +4938,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, @@ -4526,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 ) @@ -4578,7 +5013,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, @@ -4592,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 ) @@ -4643,7 +5079,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), @@ -4656,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 ) @@ -4714,7 +5151,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), @@ -4727,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 ) @@ -4778,7 +5220,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), @@ -4797,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, @@ -4855,7 +5305,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 +5367,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), @@ -4936,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, @@ -4997,7 +5456,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), @@ -5016,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, @@ -5074,7 +5538,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), @@ -5093,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, @@ -5151,7 +5617,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), @@ -5164,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 ) @@ -5221,7 +5688,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), @@ -5234,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 ) @@ -5288,7 +5759,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), @@ -5307,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, @@ -5363,7 +5839,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), @@ -5376,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 ) @@ -5425,7 +5902,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 +5959,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), @@ -5495,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 ) @@ -5552,7 +6036,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), @@ -5565,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 ) @@ -5619,7 +6110,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), @@ -5632,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 ) @@ -5687,7 +6184,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), @@ -5706,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, @@ -5768,7 +6272,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), @@ -5785,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, @@ -5854,7 +6364,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), @@ -5867,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 ) @@ -5918,7 +6435,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), @@ -5931,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 ) @@ -5983,7 +6501,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), @@ -5996,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 ) @@ -6051,7 +6570,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), @@ -6064,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 ) @@ -6119,7 +6643,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, @@ -6139,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, @@ -6195,7 +6726,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), @@ -6208,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 ) @@ -6260,7 +6795,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), @@ -6273,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 ) @@ -6330,7 +6871,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, @@ -6344,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 ) @@ -6396,7 +6943,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), @@ -6409,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 ) @@ -6460,7 +7011,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), @@ -6473,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 ) @@ -6523,7 +7078,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), @@ -6542,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, @@ -6598,7 +7158,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 +7217,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), @@ -6670,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 ) @@ -6721,7 +7290,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), @@ -6740,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, @@ -6800,7 +7375,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), @@ -6813,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 ) @@ -6865,7 +7444,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), @@ -6878,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 ) @@ -6933,7 +7513,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), @@ -6946,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 ) @@ -7003,7 +7589,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), @@ -7016,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 ) @@ -7078,7 +7668,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), @@ -7091,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 ) @@ -7154,7 +7749,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), @@ -7167,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 ) @@ -7230,7 +7829,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), @@ -7243,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 ) @@ -7295,7 +7898,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), @@ -7308,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 ) @@ -7358,7 +7967,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), @@ -7371,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 ) @@ -7426,7 +8039,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, @@ -7440,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 ) @@ -7491,7 +8109,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 +8174,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, @@ -7571,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 ) @@ -7632,7 +8264,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, @@ -7646,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 ) @@ -7707,7 +8343,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, @@ -7721,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 af1b4476d8..76125eb10a 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), @@ -54,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 ) @@ -104,7 +111,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), @@ -117,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 ) @@ -172,7 +186,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), @@ -185,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 ) @@ -236,7 +255,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 +314,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), @@ -312,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, @@ -369,7 +398,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), @@ -388,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, @@ -449,7 +484,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), @@ -468,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, @@ -525,7 +568,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 +627,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), @@ -597,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 ) @@ -647,7 +697,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), @@ -660,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 ) @@ -715,7 +776,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), @@ -728,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 ) @@ -779,7 +847,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 +916,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), @@ -861,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 ) @@ -915,7 +988,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), @@ -928,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 ) @@ -992,7 +1072,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), @@ -1005,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 ) @@ -1062,7 +1149,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), @@ -1075,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 ) @@ -1125,7 +1219,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), @@ -1138,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 ) @@ -1190,7 +1285,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), @@ -1203,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 ) @@ -1254,7 +1350,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), @@ -1267,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 ) @@ -1326,7 +1423,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), @@ -1339,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 ) @@ -1390,7 +1492,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), @@ -1403,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 ) @@ -1462,7 +1569,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, @@ -1482,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, @@ -1542,7 +1661,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), @@ -1555,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 ) @@ -1616,7 +1742,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, @@ -1636,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, @@ -1693,7 +1837,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), @@ -1706,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 ) @@ -1757,7 +1906,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), @@ -1770,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 ) @@ -1826,7 +1982,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), @@ -1845,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, @@ -1902,7 +2068,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), @@ -1915,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 ) @@ -1966,7 +2143,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), @@ -1985,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, @@ -2051,7 +2240,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), @@ -2070,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, @@ -2126,7 +2321,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), @@ -2139,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 ) @@ -2195,7 +2401,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), @@ -2208,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 ) @@ -2263,7 +2474,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, @@ -2277,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 ) @@ -2338,7 +2554,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, @@ -2352,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 ) @@ -2410,7 +2637,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), @@ -2423,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 ) @@ -2473,7 +2705,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), @@ -2486,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 ) @@ -2542,7 +2779,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), @@ -2555,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 ) @@ -2606,7 +2848,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 +2916,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), @@ -2687,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 ) @@ -2738,7 +2984,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 +3045,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), @@ -2812,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 ) @@ -2870,7 +3123,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, @@ -2884,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 ) @@ -2940,7 +3204,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), @@ -2953,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 ) @@ -3009,7 +3286,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), @@ -3022,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 ) @@ -3072,7 +3356,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), @@ -3085,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 ) @@ -3135,7 +3427,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), @@ -3148,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 ) @@ -3203,7 +3504,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), @@ -3216,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 ) @@ -3267,7 +3577,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), @@ -3280,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 ) @@ -3331,7 +3648,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, @@ -3345,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 ) @@ -3393,7 +3730,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, @@ -3407,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 ) @@ -3457,7 +3801,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), @@ -3470,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 ) @@ -3520,7 +3876,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), @@ -3533,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 ) @@ -3590,7 +3953,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), @@ -3603,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 ) @@ -3654,7 +4022,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), @@ -3667,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 ) @@ -3718,7 +4097,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), @@ -3731,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 ) @@ -3782,7 +4167,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), @@ -3795,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 ) @@ -3849,7 +4243,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, @@ -3863,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 ) @@ -3918,7 +4319,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), @@ -3931,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 ) @@ -3992,7 +4398,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), @@ -4005,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 ) @@ -4061,7 +4472,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), @@ -4074,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 ) @@ -4126,7 +4544,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 +4612,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), @@ -4207,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 ) @@ -4260,7 +4687,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 +4748,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), @@ -4334,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 ) @@ -4385,7 +4819,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), @@ -4398,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 ) @@ -4454,7 +4895,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), @@ -4467,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 ) @@ -4519,7 +4965,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 +5024,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), @@ -4597,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, @@ -4653,7 +5105,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), @@ -4672,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, @@ -4729,7 +5191,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 +5250,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), @@ -4801,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 ) @@ -4851,7 +5320,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), @@ -4864,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 ) @@ -4914,7 +5390,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 +5454,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), @@ -4991,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 ) @@ -5047,7 +5530,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), @@ -5060,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 ) @@ -5118,7 +5608,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), @@ -5131,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 ) @@ -5191,7 +5690,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), @@ -5204,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 ) @@ -5258,7 +5764,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), @@ -5271,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 ) @@ -5324,7 +5835,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), @@ -5343,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, @@ -5410,7 +5927,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), @@ -5429,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, @@ -5488,7 +6010,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), @@ -5507,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, @@ -5565,7 +6095,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), @@ -5584,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, @@ -5641,7 +6178,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), @@ -5654,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 ) @@ -5705,7 +6253,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), @@ -5718,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 ) @@ -5770,7 +6329,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 +6389,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), @@ -5843,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 ) @@ -5893,7 +6461,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, @@ -5907,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 ) @@ -5961,7 +6534,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), @@ -5980,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, @@ -6041,7 +6622,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), @@ -6060,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, @@ -6118,7 +6709,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 +6773,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), @@ -6195,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 ) @@ -6246,7 +6844,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), @@ -6259,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 ) @@ -6309,7 +6920,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, @@ -6323,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 ) @@ -6378,7 +6996,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), @@ -6391,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 ) @@ -6447,7 +7072,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), @@ -6460,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 ) @@ -6515,7 +7147,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), @@ -6528,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 ) @@ -6588,7 +7229,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, @@ -6602,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 ) @@ -6653,7 +7303,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), @@ -6666,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 ) @@ -6718,7 +7381,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), @@ -6735,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, @@ -6791,7 +7462,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, @@ -6805,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 ) @@ -6855,7 +7535,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, @@ -6869,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 ) @@ -6920,7 +7607,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 +7669,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), @@ -6995,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 ) @@ -7049,7 +7745,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), @@ -7062,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 ) @@ -7121,7 +7826,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, @@ -7135,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 ) @@ -7193,7 +7905,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, @@ -7207,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 ) @@ -7261,7 +7980,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, @@ -7275,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 ) @@ -7329,7 +8063,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), @@ -7342,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 ) @@ -7392,7 +8141,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), @@ -7405,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 ) @@ -7455,7 +8213,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), @@ -7468,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 ) @@ -7519,7 +8284,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, @@ -7533,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 ) @@ -7583,7 +8357,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, @@ -7597,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 ) @@ -7654,7 +8437,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), @@ -7667,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 ) @@ -7724,7 +8514,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), @@ -7737,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 ) @@ -7793,7 +8592,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), @@ -7806,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 ) @@ -7862,7 +8670,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), @@ -7875,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 ) @@ -7929,7 +8744,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), @@ -7942,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 ) @@ -7998,7 +8822,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, @@ -8018,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, @@ -8076,7 +8910,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, @@ -8090,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 ) @@ -8143,7 +8984,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, @@ -8157,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 ) @@ -8210,7 +9060,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, @@ -8224,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 ) @@ -8277,7 +9134,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, @@ -8291,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 ) @@ -8348,7 +9212,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, @@ -8362,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 ) @@ -8418,7 +9289,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, @@ -8432,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 ) @@ -8487,7 +9367,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, @@ -8501,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 ) @@ -8552,7 +9441,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 +9507,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, @@ -8632,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 ) @@ -8688,7 +9584,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, @@ -8702,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 ) @@ -8765,7 +9668,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, @@ -8779,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 ) @@ -8834,7 +9749,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), @@ -8847,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 ) @@ -8900,7 +9822,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), @@ -8913,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 ) @@ -8972,7 +9904,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, @@ -8986,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 ) @@ -9042,7 +9985,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, @@ -9056,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 ) @@ -9109,7 +10059,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 +10124,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, @@ -9188,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 ) @@ -9243,7 +10200,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, @@ -9257,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 ) @@ -9307,7 +10271,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 +10330,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, @@ -9380,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 ) @@ -9435,7 +10404,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, @@ -9449,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 ) @@ -9503,7 +10482,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), @@ -9516,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 ) @@ -9575,7 +10561,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), @@ -9588,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 ) @@ -9640,7 +10633,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), @@ -9653,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 ) @@ -9708,7 +10708,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), @@ -9721,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 ) @@ -9770,7 +10777,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), @@ -9783,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 ) @@ -9835,7 +10849,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), @@ -9854,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, @@ -9912,7 +10934,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), @@ -9925,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 ) @@ -9977,7 +11006,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), @@ -9990,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 ) @@ -10041,7 +11077,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), @@ -10054,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 ) @@ -10110,7 +11153,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, @@ -10124,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 ) @@ -10176,7 +11226,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 +11286,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, @@ -10250,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 ) @@ -10301,7 +11358,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), @@ -10314,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 ) @@ -10370,7 +11434,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), @@ -10383,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 ) @@ -10434,7 +11505,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 +11572,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), @@ -10514,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 ) @@ -10572,7 +11650,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), @@ -10585,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 ) @@ -10644,7 +11729,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), @@ -10657,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 ) @@ -10715,7 +11807,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, @@ -10729,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 ) @@ -10782,7 +11881,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 +11949,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, @@ -10864,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 ) @@ -10917,7 +12023,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 +12091,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, @@ -10999,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 ) @@ -11052,7 +12165,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 +12233,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), @@ -11133,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 ) @@ -11187,7 +12307,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 +12376,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, @@ -11271,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 ) @@ -11326,7 +12453,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 +12524,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, @@ -11411,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 ) @@ -11470,7 +12609,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), @@ -11483,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 ) @@ -11533,7 +12679,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), @@ -11545,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 ) @@ -11595,7 +12748,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), @@ -11608,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 ) @@ -11658,7 +12818,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), @@ -11671,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 be0cfba99e..44b221040c 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), @@ -54,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 ) @@ -105,7 +110,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), @@ -118,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 ) @@ -175,7 +185,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), @@ -188,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 ) @@ -239,7 +253,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), @@ -252,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 ) @@ -304,7 +326,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), @@ -317,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 ) @@ -374,7 +403,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), @@ -387,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 ) @@ -441,7 +475,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), @@ -454,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 ) @@ -508,7 +547,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), @@ -521,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 ) @@ -580,7 +630,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), @@ -593,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 ) @@ -647,7 +702,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), @@ -666,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, @@ -722,7 +785,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), @@ -741,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, @@ -804,7 +872,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), @@ -821,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, @@ -877,7 +950,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), @@ -896,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, @@ -952,7 +1035,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), @@ -969,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, @@ -1026,7 +1117,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), @@ -1045,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, @@ -1102,7 +1212,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), @@ -1121,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, @@ -1177,7 +1297,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), @@ -1196,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, @@ -1252,7 +1378,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), @@ -1271,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, @@ -1332,7 +1463,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), @@ -1351,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, @@ -1407,7 +1546,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), @@ -1420,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 ) @@ -1470,7 +1613,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), @@ -1483,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 ) @@ -1533,7 +1683,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), @@ -1546,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 ) @@ -1596,7 +1751,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), @@ -1609,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 ) @@ -1673,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 ) @@ -1740,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 ) @@ -1807,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 ) @@ -1875,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 ) @@ -1939,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 ) @@ -2004,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 ) @@ -2062,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 \ ) \ @@ -2121,7 +2288,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, @@ -2139,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, @@ -2197,7 +2374,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, @@ -2211,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 ) @@ -2261,7 +2449,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), @@ -2278,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, @@ -2335,7 +2535,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), @@ -2352,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, @@ -2408,7 +2614,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), @@ -2425,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, @@ -2482,7 +2697,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), @@ -2495,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 ) @@ -2546,7 +2772,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), @@ -2559,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 ) @@ -2610,7 +2843,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), @@ -2680,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 ) @@ -2744,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 ) @@ -2808,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 ) @@ -2870,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 ) @@ -2921,7 +3165,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, @@ -2935,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 ) @@ -2985,7 +3235,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, @@ -2999,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 ) @@ -3049,7 +3307,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), @@ -3062,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 ) @@ -3112,7 +3374,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), @@ -3125,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 ) @@ -3176,7 +3443,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 +3502,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), @@ -3248,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 ) @@ -3298,7 +3570,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), @@ -3311,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 ) @@ -3361,7 +3642,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), @@ -3374,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 ) @@ -3424,7 +3712,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), @@ -3437,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 ) @@ -3488,7 +3781,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, @@ -3502,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 ) @@ -3553,7 +3858,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, @@ -3567,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 ) @@ -3618,7 +3930,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), @@ -3631,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 ) @@ -3683,7 +4013,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), @@ -3696,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 ) @@ -3747,7 +4081,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), @@ -3766,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, @@ -3822,7 +4162,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), @@ -3841,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, @@ -3902,7 +4247,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), @@ -3919,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, @@ -3976,7 +4330,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 +4389,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), @@ -4048,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 ) @@ -4099,7 +4459,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), @@ -4112,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 ) @@ -4164,7 +4528,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 +4587,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), @@ -4244,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, @@ -4300,7 +4670,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), @@ -4321,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 ) @@ -4376,7 +4750,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), @@ -4389,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 ) @@ -4440,7 +4832,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), @@ -4453,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 ) @@ -4504,7 +4907,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), @@ -4523,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, @@ -4580,7 +4990,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), @@ -4599,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, @@ -4655,7 +5073,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, @@ -4669,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 ) @@ -4720,7 +5152,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), @@ -4739,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, @@ -4795,7 +5238,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), @@ -4814,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, @@ -4871,7 +5323,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), @@ -4890,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, @@ -4948,7 +5406,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), @@ -4965,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, @@ -5024,7 +5488,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 +5548,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, @@ -5098,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 ) @@ -5157,7 +5628,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, @@ -5171,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 ) @@ -5223,7 +5699,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, @@ -5237,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 ) @@ -5288,7 +5769,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, @@ -5302,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 ) @@ -5353,7 +5838,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, @@ -5368,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 ) @@ -5419,7 +5932,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, @@ -5433,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 ) @@ -5492,7 +6012,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, @@ -5506,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 ) @@ -5566,7 +6091,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, @@ -5580,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 ) @@ -5639,7 +6174,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, @@ -5653,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 ) @@ -5713,7 +6253,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), @@ -5726,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 ) @@ -5779,7 +6323,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), @@ -5792,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 ) @@ -5855,7 +6400,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), @@ -5868,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 ) @@ -5921,7 +6470,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), @@ -5934,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 ) @@ -5995,7 +6545,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), @@ -6008,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 ) @@ -6066,7 +6621,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), @@ -6079,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 ) @@ -6139,7 +6698,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), @@ -6152,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 ) @@ -6205,7 +6769,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, @@ -6219,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 ) @@ -6280,7 +6851,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, @@ -6294,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 ) @@ -6352,7 +6931,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, @@ -6366,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 ) @@ -6423,7 +7007,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, @@ -6437,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 ) @@ -6497,7 +7086,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, @@ -6511,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 ) @@ -6574,7 +7168,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), @@ -6587,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 ) @@ -6647,7 +7246,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), @@ -6660,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 ) @@ -6740,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 052b0f40c5..e66657c3ef 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), @@ -54,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 ) @@ -107,7 +112,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), @@ -120,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 ) @@ -170,7 +180,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), @@ -183,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 ) @@ -232,7 +251,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), @@ -245,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 ) @@ -295,7 +321,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), @@ -308,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 ) @@ -358,7 +391,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), @@ -371,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 ) @@ -421,7 +459,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), @@ -434,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 ) @@ -484,7 +546,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), @@ -497,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 ) @@ -547,7 +618,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), @@ -560,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 ) @@ -610,7 +688,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), @@ -623,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 ) @@ -673,7 +755,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), @@ -686,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 ) @@ -739,7 +822,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), @@ -752,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 ) @@ -802,7 +889,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), @@ -815,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 ) @@ -865,7 +961,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), @@ -878,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 ) @@ -928,7 +1033,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), @@ -941,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 ) @@ -996,7 +1109,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), @@ -1009,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 ) @@ -1059,7 +1179,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), @@ -1072,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 ) @@ -1122,7 +1247,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), @@ -1135,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 ) @@ -1185,7 +1315,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), @@ -1198,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 ) @@ -1248,7 +1385,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), @@ -1261,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 ) @@ -1312,7 +1454,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), @@ -1325,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 ) @@ -1376,7 +1522,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), @@ -1389,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 ) @@ -1439,7 +1592,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), @@ -1452,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 ) @@ -1502,7 +1660,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), @@ -1515,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 ) @@ -1565,7 +1727,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, @@ -1579,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 ) @@ -1629,7 +1801,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, @@ -1643,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 ) @@ -1693,7 +1872,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), @@ -1706,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 ) @@ -1756,7 +1940,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), @@ -1769,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 ) @@ -1824,7 +2013,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), @@ -1847,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 ) @@ -1905,7 +2100,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), @@ -1918,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 ) @@ -1968,7 +2171,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), @@ -1981,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 ) @@ -2037,7 +2245,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), @@ -2050,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 ) @@ -2107,7 +2320,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), @@ -2120,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 ) @@ -2182,7 +2403,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), @@ -2195,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 ) @@ -2245,7 +2471,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, @@ -2259,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 ) @@ -2309,7 +2556,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, @@ -2323,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 ) @@ -2374,7 +2629,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), @@ -2387,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 ) @@ -2438,7 +2700,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), @@ -2451,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 ) @@ -2503,7 +2771,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), @@ -2516,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 ) @@ -2570,7 +2843,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 +2903,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), @@ -2643,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 ) @@ -2693,7 +2971,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), @@ -2706,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 ) @@ -2756,7 +3043,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), @@ -2769,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 ) @@ -2819,7 +3110,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), @@ -2832,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 ) @@ -2882,7 +3177,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), @@ -2895,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 ) @@ -2950,7 +3252,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), @@ -2963,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 ) @@ -3014,7 +3325,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), @@ -3027,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 ) @@ -3079,7 +3396,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), @@ -3092,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 ) @@ -3143,7 +3464,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), @@ -3156,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 ) @@ -3207,7 +3535,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), @@ -3220,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 ) @@ -3276,7 +3610,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), @@ -3289,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 ) @@ -3344,7 +3683,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), @@ -3357,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 ) @@ -3412,7 +3760,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), @@ -3425,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 ) @@ -3485,7 +3841,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), @@ -3498,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 ) @@ -3555,7 +3915,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), @@ -3568,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 ) @@ -3619,7 +3990,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), @@ -3632,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 ) @@ -3683,7 +4059,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, @@ -3697,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 ) @@ -3750,7 +4133,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), @@ -3763,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 ) @@ -3816,7 +4204,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), @@ -3829,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 ) @@ -3897,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 ) @@ -3962,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 ) @@ -4028,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 ) @@ -4079,7 +4471,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, @@ -4093,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 ) @@ -4141,7 +4534,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, @@ -4155,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 ) @@ -4208,7 +4602,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), @@ -4221,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 ) @@ -4272,7 +4671,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), @@ -4285,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 ) @@ -4341,7 +4744,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), @@ -4354,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 ) @@ -4404,7 +4814,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), @@ -4417,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 ) @@ -4468,7 +4883,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), @@ -4481,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 ) @@ -4530,7 +4951,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 +5010,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), @@ -4599,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 ) @@ -4651,7 +5076,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), @@ -4664,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 ) @@ -4715,7 +5141,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 +5201,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), @@ -4788,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 ) @@ -4840,7 +5275,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), @@ -4853,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 ) @@ -4904,7 +5350,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), @@ -4917,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 ) @@ -4968,7 +5422,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), @@ -4981,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 ) @@ -5033,7 +5492,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), @@ -5046,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 ) @@ -5096,7 +5560,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, @@ -5110,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 ) @@ -5162,7 +5636,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, @@ -5176,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 ) @@ -5228,7 +5709,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), @@ -5241,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 ) @@ -5290,7 +5776,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, @@ -5304,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 ) @@ -5355,7 +5842,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, @@ -5369,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 ) @@ -5420,7 +5908,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), @@ -5433,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 ) @@ -5483,7 +5977,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), @@ -5496,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 ) @@ -5546,7 +6052,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), @@ -5559,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 ) @@ -5609,7 +6120,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, @@ -5623,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 ) @@ -5674,7 +6195,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), @@ -5687,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 ) @@ -5740,7 +6266,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), @@ -5753,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 ) @@ -5807,7 +6338,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 +6397,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), @@ -5879,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 ) @@ -5930,7 +6468,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), @@ -5943,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 ) @@ -5993,7 +6538,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), @@ -6006,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 ) @@ -6057,7 +6603,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), @@ -6070,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 ) @@ -6123,7 +6670,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), @@ -6136,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 ) @@ -6187,7 +6739,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), @@ -6200,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 ) @@ -6254,7 +6813,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), @@ -6267,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 ) @@ -6321,7 +6886,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), @@ -6334,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 ) @@ -6387,7 +6959,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), @@ -6400,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 ) @@ -6451,7 +7029,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, @@ -6465,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 ) @@ -6515,7 +7099,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, @@ -6529,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 ) @@ -6578,7 +7168,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, @@ -6592,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 ) @@ -6642,7 +7239,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), @@ -6655,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 ) @@ -6705,7 +7311,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), @@ -6718,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 ) @@ -6773,7 +7383,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), @@ -6786,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 ) @@ -6841,7 +7458,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), @@ -6854,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 ) @@ -6908,7 +7530,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), @@ -6921,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 ) @@ -6984,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 ) @@ -7048,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 ) @@ -7112,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 ) @@ -7176,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 ) @@ -7240,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 ) @@ -7302,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 ) @@ -7364,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 ) @@ -7426,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 ) @@ -7478,7 +8113,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, @@ -7492,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 ) @@ -7543,7 +8184,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), @@ -7556,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 ) @@ -7606,7 +8251,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), @@ -7619,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 ) @@ -7671,7 +8321,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), @@ -7684,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 ) @@ -7737,7 +8394,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), @@ -7750,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 ) @@ -7800,7 +8465,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), @@ -7823,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 ) @@ -7881,7 +8553,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), @@ -7904,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 ) @@ -7962,7 +8642,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), @@ -7975,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 ) @@ -8026,7 +8711,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), @@ -8039,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 ) @@ -8089,7 +8781,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), @@ -8102,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 ) @@ -8153,7 +8855,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), @@ -8166,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 ) @@ -8221,7 +8930,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, @@ -8235,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 ) @@ -8286,7 +9002,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, @@ -8300,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 ) @@ -8350,7 +9072,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, @@ -8364,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 ) @@ -8414,7 +9142,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, @@ -8428,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 ) @@ -8478,7 +9212,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, @@ -8492,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 ) @@ -8542,7 +9294,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, @@ -8556,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 ) @@ -8605,7 +9364,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, @@ -8619,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 ) @@ -8669,7 +9436,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), @@ -8682,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 ) @@ -8732,7 +9509,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), @@ -8745,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 ) @@ -8800,7 +9581,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), @@ -8813,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 ) @@ -8867,7 +9654,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, @@ -8881,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 ) @@ -8934,7 +9727,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, @@ -8948,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 ) @@ -8998,7 +9796,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), @@ -9011,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 ) @@ -9061,7 +9863,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), @@ -9074,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 ) @@ -9123,7 +9929,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), @@ -9136,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 ) @@ -9190,7 +10002,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), @@ -9203,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 ) @@ -9257,7 +10074,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), @@ -9270,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 ) @@ -9321,7 +10144,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, @@ -9335,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 ) @@ -9385,7 +10215,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), @@ -9398,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 ) @@ -9448,7 +10285,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), @@ -9461,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 ) @@ -9512,7 +10353,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), @@ -9525,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 ) @@ -9576,7 +10421,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), @@ -9589,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 ) @@ -9643,7 +10489,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), @@ -9656,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 ) @@ -9706,7 +10556,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), @@ -9719,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 ) @@ -9770,7 +10629,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), @@ -9783,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 ) @@ -9836,7 +10704,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), @@ -9849,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 ) @@ -9900,7 +10773,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), @@ -9913,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 ) @@ -9963,7 +10840,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), @@ -9976,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 ) @@ -10027,7 +10914,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), @@ -10040,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 ) @@ -10090,7 +10981,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), @@ -10103,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 ) @@ -10154,7 +11046,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), @@ -10167,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 ) @@ -10218,7 +11115,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), @@ -10231,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 ) @@ -10281,7 +11185,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, @@ -10295,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 ) @@ -10344,7 +11253,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, @@ -10358,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 ) @@ -10411,7 +11321,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), @@ -10424,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 ) @@ -10474,7 +11389,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), @@ -10487,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 ) @@ -10537,7 +11457,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), @@ -10550,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 ) @@ -10601,7 +11525,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), @@ -10614,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 ) @@ -10665,7 +11608,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), @@ -10678,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 ) @@ -10728,7 +11676,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), @@ -10741,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 ) @@ -10790,7 +11742,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, @@ -10804,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 ) @@ -10854,7 +11816,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), @@ -10867,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 ) @@ -10919,7 +11894,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, @@ -10933,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 ) @@ -10983,7 +11964,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), @@ -10996,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 ) @@ -11048,7 +12034,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), @@ -11061,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 ) @@ -11113,7 +12108,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), @@ -11126,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 ) @@ -11178,7 +12177,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, @@ -11192,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 ) @@ -11244,7 +12267,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), @@ -11257,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 ) @@ -11311,7 +12341,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, @@ -11325,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 ) @@ -11377,7 +12431,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, @@ -11391,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 ) @@ -11445,7 +12517,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), @@ -11458,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 ) @@ -11511,7 +12587,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), @@ -11524,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 ) @@ -11577,7 +12657,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, @@ -11591,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 ) @@ -11643,7 +12747,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), @@ -11656,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 ) @@ -11713,7 +12824,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), @@ -11726,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 ) @@ -11786,7 +12903,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), @@ -11799,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 ) @@ -11859,7 +12980,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), @@ -11872,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 ) @@ -11928,7 +13053,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), @@ -11941,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 ) @@ -11995,7 +13124,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 +13193,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, @@ -12074,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 ) @@ -12131,7 +13273,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, @@ -12145,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 ) @@ -12211,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 08e175c9d3..8b332629c4 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), @@ -54,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 ) @@ -104,7 +111,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), @@ -117,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 ) @@ -166,7 +180,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), @@ -179,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 ) @@ -229,7 +248,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), @@ -242,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 ) @@ -292,7 +320,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), @@ -305,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 ) @@ -354,7 +387,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), @@ -367,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 ) @@ -417,7 +459,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), @@ -430,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 ) @@ -480,7 +531,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), @@ -493,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 ) @@ -552,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 ) @@ -598,7 +654,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), @@ -611,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 ) @@ -658,7 +715,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 +778,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), @@ -728,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 ) @@ -778,7 +845,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), @@ -791,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 ) @@ -841,7 +912,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), @@ -854,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 ) @@ -904,7 +983,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, @@ -918,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 ) @@ -967,7 +1056,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, @@ -981,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 ) @@ -1037,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 \ ) \ @@ -1074,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) \ { \ @@ -1119,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 \ ) \ @@ -1201,13 +1296,14 @@ 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, \ + gObjectEventPic_Vivillon ##form, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ + sAnimTable_Following, \ gOverworldPalette_Vivillon ##form, \ gShinyOverworldPalette_Vivillon ##form \ ) \ @@ -1435,7 +1531,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), @@ -1448,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 ) @@ -1498,7 +1599,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), @@ -1519,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, @@ -1583,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 \ ) \ @@ -1671,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 \ ) \ @@ -1819,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 \ ) \ @@ -1914,7 +2023,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), @@ -1927,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 ) @@ -1977,7 +2090,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), @@ -1990,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 ) @@ -2041,7 +2159,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), @@ -2054,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 ) @@ -2105,7 +2231,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), @@ -2118,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 ) @@ -2175,13 +2309,14 @@ 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, \ + gObjectEventPic_Furfrou##_form, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ + sAnimTable_Following, \ gOverworldPalette_Furfrou##_form, \ gShinyOverworldPalette_Furfrou##_form \ ) \ @@ -2242,7 +2377,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), @@ -2255,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 ) @@ -2319,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 ) @@ -2381,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 ) @@ -2432,7 +2578,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, @@ -2446,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 ) @@ -2496,7 +2647,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, @@ -2510,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 ) @@ -2562,7 +2720,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, @@ -2576,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 ) @@ -2632,7 +2797,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 +2861,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, @@ -2704,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 ) @@ -2755,7 +2934,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), @@ -2768,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 ) @@ -2818,7 +3001,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), @@ -2831,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 ) @@ -2882,7 +3074,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), @@ -2895,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 ) @@ -2945,7 +3144,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, @@ -2959,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 ) @@ -3009,7 +3214,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), @@ -3022,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 ) @@ -3072,7 +3283,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), @@ -3085,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 ) @@ -3136,7 +3355,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), @@ -3149,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 ) @@ -3199,7 +3422,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), @@ -3212,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 ) @@ -3262,7 +3495,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), @@ -3275,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 ) @@ -3326,7 +3565,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), @@ -3339,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 ) @@ -3390,7 +3636,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), @@ -3403,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 ) @@ -3453,7 +3709,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), @@ -3466,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 ) @@ -3517,7 +3778,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), @@ -3530,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 ) @@ -3580,7 +3846,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), @@ -3593,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 ) @@ -3643,7 +3915,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), @@ -3656,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 ) @@ -3706,7 +3982,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), @@ -3719,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 ) @@ -3769,7 +4057,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), @@ -3782,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 ) @@ -3837,7 +4129,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), @@ -3850,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 ) @@ -3901,7 +4198,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), @@ -3914,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 ) @@ -3966,7 +4268,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, @@ -3980,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 ) @@ -4031,7 +4344,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), @@ -4044,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 ) @@ -4096,7 +4414,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), @@ -4109,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 ) @@ -4160,7 +4483,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), @@ -4173,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 ) @@ -4224,7 +4554,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), @@ -4237,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 ) @@ -4289,7 +4620,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), @@ -4302,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 ) @@ -4356,7 +4688,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, @@ -4370,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 ) @@ -4421,7 +4764,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, @@ -4435,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 ) @@ -4486,7 +4834,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), @@ -4499,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 ) @@ -4562,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 ) @@ -4626,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 ) @@ -4690,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 ) @@ -4756,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 ) @@ -4821,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 ) @@ -4883,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 ) @@ -4945,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 ) @@ -5009,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 ) @@ -5066,7 +5430,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), @@ -5079,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 ) @@ -5130,7 +5501,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), @@ -5143,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 ) @@ -5192,7 +5569,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), @@ -5205,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 ) @@ -5262,7 +5640,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, @@ -5276,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 ) @@ -5330,7 +5718,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), @@ -5343,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 ) @@ -5402,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 ) @@ -5464,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 ) @@ -5519,7 +5913,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, @@ -5533,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 ) @@ -5596,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 ) @@ -5658,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 ) @@ -5720,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 ) @@ -5783,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 ) @@ -5837,7 +6241,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), @@ -5850,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 ) @@ -5906,7 +6315,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), @@ -5919,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 ) @@ -5974,7 +6388,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 +6450,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, @@ -6050,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 ) @@ -6103,7 +6528,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, @@ -6117,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 ) @@ -6172,7 +6601,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), @@ -6185,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 cb126fd171..b0115420ad 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), @@ -54,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 ) @@ -105,7 +109,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), @@ -118,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 ) @@ -168,7 +176,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), @@ -181,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 ) @@ -231,7 +243,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), @@ -244,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 ) @@ -297,7 +310,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), @@ -310,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 ) @@ -360,7 +374,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), @@ -373,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 ) @@ -422,7 +437,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), @@ -435,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 ) @@ -485,7 +501,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), @@ -498,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 ) @@ -548,7 +565,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), @@ -561,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 ) @@ -610,7 +628,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), @@ -623,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 ) @@ -674,7 +693,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), @@ -687,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 ) @@ -738,7 +762,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), @@ -751,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 ) @@ -801,7 +831,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), @@ -814,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 ) @@ -865,7 +899,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), @@ -878,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 ) @@ -925,7 +960,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), @@ -938,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 ) @@ -984,7 +1020,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), @@ -997,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 ) @@ -1050,7 +1087,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), @@ -1063,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 ) @@ -1114,7 +1152,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), @@ -1127,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 ) @@ -1188,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 ) @@ -1233,7 +1277,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, @@ -1247,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 ) @@ -1301,7 +1354,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), @@ -1314,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 ) @@ -1366,7 +1420,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), @@ -1379,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 ) @@ -1430,7 +1485,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), @@ -1443,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 ) @@ -1495,7 +1551,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), @@ -1508,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 ) @@ -1560,7 +1617,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), @@ -1573,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 ) @@ -1625,7 +1683,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), @@ -1638,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 ) @@ -1692,7 +1751,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, @@ -1706,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 ) @@ -1768,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 ) @@ -1828,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 ) @@ -1890,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 ) @@ -1951,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 ) @@ -2002,7 +2099,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), @@ -2015,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 ) @@ -2064,7 +2165,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), @@ -2077,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 ) @@ -2126,7 +2231,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), @@ -2139,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 ) @@ -2190,7 +2299,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, @@ -2204,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 ) @@ -2255,8 +2365,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 +2424,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), @@ -2327,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 ) @@ -2378,7 +2489,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), @@ -2391,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 ) @@ -2442,7 +2554,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), @@ -2455,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 ) @@ -2506,7 +2619,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), @@ -2519,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 ) @@ -2570,7 +2684,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), @@ -2583,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 ) @@ -2644,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 ) @@ -2703,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 ) @@ -2757,7 +2881,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), @@ -2770,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 ) @@ -2818,7 +2943,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), @@ -2831,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 ) @@ -2877,7 +3003,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), @@ -2890,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 ) @@ -2945,7 +3072,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), @@ -2958,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 ) @@ -3010,7 +3138,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), @@ -3023,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 ) @@ -3074,7 +3203,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), @@ -3087,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 ) @@ -3148,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 ) @@ -3207,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 ) @@ -3260,7 +3396,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), @@ -3273,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 ) @@ -3323,7 +3464,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), @@ -3336,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 ) @@ -3387,7 +3533,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), @@ -3400,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 ) @@ -3452,7 +3599,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), @@ -3465,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 ) @@ -3516,7 +3664,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), @@ -3529,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 ) @@ -3581,7 +3730,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, @@ -3595,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 ) @@ -3646,7 +3796,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), @@ -3659,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 ) @@ -3710,7 +3864,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), @@ -3723,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 ) @@ -3774,7 +3932,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), @@ -3787,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 ) @@ -3837,7 +4000,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), @@ -3850,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 ) @@ -3901,7 +4069,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), @@ -3914,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 ) @@ -3965,7 +4134,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), @@ -3978,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 ) @@ -4028,7 +4198,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), @@ -4041,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 ) @@ -4092,7 +4267,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), @@ -4105,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 ) @@ -4154,7 +4330,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), \ @@ -4167,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, \ @@ -4245,7 +4422,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, \ @@ -4256,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 \ ) \ @@ -4282,7 +4460,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, \ @@ -4293,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), \ } @@ -4352,7 +4530,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), @@ -4365,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 ) @@ -4417,7 +4596,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), @@ -4430,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 ) @@ -4491,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 ) @@ -4551,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 ) @@ -4602,7 +4788,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), @@ -4615,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 ) @@ -4663,7 +4850,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 +4903,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), @@ -4729,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 ) @@ -4779,7 +4967,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 +5028,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), @@ -4853,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 ) @@ -4905,7 +5094,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), @@ -4918,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 ) @@ -4970,7 +5163,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, @@ -4984,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 ) @@ -5035,7 +5229,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), @@ -5048,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 ) @@ -5099,7 +5297,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), @@ -5112,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 ) @@ -5172,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 ) @@ -5218,7 +5421,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), @@ -5231,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 ) @@ -5284,7 +5494,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, @@ -5298,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 ) @@ -5350,7 +5569,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, @@ -5364,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 ) @@ -5416,7 +5640,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, @@ -5430,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 ) @@ -5482,7 +5713,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, @@ -5497,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 ) @@ -5549,7 +5785,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, @@ -5563,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 ) @@ -5617,7 +5854,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, @@ -5631,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 ) @@ -5685,7 +5923,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), @@ -5698,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 ) @@ -5749,7 +5988,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, @@ -5763,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 ) @@ -5816,7 +6056,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, @@ -5830,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 ) @@ -5883,7 +6124,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), @@ -5896,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 ) @@ -5948,7 +6190,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), @@ -5961,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 ) @@ -6013,7 +6256,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), @@ -6026,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 ) @@ -6080,7 +6324,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), @@ -6093,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 ) @@ -6145,7 +6390,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, @@ -6159,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 ) @@ -6211,7 +6457,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), @@ -6224,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 ) @@ -6278,7 +6525,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, @@ -6292,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 ) @@ -6346,7 +6594,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), @@ -6359,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 ) @@ -6414,7 +6663,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, @@ -6428,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 ) @@ -6486,7 +6736,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 +6800,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), @@ -6563,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 ) @@ -6614,7 +6865,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), @@ -6627,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 ) @@ -6683,7 +6935,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), @@ -6696,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 ) @@ -6748,7 +7005,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, @@ -6762,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 ) @@ -6812,7 +7070,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, @@ -6826,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 ) @@ -6878,7 +7137,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), @@ -6891,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 ) @@ -6943,7 +7203,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), @@ -6956,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 ) @@ -7007,7 +7268,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), @@ -7020,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 ) @@ -7072,7 +7334,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), @@ -7085,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 ) @@ -7135,7 +7398,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), @@ -7148,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 ) @@ -7202,7 +7466,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..a7239d1c32 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), @@ -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 ) @@ -103,7 +104,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), @@ -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 ) @@ -164,7 +166,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), @@ -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 ) @@ -227,7 +230,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 +289,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), @@ -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 ) @@ -348,7 +352,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), @@ -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 ) @@ -410,7 +415,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), @@ -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 ) @@ -474,7 +480,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 +540,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), @@ -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 ) @@ -596,7 +603,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), @@ -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 ) @@ -658,7 +666,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), @@ -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 ) @@ -722,7 +731,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 +790,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), @@ -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 ) @@ -845,7 +855,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), @@ -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 ) @@ -908,7 +919,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), @@ -921,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 ) @@ -971,7 +991,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, @@ -985,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 ) @@ -1034,7 +1063,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), @@ -1047,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 ) @@ -1098,7 +1132,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 +1190,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), @@ -1169,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 ) @@ -1221,7 +1256,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), @@ -1234,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 ) @@ -1284,7 +1320,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, @@ -1298,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 ) @@ -1350,7 +1387,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 +1446,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), @@ -1422,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 ) @@ -1472,7 +1510,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), @@ -1485,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 ) @@ -1535,7 +1574,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), @@ -1548,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 ) @@ -1598,7 +1638,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), @@ -1611,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 ) @@ -1661,7 +1702,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), @@ -1674,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 ) @@ -1724,7 +1766,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), @@ -1737,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 ) @@ -1786,7 +1829,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), @@ -1799,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 ) @@ -1848,7 +1896,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), @@ -1861,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 ) @@ -1912,7 +1965,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 +2024,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), @@ -1984,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 ) @@ -2034,7 +2088,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), @@ -2047,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 ) @@ -2097,7 +2152,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), @@ -2110,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 ) @@ -2159,7 +2215,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), @@ -2172,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 ) @@ -2221,7 +2278,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), @@ -2234,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 ) @@ -2285,7 +2343,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 +2402,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), @@ -2357,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 ) @@ -2409,7 +2468,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, @@ -2423,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 ) @@ -2474,7 +2534,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 +2590,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), @@ -2543,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 ) @@ -2594,7 +2655,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 +2712,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), @@ -2664,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 ) @@ -2713,7 +2775,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), @@ -2726,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 ) @@ -2776,7 +2839,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), @@ -2789,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 ) @@ -2839,7 +2903,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), @@ -2852,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 ) @@ -2903,7 +2968,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 +3026,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), @@ -2974,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 ) @@ -3025,7 +3091,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 +3147,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 +3205,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), @@ -3152,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 ) @@ -3202,7 +3269,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), @@ -3215,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 ) @@ -3265,7 +3333,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), @@ -3278,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 ) @@ -3329,7 +3398,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), @@ -3342,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 ) @@ -3389,7 +3459,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 +3515,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), @@ -3458,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 ) @@ -3505,7 +3576,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 +3634,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), @@ -3576,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 ) @@ -3626,7 +3702,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), @@ -3639,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 ) @@ -3690,7 +3771,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 +3830,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), @@ -3762,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 ) @@ -3811,7 +3893,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), @@ -3824,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 ) @@ -3873,7 +3956,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, @@ -3887,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 ) @@ -3937,7 +4021,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, @@ -3951,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 ) @@ -4000,7 +4085,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, @@ -4014,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 ) @@ -4063,7 +4149,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, @@ -4077,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 ) @@ -4128,7 +4215,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), @@ -4141,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 ) @@ -4190,7 +4278,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), @@ -4203,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 ) @@ -4251,7 +4340,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), @@ -4264,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 ) @@ -4315,7 +4405,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 +4464,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), @@ -4387,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 ) @@ -4436,7 +4527,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), @@ -4449,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 ) @@ -4498,7 +4590,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), @@ -4511,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 ) @@ -4562,7 +4655,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 +4713,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, @@ -4634,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 ) @@ -4691,7 +4785,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), \ @@ -4701,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*/ \ ) \ @@ -4802,7 +4897,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 +4955,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), @@ -4873,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 ) @@ -4922,7 +5018,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), @@ -4935,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 ) @@ -4987,7 +5084,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), @@ -5000,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 ) @@ -5050,7 +5148,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, @@ -5064,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 ) @@ -5114,7 +5213,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), @@ -5127,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 ) @@ -5178,7 +5278,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), @@ -5191,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 ) @@ -5242,7 +5343,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 +5401,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), @@ -5313,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 ) @@ -5362,7 +5464,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), @@ -5375,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 ) @@ -5427,7 +5530,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), @@ -5440,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 ) @@ -5491,7 +5595,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 +5654,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), @@ -5563,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 ) @@ -5613,7 +5718,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), @@ -5626,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 ) @@ -5678,7 +5784,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 +5843,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), @@ -5750,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 ) @@ -5799,7 +5906,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), @@ -5812,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 ) @@ -5862,7 +5970,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), @@ -5875,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 ) @@ -5925,7 +6034,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), @@ -5938,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 ) @@ -5987,7 +6097,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), @@ -6000,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 ) @@ -6053,7 +6164,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 +6223,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), @@ -6125,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 ) @@ -6176,7 +6288,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, @@ -6190,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 ) @@ -6239,7 +6352,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, @@ -6253,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 ) @@ -6302,7 +6416,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, @@ -6316,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 ) @@ -6365,7 +6480,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), @@ -6378,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 ) @@ -6431,7 +6547,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), @@ -6444,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 ) @@ -6499,7 +6616,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), @@ -6512,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 ) @@ -6565,7 +6683,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), @@ -6578,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 ) @@ -6633,7 +6752,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, @@ -6647,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 ) @@ -6699,7 +6819,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 +6878,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), @@ -6771,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 ) @@ -6825,7 +6946,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), @@ -6838,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 ) @@ -6891,7 +7013,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 +7071,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), @@ -6962,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 ) @@ -7015,7 +7138,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 +7199,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), @@ -7089,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 ) @@ -7140,7 +7264,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 +7323,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, @@ -7213,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 ) @@ -7265,7 +7390,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, @@ -7279,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 ) @@ -7330,7 +7456,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), @@ -7343,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 ) @@ -7395,7 +7522,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), @@ -7408,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 ) @@ -7460,7 +7588,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), @@ -7473,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 ) @@ -7526,7 +7655,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), @@ -7539,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 ) @@ -7592,7 +7722,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), @@ -7605,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 ) @@ -7661,7 +7792,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, @@ -7675,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 ) @@ -7726,7 +7858,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), @@ -7739,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 7402619b9a..d740424f82 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), @@ -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 ) @@ -104,7 +105,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), @@ -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 ) @@ -166,7 +168,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), @@ -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 ) @@ -229,7 +232,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), @@ -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 ) @@ -292,7 +296,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), @@ -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 ) @@ -354,7 +359,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), @@ -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 ) @@ -417,7 +423,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), @@ -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 ) @@ -480,7 +487,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), @@ -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 ) @@ -542,7 +550,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), @@ -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 ) @@ -605,7 +614,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), @@ -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 ) @@ -668,7 +678,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), @@ -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 ) @@ -730,7 +741,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), @@ -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 ) @@ -794,7 +806,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), @@ -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 ) @@ -857,7 +870,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), @@ -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 ) @@ -920,7 +934,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), @@ -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 ) @@ -983,7 +998,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), @@ -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 ) @@ -1046,7 +1062,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), @@ -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 ) @@ -1109,7 +1126,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), @@ -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 ) @@ -1171,7 +1189,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), @@ -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 ) @@ -1234,7 +1253,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), @@ -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 ) @@ -1298,7 +1318,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), @@ -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 ) @@ -1359,7 +1380,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), @@ -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 ) @@ -1423,7 +1445,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), @@ -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 ) @@ -1486,7 +1509,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), @@ -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 ) @@ -1549,7 +1573,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), @@ -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 ) @@ -1612,7 +1637,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), @@ -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 ) @@ -1674,7 +1700,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), @@ -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 ) @@ -1737,7 +1764,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), @@ -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 ) @@ -1800,7 +1828,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), @@ -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 ) @@ -1863,7 +1892,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), @@ -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 ) @@ -1926,7 +1956,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), @@ -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 ) @@ -1991,7 +2022,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), @@ -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 ) @@ -2054,7 +2086,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), @@ -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 ) @@ -2116,7 +2149,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), @@ -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 ) @@ -2179,7 +2213,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), @@ -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 ) @@ -2243,7 +2278,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), @@ -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 ) @@ -2304,7 +2340,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), @@ -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 ) @@ -2367,7 +2404,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, @@ -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 ) @@ -2431,7 +2469,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), @@ -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 ) @@ -2494,7 +2533,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), @@ -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 ) @@ -2557,7 +2597,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), @@ -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 ) @@ -2620,7 +2661,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), @@ -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 ) @@ -2683,7 +2725,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), @@ -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 ) @@ -2746,7 +2789,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), @@ -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 ) @@ -2809,7 +2853,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), @@ -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 ) @@ -2872,7 +2917,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), @@ -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 ) @@ -2935,7 +2981,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), @@ -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 ) @@ -3000,7 +3047,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), @@ -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 ) @@ -3065,7 +3113,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), @@ -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 ) @@ -3128,7 +3177,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), @@ -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 ) @@ -3192,7 +3242,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), @@ -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 ) @@ -3255,7 +3306,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), @@ -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, @@ -3319,7 +3370,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), @@ -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 ) @@ -3382,7 +3434,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), @@ -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 ) @@ -3445,7 +3498,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), @@ -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 ) @@ -3508,7 +3562,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), @@ -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 ) @@ -3571,7 +3626,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), @@ -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, @@ -3635,7 +3690,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), @@ -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, @@ -3698,7 +3753,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), @@ -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, @@ -3761,7 +3816,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), @@ -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 ) @@ -3823,7 +3879,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), @@ -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 ) @@ -3886,7 +3943,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, @@ -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 ) @@ -3950,7 +4008,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), @@ -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 ) @@ -4013,7 +4072,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), @@ -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 ) @@ -4076,7 +4136,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), @@ -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 ) @@ -4141,7 +4202,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), @@ -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 ) @@ -4204,7 +4266,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), @@ -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 ) @@ -4267,7 +4330,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), @@ -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 ) @@ -4331,7 +4395,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), @@ -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 ) @@ -4395,7 +4460,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, @@ -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 ) @@ -4459,7 +4525,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, @@ -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 ) @@ -4523,7 +4590,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), @@ -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 ) @@ -4586,7 +4654,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), @@ -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 ) @@ -4649,7 +4718,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), @@ -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 ) @@ -4713,7 +4783,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), @@ -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 ) @@ -4776,7 +4847,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), @@ -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 ) @@ -4839,7 +4911,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, @@ -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 ) @@ -4904,7 +4977,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, @@ -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 ) @@ -4969,7 +5043,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), @@ -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 ) @@ -5031,7 +5106,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), @@ -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 ) @@ -5093,7 +5169,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), @@ -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 ) @@ -5159,7 +5236,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), @@ -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 ) @@ -5224,7 +5302,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), @@ -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 ) @@ -5289,7 +5368,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), @@ -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 ) @@ -5356,7 +5436,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, @@ -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 ) @@ -5421,7 +5502,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), @@ -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 ) @@ -5486,7 +5568,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), @@ -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 ) @@ -5551,7 +5634,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), @@ -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 ) @@ -5616,7 +5700,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), @@ -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 ) @@ -5681,7 +5766,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), @@ -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 ) @@ -5746,7 +5832,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, @@ -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 ) @@ -5812,7 +5899,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, @@ -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 ) @@ -5878,7 +5966,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), @@ -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 ) @@ -5942,7 +6031,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), @@ -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 ) @@ -6005,7 +6095,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), @@ -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 ) @@ -6067,7 +6158,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), @@ -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 ) @@ -6130,7 +6222,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), @@ -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 ) @@ -6193,7 +6286,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 +6341,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), @@ -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 ) @@ -6311,7 +6405,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), @@ -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 ) @@ -6376,7 +6471,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), @@ -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 ) @@ -6441,7 +6537,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), @@ -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 ) @@ -6506,7 +6603,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, @@ -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 ) @@ -6573,7 +6671,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, @@ -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 ) @@ -6638,7 +6737,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), @@ -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 ) @@ -6702,7 +6802,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), @@ -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 ) @@ -6768,7 +6869,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), @@ -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 ) @@ -6834,7 +6936,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), @@ -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 ) @@ -6898,7 +7001,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), @@ -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 ) @@ -6962,7 +7066,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, @@ -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 ) @@ -7024,7 +7129,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, @@ -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 ) @@ -7087,7 +7193,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, @@ -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 ) @@ -7148,7 +7255,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, @@ -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 ) @@ -7212,7 +7320,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), @@ -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 ) @@ -7277,7 +7386,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), @@ -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 ) @@ -7342,7 +7452,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), @@ -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 ) @@ -7404,7 +7515,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), \ @@ -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 \ ) \ @@ -7485,7 +7597,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), @@ -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 ) @@ -7550,7 +7663,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), @@ -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 ) @@ -7614,7 +7728,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), @@ -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 ) @@ -7679,7 +7794,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), @@ -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 ) @@ -7744,7 +7860,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, @@ -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 ) @@ -7813,7 +7930,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, @@ -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 ) @@ -7881,7 +7999,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 +8060,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), @@ -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/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/debug.c b/src/debug.c index 267c5d5ab9..99f8975197 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 @@ -277,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 @@ -381,6 +369,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 +478,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[]; @@ -506,132 +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}"); -// 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}"); @@ -640,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[] = @@ -712,172 +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_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}, }; // ******************************* @@ -913,6 +756,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) = @@ -1297,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; @@ -1319,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); @@ -1541,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); @@ -1549,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) @@ -1830,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); } // ******************************* @@ -2197,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"), @@ -2339,6 +2105,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"); @@ -2400,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; @@ -2415,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; @@ -2450,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); } } @@ -2718,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]); } } @@ -2883,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; @@ -2898,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; @@ -2916,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; @@ -2946,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); @@ -2975,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); @@ -2996,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); @@ -3020,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; @@ -3058,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; @@ -3099,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; @@ -3126,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); @@ -3457,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; @@ -3478,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)) @@ -3501,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) @@ -3561,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 @@ -3595,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; } } @@ -3613,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) @@ -3629,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) @@ -3688,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 @@ -3725,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; } } @@ -3770,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) @@ -3823,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 @@ -3870,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; @@ -3883,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/decompress.c b/src/decompress.c index 59394bc772..e90b665366 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 LoadSpriteSheetByTemplateWithOffset(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 LoadSpriteSheetByTemplateWithOffset(&myTemplate, 0, offset); + u32 ret = LoadSpriteSheetByTemplateWithOffset(&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_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/event_object_movement.c b/src/event_object_movement.c index 261529f6fe..28ba7fc83c 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -2086,15 +2086,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 2649180ac1..0d52aadb1c 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; @@ -3946,7 +3959,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) @@ -3954,7 +3967,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/graphics.c b/src/graphics.c index 239062726d..59ad13af80 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1683,7 +1683,11 @@ const u32 gMoveTypes_Pal[] = INCBIN_U32("graphics/types/move_types.gbapal.lz"); const u32 gSummaryMoveSelect_Gfx[] = INCBIN_U32("graphics/summary_screen/move_select.4bpp.lz"); const u32 gSummaryMoveSelect_Pal[] = INCBIN_U32("graphics/summary_screen/move_select.gbapal.lz"); +#if P_SUMMARY_SCREEN_IV_EV_TILESET +const u32 gSummaryScreen_Gfx[] = INCBIN_U32("graphics/summary_screen/iv_ev_tiles.4bpp.lz"); +#else const u32 gSummaryScreen_Gfx[] = INCBIN_U32("graphics/summary_screen/tiles.4bpp.lz"); +#endif // P_SUMMARY_SCREEN_IV_EV_TILESET const u32 gSummaryScreen_Pal[] = INCBIN_U32("graphics/summary_screen/tiles.gbapal.lz"); const u32 gSummaryPage_Info_Tilemap[] = INCBIN_U32("graphics/summary_screen/page_info.bin.lz"); const u32 gSummaryPage_Skills_Tilemap[] = INCBIN_U32("graphics/summary_screen/page_skills.bin.lz"); 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/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; } 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 b1cc98ae93..890fdfdb6a 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" @@ -42,9 +44,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.c b/src/pokemon.c index fcbde3ba4a..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" @@ -676,7 +677,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" @@ -706,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" 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/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index f0c65dc2a7..3636d2f0ae 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -59,9 +59,9 @@ #define PSS_LABEL_WINDOW_CONTEST_MOVES_TITLE 3 // Button control text (upper right) -#define PSS_LABEL_WINDOW_PROMPT_CANCEL 4 // Also handles the "rename" prompt if P_SUMMARY_SCREEN_RENAME is true -#define PSS_LABEL_WINDOW_PROMPT_INFO 5 -#define PSS_LABEL_WINDOW_PROMPT_SWITCH 6 +#define PSS_LABEL_WINDOW_PROMPT_UTILITY 4 // Handles "Switch", "Info", and "Cancel" prompts. Also handles the "Rename" and "IVs"/"EVs"/"STATS" prompts if P_SUMMARY_SCREEN_RENAME and P_SUMMARY_SCREEN_IV_EV_INFO are true, respectively +#define PSS_LABEL_WINDOW_PROMPT_INFO 5 // unused +#define PSS_LABEL_WINDOW_PROMPT_SWITCH 6 // unused #define PSS_LABEL_WINDOW_UNUSED1 7 // Info screen @@ -169,6 +169,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData } summary; u16 bgTilemapBuffers[PSS_PAGE_COUNT][2][0x400]; u8 mode; + u8 skillsPageMode; bool8 isBoxMon; u8 curMonIndex; u8 maxMonIndex; @@ -317,9 +318,22 @@ static void KeepMoveSelectorVisible(u8); static void SummaryScreen_DestroyAnimDelayTask(void); static bool32 ShouldShowMoveRelearner(void); static bool32 ShouldShowRename(void); -static void ShowCancelOrRenamePrompt(void); +static bool32 ShouldShowIvEvPrompt(void); +static void BufferLeftColumnIvEvStats(void); static void CB2_ReturnToSummaryScreenFromNamingScreen(void); static void CB2_PssChangePokemonNickname(void); +static void ShowUtilityPrompt(s16 mode); +static void ShowMonSkillsInfo(u8 taskId, s16 mode); +static void WriteToStatsTilemapBuffer(u32 length, u32 block, u32 statsCoordX, u32 statsCoordY); +void ExtractMonSkillStatsData(struct Pokemon *mon, struct PokeSummary *sum); +void ExtractMonSkillIvData(struct Pokemon *mon, struct PokeSummary *sum); +void ExtractMonSkillEvData(struct Pokemon *mon, struct PokeSummary *sum); +static void PrintTextOnWindow(u8 windowId, const u8 *string, u8 x, u8 y, u8 lineSpacing, u8 colorId); +static void PrintTextOnWindowWithFont(u8 windowId, const u8 *string, u8 x, u8 y, u8 lineSpacing, u8 colorId, u32 fontId); +static const u8 *GetLetterGrade(u32 stat); +static u8 AddWindowFromTemplateList(const struct WindowTemplate *template, u8 templateId); +static u8 IncrementSkillsStatsMode(u8 mode); +static void ClearStatLabel(u32 length, u32 statsCoordX, u32 statsCoordY); static const struct BgTemplate sBgTemplates[] = { @@ -427,7 +441,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 67, }, - [PSS_LABEL_WINDOW_PROMPT_CANCEL] = { + [PSS_LABEL_WINDOW_PROMPT_UTILITY] = { .bg = 0, .tilemapLeft = 22, .tilemapTop = 0, @@ -731,6 +745,7 @@ static void (*const sTextPrinterTasks[])(u8 taskId) = static const u8 sMemoNatureTextColor[] = _("{COLOR LIGHT_RED}{SHADOW GREEN}"); static const u8 sMemoMiscTextColor[] = _("{COLOR WHITE}{SHADOW DARK_GRAY}"); // This is also affected by palettes, apparently static const u8 sStatsLeftColumnLayout[] = _("{DYNAMIC 0}/{DYNAMIC 1}\n{DYNAMIC 2}\n{DYNAMIC 3}"); +static const u8 sStatsLeftIVEVColumnLayout[] = _("{DYNAMIC 0}\n{DYNAMIC 1}\n{DYNAMIC 2}"); static const u8 sStatsRightColumnLayout[] = _("{DYNAMIC 0}\n{DYNAMIC 1}\n{DYNAMIC 2}"); static const u8 sMovesPPLayout[] = _("{PP}{DYNAMIC 0}/{DYNAMIC 1}"); @@ -1504,30 +1519,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *mon) sum->ppBonuses = 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) 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/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]]; } } } 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 624d02bcc4..cd7ff72b53 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -825,6 +825,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); @@ -837,13 +839,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 55f8c2b701..20324a10d4 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -1583,9 +1583,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; @@ -1625,9 +1625,9 @@ void DoLoadSpritePalette(const u16 *src, u16 paletteOffset) LoadPaletteFast(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; @@ -1639,7 +1639,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/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; +} 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/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/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) diff --git a/test/battle/ability/shield_dust.c b/test/battle/ability/shield_dust.c index bb56f84211..c5a9fbec66 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_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_powerful_status.c b/test/battle/ai/ai_powerful_status.c index 99aff19384..414ba7329a 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(GetMoveEffect(MOVE_RAPID_SPIN) == EFFECT_RAPID_SPIN); ASSUME(GetMoveEffect(MOVE_STEALTH_ROCK) == EFFECT_STEALTH_ROCK); ASSUME(GetMovePower(MOVE_TACKLE) > 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/ai/ai_switching.c b/test/battle/ai/ai_switching.c index a4cd202574..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); } } } @@ -669,7 +682,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 { diff --git a/test/battle/hold_effect/covert_cloak.c b/test/battle/hold_effect/covert_cloak.c index 183033cb71..0920fc0ab9 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/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 { + + } +} 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"); 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!"); } } - diff --git a/test/battle/trainer_control.h b/test/battle/trainer_control.h index 9bb878f76f..5b8aa02291 100644 --- a/test/battle/trainer_control.h +++ b/test/battle/trainer_control.h @@ -17,7 +17,7 @@ .trainerClass = TRAINER_CLASS_PKMN_TRAINER_1, #line 4 .trainerPic = TRAINER_PIC_RED, - .encounterMusic_gender = + .encounterMusic_gender = #line 6 TRAINER_ENCOUNTER_MUSIC_MALE, #line 7 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}"), + }, +}, +