diff --git a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml index 0e4bcf401e..a294b007b7 100644 --- a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml +++ b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml @@ -23,17 +23,14 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.10.2 (Latest release) + - 1.11.0 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.10.3 + - 1.10.2 - 1.10.1 - 1.10.0 - - 1.9.4 - - 1.9.3 - - 1.9.2 - - 1.9.1 - - 1.9.0 - - pre-1.9.0 + - pre-1.10.0 validations: required: true - type: input diff --git a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml index 49828dc6a4..59d0fb53f1 100644 --- a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml +++ b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml @@ -23,17 +23,14 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.10.2 (Latest release) + - 1.11.0 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.10.3 + - 1.10.2 - 1.10.1 - 1.10.0 - - 1.9.4 - - 1.9.3 - - 1.9.2 - - 1.9.1 - - 1.9.0 - - pre-1.9.0 + - pre-1.10.0 validations: required: true - type: input diff --git a/.github/ISSUE_TEMPLATE/04_other_errors.yaml b/.github/ISSUE_TEMPLATE/04_other_errors.yaml index 2183cf7d89..0ceab0ec95 100644 --- a/.github/ISSUE_TEMPLATE/04_other_errors.yaml +++ b/.github/ISSUE_TEMPLATE/04_other_errors.yaml @@ -23,17 +23,14 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.10.2 (Latest release) + - 1.11.0 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.10.3 + - 1.10.2 - 1.10.1 - 1.10.0 - - 1.9.4 - - 1.9.3 - - 1.9.2 - - 1.9.1 - - 1.9.0 - - pre-1.9.0 + - pre-1.10.0 validations: required: true - type: input diff --git a/README.md b/README.md index 5b1defe62b..5e83f9793b 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ The main advantage of using vanilla pokeemerald as a base is being able to link If you use pokeemerald-expansion in your hack, please add RHH (Rom Hacking Hideout) to your credits list. Optionally, you can list the version used, so it can help players know what features to expect. You can phrase it as the following: ``` -Based off RHH's pokeemerald-expansion 1.10.2 https://github.com/rh-hideout/pokeemerald-expansion/ +Based off RHH's pokeemerald-expansion 1.11.0 https://github.com/rh-hideout/pokeemerald-expansion/ ``` #### Important: DO NOT use GitHub's "Download Zip" option. Using this option will not download the commit history required to update your expansion version or merge other feature branches. Instead, please read [this guide](https://github.com/Pawkkie/Team-Aquas-Asset-Repo/wiki/The-Basics-of-GitHub) to learn how to fork the repository and clone locally from there. diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 063e73d159..1cadbd3a84 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1640,8 +1640,8 @@ callnative BS_TryTriggerStatusForm .endm - .macro setphotongeysercategory - callnative BS_SetPhotonGeyserCategory + .macro setdynamicmovecategory + callnative BS_SetDynamicMoveCategory .endm .macro tryupperhand failInstr:req diff --git a/asm/macros/event.inc b/asm/macros/event.inc index c60555f67d..f621dd16cd 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -2422,6 +2422,12 @@ .2byte \dest .endm + @ Hides any follower Pokémon if present, putting them into their Poké Ball; by default waits for their movement to finish. + .macro hidefollower wait=1 + callnative ScrFunc_hidefollower + .2byte \wait + .endm + .macro increasedifficulty callnative Script_IncreaseDifficulty, requests_effects=1 .endm diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 170da041d7..35c43a793a 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -1880,7 +1880,7 @@ gBattleAnimMove_Avalanche:: loadspritegfx ANIM_TAG_ICE_CHUNK monbg ANIM_DEF_PARTNER createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_TARGET, 2, 7, 1, 11, 1 - createsprite gAvalancheSpriteTemplate, ANIM_TARGET, 130, 4, -5, 1, -5, 1 + createsprite gAvalancheSpriteTemplate, ANIM_TARGET, 130, -5, 1, -5, 1 playsewithpan SE_M_ROCK_THROW, SOUND_PAN_TARGET delay 2 createsprite gAvalancheSpriteTemplate, ANIM_TARGET, 130, 5, 0, 6, 1 @@ -5623,7 +5623,6 @@ gBattleAnimMove_Bulldoze:: gBattleAnimMove_FrostBreath:: loadspritegfx ANIM_TAG_ICE_CHUNK loadspritegfx ANIM_TAG_SMALL_EMBER - loadspritegfx ANIM_TAG_FIRE_PLUME fadetobg BG_ICE waitbgfadeout createvisualtask AnimTask_StartSlidingBg, 0x5, 0x300, 0x0, 0x0, 0xffff @@ -5635,6 +5634,8 @@ gBattleAnimMove_FrostBreath:: waitforvisualfinish createsprite gFrostBreathBlueBreathTemplate, ANIM_TARGET, 2, 0x1e, 0xf, 0x0, 0xa, 0xa waitforvisualfinish + unloadspritegfx ANIM_TAG_SMALL_EMBER + loadspritegfx ANIM_TAG_FIRE_PLUME loopsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET, 0xb, 0x3 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 3, 25, 1 createsprite gFrostBreathBlueRageTemplate, ANIM_TARGET, 66, 0x1, 0x5, 0x0 @@ -7718,7 +7719,6 @@ gBattleAnimMove_ParabolicCharge:: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_LIGHTNING loadspritegfx ANIM_TAG_ORBS - loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_ATTACKER setalpha 12, 8 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 6, RGB(18, 16, 3) @@ -7741,6 +7741,11 @@ gBattleAnimMove_ParabolicCharge:: createvisualtask AnimTask_BlendBattleAnimPal, 5, 4, 0, 0, 0, RGB_BLACK ParabolicChargeHeal: waitforvisualfinish + unloadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT + unloadspritegfx ANIM_TAG_ELECTRIC_ORBS + unloadspritegfx ANIM_TAG_SPARK + unloadspritegfx ANIM_TAG_LIGHTNING + loadspritegfx ANIM_TAG_BLUE_STAR clearmonbg ANIM_ATTACKER waitforvisualfinish call HealingEffect @@ -12314,14 +12319,13 @@ ZingZapSparks2: return gBattleAnimMove_NaturesMadness:: - loadspritegfx ANIM_TAG_ICE_CRYSTALS @small circles - loadspritegfx ANIM_TAG_THIN_RING @ring - loadspritegfx ANIM_TAG_SPARKLE_2 @stars - loadspritegfx ANIM_TAG_PINK_PETAL @pink - loadspritegfx ANIM_TAG_ICE_CHUNK @blue green + loadspritegfx ANIM_TAG_ICE_CRYSTALS @small circles CrystalsTemplate + loadspritegfx ANIM_TAG_THIN_RING @ring PinkRingTemplate, GrayRingTemplate + loadspritegfx ANIM_TAG_SPARKLE_2 @stars PinkStarsTemplate + loadspritegfx ANIM_TAG_PINK_PETAL @pink PinkRingTemplate, PinkStarsTemplate + loadspritegfx ANIM_TAG_ICE_CHUNK @blue green CrystalsTemplate loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge loadspritegfx ANIM_TAG_TEAL_ALERT @charge particles - loadspritegfx ANIM_TAG_ECLIPSING_ORB @blue green monbg ANIM_ATTACKER setalpha 14, 8 delay 0x1 @@ -12357,6 +12361,8 @@ gBattleAnimMove_NaturesMadness:: delay 0x1 monbg ANIM_TARGET waitforvisualfinish + unloadspritegfx ANIM_TAG_SPARKLE_2 + loadspritegfx ANIM_TAG_ECLIPSING_ORB @blue green grayRing createsprite gNaturesMadnessGrayRingTemplate, ANIM_ATTACKER, 40, 0x0, 0x0, 0x1, 0x0 playsewithpan SE_M_HEAL_BELL, SOUND_PAN_ATTACKER delay 0xe @@ -13140,7 +13146,6 @@ gBattleAnimMove_StuffCheeks:: loadspritegfx ANIM_TAG_BERRY_NORMAL loadspritegfx ANIM_TAG_SHARP_TEETH loadspritegfx ANIM_TAG_THIN_RING - loadspritegfx ANIM_TAG_SPARKLE_2 playsewithpan SE_M_METRONOME, 0xc0 createsprite gFloatingBerryTemplate, ANIM_ATTACKER, 1, 0x0 delay 0x45 diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 317246179e..d2ab2ed0aa 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -640,7 +640,7 @@ BattleScript_AffectionBasedStatus_HealFreezeString: printstring STRINGID_ATTACKERMELTEDTHEICE goto BattleScript_AffectionBasedStatusHeal_Continue BattleScript_AffectionBasedStatus_HealFrostbiteString: - printstring STRINGID_ATTACKERMELTEDTHEICE + printstring STRINGID_ATTACKERHEALEDITSFROSTBITE BattleScript_AffectionBasedStatusHeal_Continue: waitmessage B_WAIT_TIME_LONG clearstatus BS_ATTACKER @@ -836,8 +836,8 @@ BattleScript_FlingMissed: ppreduce goto BattleScript_MoveMissedPause -BattleScript_EffectPhotonGeyser:: - setphotongeysercategory +BattleScript_EffectDynamicCategory:: + setdynamicmovecategory goto BattleScript_EffectHit BattleScript_EffectAuraWheel:: @ Aura Wheel can only be used by Morpeko @@ -1034,6 +1034,7 @@ BattleScript_EffectCoaching:: setallytonexttarget EffectCoaching_CheckAllyStats goto BattleScript_ButItFailed EffectCoaching_CheckAllyStats: + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON jumpifstat BS_TARGET, CMP_NOT_EQUAL, STAT_ATK, MAX_STAT_STAGE, BattleScript_CoachingWorks jumpifstat BS_TARGET, CMP_NOT_EQUAL, STAT_DEF, MAX_STAT_STAGE, BattleScript_CoachingWorks goto BattleScript_ButItFailed @ ally at max atk, def @@ -1563,6 +1564,7 @@ BattleScript_RototillerMoveTargetEnd: moveendto MOVEEND_NEXT_TARGET addbyte gBattlerTarget, 1 jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_RototillerLoop + restoretarget end BattleScript_RototillerCantRaiseMultipleStats: @@ -1743,8 +1745,6 @@ BattleScript_EffectCopycat:: trycopycat BattleScript_CopycatFail attackanimation waitanimation - setbyte sB_ANIM_TURN, 0 - setbyte sB_ANIM_TARGETS_HIT, 0 jumptocalledmove TRUE BattleScript_CopycatFail: ppreduce @@ -1762,8 +1762,6 @@ BattleScript_EffectInstruct:: copybyte gBattlerTarget, gEffectBattler printstring STRINGID_USEDINSTRUCTEDMOVE waitmessage B_WAIT_TIME_LONG - setbyte sB_ANIM_TURN, 0 - setbyte sB_ANIM_TARGETS_HIT, 0 jumptocalledmove TRUE BattleScript_EffectAutotomize:: @@ -2187,8 +2185,6 @@ BattleScript_EffectMeFirst:: trymefirst BattleScript_FailedFromPpReduce attackanimation waitanimation - setbyte sB_ANIM_TURN, 0 - setbyte sB_ANIM_TARGETS_HIT, 0 jumptocalledmove TRUE BattleScript_EffectAttackSpAttackUp:: @@ -3657,12 +3653,12 @@ BattleScript_EffectParalyze:: jumpifmovehadnoeffect BattleScript_ButItFailed jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_AlreadyParalyzed jumpifelectricabilityaffected BS_TARGET, ABILITY_VOLT_ABSORB, BattleScript_VoltAbsorbHeal + clearmoveresultflags MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE tryparalyzetype BS_ATTACKER, BS_TARGET, BattleScript_NotAffected jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed jumpifterrainaffected BS_TARGET, STATUS_FIELD_MISTY_TERRAIN, BattleScript_MistyTerrainPrevents accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE jumpifsafeguard BattleScript_SafeguardProtected - clearmoveresultflags MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE attackanimation waitanimation seteffectprimary MOVE_EFFECT_PARALYSIS @@ -3781,6 +3777,7 @@ BattleScript_TwoTurnMovesSecondTurn:: BattleScript_TwoTurnMovesSecondTurnRet: setbyte sB_ANIM_TURN, 1 + setbyte sB_ANIM_TARGETS_HIT, 0 clearstatusfromeffect BS_ATTACKER, MOVE_EFFECT_CHARGING clearsemiinvulnerablebit @ only for moves with EFFECT_SEMI_INVULNERABLE/EFFECT_SKY_DROP return @@ -3843,8 +3840,6 @@ BattleScript_EffectMetronome:: pause B_WAIT_TIME_SHORT attackanimation waitanimation - setbyte sB_ANIM_TURN, 0 - setbyte sB_ANIM_TARGETS_HIT, 0 metronome BattleScript_EffectLeechSeed:: @@ -4051,8 +4046,6 @@ BattleScript_SleepTalkIsAsleep:: BattleScript_SleepTalkUsingMove:: attackanimation waitanimation - setbyte sB_ANIM_TURN, 0 - setbyte sB_ANIM_TARGETS_HIT, 0 jumptocalledmove TRUE BattleScript_EffectDestinyBond:: @@ -4167,11 +4160,15 @@ BattleScript_CurseTrySpeed:: setbyte sB_ANIM_TURN, 1 attackanimation waitanimation + setbyte sSTAT_ANIM_PLAYED, FALSE + playstatchangeanimation BS_ATTACKER, BIT_SPEED, STAT_CHANGE_NEGATIVE setstatchanger STAT_SPEED, 1, TRUE statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CurseTryAttack printfromtable gStatDownStringIds waitmessage B_WAIT_TIME_LONG BattleScript_CurseTryAttack:: + setbyte sSTAT_ANIM_PLAYED, FALSE + playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF, 0 setstatchanger STAT_ATK, 1, FALSE statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CurseTryDefense printfromtable gStatUpStringIds @@ -5070,8 +5067,6 @@ BattleScript_EffectAssist:: assistattackselect BattleScript_FailedFromPpReduce attackanimation waitanimation - setbyte sB_ANIM_TURN, 0 - setbyte sB_ANIM_TARGETS_HIT, 0 jumptocalledmove TRUE BattleScript_EffectIngrain:: @@ -5112,6 +5107,7 @@ BattleScript_EffectBrickBreak:: accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce + typecalc removelightscreenreflect critcalc damagecalc @@ -8675,8 +8671,6 @@ BattleScript_BattleBondActivatesOnMoveEndAttacker:: BattleScript_DancerActivates:: call BattleScript_AbilityPopUp waitmessage B_WAIT_TIME_SHORT - setbyte sB_ANIM_TURN, 0 - setbyte sB_ANIM_TARGETS_HIT, 0 orword gHitMarker, HITMARKER_ALLOW_NO_PP jumptocalledmove TRUE diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc index f1bd3618e1..30393b771d 100644 --- a/data/scripts/field_move_scripts.inc +++ b/data/scripts/field_move_scripts.inc @@ -118,7 +118,6 @@ EventScript_FollowerSwap: return EventScript_FollowerMoveNorth: - applymovement OBJ_EVENT_ID_FOLLOWER, Movement_WalkUp applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkDown waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceUp @@ -126,7 +125,6 @@ EventScript_FollowerMoveNorth: return EventScript_FollowerMoveEast: - applymovement OBJ_EVENT_ID_FOLLOWER, Movement_WalkRight applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkLeft waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceRight @@ -134,7 +132,6 @@ EventScript_FollowerMoveEast: return EventScript_FollowerMoveSouth: - applymovement OBJ_EVENT_ID_FOLLOWER, Movement_WalkDown applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkUp waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceDown @@ -142,7 +139,6 @@ EventScript_FollowerMoveSouth: return EventScript_FollowerMoveWest: - applymovement OBJ_EVENT_ID_FOLLOWER, Movement_WalkLeft applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkRight waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceLeft diff --git a/data/scripts/pkmn_center_nurse.inc b/data/scripts/pkmn_center_nurse.inc index 4aca9d768b..dd27ed80a6 100644 --- a/data/scripts/pkmn_center_nurse.inc +++ b/data/scripts/pkmn_center_nurse.inc @@ -33,7 +33,8 @@ EventScript_PkmnCenterNurse_IllTakeYourPkmn2:: return EventScript_PkmnCenterNurse_TakeAndHealPkmn:: - applymovement VAR_0x800B, Movement_PkmnCenterNurse_Turn @ Changed from Common_Movement_WalkInPlaceFasterLeft to force the follower to enter their Poké Ball + hidefollower 0 + applymovement VAR_0x800B, Movement_PkmnCenterNurse_Turn waitmovement 0 dofieldeffect FLDEFF_POKECENTER_HEAL .if OW_UNION_DISABLE_CHECK == FALSE && OW_FLAG_MOVE_UNION_ROOM_CHECK != 0 diff --git a/data/scripts/std_msgbox.inc b/data/scripts/std_msgbox.inc index c46da56cbf..8d5e4167cb 100644 --- a/data/scripts/std_msgbox.inc +++ b/data/scripts/std_msgbox.inc @@ -8,11 +8,13 @@ Std_MsgboxNPC: return Std_MsgboxSign: + setflag FLAG_SAFE_FOLLOWER_MOVEMENT lockall message NULL waitmessage waitbuttonpress releaseall + clearflag FLAG_SAFE_FOLLOWER_MOVEMENT return Std_MsgboxDefault: diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 5d8b610290..193d2808a2 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -20,7 +20,10 @@ - [How to use the Testing System](tutorials/how_to_testing_system.md) - [How to add new Trainer Slides](tutorials/how_to_new_trainer_slide.md) - [Changelog](./CHANGELOG.md) + - [1.11.x]() + - [Version 1.11.0](changelogs/1.11.x/1.11.0.md) - [1.10.x]() + - [Version 1.10.3](changelogs/1.10.x/1.10.3.md) - [Version 1.10.2](changelogs/1.10.x/1.10.2.md) - [Version 1.10.1](changelogs/1.10.x/1.10.1.md) - [Version 1.10.0](changelogs/1.10.x/1.10.0.md) diff --git a/docs/changelogs/1.10.x/1.10.3.md b/docs/changelogs/1.10.x/1.10.3.md new file mode 100644 index 0000000000..a21c40d3fe --- /dev/null +++ b/docs/changelogs/1.10.x/1.10.3.md @@ -0,0 +1,120 @@ +```md +## How to update +- If you haven't set up a remote, run the command `git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion`. +- Once you have your remote set up, run the command `git pull RHH test +`. +``` + + +## 🧬 General 🧬 +### Fixed +* Fix Using a Safari Ball crashes the game #6206 by @ExMingYan in [#6220](https://github.com/rh-hideout/pokeemerald-expansion/pull/6220) +* Try a new solution to Fix Safari #6206 by @ExMingYan in [#6228](https://github.com/rh-hideout/pokeemerald-expansion/pull/6228) +* Remove obsolete check for steven when retrieving partner name by @u8-Salem and @hedara90 in [#6283](https://github.com/rh-hideout/pokeemerald-expansion/pull/6283) +* Fix spit up getting skipped by @cawtds in [#6295](https://github.com/rh-hideout/pokeemerald-expansion/pull/6295) + +## 🗺️ Overworld 🗺️ +### Changed +* Merrp merge (12th of February) by @hedara90 in [#6244](https://github.com/rh-hideout/pokeemerald-expansion/pull/6244) + +### Fixed +* Follower Object Event refactor by @hedara90 and @AsparagusEduardo in [#6129](https://github.com/rh-hideout/pokeemerald-expansion/pull/6129) + - Adds `OBJ_EVENT_GFX_SPECIES_FEMALE` and `OBJ_EVENT_GFX_SPECIES_SHINY_FEMALE` +* Fixed Kecleon Shiny palette by @hedara90 in [#6298](https://github.com/rh-hideout/pokeemerald-expansion/pull/6298) +* Shifted the follower graphicsIds by @hedara90 in [#6329](https://github.com/rh-hideout/pokeemerald-expansion/pull/6329) + +## 🐉 Pokémon 🐉 +### Changed +* Add Poltchageist family form data by @Bassoonian and @wiz1989 in [#6163](https://github.com/rh-hideout/pokeemerald-expansion/pull/6163) + +### Fixed +* Fixed non-regional forms breeding incorrectly by @AsparagusEduardo and @cawtds in [#4985](https://github.com/rh-hideout/pokeemerald-expansion/pull/4985) +* Fixed compilation error when turning P_GENDER_DIFFERENCES off by @AsparagusEduardo in [#6223](https://github.com/rh-hideout/pokeemerald-expansion/pull/6223) + +## ⚔️ Battle General ⚔️ +### Fixed +* Fixes battler mutation during the intim script by @AlexOn1ine in [#6151](https://github.com/rh-hideout/pokeemerald-expansion/pull/6151) +* Fixes Dynamic Moves types in SumScreen while in Battle by @AlexOn1ine in [#6145](https://github.com/rh-hideout/pokeemerald-expansion/pull/6145) +* Fixes Dragon Tail missing timing against Rocky Helmet / Iron Barbs by @AlexOn1ine in [#6154](https://github.com/rh-hideout/pokeemerald-expansion/pull/6154) +* Prevent sameMoveTurns from incrementing when unable to use move by @moostoet in [#6167](https://github.com/rh-hideout/pokeemerald-expansion/pull/6167) +* Fixes Suction Cups ability popup and Red Card + Guard Dog interaction by @PhallenTree in [#6171](https://github.com/rh-hideout/pokeemerald-expansion/pull/6171) +* Fixed Unnerve message and wrote tests by @hedara90 in [#6192](https://github.com/rh-hideout/pokeemerald-expansion/pull/6192) +* Fixes Spectral Thief stealing boost at the wrong time by @AlexOn1ine in [#6197](https://github.com/rh-hideout/pokeemerald-expansion/pull/6197) +* Fixes BATTLER_TURN_DAMAGED battler id by @AlexOn1ine in [#6236](https://github.com/rh-hideout/pokeemerald-expansion/pull/6236) +* Fixed multi battle forced switches by @hedara90 in [#6243](https://github.com/rh-hideout/pokeemerald-expansion/pull/6243) +* Fixes ability Embody Aspect triggering multiple times by @AlexOn1ine in [#6259](https://github.com/rh-hideout/pokeemerald-expansion/pull/6259) +* Fixes Called moves ignoring redirection by @PhallenTree in [#6267](https://github.com/rh-hideout/pokeemerald-expansion/pull/6267) +* Fixes Protean not restoring types after ai damage calcs by @AlexOn1ine in [#6280](https://github.com/rh-hideout/pokeemerald-expansion/pull/6280) +* Restoretarget in Rototiller script + Tests by @AlexOn1ine in [#6296](https://github.com/rh-hideout/pokeemerald-expansion/pull/6296) +* Fixes Brick Break/Psychic Fangs/Raging Bull breaking screens if target is immune by @PhallenTree in [#6308](https://github.com/rh-hideout/pokeemerald-expansion/pull/6308) +* Fixes intimidate missing timing during a mega evo / switch by @AlexOn1ine in [#6322](https://github.com/rh-hideout/pokeemerald-expansion/pull/6322) +* Fixes Coaching on semi-invulnerable ally, Air Balloon being stolen, Immunity abilities being ignored by Mold Breaker by @PhallenTree in [#6327](https://github.com/rh-hideout/pokeemerald-expansion/pull/6327) +* Fixes effect paralyze not being absorbed by absorbing abilities by @AlexOn1ine in [#6338](https://github.com/rh-hideout/pokeemerald-expansion/pull/6338) +* Added MOVE_TARGET_OPPONENT and added it to Me First, by @hedara90 in [#6336](https://github.com/rh-hideout/pokeemerald-expansion/pull/6336) +* Fixes recoil moves causing recoil when absorbed by @AlexOn1ine in [#6341](https://github.com/rh-hideout/pokeemerald-expansion/pull/6341) +* Fixed protect not resetting the counter in earlier gens by @hedara90 in [#6342](https://github.com/rh-hideout/pokeemerald-expansion/pull/6342) + +## 🤹 Moves 🤹 +### Added +* Added missing in-battle "Move Info" button prompt by @AsparagusEduardo and @TeamAquasHideout from who I got the source from and @BelialClover from who Archie got the source from. in [#6155](https://github.com/rh-hideout/pokeemerald-expansion/pull/6155) + +### Changed +* Fixes non-Ghost type Curse animation by @PhallenTree in [#6299](https://github.com/rh-hideout/pokeemerald-expansion/pull/6299) + +### Fixed +* Fixed Future Sight not being affected by Electrify by @AsparagusEduardo in [#6213](https://github.com/rh-hideout/pokeemerald-expansion/pull/6213) +* Fixes Expanding Force and Spectral Thief move animations by @PhallenTree in [#6185](https://github.com/rh-hideout/pokeemerald-expansion/pull/6185) + +## 🧶 Items 🧶 +### Fixed +* Fixed curing status2 with items in double battles by @hedara90 and @wiz1989 in [#6335](https://github.com/rh-hideout/pokeemerald-expansion/pull/6335) + +## 🤖 Battle AI 🤖 +### Fixed +* Fix AI wrongly thinking it strikes first with priority even if player is using priority themselves by @moostoet in [#6274](https://github.com/rh-hideout/pokeemerald-expansion/pull/6274) +* Big Root AI Fix by @Pawkkie in [#6309](https://github.com/rh-hideout/pokeemerald-expansion/pull/6309) +* Fix AI hold effect considerations by @Pawkkie in [#6310](https://github.com/rh-hideout/pokeemerald-expansion/pull/6310) +* fix for multi 2vs1 opponent sends out too many mons bug by @Bivurnum in [#6324](https://github.com/rh-hideout/pokeemerald-expansion/pull/6324) + +## 🧹 Other Cleanup 🧹 +* Cleanup some global battler ID usage by @ghoulslash in [#6181](https://github.com/rh-hideout/pokeemerald-expansion/pull/6181) +* Fix typo in Nuzzle's description by @Bassoonian in [#6209](https://github.com/rh-hideout/pokeemerald-expansion/pull/6209) +* Remove whitespace from trainers data file by @AsparagusEduardo in [#6234](https://github.com/rh-hideout/pokeemerald-expansion/pull/6234) +* Changed bit order for follower graphicsId creation by @hedara90 in [#6249](https://github.com/rh-hideout/pokeemerald-expansion/pull/6249) +* Use more accurate count in MovesInfo by @AlexOn1ine in [#6260](https://github.com/rh-hideout/pokeemerald-expansion/pull/6260) +* Fix Extra `task->tState++` and `break` in `Task_DrawFieldMessageBox` by @Deokishisu in [#6261](https://github.com/rh-hideout/pokeemerald-expansion/pull/6261) +* Resized gimmick indicators to reduce VRAM usage by @hedara90 in [#6319](https://github.com/rh-hideout/pokeemerald-expansion/pull/6319) + +## 🧪 Test Runner 🧪 +### Changed +* Tests for Big Pecks by @hedara90 in [#6158](https://github.com/rh-hideout/pokeemerald-expansion/pull/6158) +* Water Compaction tests by @hedara90 in [#6159](https://github.com/rh-hideout/pokeemerald-expansion/pull/6159) +* Wrote tests for Electrify by @hedara90 in [#6179](https://github.com/rh-hideout/pokeemerald-expansion/pull/6179) +* Sheer Force Test Fixes by @ghoulslash in [#6198](https://github.com/rh-hideout/pokeemerald-expansion/pull/6198) +* Minor Terrain Seed Test Improvement by @ghoulslash in [#6207](https://github.com/rh-hideout/pokeemerald-expansion/pull/6207) +* Added test support for 5 battle configs by @AsparagusEduardo in [#5914](https://github.com/rh-hideout/pokeemerald-expansion/pull/5914) +* Added missing Dream Eater and Reflect Type tests by @AsparagusEduardo in [#6245](https://github.com/rh-hideout/pokeemerald-expansion/pull/6245) + +### Fixed +* Fixes Brick Break/Psychic Fangs/Raging Bull breaking screens if target is immune by @PhallenTree in [#6308](https://github.com/rh-hideout/pokeemerald-expansion/pull/6308) + +## 📚 Documentation 📚 +* Update how_to_testing_system.md by @hedara90 in [#6281](https://github.com/rh-hideout/pokeemerald-expansion/pull/6281) +* Update SCOPE.md with Intergenerational Feature Compatibility by @Pawkkie in [#6325](https://github.com/rh-hideout/pokeemerald-expansion/pull/6325) + +## 📦 Branch Synchronisation 📦 +### pret +* 11th of February in [#6231](https://github.com/rh-hideout/pokeemerald-expansion/pull/6231) + * Replace easy_chat alphabetialOrder magic numbers with EC_INDEX values by @rayrobdod in [pret#2096](https://github.com/pret/pokeemerald/pull/2096) + * Fixed switchout bug in multibattle where order of mons gets messed up by @shachar700 in [pret#2099](https://github.com/pret/pokeemerald/pull/2099) + +## New Contributors +* @ExMingYan made their first contribution in [#6220](https://github.com/rh-hideout/pokeemerald-expansion/pull/6220) +* @Deokishisu made their first contribution in [#6261](https://github.com/rh-hideout/pokeemerald-expansion/pull/6261) +* @Bivurnum made their first contribution in [#6324](https://github.com/rh-hideout/pokeemerald-expansion/pull/6324) + +**Full Changelog**: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.10.2...test + + + + diff --git a/docs/changelogs/1.11.x/1.11.0.md b/docs/changelogs/1.11.x/1.11.0.md new file mode 100644 index 0000000000..1b2e97db6e --- /dev/null +++ b/docs/changelogs/1.11.x/1.11.0.md @@ -0,0 +1,385 @@ +```md +## How to update +- If you haven't set up a remote, run the command `git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion`. +- Once you have your remote set up, run the command `git pull RHH test +`. +``` + +## 🌋 *REFACTORS* 🌋 +📜 = Uses a migration script. +* Pursuit refactor by @PhallenTree in [#5707](https://github.com/rh-hideout/pokeemerald-expansion/pull/5707) +* Atk Canceller refactor / reorder / clean up by @AlexOn1ine in [#5885](https://github.com/rh-hideout/pokeemerald-expansion/pull/5885) +* Battle Weather Refactor by @AlexOn1ine in [#5833](https://github.com/rh-hideout/pokeemerald-expansion/pull/5833) +* Replace WEATHER_HAS_EFFECT with HasWeatherEffect by @AlexOn1ine in [#6069](https://github.com/rh-hideout/pokeemerald-expansion/pull/6069) +* Cleaned up Trainer Slides, added automated Trainer Slide tests, add new Enemy Critical Hit Slide by @pkmnsnfrn and @AlexOn1ine, @hedara90, @AsparagusEduardo, @mrgriffin in [#6018](https://github.com/rh-hideout/pokeemerald-expansion/pull/6018) + * If users created new entries in sTrainerSlides, they will need to be ported to the new system. +* Introduces BattleTurnCounter to simplify timer checks by @AlexOn1ine in [#6080](https://github.com/rh-hideout/pokeemerald-expansion/pull/6080) +* Convert max effects to normal move effects by @AlexOn1ine in [#6143](https://github.com/rh-hideout/pokeemerald-expansion/pull/6143) +* Redefine IsBattlerAlive in battle.h as a static inline by @AlexOn1ine in [#6211](https://github.com/rh-hideout/pokeemerald-expansion/pull/6211) +* Consolidated Frontier teams into battle_frontier_trainers.h by @fdeblasio in [#5892](https://github.com/rh-hideout/pokeemerald-expansion/pull/5892) + +## 🧬 General 🧬 +### Added +* Add Script Cmd for Forcing Save Game by @ghoulslash in [#6090](https://github.com/rh-hideout/pokeemerald-expansion/pull/6090) +* Trainer Party Pools by @hedara90 in [#5731](https://github.com/rh-hideout/pokeemerald-expansion/pull/5731) + - Documentation on how to use this can be found under `docs/tutorials/how_to_trainer_party_pool.md` +* Add Code Entry functionality by @Pawkkie and @PCG06 for the Mystery Gift iteration in [#5951](https://github.com/rh-hideout/pokeemerald-expansion/pull/5951) + +### Changed +* Added "Game Clear" flag toggle to debug menu by @AsparagusEduardo in [#5929](https://github.com/rh-hideout/pokeemerald-expansion/pull/5929) +* Initialize m4a and IRQ handler in a loaded section by @SBird1337 in [#5912](https://github.com/rh-hideout/pokeemerald-expansion/pull/5912) +* Debug menu and `createmon` additions/cleanup by @AsparagusEduardo in [#5994](https://github.com/rh-hideout/pokeemerald-expansion/pull/5994) + - Added Tera Type, Dynamax Level, and Gigantamax Factor to the "Give Pokémon (complex)" debug menu option. + - Added `dmaxLevel` option to `givemon` and `createmon`. + - Added `WEATHER_COUNT`. + - Cleaned up repeated code instances in debug menu. + - Fixed mislabel of `ggMaxFactor` in `givemon` and `createmon`. Now it's `gmaxFactor`. +* Introduces BattlerState struct for the Battle Engine by @AlexOn1ine and @mrgriffin provided the framework for this change in [#5954](https://github.com/rh-hideout/pokeemerald-expansion/pull/5954) +* Reorder Makefile rules so that pokeemerald-test.elf builds in build/test by @mrgriffin in [#6004](https://github.com/rh-hideout/pokeemerald-expansion/pull/6004) +* Use SET8 and SET32 consistently by @AZero13 in [#5544](https://github.com/rh-hideout/pokeemerald-expansion/pull/5544) +* Ewram and unused function cleanup sweep by @hedara90 in [#6019](https://github.com/rh-hideout/pokeemerald-expansion/pull/6019) +* Re-removed trainers.h trailing whitespace by @fdeblasio in [#6048](https://github.com/rh-hideout/pokeemerald-expansion/pull/6048) +* Add Steven Multi to debug menu by @Pawkkie in [#6064](https://github.com/rh-hideout/pokeemerald-expansion/pull/6064) +* Remove gDecompressionBuffer by @DizzyEggg in [#6029](https://github.com/rh-hideout/pokeemerald-expansion/pull/6029) +* Trainer Battle Parameter Consolidation by @u8-Salem in [#5982](https://github.com/rh-hideout/pokeemerald-expansion/pull/5982) + Breaking: raw uses of `trainerbattle` need to be adjusted to provide all possible parameter. Unused parameter musst be 0 or an alias. already parameterized macros like `trainerbattle_single` work out of the box. +* Consolidated contest opponent filters into gContestOpponents by @fdeblasio in [#6119](https://github.com/rh-hideout/pokeemerald-expansion/pull/6119) +* Don't use SeedRng some places where it isn't necessary by @tertu-m in [#6156](https://github.com/rh-hideout/pokeemerald-expansion/pull/6156) +* Removed Trainer Slides footgun by @AsparagusEduardo in [#6205](https://github.com/rh-hideout/pokeemerald-expansion/pull/6205) +* Consolidate duplicate dialogue of nature girl in Battle Frontier by @fdeblasio in [#6195](https://github.com/rh-hideout/pokeemerald-expansion/pull/6195) +* Prevented fanfares from playing in headless mode by @pkmnsnfrn and @hedara90, @AsparagusEduardo in [#6219](https://github.com/rh-hideout/pokeemerald-expansion/pull/6219) + +### Fixed +* Don't write to NULL in TryFindHiddenPokemon by @DizzyEggg in [#5983](https://github.com/rh-hideout/pokeemerald-expansion/pull/5983) +* Allow Party Menu with 0 Pokemon by @DizzyEggg in [#5997](https://github.com/rh-hideout/pokeemerald-expansion/pull/5997) +* Revert map related enum conversion by @hedara90 in [#6078](https://github.com/rh-hideout/pokeemerald-expansion/pull/6078) +* Revert "Revert map related enum conversion" by @hedara90 in [#6079](https://github.com/rh-hideout/pokeemerald-expansion/pull/6079) +* Revert "Converts a bunch of defines to enums" by @Bassoonian in [#6082](https://github.com/rh-hideout/pokeemerald-expansion/pull/6082) +* Fix upcoming not working on no cash by @DizzyEggg in [#6121](https://github.com/rh-hideout/pokeemerald-expansion/pull/6121) +* Add the header required for TPP tags to work by @hedara90 in [#6162](https://github.com/rh-hideout/pokeemerald-expansion/pull/6162) +* Fixed regression from master/upcoming merge by @AsparagusEduardo and @hedara90 , for doing the original merge when I couldn't in [#6199](https://github.com/rh-hideout/pokeemerald-expansion/pull/6199) +* Fix Using a Safari Ball crashes the game #6206 by @ExMingYan in [#6220](https://github.com/rh-hideout/pokeemerald-expansion/pull/6220) +* Fixed typo in requests_effects by @hedara90 and @purrfectdoodle in [#6215](https://github.com/rh-hideout/pokeemerald-expansion/pull/6215) +* Try a new solution to Fix Safari #6206 by @ExMingYan in [#6228](https://github.com/rh-hideout/pokeemerald-expansion/pull/6228) +* Remove obsolete check for steven when retrieving partner name by @u8-Salem and @hedara90 in [#6283](https://github.com/rh-hideout/pokeemerald-expansion/pull/6283) +* Fix spit up getting skipped by @cawtds in [#6295](https://github.com/rh-hideout/pokeemerald-expansion/pull/6295) + +## 🗺️ Overworld 🗺️ +### Added +* Adds Dexnav by @ghoulslash in [#4818](https://github.com/rh-hideout/pokeemerald-expansion/pull/4818) +* Fly from Pokenav by @khbsd in [#5679](https://github.com/rh-hideout/pokeemerald-expansion/pull/5679) +* Expanded Pokémon Follower transformation functionality by @AsparagusEduardo in [#5048](https://github.com/rh-hideout/pokeemerald-expansion/pull/5048) + +### Changed +* Arbitrary trainer scripts + on frame/trigger softlock prevention by @mrgriffin in [#5033](https://github.com/rh-hideout/pokeemerald-expansion/pull/5033) +* Removed OW_AUTO_SIGNPOST by @pkmnsnfrn in [#5974](https://github.com/rh-hideout/pokeemerald-expansion/pull/5974) +* Fix leftover test change from #5033 by @mrgriffin in [#5987](https://github.com/rh-hideout/pokeemerald-expansion/pull/5987) +* Match current gen behavior for battle environment after fishing by @kittenchilly in [#6099](https://github.com/rh-hideout/pokeemerald-expansion/pull/6099) +* Add Mega Evolution, Primal Reversion, and Ultra Necrozma overworld sprites by @khbsd in [#5874](https://github.com/rh-hideout/pokeemerald-expansion/pull/5874) +* Replaced hardcoded numbers in DexNav with variables by @fdeblasio in [#6241](https://github.com/rh-hideout/pokeemerald-expansion/pull/6241) +* Merrp merge (12th of February) by @hedara90 in [#6244](https://github.com/rh-hideout/pokeemerald-expansion/pull/6244) +* Adds a follower flag define to disable followers on the fly by @AlexOn1ine in [#6174](https://github.com/rh-hideout/pokeemerald-expansion/pull/6174) + +### Fixed +* Fix Trainer Hill OOB array access by @SBird1337 in [#5930](https://github.com/rh-hideout/pokeemerald-expansion/pull/5930) +* Revert #5033 change to MapHeaderRunScriptType by @mrgriffin in [#5975](https://github.com/rh-hideout/pokeemerald-expansion/pull/5975) +* Restore lock/lockall/locktrainer/release/releaseall in triggers by @mrgriffin in [#5976](https://github.com/rh-hideout/pokeemerald-expansion/pull/5976) +* Follower Object Event refactor by @hedara90 and @AsparagusEduardo in [#6129](https://github.com/rh-hideout/pokeemerald-expansion/pull/6129) + - Fixes `OBJ_EVENT_GFX_SPECIES_SHINY` + - Adds `OBJ_EVENT_GFX_SPECIES_FEMALE` and `OBJ_EVENT_GFX_SPECIES_SHINY_FEMALE` +* Fixes Static Assert from pr #6174 by @AlexOn1ine in [#6258](https://github.com/rh-hideout/pokeemerald-expansion/pull/6258) +* Fixed Kecleon Shiny palette by @hedara90 in [#6298](https://github.com/rh-hideout/pokeemerald-expansion/pull/6298) + +## 🐉 Pokémon 🐉 +### Added +* IV/EV Info on Summary Screen by @khbsd in [#6027](https://github.com/rh-hideout/pokeemerald-expansion/pull/6027) +* Add caught mon to full party by sending a different mon to the Box by @fakuzatsu in [#6058](https://github.com/rh-hideout/pokeemerald-expansion/pull/6058) + +### Changed +* Remove form change function footguns by @AsparagusEduardo and @AlexOn1ine for letting me know of this potential issue. in [#5995](https://github.com/rh-hideout/pokeemerald-expansion/pull/5995) + - `GetBattleFormChangeTargetSpecies`, `GetFormChangeTargetSpecies` and `GetFormChangeTargetSpeciesBoxMon` now return the current species of the Pokémon instead of `SPECIES_NONE` as a precaution to avoid accidental deletions of Pokémon when using these functions. +* Remove redundant calls to GetMonData in pokemon.c by @AZero13 in [#5545](https://github.com/rh-hideout/pokeemerald-expansion/pull/5545) +* Rename Furfrou Species tags to match Pokemon Showdown exports by @moostoet in [#6041](https://github.com/rh-hideout/pokeemerald-expansion/pull/6041) +* Add Mega Evolution, Primal Reversion, and Ultra Necrozma overworld sprites by @khbsd in [#5874](https://github.com/rh-hideout/pokeemerald-expansion/pull/5874) +* Add Poltchageist family form data by @Bassoonian and @wiz1989 in [#6163](https://github.com/rh-hideout/pokeemerald-expansion/pull/6163) + +### Fixed +* Evolution level 1 learn by @hedara90 in [#5791](https://github.com/rh-hideout/pokeemerald-expansion/pull/5791) +* Fixed non-regional forms breeding incorrectly by @AsparagusEduardo and @cawtds in [#4985](https://github.com/rh-hideout/pokeemerald-expansion/pull/4985) +* Fixed compilation error when turning P_GENDER_DIFFERENCES off by @AsparagusEduardo in [#6223](https://github.com/rh-hideout/pokeemerald-expansion/pull/6223) +* Reverted compound literal OW mon pic tables by @AsparagusEduardo in [#6216](https://github.com/rh-hideout/pokeemerald-expansion/pull/6216) + +## ⚔️ Battle General ⚔️ +### Added +* Add B_FLAG_SLEEP_CLAUSE by @Pawkkie, @Pawkkie and @iriv24 in [#5566](https://github.com/rh-hideout/pokeemerald-expansion/pull/5566) + - Based on Smogon's sleep clause [philosophy](https://www.smogon.com/xy/articles/clauses#:~:text=Sleep%20Clause,t%20be%20put%20to%20sleep.) + - Toggleable per-battle by setting / unsetting the flag assigned to B_FLAG_SLEEP_CLAUSE +* Variadic IS_BATTLER_OF_TYPE and GetBattlerTypes by @mrgriffin in [#5708](https://github.com/rh-hideout/pokeemerald-expansion/pull/5708) +* Simultaneous HP Reduction (CFRU Port) by @AsparagusEduardo and @AlexOn1ine for the port to expansion. @Skeli789 for the CFRU implementation. in [#5770](https://github.com/rh-hideout/pokeemerald-expansion/pull/5770) +* Destiny Bond fails on repeated use in Gen 7+ by @Pawkkie in [#5652](https://github.com/rh-hideout/pokeemerald-expansion/pull/5652) +* Adds Pledge Side Statuses as Starting Statuses by @AlexOn1ine in [#5899](https://github.com/rh-hideout/pokeemerald-expansion/pull/5899) +* Adds B_VAR_DIFFICULTY and related functions READ DESC by @pkmnsnfrn in [#5337](https://github.com/rh-hideout/pokeemerald-expansion/pull/5337) +* Config for move slot rearrangement in battle by @hedara90 and @ghoulslash for pointing out the exact point in the code where move slot rearrangement is handled. in [#6017](https://github.com/rh-hideout/pokeemerald-expansion/pull/6017) + - Move slot rearrangement is disabled by default in battle, set `B_MOVE_REARRANGEMENT_IN_BATTLE` to `GEN_3` to enable rearrangement again. + +### Changed +* Sleep Clause global config by @Pawkkie in [#5762](https://github.com/rh-hideout/pokeemerald-expansion/pull/5762) +* Pursuit refactor by @PhallenTree in [#5707](https://github.com/rh-hideout/pokeemerald-expansion/pull/5707) +* Changes Various defines to an Enum by @AlexOn1ine in [#5839](https://github.com/rh-hideout/pokeemerald-expansion/pull/5839) +* move overwrittenAbilities field to DisableStruct by @ghoulslash in [#5946](https://github.com/rh-hideout/pokeemerald-expansion/pull/5946) +* Battle Weather Refactor by @AlexOn1ine in [#5833](https://github.com/rh-hideout/pokeemerald-expansion/pull/5833) +* Easy customizable Hidden Move types by @AsparagusEduardo in [#5872](https://github.com/rh-hideout/pokeemerald-expansion/pull/5872) + - `gTypesInfo` now has a `isHiddenPowerType` field that inserts them into the Hidden Power type calculation. + - ***Warning:*** Changing this from the vanilla settings will change any existing Hidden Power's type, and external calculators will not work either. +* Introduces BattlerState struct for the Battle Engine by @AlexOn1ine and @mrgriffin provided the framework for this change in [#5954](https://github.com/rh-hideout/pokeemerald-expansion/pull/5954) +* Cleaned up Trainer Slides, added automated Trainer Slide tests, add new Enemy Critical Hit Slide by @pkmnsnfrn and @AlexOn1ine, @hedara90, @AsparagusEduardo, @mrgriffin in [#6018](https://github.com/rh-hideout/pokeemerald-expansion/pull/6018) + * If users created new entries in sTrainerSlides, they will need to be ported to the new system. +* Introduces BattleTurnCounter to simplfy timer checks by @AlexOn1ine in [#6080](https://github.com/rh-hideout/pokeemerald-expansion/pull/6080) +* Replace BattleStruct members quickClawRandom/quickDrawRandom with locals by @AlexOn1ine in [#6136](https://github.com/rh-hideout/pokeemerald-expansion/pull/6136) +* Added Difficulty Fallback for Trainer Slides by @pkmnsnfrn in [#6088](https://github.com/rh-hideout/pokeemerald-expansion/pull/6088) +* CanAbilityX Function Cleanup by @ghoulslash in [#6183](https://github.com/rh-hideout/pokeemerald-expansion/pull/6183) +* Unify setreflect/setlightscreen and MOVE_EFFECT_REFLECT/LIGHT_SCREEN by @ghoulslash in [#6196](https://github.com/rh-hideout/pokeemerald-expansion/pull/6196) + +### Fixed +* Fix Sleep Clause AI handling of partner sleeping moves by @Pawkkie in [#5761](https://github.com/rh-hideout/pokeemerald-expansion/pull/5761) +* Fix fixed point damage calculation off-by-1s by @SBird1337 in [#5775](https://github.com/rh-hideout/pokeemerald-expansion/pull/5775) + Fixes a bunch of rounding errors that cause wrong outputs in the damage calculation. +* Fixes simu hp reduction when no partner was on field by @AlexOn1ine in [#5799](https://github.com/rh-hideout/pokeemerald-expansion/pull/5799) +* Fixes Regenerator healing past maxHP by @PhallenTree in [#5861](https://github.com/rh-hideout/pokeemerald-expansion/pull/5861) +* Fixes Pursuit + Emergency Exit causing double switches and Pursuit user fainting causing target to not finish switch by @PhallenTree in [#5849](https://github.com/rh-hideout/pokeemerald-expansion/pull/5849) +* Fixes regression caused by argument refactor by @AlexOn1ine in [#5870](https://github.com/rh-hideout/pokeemerald-expansion/pull/5870) +* Fixes Sparkling Aria Shield Dust / Covert Cloak interaction by @AlexOn1ine in [#5911](https://github.com/rh-hideout/pokeemerald-expansion/pull/5911) +* Battle Weather Refactor oversight by @AlexOn1ine in [#5960](https://github.com/rh-hideout/pokeemerald-expansion/pull/5960) +* Shell Bell Clean up / Simplification and Tests by @AlexOn1ine in [#5924](https://github.com/rh-hideout/pokeemerald-expansion/pull/5924) +* Dynamic move type was ignored in doubles for spread moves by @AlexOn1ine in [#5984](https://github.com/rh-hideout/pokeemerald-expansion/pull/5984) +* Fixes self effect moves not procing for spread moves when battler 3 w… by @AlexOn1ine in [#6020](https://github.com/rh-hideout/pokeemerald-expansion/pull/6020) +* Fix UB when accessing move result flags by @cawtds in [#6030](https://github.com/rh-hideout/pokeemerald-expansion/pull/6030) +* Fix Powder (status) config and some terrain timers not using gBattleTurnCounter by @PhallenTree in [#6109](https://github.com/rh-hideout/pokeemerald-expansion/pull/6109) +* Fix Powder config not checking for Powder status by @PhallenTree in [#6113](https://github.com/rh-hideout/pokeemerald-expansion/pull/6113) +* Fixes battler mutation during the intim script by @AlexOn1ine in [#6151](https://github.com/rh-hideout/pokeemerald-expansion/pull/6151) +* Fixes Dynamic Moves types in SumScreen while in Battle by @AlexOn1ine in [#6145](https://github.com/rh-hideout/pokeemerald-expansion/pull/6145) +* Fixes Dragon Tail missing timing against Rocky Helmet / Iron Barbs by @AlexOn1ine in [#6154](https://github.com/rh-hideout/pokeemerald-expansion/pull/6154) +* Prevent sameMoveTurns from incrementing when unable to use move by @moostoet in [#6167](https://github.com/rh-hideout/pokeemerald-expansion/pull/6167) +* Fixes Suction Cups ability popup and Red Card + Guard Dog interaction by @PhallenTree in [#6171](https://github.com/rh-hideout/pokeemerald-expansion/pull/6171) +* Fixed Unnerve message and wrote tests by @hedara90 in [#6192](https://github.com/rh-hideout/pokeemerald-expansion/pull/6192) +* Fixes Spectral Thief stealing boost at the wrong time by @AlexOn1ine in [#6197](https://github.com/rh-hideout/pokeemerald-expansion/pull/6197) +* Fixes BATTLER_TURN_DAMAGED battler id by @AlexOn1ine in [#6236](https://github.com/rh-hideout/pokeemerald-expansion/pull/6236) +* Fixed multi battle forced switches by @hedara90 in [#6243](https://github.com/rh-hideout/pokeemerald-expansion/pull/6243) +* Fixes ability Embody Aspect triggering multiple times by @AlexOn1ine in [#6259](https://github.com/rh-hideout/pokeemerald-expansion/pull/6259) +* Fixes Called moves ignoring redirection by @PhallenTree in [#6267](https://github.com/rh-hideout/pokeemerald-expansion/pull/6267) +* Fixes Protean not restoring types after ai damage calcs by @AlexOn1ine in [#6280](https://github.com/rh-hideout/pokeemerald-expansion/pull/6280) +* Restoretarget in Rototiller script + Tests by @AlexOn1ine in [#6296](https://github.com/rh-hideout/pokeemerald-expansion/pull/6296) +* Fixes inconsistency for Kings rock. by @AlexOn1ine in [#6302](https://github.com/rh-hideout/pokeemerald-expansion/pull/6302) +* Fixes Shell Bell for Spread Moves by @AlexOn1ine in [#6303](https://github.com/rh-hideout/pokeemerald-expansion/pull/6303) +* Fixes Brick Break/Psychic Fangs/Raging Bull breaking screens if target is immune by @PhallenTree in [#6308](https://github.com/rh-hideout/pokeemerald-expansion/pull/6308) +* Fixes doesnt effect message for Thunder Wave by @AlexOn1ine in [#6304](https://github.com/rh-hideout/pokeemerald-expansion/pull/6304) +* Fixes Tera Shell activating on moves that have no effect on target by @AlexOn1ine in [#6271](https://github.com/rh-hideout/pokeemerald-expansion/pull/6271) +* Fixes fainted battler being able to select an action by @PhallenTree in [#6339](https://github.com/rh-hideout/pokeemerald-expansion/pull/6339) + +## 🤹 Moves 🤹 +### Added +* Added missing in-battle "Move Info" button prompt by @AsparagusEduardo and @TeamAquasHideout from who I got the source from and @BelialClover from who Archie got the source from. in [#6155](https://github.com/rh-hideout/pokeemerald-expansion/pull/6155) + +### Changed +* New Volt Switch Animation by @AlexOn1ine in [#5729](https://github.com/rh-hideout/pokeemerald-expansion/pull/5729) +* Refactors argument into a union by @AlexOn1ine in [#5853](https://github.com/rh-hideout/pokeemerald-expansion/pull/5853) +* Encapsulate move data by @AsparagusEduardo in [#5852](https://github.com/rh-hideout/pokeemerald-expansion/pull/5852) +* Removes Resource Flags and moves fields to DisableStruct by @AlexOn1ine in [#5945](https://github.com/rh-hideout/pokeemerald-expansion/pull/5945) +* Tera starstorm by @hedara90 in [#6073](https://github.com/rh-hideout/pokeemerald-expansion/pull/6073) +* Tachyon Cutter and Salt Cure animations by @hedara90 in [#6182](https://github.com/rh-hideout/pokeemerald-expansion/pull/6182) +* Heal Bell/Aromatherapy/Sparkly Swirl improvements and fixes by @AsparagusEduardo in [#6210](https://github.com/rh-hideout/pokeemerald-expansion/pull/6210) + - Removed `EFFECT_SPARKLY_SWIRL` in favor of `MOVE_EFFECT_AROMATHEROPY`. +* Moved sValidApprenticeMove into gMovesInfo by @fdeblasio in [#6254](https://github.com/rh-hideout/pokeemerald-expansion/pull/6254) +* Fixes non-Ghost type Curse animation by @PhallenTree in [#6299](https://github.com/rh-hideout/pokeemerald-expansion/pull/6299) +* Remove pursuitSwitchByMove and additional if statement by @PhallenTree in [#6326](https://github.com/rh-hideout/pokeemerald-expansion/pull/6326) + +### Fixed +* Fixes moves based on Dragon Darts with strikeCount > 2 always hitting the same battler from the second hit onwards by @PhallenTree in [#5830](https://github.com/rh-hideout/pokeemerald-expansion/pull/5830) +* Last fix for Sparkling Aria / Covert Cloak / Shield Dust interaction by @AlexOn1ine in [#5956](https://github.com/rh-hideout/pokeemerald-expansion/pull/5956) +* Added WEATHER_DOWNPOUR to Weather Ball's dynamic type by @fdeblasio in [#6100](https://github.com/rh-hideout/pokeemerald-expansion/pull/6100) +* Fixed Future Sight not being affected by Electrify by @AsparagusEduardo in [#6213](https://github.com/rh-hideout/pokeemerald-expansion/pull/6213) +* Fixes Expanding Force and Spectral Thief move animations by @PhallenTree in [#6185](https://github.com/rh-hideout/pokeemerald-expansion/pull/6185) +* Made some move animations fit in VRAM by @hedara90 in [#6289](https://github.com/rh-hideout/pokeemerald-expansion/pull/6289) + +## 🧶 Items 🧶 +### Fixed +* Adds missing Friend Ball friendship bonus upon catching by @PhallenTree in [#5795](https://github.com/rh-hideout/pokeemerald-expansion/pull/5795) + +## 🤖 Battle AI 🤖 +### Added +* Smart Switching handles Soundproof by @Pawkkie and @Robdeezy for the idea! in [#5703](https://github.com/rh-hideout/pokeemerald-expansion/pull/5703) +* Add Revival Blessing AI by @Pawkkie in [#5704](https://github.com/rh-hideout/pokeemerald-expansion/pull/5704) +* Add AI_FLAG_WEIGH_ABILITY_PREDICTION by @Pawkkie and @khbsd and @ghoulslash for the idea, @AlexOn1ine and @mrgriffin for getting it working :) in [#5636](https://github.com/rh-hideout/pokeemerald-expansion/pull/5636) +* Add AI_FLAG_PREFER_HIGHEST_DAMAGE_MOVE by @Pawkkie in [#6025](https://github.com/rh-hideout/pokeemerald-expansion/pull/6025) +* Add AI_FLAG_PREDICT_SWITCH by @Pawkkie and @kithr1 in [#6028](https://github.com/rh-hideout/pokeemerald-expansion/pull/6028) +* Add AI_FLAG_PREDICT_INCOMING_MON: AI will score against predicted switchin if predicting switch by @Pawkkie in [#6037](https://github.com/rh-hideout/pokeemerald-expansion/pull/6037) +* Switch trapping AI will consider Trace by @Pawkkie in [#6059](https://github.com/rh-hideout/pokeemerald-expansion/pull/6059) +* AI adds score to Pursuit if it OHKOs by @Pawkkie in [#6166](https://github.com/rh-hideout/pokeemerald-expansion/pull/6166) +* Switch chance config support by @Pawkkie in [#6187](https://github.com/rh-hideout/pokeemerald-expansion/pull/6187) + - Config can be changed in config/ai.h +* Add function to adjust AI scoring for generalized item effects by @moostoet and @AlexOn1ine and @Pawkkie for the input on slight changes to make to the logic (config, no magic numbers...) in [#6247](https://github.com/rh-hideout/pokeemerald-expansion/pull/6247) + +### Changed +* Fixed AI not handling type effectiveness beyond x8 by @AsparagusEduardo and @/sshadowzkmao in [#6127](https://github.com/rh-hideout/pokeemerald-expansion/pull/6127) + - Removed the use of `AI_EFFECTIVENESS_` in favor of storing the actual type effectiveness. + - Renamed `AI_GetTypeEffectiveness` to `AI_GetMoveEffectiveness`, removing the original one. +* Remove global sBattler_AI by @AlexOn1ine in [#6128](https://github.com/rh-hideout/pokeemerald-expansion/pull/6128) +* SwitchType enum to clean up GetMostSuitableMonToSwitchInto by @Pawkkie in [#6184](https://github.com/rh-hideout/pokeemerald-expansion/pull/6184) + +### Fixed +* Eject item ace flag switch AI fixes by @Pawkkie and @wiz1989 for reporting the bug in [#6098](https://github.com/rh-hideout/pokeemerald-expansion/pull/6098) +* Fix Choice'd mons referring to incorrect move when switching by @Pawkkie and @/capncrunch in [#6204](https://github.com/rh-hideout/pokeemerald-expansion/pull/6204) +* Fix AI switching in absorbing mon incorrectly by @Pawkkie in [#6227](https://github.com/rh-hideout/pokeemerald-expansion/pull/6227) +* Improve Yawn and Status Switching by @Pawkkie and @/Chape for finding this behaviour in [#6202](https://github.com/rh-hideout/pokeemerald-expansion/pull/6202) +* Fix AI wrongly thinking it strikes first with priority even if player is using priority themselves by @moostoet in [#6274](https://github.com/rh-hideout/pokeemerald-expansion/pull/6274) +* Fix AI hazard move handling, minor AI tweaks by @Pawkkie and @ShadowzLmao2 in [#6311](https://github.com/rh-hideout/pokeemerald-expansion/pull/6311) +* Fix Overzealous Absorber Switching by @Pawkkie and @iriv24 and @ravepossum for squinting at a conditional for nearly 30mins with me to find a semicolon in [#6318](https://github.com/rh-hideout/pokeemerald-expansion/pull/6318) +* Fix Substitute / Shed Tail Switch AI by @Pawkkie in [#6334](https://github.com/rh-hideout/pokeemerald-expansion/pull/6334) + +## 🧹 Other Cleanup 🧹 +* Split "Do nothing" move effects by @AsparagusEduardo in [#5613](https://github.com/rh-hideout/pokeemerald-expansion/pull/5613) +* Sleep Clause global config by @Pawkkie in [#5762](https://github.com/rh-hideout/pokeemerald-expansion/pull/5762) +* Converts multi-choice options to COMPOUND_STRINGs by @fdeblasio in [#5686](https://github.com/rh-hideout/pokeemerald-expansion/pull/5686) +* Converted item-related variables to COMPOUND_STRINGs by @fdeblasio in [#5714](https://github.com/rh-hideout/pokeemerald-expansion/pull/5714) +* Adds SleepClauseBlock enum to CanBeSlept by @Pawkkie and @AlexOn1ine in [#5773](https://github.com/rh-hideout/pokeemerald-expansion/pull/5773) +* Swapped DESELECT and CHECK_TAG to be in right places by @fdeblasio in [#5794](https://github.com/rh-hideout/pokeemerald-expansion/pull/5794) +* Changes target TURN_DAMAGED and MAX_HP to inlines by @AlexOn1ine in [#5822](https://github.com/rh-hideout/pokeemerald-expansion/pull/5822) +* Changes Various defines to an Enum by @AlexOn1ine in [#5839](https://github.com/rh-hideout/pokeemerald-expansion/pull/5839) +* Remove fno-toplevel-reorder by @DizzyEggg in [#5809](https://github.com/rh-hideout/pokeemerald-expansion/pull/5809) +* Refactors argument into a union by @AlexOn1ine in [#5853](https://github.com/rh-hideout/pokeemerald-expansion/pull/5853) +* Clean up redundancy for mugshots by @AlexOn1ine in [#5906](https://github.com/rh-hideout/pokeemerald-expansion/pull/5906) +* Encapsulate move data by @AsparagusEduardo in [#5852](https://github.com/rh-hideout/pokeemerald-expansion/pull/5852) +* Initialize m4a and IRQ handler in a loaded section by @SBird1337 in [#5912](https://github.com/rh-hideout/pokeemerald-expansion/pull/5912) +* Remove EWRAM gHpDealt (not needed anymore) by @AlexOn1ine in [#5925](https://github.com/rh-hideout/pokeemerald-expansion/pull/5925) +* Fix DexNav static asserts by @Bassoonian in [#5944](https://github.com/rh-hideout/pokeemerald-expansion/pull/5944) +* Move overwrittenAbilities field to DisableStruct by @ghoulslash in [#5946](https://github.com/rh-hideout/pokeemerald-expansion/pull/5946) +* Converted 2 various to callnative by @AsparagusEduardo in [#5950](https://github.com/rh-hideout/pokeemerald-expansion/pull/5950) + - Removed `VARIOUS_SWAP_SIDE_STATUSES` and `VARIOUS_SWAP_STATS`. +* Shell Bell Clean up / Simplification and Tests by @AlexOn1ine in [#5924](https://github.com/rh-hideout/pokeemerald-expansion/pull/5924) +* Removed OW_AUTO_SIGNPOST by @pkmnsnfrn, @doejohn126 discovered the issue in [#5974](https://github.com/rh-hideout/pokeemerald-expansion/pull/5974) +* Fix leftover test change from #5033 by @mrgriffin in [#5987](https://github.com/rh-hideout/pokeemerald-expansion/pull/5987) +* Multiple removals of hardcoded move IDs by @AsparagusEduardo in [#5964](https://github.com/rh-hideout/pokeemerald-expansion/pull/5964) +* Missed two uses of new hazard type enum by @Pawkkie in [#5996](https://github.com/rh-hideout/pokeemerald-expansion/pull/5996) +* Debug menu and `createmon` additions/cleanup by @AsparagusEduardo in [#5994](https://github.com/rh-hideout/pokeemerald-expansion/pull/5994) + - Added Tera Type, Dynamax Level, and Gigantamax Factor to the "Give Pokémon (complex)" debug menu option. + - Added `dmaxLevel` option to `givemon` and `createmon`. + - Added `WEATHER_COUNT`. + - Cleaned up repeated code instances in debug menu. + - Fixed mislabel of `ggMaxFactor` in `givemon` and `createmon`. Now it's `gmaxFactor`. +* Free some IWRAM by @DizzyEggg in [#6000](https://github.com/rh-hideout/pokeemerald-expansion/pull/6000) +* Removes Resource Flags and moves fields to DisableStruct by @AlexOn1ine in [#5945](https://github.com/rh-hideout/pokeemerald-expansion/pull/5945) +* Future Sight Innards Out follow up for upcoming by @AlexOn1ine in [#5998](https://github.com/rh-hideout/pokeemerald-expansion/pull/5998) +* Remove redundant calls to GetMonData in pokemon.c by @AZero13 in [#5545](https://github.com/rh-hideout/pokeemerald-expansion/pull/5545) +* Use SET8 and SET32 consistently by @AZero13 in [#5544](https://github.com/rh-hideout/pokeemerald-expansion/pull/5544) +* Rename Furfrou Species tags to match Pokemon Showdown exports by @moostoet in [#6041](https://github.com/rh-hideout/pokeemerald-expansion/pull/6041) +* Rename DexNav flags and vars by @Bassoonian in [#6044](https://github.com/rh-hideout/pokeemerald-expansion/pull/6044) +* Re-removed trainers.h trailing whitespace by @fdeblasio in [#6048](https://github.com/rh-hideout/pokeemerald-expansion/pull/6048) +* Moved front animations frames to gSpeciesInfo by @AsparagusEduardo in [#5605](https://github.com/rh-hideout/pokeemerald-expansion/pull/5605) +* Clean up array access by using index instead of dereferencing the value by @AlexOn1ine in [#6057](https://github.com/rh-hideout/pokeemerald-expansion/pull/6057) +* Add a uniquely striking pair of brackets by @Pawkkie in [#6068](https://github.com/rh-hideout/pokeemerald-expansion/pull/6068) +* Replace WEATHER_HAS_EFFECT with HasWeatherEffect by @AlexOn1ine in [#6069](https://github.com/rh-hideout/pokeemerald-expansion/pull/6069) +* Converts a bunch of defines to enums by @Bassoonian in [#6071](https://github.com/rh-hideout/pokeemerald-expansion/pull/6071) + - Replaced `BATTLE_TERRAIN` #defines with the `BattleTerrain` enum + - Replaced `MAP_TYPE` #defines with the `MapType` enum + - Replaced `MAP_BATTLE_SCENE` #defines with the `MapBattleScene` enum + - Replaced `BACK_ANIM` #defines with the `BackAnim` enum + - Replaced `ANIM` #defines with the `AnimFunctionIDs` enum + - Replaced `INGAME_TRADE` #defines with the `InGameTradeID` enum + - Replaced `TRAINER_CLASS` #defines with the `TRAINER_CLASS` enum +* Return the universe to a state of balanced quilibrium by @Pawkkie in [#6074](https://github.com/rh-hideout/pokeemerald-expansion/pull/6074) +* Cleaned up Debug Menu by @AsparagusEduardo in [#6070](https://github.com/rh-hideout/pokeemerald-expansion/pull/6070) +* Remove gDecompressionBuffer by @DizzyEggg in [#6029](https://github.com/rh-hideout/pokeemerald-expansion/pull/6029) +* Cleaned up Trainer Slides, added automated Trainer Slide tests, add new Enemy Critical Hit Slide by @pkmnsnfrn and @AlexOn1ine, @hedara90, @AsparagusEduardo, @mrgriffin in [#6018](https://github.com/rh-hideout/pokeemerald-expansion/pull/6018) + * If users created new entries in sTrainerSlides, they will need to be ported to the new system. +* Terrain function standarization by @fdeblasio in [#6097](https://github.com/rh-hideout/pokeemerald-expansion/pull/6097) +* Updated trainer pic tutorial by @fdeblasio in [#6049](https://github.com/rh-hideout/pokeemerald-expansion/pull/6049) +* Remove UnusedBattleInit from battle_bg.c by @DizzyEggg in [#6116](https://github.com/rh-hideout/pokeemerald-expansion/pull/6116) +* Consolidated contest opponent filters into gContestOpponents by @fdeblasio in [#6119](https://github.com/rh-hideout/pokeemerald-expansion/pull/6119) +* Replace BattleStruct members quickClawRandom/quickDrawRandom with locals by @AlexOn1ine in [#6136](https://github.com/rh-hideout/pokeemerald-expansion/pull/6136) +* Updated Trainer Ids used in Trainer Slides tests by @pkmnsnfrn and @AlexOn1ine found the original bug, @AsparagusEduardo confirmed it in [#6138](https://github.com/rh-hideout/pokeemerald-expansion/pull/6138) +* Added Difficulty Fallback for Trainer Slides by @pkmnsnfrn in [#6088](https://github.com/rh-hideout/pokeemerald-expansion/pull/6088) +* Clean up follow up for Simultaneous Reduction HP by @AlexOn1ine in [#6139](https://github.com/rh-hideout/pokeemerald-expansion/pull/6139) +* Remove global sBattler_AI by @AlexOn1ine in [#6128](https://github.com/rh-hideout/pokeemerald-expansion/pull/6128) +* Clarify MOVE_EFFECT_SLEEP sleep clause handling by @Pawkkie in [#6161](https://github.com/rh-hideout/pokeemerald-expansion/pull/6161) +* Remove unused PainSplit scripting global by @AlexOn1ine in [#6164](https://github.com/rh-hideout/pokeemerald-expansion/pull/6164) +* Don't use SeedRng some places where it isn't necessary by @tertu-m in [#6156](https://github.com/rh-hideout/pokeemerald-expansion/pull/6156) +* Cleaned up party data access GetPartyBattlerData by @AsparagusEduardo in [#6172](https://github.com/rh-hideout/pokeemerald-expansion/pull/6172) +* Changed two LocalRandom calls to new LocalRandom32 by @hedara90 in [#6173](https://github.com/rh-hideout/pokeemerald-expansion/pull/6173) +* Cleanup some global battler ID usage by @ghoulslash in [#6181](https://github.com/rh-hideout/pokeemerald-expansion/pull/6181) +* Clean up - Add ability args instead of calcing the ability again by @AlexOn1ine in [#6186](https://github.com/rh-hideout/pokeemerald-expansion/pull/6186) +* CanAbilityX Function Cleanup by @ghoulslash in [#6183](https://github.com/rh-hideout/pokeemerald-expansion/pull/6183) +* SwitchType enum to clean up GetMostSuitableMonToSwitchInto by @Pawkkie in [#6184](https://github.com/rh-hideout/pokeemerald-expansion/pull/6184) +* Unify setreflect/setlightscreen and MOVE_EFFECT_REFLECT/LIGHT_SCREEN by @ghoulslash in [#6196](https://github.com/rh-hideout/pokeemerald-expansion/pull/6196) +* Removed Trainer Slides footgun by @AsparagusEduardo in [#6205](https://github.com/rh-hideout/pokeemerald-expansion/pull/6205) +* Fix typo in Nuzzle's description by @Bassoonian in [#6209](https://github.com/rh-hideout/pokeemerald-expansion/pull/6209) +* Consolidate duplicate dialogue of nature girl in Battle Frontier by @fdeblasio in [#6195](https://github.com/rh-hideout/pokeemerald-expansion/pull/6195) +* Fixed missing move encapsulation in upcoming by @AsparagusEduardo in [#6226](https://github.com/rh-hideout/pokeemerald-expansion/pull/6226) +* Consolidated Frontier teams into battle_frontier_trainers.h by @fdeblasio in [#5892](https://github.com/rh-hideout/pokeemerald-expansion/pull/5892) +* Add abstraction layer for battler positions by @AlexOn1ine in [#6212](https://github.com/rh-hideout/pokeemerald-expansion/pull/6212) +* Revert unintentional change by @AlexOn1ine in [#6239](https://github.com/rh-hideout/pokeemerald-expansion/pull/6239) +* Remove whitespace from trainers data file by @AsparagusEduardo in [#6234](https://github.com/rh-hideout/pokeemerald-expansion/pull/6234) +* Replaced hardcoded numbers in DexNav with variables by @fdeblasio in [#6241](https://github.com/rh-hideout/pokeemerald-expansion/pull/6241) +* fix for battle ui for add to party menu (#6229) by @fakuzatsu in [#6240](https://github.com/rh-hideout/pokeemerald-expansion/pull/6240) +* Changed bit order for follower graphicsId creation by @hedara90 in [#6249](https://github.com/rh-hideout/pokeemerald-expansion/pull/6249) +* Minor Clean up for CanAbilityX. Follow up for #6183 by @AlexOn1ine in [#6252](https://github.com/rh-hideout/pokeemerald-expansion/pull/6252) +* Moved sValidApprenticeMove into gMovesInfo by @fdeblasio in [#6254](https://github.com/rh-hideout/pokeemerald-expansion/pull/6254) +* Use more accurate count in MovesInfo by @AlexOn1ine in [#6260](https://github.com/rh-hideout/pokeemerald-expansion/pull/6260) +* Fix Extra `task->tState++` and `break` in `Task_DrawFieldMessageBox` by @Deokishisu in [#6261](https://github.com/rh-hideout/pokeemerald-expansion/pull/6261) +* Expand usage of IsBattlerAlly (rename from IsAlly) by @AlexOn1ine in [#6251](https://github.com/rh-hideout/pokeemerald-expansion/pull/6251) +* Rename SetPhotonGeyser to a more general use and clean up by @AlexOn1ine in [#6272](https://github.com/rh-hideout/pokeemerald-expansion/pull/6272) +* Fix padding amount in MoveInfo by @AlexOn1ine in [#6307](https://github.com/rh-hideout/pokeemerald-expansion/pull/6307) +* Refactor testing flags and vars to not conflict with user ones by @hedara90 in [#6301](https://github.com/rh-hideout/pokeemerald-expansion/pull/6301) +* Clean up leftover from simu hp reduction development by @AlexOn1ine in [#6323](https://github.com/rh-hideout/pokeemerald-expansion/pull/6323) +* Remove pursuitSwitchByMove and additional if statement by @PhallenTree in [#6326](https://github.com/rh-hideout/pokeemerald-expansion/pull/6326) + +## 🧪 Test Runner 🧪 +### Changed +* New Ally Switch test fails on CI by @AlexOn1ine in [#5896](https://github.com/rh-hideout/pokeemerald-expansion/pull/5896) +* Added final Sparkling Aria+Shield Dust interaction test by @hedara90 in [#5923](https://github.com/rh-hideout/pokeemerald-expansion/pull/5923) +* Converted 2 various to callnative by @AsparagusEduardo in [#5950](https://github.com/rh-hideout/pokeemerald-expansion/pull/5950) + - Removed `VARIOUS_SWAP_SIDE_STATUSES` and `VARIOUS_SWAP_STATS`. +* Cleaned up Trainer Slides, added automated Trainer Slide tests, add new Enemy Critical Hit Slide by @pkmnsnfrn and @AlexOn1ine, @hedara90, @AsparagusEduardo, @mrgriffin in [#6018](https://github.com/rh-hideout/pokeemerald-expansion/pull/6018) + * If users created new entries in sTrainerSlides, they will need to be ported to the new system. +* Tests for Big Pecks by @hedara90 in [#6158](https://github.com/rh-hideout/pokeemerald-expansion/pull/6158) +* Water Compaction tests by @hedara90 in [#6159](https://github.com/rh-hideout/pokeemerald-expansion/pull/6159) +* Wrote tests for Electrify by @hedara90 in [#6179](https://github.com/rh-hideout/pokeemerald-expansion/pull/6179) +* Sheer Force Test Fixes by @ghoulslash in [#6198](https://github.com/rh-hideout/pokeemerald-expansion/pull/6198) +* Minor Terrain Seed Test Improvement by @ghoulslash in [#6207](https://github.com/rh-hideout/pokeemerald-expansion/pull/6207) +* Fix Liquid Ooze + Leech Seed Test by @ghoulslash in [#6217](https://github.com/rh-hideout/pokeemerald-expansion/pull/6217) +* Prevented fanfares from playing in headless mode by @pkmnsnfrn and @hedara90, @AsparagusEduardo in [#6219](https://github.com/rh-hideout/pokeemerald-expansion/pull/6219) +* Added test support for 5 battle configs by @AsparagusEduardo in [#5914](https://github.com/rh-hideout/pokeemerald-expansion/pull/5914) +* Added missing Dream Eater and Reflect Type tests by @AsparagusEduardo in [#6245](https://github.com/rh-hideout/pokeemerald-expansion/pull/6245) +* Refactor testing flags and vars to not conflict with user ones by @hedara90 in [#6301](https://github.com/rh-hideout/pokeemerald-expansion/pull/6301) + +### Fixed +* Fix ASSUMPTIONS not working by @DizzyEggg in [#5869](https://github.com/rh-hideout/pokeemerald-expansion/pull/5869) +* Updated Trainer Ids used in Trainer Slides tests by @pkmnsnfrn and @AlexOn1ine found the original bug, @AsparagusEduardo confirmed it in [#6138](https://github.com/rh-hideout/pokeemerald-expansion/pull/6138) +* Adjusted G-Max Depletion test by @AsparagusEduardo and @AlexOn1ine for being a cool dude being patient with me during the PR. in [#6201](https://github.com/rh-hideout/pokeemerald-expansion/pull/6201) +* Do not add TRAINER_FLAG_DOUBLE_BATTLE to recorded battles by @mrgriffin in [#6285](https://github.com/rh-hideout/pokeemerald-expansion/pull/6285) +* Fixes Brick Break/Psychic Fangs/Raging Bull breaking screens if target is immune by @PhallenTree in [#6308](https://github.com/rh-hideout/pokeemerald-expansion/pull/6308) + +## 📚 Documentation 📚 +* Updating install instructions by @hedara90 in [#5610](https://github.com/rh-hideout/pokeemerald-expansion/pull/5610) + - Install instructions have been moved into individual files under `docs/install/ ` +* Documentation for DisableStruct by @AlexOn1ine in [#6066](https://github.com/rh-hideout/pokeemerald-expansion/pull/6066) +* Cleaned up Trainer Slides, added automated Trainer Slide tests, add new Enemy Critical Hit Slide by @pkmnsnfrn and @AlexOn1ine, @hedara90, @AsparagusEduardo, @mrgriffin in [#6018](https://github.com/rh-hideout/pokeemerald-expansion/pull/6018) + * If users created new entries in sTrainerSlides, they will need to be ported to the new system. +* Updated trainer pic tutorial by @fdeblasio in [#6049](https://github.com/rh-hideout/pokeemerald-expansion/pull/6049) +* Update how_to_testing_system.md by @hedara90 in [#6281](https://github.com/rh-hideout/pokeemerald-expansion/pull/6281) + +## 📦 Branch Synchronisation 📦 +### pret +* 11th of February in [#6231](https://github.com/rh-hideout/pokeemerald-expansion/pull/6231) + * Replace easy_chat alphabetialOrder magic numbers with EC_INDEX values by @rayrobdod in [pret#2096](https://github.com/pret/pokeemerald/pull/2096) + * Fixed switchout bug in multibattle where order of mons gets messed up by @shachar700 in [pret#2099](https://github.com/pret/pokeemerald/pull/2099) + +## New Contributors +* @khbsd made their first contribution in [#5679](https://github.com/rh-hideout/pokeemerald-expansion/pull/5679) +* @ExMingYan made their first contribution in [#6220](https://github.com/rh-hideout/pokeemerald-expansion/pull/6220) +* @Deokishisu made their first contribution in [#6261](https://github.com/rh-hideout/pokeemerald-expansion/pull/6261) + +**Full Changelog**: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.10.2...test + + + + diff --git a/docs/team_procedures/scope.md b/docs/team_procedures/scope.md index e3c736c1cc..3293cea6dc 100644 --- a/docs/team_procedures/scope.md +++ b/docs/team_procedures/scope.md @@ -54,6 +54,7 @@ Pull Requests that fall into this category are not in scope by default and shoul 2. **Fangame Features**: Adds a popular feature from other fangames 3. **Popular Non-SS Features**: Exceptions can be made for uniquely popular or requested features (Drowsy, PLA Legend Plate, etc.) 4. **External Program**: External programs like poryscript, porymoves, etc. +5. **Intergenerational Feature Compatibility**: Addresses limitations and issues resulting from including all generational behaviours in a GBA native title, and extrapolation of features no longer supported by GameFreak ## Workflow for Proposed Feature Scope Discussion For the contributor: diff --git a/docs/tutorials/how_to_testing_system.md b/docs/tutorials/how_to_testing_system.md index da11944e25..2e5f83ff76 100644 --- a/docs/tutorials/how_to_testing_system.md +++ b/docs/tutorials/how_to_testing_system.md @@ -554,6 +554,10 @@ Causes the test to fail if a and b compare incorrectly, e.g. EXPECT_EQ(results[0].damage, Q_4_12(1.5), results[1].damage); ``` +### `FORCE_MOVE_ANIM` +`FORCE_MOVE_ANIM(TRUE)` +Forces the moves in the current test to do their animations in headless mode. Useful for debugging animations. + ## Overworld Command Reference ### `OVERWORLD_SCRIPT` diff --git a/graphics/battle_interface/alpha_indicator.png b/graphics/battle_interface/alpha_indicator.png index 84cfee2cf1..bfa504e89a 100644 Binary files a/graphics/battle_interface/alpha_indicator.png and b/graphics/battle_interface/alpha_indicator.png differ diff --git a/graphics/battle_interface/bug_indicator.png b/graphics/battle_interface/bug_indicator.png index 7ab7dc6dfa..2e5893ead8 100644 Binary files a/graphics/battle_interface/bug_indicator.png and b/graphics/battle_interface/bug_indicator.png differ diff --git a/graphics/battle_interface/dark_indicator.png b/graphics/battle_interface/dark_indicator.png index 149d2155a3..f7b6d8e070 100644 Binary files a/graphics/battle_interface/dark_indicator.png and b/graphics/battle_interface/dark_indicator.png differ diff --git a/graphics/battle_interface/dragon_indicator.png b/graphics/battle_interface/dragon_indicator.png index 4c1d9e1f78..55937688e5 100644 Binary files a/graphics/battle_interface/dragon_indicator.png and b/graphics/battle_interface/dragon_indicator.png differ diff --git a/graphics/battle_interface/dynamax_indicator.png b/graphics/battle_interface/dynamax_indicator.png index ebfbe86da6..736893c28d 100644 Binary files a/graphics/battle_interface/dynamax_indicator.png and b/graphics/battle_interface/dynamax_indicator.png differ diff --git a/graphics/battle_interface/electric_indicator.png b/graphics/battle_interface/electric_indicator.png index 518907dc05..b96c7d630a 100644 Binary files a/graphics/battle_interface/electric_indicator.png and b/graphics/battle_interface/electric_indicator.png differ diff --git a/graphics/battle_interface/fairy_indicator.png b/graphics/battle_interface/fairy_indicator.png index a41736eeec..bdfc692c43 100644 Binary files a/graphics/battle_interface/fairy_indicator.png and b/graphics/battle_interface/fairy_indicator.png differ diff --git a/graphics/battle_interface/fighting_indicator.png b/graphics/battle_interface/fighting_indicator.png index 6102ab6846..a64a768aaa 100644 Binary files a/graphics/battle_interface/fighting_indicator.png and b/graphics/battle_interface/fighting_indicator.png differ diff --git a/graphics/battle_interface/fire_indicator.png b/graphics/battle_interface/fire_indicator.png index 4d3e59d543..bffb030804 100644 Binary files a/graphics/battle_interface/fire_indicator.png and b/graphics/battle_interface/fire_indicator.png differ diff --git a/graphics/battle_interface/flying_indicator.png b/graphics/battle_interface/flying_indicator.png index 767954b706..62d167efa6 100644 Binary files a/graphics/battle_interface/flying_indicator.png and b/graphics/battle_interface/flying_indicator.png differ diff --git a/graphics/battle_interface/ghost_indicator.png b/graphics/battle_interface/ghost_indicator.png index c1aeec6059..76a946dfab 100644 Binary files a/graphics/battle_interface/ghost_indicator.png and b/graphics/battle_interface/ghost_indicator.png differ diff --git a/graphics/battle_interface/grass_indicator.png b/graphics/battle_interface/grass_indicator.png index 81fa2589d0..78f6f7aead 100644 Binary files a/graphics/battle_interface/grass_indicator.png and b/graphics/battle_interface/grass_indicator.png differ diff --git a/graphics/battle_interface/ground_indicator.png b/graphics/battle_interface/ground_indicator.png index 7a306510fe..8c716aefa7 100644 Binary files a/graphics/battle_interface/ground_indicator.png and b/graphics/battle_interface/ground_indicator.png differ diff --git a/graphics/battle_interface/ice_indicator.png b/graphics/battle_interface/ice_indicator.png index a40d96f018..c7d7062eb8 100644 Binary files a/graphics/battle_interface/ice_indicator.png and b/graphics/battle_interface/ice_indicator.png differ diff --git a/graphics/battle_interface/mega_indicator.png b/graphics/battle_interface/mega_indicator.png index 93e113ded4..62fcddd658 100644 Binary files a/graphics/battle_interface/mega_indicator.png and b/graphics/battle_interface/mega_indicator.png differ diff --git a/graphics/battle_interface/normal_indicator.png b/graphics/battle_interface/normal_indicator.png index 029827e296..8876bc9922 100644 Binary files a/graphics/battle_interface/normal_indicator.png and b/graphics/battle_interface/normal_indicator.png differ diff --git a/graphics/battle_interface/omega_indicator.png b/graphics/battle_interface/omega_indicator.png index 8e21007a80..f491251c50 100644 Binary files a/graphics/battle_interface/omega_indicator.png and b/graphics/battle_interface/omega_indicator.png differ diff --git a/graphics/battle_interface/poison_indicator.png b/graphics/battle_interface/poison_indicator.png index c2646d0a71..10e6ba45f5 100644 Binary files a/graphics/battle_interface/poison_indicator.png and b/graphics/battle_interface/poison_indicator.png differ diff --git a/graphics/battle_interface/psychic_indicator.png b/graphics/battle_interface/psychic_indicator.png index f70352d2ee..4f3dec9319 100644 Binary files a/graphics/battle_interface/psychic_indicator.png and b/graphics/battle_interface/psychic_indicator.png differ diff --git a/graphics/battle_interface/rock_indicator.png b/graphics/battle_interface/rock_indicator.png index 0329ec678c..3f92eb296e 100644 Binary files a/graphics/battle_interface/rock_indicator.png and b/graphics/battle_interface/rock_indicator.png differ diff --git a/graphics/battle_interface/steel_indicator.png b/graphics/battle_interface/steel_indicator.png index e84d9fa1b0..682d738c1a 100644 Binary files a/graphics/battle_interface/steel_indicator.png and b/graphics/battle_interface/steel_indicator.png differ diff --git a/graphics/battle_interface/stellar_indicator.png b/graphics/battle_interface/stellar_indicator.png index 7551e2b230..202131c1a2 100644 Binary files a/graphics/battle_interface/stellar_indicator.png and b/graphics/battle_interface/stellar_indicator.png differ diff --git a/graphics/battle_interface/water_indicator.png b/graphics/battle_interface/water_indicator.png index bdeb401f4a..c7d1894793 100644 Binary files a/graphics/battle_interface/water_indicator.png and b/graphics/battle_interface/water_indicator.png differ diff --git a/graphics/pokemon/kecleon/overworld_shiny.pal b/graphics/pokemon/kecleon/overworld_shiny.pal index 77cc0112e0..d12afcf8bb 100644 --- a/graphics/pokemon/kecleon/overworld_shiny.pal +++ b/graphics/pokemon/kecleon/overworld_shiny.pal @@ -14,6 +14,6 @@ JASC-PAL 96 168 120 64 136 96 232 232 248 -152 40 64 +39 44 149 0 0 0 0 0 0 diff --git a/include/battle.h b/include/battle.h index 347d2f7c56..098a0c0649 100644 --- a/include/battle.h +++ b/include/battle.h @@ -814,12 +814,9 @@ struct BattleStruct u8 additionalEffectsCounter:4; // A counter for the additionalEffects applied by the current move in Cmd_setadditionaleffects u8 redCardActivates:1; u8 padding2:2; // padding in the middle so pursuit fields are together - u8 pursuitSwitchByMove:1; u8 pursuitStoredSwitch; // Stored id for the Pursuit target's switch s32 battlerExpReward; u16 prevTurnSpecies[MAX_BATTLERS_COUNT]; // Stores species the AI has in play at start of turn - - // Simultaneous hp reduction for spread moves s32 moveDamage[MAX_BATTLERS_COUNT]; s32 critChance[MAX_BATTLERS_COUNT]; u16 moveResultFlags[MAX_BATTLERS_COUNT]; @@ -830,9 +827,13 @@ struct BattleStruct u8 calculatedSpreadMoveAccuracy:1; u8 printedStrongWindsWeakenedAttack:1; u8 numSpreadTargets:2; - u8 padding3:2; + u8 bypassMoldBreakerChecks:1; // for ABILITYEFFECT_IMMUNITY + u8 padding3:1; + u8 usedEjectItem; + u8 usedMicleBerry; struct MessageStatus slideMessageStatus; u8 trainerSlideSpriteIds[MAX_BATTLERS_COUNT]; + u8 embodyAspectBoost[NUM_BATTLE_SIDES]; }; // The palaceFlags member of struct BattleStruct contains 1 flag per move to indicate which moves the AI should consider, @@ -1241,6 +1242,11 @@ static inline u32 GetBattlerSide(u32 battler) return GetBattlerPosition(battler) & BIT_SIDE; } +static inline bool32 IsBattlerAlly(u32 battlerAtk, u32 battlerDef) +{ + return (GetBattlerSide(battlerAtk) == GetBattlerSide(battlerDef)); +} + static inline u32 GetOpposingSideBattler(u32 battler) { return GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerSide(battler))); diff --git a/include/battle_ai_main.h b/include/battle_ai_main.h index f30759fd24..b21b20751d 100644 --- a/include/battle_ai_main.h +++ b/include/battle_ai_main.h @@ -35,7 +35,7 @@ typedef s32 (*AiScoreFunc)(u32, u32, u32, s32); #define POWERFUL_STATUS_MOVE 10 // Moves with this score will be chosen over a move that faints target #define NO_DAMAGE_OR_FAILS -20 // Move fails or does no damage -// Scores given in AI_CalcMoveEffectScore +// Scores given in AI_CalcMoveEffectScore and AI_CalcHoldEffectMoveScore #define NO_INCREASE 0 #define WEAK_EFFECT 1 #define DECENT_EFFECT 2 diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index 6ea9660168..4855184fac 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -127,7 +127,7 @@ bool32 IsAromaVeilProtectedEffect(u32 moveEffect); bool32 IsNonVolatileStatusMoveEffect(u32 moveEffect); bool32 IsMoveRedirectionPrevented(u32 battlerAtk, u32 move, u32 atkAbility); bool32 IsMoveEncouragedToHit(u32 battlerAtk, u32 battlerDef, u32 move); -bool32 IsHazardMoveEffect(u32 moveEffect); +bool32 IsHazardMove(u32 move); bool32 IsTwoTurnNotSemiInvulnerableMove(u32 battlerAtk, u32 move); void ProtectChecks(u32 battlerAtk, u32 battlerDef, u32 move, u32 predictedMove, s32 *score); bool32 ShouldSetSandstorm(u32 battler, u32 ability, u32 holdEffect); @@ -154,6 +154,8 @@ bool32 HasSubstituteIgnoringMove(u32 battler); bool32 HasHighCritRatioMove(u32 battler); bool32 HasMagicCoatAffectedMove(u32 battler); bool32 HasSnatchAffectedMove(u32 battler); +bool32 IsHazardClearingMove(u32 move); +bool32 IsSubstituteEffect(u32 effect); // status checks bool32 AI_CanGetFrostbite(u32 battler, u32 ability); @@ -215,7 +217,9 @@ bool32 AI_ShouldCopyStatChanges(u32 battlerAtk, u32 battlerDef); bool32 AI_ShouldSetUpHazards(u32 battlerAtk, u32 battlerDef, struct AiLogicData *aiData); void IncreaseTidyUpScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score); bool32 AI_ShouldSpicyExtract(u32 battlerAtk, u32 battlerAtkPartner, u32 move, struct AiLogicData *aiData); -void IncreaseSubstituteMoveScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score); +u32 IncreaseSubstituteMoveScore(u32 battlerAtk, u32 battlerDef, u32 move); +bool32 IsBattlerItemEnabled(u32 battler); bool32 IsBattlerPredictedToSwitch(u32 battler); +bool32 HasLowAccuracyMove(u32 battlerAtk, u32 battlerDef); #endif //GUARD_BATTLE_AI_UTIL_H diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index 72f3773fdd..cc6c09012c 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -51,7 +51,6 @@ void StealTargetItem(u8 battlerStealer, u8 battlerItem); u8 GetCatchingBattler(void); u32 GetHighestStatId(u32 battlerId); bool32 ProteanTryChangeType(u32 battler, u32 ability, u32 move, u32 moveType); -bool32 ShouldTeraShellDistortTypeMatchups(u32 move, u32 battlerDef); bool32 IsMoveNotAllowedInSkyBattles(u32 move); bool32 DoSwitchInAbilities(u32 battlerId); u8 GetFirstFaintedPartyIndex(u8 battlerId); diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 07a5d7a10d..dc7b1db648 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -827,7 +827,7 @@ extern const u8 BattleScript_MoveEffectHaze[]; extern const u8 BattleScript_MoveEffectIonDeluge[]; extern const u8 BattleScript_EffectHyperspaceFury[]; extern const u8 BattleScript_EffectAuraWheel[]; -extern const u8 BattleScript_EffectPhotonGeyser[]; +extern const u8 BattleScript_EffectDynamicCategory[]; extern const u8 BattleScript_EffectNoRetreat[]; extern const u8 BattleScript_EffectTarShot[]; extern const u8 BattleScript_EffectPoltergeist[]; diff --git a/include/battle_util.h b/include/battle_util.h index fec33ca935..2e20146331 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -24,8 +24,8 @@ enum AbilityEffectOptions { - ABILITY_CHECK_TRIGGER, - ABILITY_RUN_SCRIPT, + ABILITY_CHECK_TRIGGER, + ABILITY_RUN_SCRIPT, }; enum MoveAbsorbed @@ -175,6 +175,7 @@ void HandleAction_ThrowBall(void); u32 GetCurrentBattleWeather(void); u32 EndOrContinueWeather(void); bool32 IsAffectedByFollowMe(u32 battlerAtk, u32 defSide, u32 move); +bool32 HandleMoveTargetRedirection(void); void HandleAction_UseMove(void); void HandleAction_Switch(void); void HandleAction_UseItem(void); diff --git a/include/config/ai.h b/include/config/ai.h index 686ac14c22..1fe0c822d2 100644 --- a/include/config/ai.h +++ b/include/config/ai.h @@ -9,6 +9,7 @@ #define SHOULD_SWITCH_WONDER_GUARD_PERCENTAGE 100 #define SHOULD_SWITCH_TRUANT_PERCENTAGE 100 #define SHOULD_SWITCH_ALL_MOVES_BAD_PERCENTAGE 100 +#define STAY_IN_STATS_RAISED 2 // Number of stat stages that must be raised across any stats before the AI won't switch mon out in certain cases // AI smart switching chances; if you want more complex behaviour, modify GetSwitchChance #define SHOULD_SWITCH_ABSORBS_MOVE_PERCENTAGE 100 @@ -43,6 +44,9 @@ #define SHOULD_SWITCH_REGENERATOR_PERCENTAGE 50 #define SHOULD_SWITCH_REGENERATOR_STATS_RAISED_PERCENTAGE 20 +// AI held item-based move scoring +#define LOW_ACCURACY_THRESHOLD 75 // Moves with accuracy equal OR below this value are considered low accuracy + // AI prediction chances #define PREDICT_SWITCH_CHANCE 50 diff --git a/include/config/overworld.h b/include/config/overworld.h index e522c978fa..35a90407b9 100644 --- a/include/config/overworld.h +++ b/include/config/overworld.h @@ -60,6 +60,32 @@ #define OW_FOLLOWERS_WEATHER_FORMS FALSE // If TRUE, Castform and Cherrim gain FORM_CHANGE_OVERWORLD_WEATHER, which will make them transform in the overworld based on the weather. #define OW_FOLLOWERS_COPY_WILD_PKMN FALSE // If TRUE, follower Pokémon that know Transform or have Illusion/Imposter will copy wild Pokémon at random. #define OW_BATTLE_ONLY_FORMS TRUE // If TRUE, loads overworld sprites for battle-only forms like Mega Evos. Requires OW_POKEMON_OBJECT_EVENTS. +#define B_FLAG_FOLLOWERS_DISABLED 0 // Enables / Disables followers by using a flag. Helpful to disable followers for a period of time. + + +#define OW_FOLLOWERS_SCRIPT_MOVEMENT TRUE // TRUE: Script collisions hide follower, FLAG_SAFE_FOLLOWER_MOVEMENT on by default + // FALSE: Script collisions unhandled, FLAG_SAFE_FOLLOWER_MOVEMENT off by default + +// If set, the only pokemon allowed to follow you +// will be those matching species, met location, +// and/or met level; +// These accept vars, too: VAR_TEMP_1, etc +#define OW_MON_ALLOWED_SPECIES (0) +#define OW_MON_ALLOWED_MET_LVL (0) +#define OW_MON_ALLOWED_MET_LOC (0) +// Examples: +// Yellow Pikachu: +// #define OW_MON_ALLOWED_SPECIES (SPECIES_PIKACHU) +// #define OW_MON_ALLOWED_MET_LVL (0) +// #define OW_MON_ALLOWED_MET_LOC (MAPSEC_PALLET_TOWN) +// Hoenn Starter: +// #define OW_MON_ALLOWED_SPECIES (0) +// #define OW_MON_ALLOWED_MET_LVL (5) +// #define OW_MON_ALLOWED_MET_LOC (MAPSEC_ROUTE_101) +// Species set in VAR_XXXX: +// #define OW_MON_ALLOWED_SPECIES (VAR_XXXX) +// #define OW_MON_ALLOWED_MET_LVL (0) +// #define OW_MON_ALLOWED_MET_LOC (0) // Out-of-battle Ability effects #define OW_SYNCHRONIZE_NATURE GEN_LATEST // In Gen8+, if a Pokémon with Synchronize leads the party, wild Pokémon will always have their same Nature as opposed to the 50% chance in previous games. Gift Pokémon excluded. diff --git a/include/config/test.h b/include/config/test.h index 90cf5a4b88..a8e2f4ab11 100644 --- a/include/config/test.h +++ b/include/config/test.h @@ -1131,10 +1131,10 @@ // Vars #undef B_VAR_DIFFICULTY -#define B_VAR_DIFFICULTY VAR_UNUSED_0x404E +#define B_VAR_DIFFICULTY TESTING_VAR_DIFFICULTY // Flags #undef B_FLAG_SLEEP_CLAUSE -#define B_FLAG_SLEEP_CLAUSE FLAG_SPECIAL_FLAG_UNUSED_0x4003 +#define B_FLAG_SLEEP_CLAUSE TESTING_FLAG_SLEEP_CLAUSE #endif // GUARD_CONFIG_TEST_H diff --git a/include/constants/battle.h b/include/constants/battle.h index 66927bf294..ce1cf0e948 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -558,7 +558,7 @@ enum MoveEffects #define MOVE_TARGET_SELECTED 0 #define MOVE_TARGET_DEPENDS (1 << 0) -#define MOVE_TARGET_USER_OR_SELECTED (1 << 1) +#define MOVE_TARGET_OPPONENT (1 << 1) #define MOVE_TARGET_RANDOM (1 << 2) #define MOVE_TARGET_BOTH (1 << 3) #define MOVE_TARGET_USER (1 << 4) diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index 219b990c5d..db8d96cae4 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -270,10 +270,10 @@ #define OBJ_EVENT_GFX_VAR_E (OBJ_EVENT_GFX_VARS + 0xE) #define OBJ_EVENT_GFX_VAR_F (OBJ_EVENT_GFX_VARS + 0xF) -#define OBJ_EVENT_MON (1 << 13) -#define OBJ_EVENT_MON_SHINY (1 << 14) -#define OBJ_EVENT_MON_FEMALE (1 << 15) -#define OBJ_EVENT_MON_SPECIES_MASK (OBJ_EVENT_MON - 1) +#define OBJ_EVENT_MON (1u << 14) +#define OBJ_EVENT_MON_SHINY (1u << 13) +#define OBJ_EVENT_MON_FEMALE (1u << 12) +#define OBJ_EVENT_MON_SPECIES_MASK (~(7u << 12)) // Used to call a specific species' follower graphics. Useful for static encounters. #define OBJ_EVENT_GFX_SPECIES(name) (SPECIES_##name + OBJ_EVENT_MON) diff --git a/include/constants/expansion.h b/include/constants/expansion.h index dee4a3bea1..16a9ab39e4 100644 --- a/include/constants/expansion.h +++ b/include/constants/expansion.h @@ -1,9 +1,9 @@ #ifndef GUARD_CONSTANTS_EXPANSION_H #define GUARD_CONSTANTS_EXPANSION_H -// Last version: 1.10.2 +// Last version: 1.11.0 #define EXPANSION_VERSION_MAJOR 1 -#define EXPANSION_VERSION_MINOR 11 +#define EXPANSION_VERSION_MINOR 12 #define EXPANSION_VERSION_PATCH 0 // FALSE if this this version of Expansion is not a tagged commit, i.e. diff --git a/include/constants/flags.h b/include/constants/flags.h index b1fcae5eb7..aec9ebbd92 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -1648,6 +1648,7 @@ #define FLAG_SPECIAL_FLAG_UNUSED_0x4003 (SPECIAL_FLAGS_START + 0x3) // Unused Flag #define FLAG_STORING_ITEMS_IN_PYRAMID_BAG (SPECIAL_FLAGS_START + 0x4) #define FLAG_SAFE_FOLLOWER_MOVEMENT (SPECIAL_FLAGS_START + 0x5) // When set, applymovement does not put the follower inside a pokeball + // Also, scripted movements on the player will move follower(s), too // FLAG_SPECIAL_FLAG_0x4005 - 0x407F also exist and are unused #define SPECIAL_FLAGS_END (SPECIAL_FLAGS_START + 0x7F) #define NUM_SPECIAL_FLAGS (SPECIAL_FLAGS_END - SPECIAL_FLAGS_START + 1) @@ -1659,4 +1660,16 @@ #define FLAG_TEMP_HIDE_FOLLOWER FLAG_TEMP_E #define FLAG_TEMP_HIDE_MIRAGE_ISLAND_BERRY_TREE FLAG_TEMP_11 +#if TESTING +#define TESTING_FLAGS_START 0x5000 +#define TESTING_FLAG_SLEEP_CLAUSE (TESTING_FLAGS_START + 0x0) +#define TESTING_FLAG_UNUSED_1 (TESTING_FLAGS_START + 0x1) +#define TESTING_FLAG_UNUSED_2 (TESTING_FLAGS_START + 0x2) +#define TESTING_FLAG_UNUSED_3 (TESTING_FLAGS_START + 0x3) +#define TESTING_FLAG_UNUSED_4 (TESTING_FLAGS_START + 0x4) +#define TESTING_FLAG_UNUSED_5 (TESTING_FLAGS_START + 0x5) +#define TESTING_FLAG_UNUSED_6 (TESTING_FLAGS_START + 0x6) +#define TESTING_FLAG_UNUSED_7 (TESTING_FLAGS_START + 0x7) +#endif // TESTING + #endif // GUARD_CONSTANTS_FLAGS_H diff --git a/include/constants/vars.h b/include/constants/vars.h index 5ce02c1467..aac52dec0e 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -324,4 +324,16 @@ #define VAR_TEMP_TRANSFERRED_SPECIES VAR_TEMP_1 +#if TESTING +#define TESTING_VARS_START 0x9000 +#define TESTING_VAR_DIFFICULTY (TESTING_VARS_START + 0x0) +#define TESTING_VAR_UNUSED_1 (TESTING_VARS_START + 0x1) +#define TESTING_VAR_UNUSED_2 (TESTING_VARS_START + 0x2) +#define TESTING_VAR_UNUSED_3 (TESTING_VARS_START + 0x3) +#define TESTING_VAR_UNUSED_4 (TESTING_VARS_START + 0x4) +#define TESTING_VAR_UNUSED_5 (TESTING_VARS_START + 0x5) +#define TESTING_VAR_UNUSED_6 (TESTING_VARS_START + 0x6) +#define TESTING_VAR_UNUSED_7 (TESTING_VARS_START + 0x7) +#endif // TESTING + #endif // GUARD_CONSTANTS_VARS_H diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 7b71871a9f..0170baf910 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -178,6 +178,7 @@ u8 GetWalkInPlaceFastMovementAction(u32); u8 GetWalkInPlaceNormalMovementAction(u32); u8 GetWalkInPlaceSlowMovementAction(u32); u8 GetCollisionAtCoords(struct ObjectEvent *, s16 x, s16 y, u32 dir); +u32 GetObjectObjectCollidesWith(struct ObjectEvent *objectEvent, s16 x, s16 y, bool32 addCoords); void MoveCoords(u8 direction, s16 *x, s16 *y); bool8 ObjectEventIsHeldMovementActive(struct ObjectEvent *); u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *); diff --git a/include/move.h b/include/move.h index 855dba10c3..5537840703 100644 --- a/include/move.h +++ b/include/move.h @@ -104,7 +104,9 @@ struct MoveInfo bool32 parentalBondBanned:1; bool32 skyBattleBanned:1; bool32 sketchBanned:1; - u32 padding:19; + //Other + bool32 validApprenticeMove:1; + u32 padding:3; // end of word union { diff --git a/include/reshow_battle_screen.h b/include/reshow_battle_screen.h index 07958bf6c0..59f9c79106 100644 --- a/include/reshow_battle_screen.h +++ b/include/reshow_battle_screen.h @@ -3,6 +3,7 @@ void ReshowBattleScreenDummy(void); void ReshowBattleScreenAfterMenu(void); +void ReshowBlankBattleScreenAfterMenu(void); void CreateBattlerSprite(u32 battler); #endif // GUARD_RESHOW_BATTLE_SCREEN_H diff --git a/src/apprentice.c b/src/apprentice.c index 66011fe76c..7769dde6e3 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -339,7 +339,7 @@ static u16 GetRandomAlternateMove(u8 monId) numLearnsetMoves = j; i = 0; - // i < 5 here is arbitrary, i isnt used and is only incremented when the selected move isnt in sValidApprenticeMoves + // i < 5 here is arbitrary, i isn't used and is only incremented when the selected move isn't valid (determined by the validApprenticeMove value) // This while loop contains 3 potential infinite loops, though none of them would occur in the base game while (i < 5) { @@ -411,7 +411,7 @@ static u16 GetRandomAlternateMove(u8 monId) if (TrySetMove(monId, moveId)) { - if (sValidApprenticeMoves[moveId]) + if (gMovesInfo[moveId].validApprenticeMove) break; i++; } diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 2e35789d99..c45f6dfde7 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -893,10 +893,10 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) // target ability checks if (!DoesBattlerIgnoreAbilityChecks(battlerAtk, aiData->abilities[battlerAtk], move)) { - if (CanAbilityBlockMove(battlerAtk, battlerDef, move, aiData->abilities[battlerDef], FALSE)) + if (CanAbilityBlockMove(battlerAtk, battlerDef, move, aiData->abilities[battlerDef], ABILITY_CHECK_TRIGGER)) RETURN_SCORE_MINUS(20); - if (CanAbilityAbsorbMove(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, moveType, FALSE)) + if (CanAbilityAbsorbMove(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, moveType, ABILITY_CHECK_TRIGGER)) RETURN_SCORE_MINUS(20); switch (aiData->abilities[battlerDef]) @@ -2112,7 +2112,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) if (isDoubleBattle) { - if (IsHazardMoveEffect(GetMoveEffect(aiData->partnerMove)) // partner is going to set up hazards + if (IsHazardMove(aiData->partnerMove) // partner is going to set up hazards && AI_IsFaster(BATTLE_PARTNER(battlerAtk), battlerAtk, aiData->partnerMove)) // partner is going to set up before the potential Defog { ADJUST_SCORE(-10); @@ -2349,9 +2349,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) } break; case EFFECT_NATURAL_GIFT: - if (aiData->abilities[battlerAtk] == ABILITY_KLUTZ - || gFieldStatuses & STATUS_FIELD_MAGIC_ROOM - || GetPocketByItemId(gBattleMons[battlerAtk].item) != POCKET_BERRIES) + if (!IsBattlerItemEnabled(battlerAtk) || GetPocketByItemId(gBattleMons[battlerAtk].item) != POCKET_BERRIES) ADJUST_SCORE(-10); break; case EFFECT_GRASSY_TERRAIN: @@ -2458,9 +2456,8 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) } break; case EFFECT_EMBARGO: - if (aiData->abilities[battlerDef] == ABILITY_KLUTZ - || gFieldStatuses & STATUS_FIELD_MAGIC_ROOM - || gStatuses3[battlerDef] & STATUS3_EMBARGO + if (!IsBattlerItemEnabled(battlerAtk) + || gStatuses3[battlerDef] & STATUS3_EMBARGO || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) ADJUST_SCORE(-10); break; @@ -2706,7 +2703,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) } // move effect checks // Choice items - if (HOLD_EFFECT_CHOICE(aiData->holdEffects[battlerAtk]) && gBattleMons[battlerAtk].ability != ABILITY_KLUTZ) + if (HOLD_EFFECT_CHOICE(aiData->holdEffects[battlerAtk]) && IsBattlerItemEnabled(battlerAtk)) { // Don't use user-target moves ie. Swords Dance, with exceptions if ((moveTarget & MOVE_TARGET_USER) @@ -3295,6 +3292,34 @@ static s32 AI_CompareDamagingMoves(u32 battlerAtk, u32 battlerDef, u32 currId) return score; } +static u32 AI_CalcHoldEffectMoveScore(u32 battlerAtk, u32 battlerDef, u32 move) +{ + struct AiLogicData *aiData = AI_DATA; + u32 holdEffect = aiData->holdEffects[battlerAtk]; + + s32 score = 0; + + switch (holdEffect) + { + case HOLD_EFFECT_BLUNDER_POLICY: + { + u32 moveAcc = aiData->moveAccuracy[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex]; + + if (moveAcc <= LOW_ACCURACY_THRESHOLD) + { + ADJUST_SCORE(GOOD_EFFECT); + } + else + { + ADJUST_SCORE(-DECENT_EFFECT); + } + } + break; + } + + return score; +} + static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) { // move data @@ -3341,6 +3366,12 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_BIG_ROOT && effectiveness >= UQ_4_12(1.0)) ADJUST_SCORE(DECENT_EFFECT); break; + case EFFECT_DREAM_EATER: + case EFFECT_STRENGTH_SAP: + case EFFECT_AQUA_RING: + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_BIG_ROOT) + ADJUST_SCORE(DECENT_EFFECT); + break; case EFFECT_EXPLOSION: case EFFECT_MEMENTO: if (AI_THINKING_STRUCT->aiFlags[battlerAtk] & AI_FLAG_WILL_SUICIDE && gBattleMons[battlerDef].statStages[STAT_EVASION] < 7) @@ -3562,8 +3593,6 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) case EFFECT_MOONLIGHT: if (ShouldRecover(battlerAtk, battlerDef, move, 50)) ADJUST_SCORE(GOOD_EFFECT); - if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_BIG_ROOT) - ADJUST_SCORE(DECENT_EFFECT); break; case EFFECT_TOXIC: case EFFECT_POISON: @@ -3622,7 +3651,8 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) break; case EFFECT_SUBSTITUTE: case EFFECT_SHED_TAIL: - IncreaseSubstituteMoveScore(battlerAtk, battlerDef, move, &score); + ADJUST_SCORE(IncreaseSubstituteMoveScore(battlerAtk, battlerDef, move)); + break; case EFFECT_MIMIC: if (AI_IsFaster(battlerAtk, battlerDef, move)) { @@ -3638,7 +3668,8 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) || aiData->abilities[battlerDef] == ABILITY_MAGIC_GUARD) break; ADJUST_SCORE(GOOD_EFFECT); - if (!HasDamagingMove(battlerDef) || IsBattlerTrapped(battlerDef, FALSE)) + if (!HasDamagingMove(battlerDef) || IsBattlerTrapped(battlerDef, FALSE) + || aiData->holdEffects[battlerAtk] == HOLD_EFFECT_BIG_ROOT) ADJUST_SCORE(DECENT_EFFECT); break; case EFFECT_DO_NOTHING: @@ -3987,7 +4018,7 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) { if (isDoubleBattle) { - if (IsHazardMoveEffect(GetMoveEffect(aiData->partnerMove)) // Partner is going to set up hazards + if (IsHazardMove(aiData->partnerMove) // Partner is going to set up hazards && AI_IsSlower(battlerAtk, BATTLE_PARTNER(battlerAtk), move)) // Partner going first break; // Don't use Defog if partner is going to set up hazards } @@ -4831,6 +4862,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score } ADJUST_SCORE(AI_CalcMoveEffectScore(battlerAtk, battlerDef, move)); + ADJUST_SCORE(AI_CalcHoldEffectMoveScore(battlerAtk, battlerDef, move)); return score; } diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 908568769e..ef8f45fb17 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -125,6 +125,20 @@ static bool32 IsAceMon(u32 battler, u32 monPartyId) return FALSE; } +static bool32 AreStatsRaised(u32 battler) +{ + u8 buffedStatsValue = 0; + s32 i; + + for (i = 0; i < NUM_BATTLE_STATS; i++) + { + if (gBattleMons[battler].statStages[i] > DEFAULT_STAT_STAGE) + buffedStatsValue += gBattleMons[battler].statStages[i] - DEFAULT_STAT_STAGE; + } + + return (buffedStatsValue > STAY_IN_STATS_RAISED); +} + void GetAIPartyIndexes(u32 battler, s32 *firstId, s32 *lastId) { if (BATTLE_TWO_VS_ONE_OPPONENT && (battler & BIT_SIDE) == B_SIDE_OPPONENT) @@ -408,7 +422,7 @@ static bool32 FindMonThatAbsorbsOpponentsMove(u32 battler) s32 firstId; s32 lastId; struct Pokemon *party; - u16 monAbility; + u16 monAbility, aiMove; u32 opposingBattler = GetOppositeBattler(battler); u32 incomingMove = AI_DATA->lastUsedMove[opposingBattler]; u32 incomingType = GetMoveType(incomingMove); @@ -421,9 +435,25 @@ static bool32 FindMonThatAbsorbsOpponentsMove(u32 battler) return FALSE; if (gBattleStruct->prevTurnSpecies[battler] != gBattleMons[battler].species) // AI mon has changed, player's behaviour no longer reliable; note to override this if using AI_FLAG_PREDICT_MOVE return FALSE; - if (HasSuperEffectiveMoveAgainstOpponents(battler, TRUE) && (RandomPercentage(RNG_AI_SWITCH_ABSORBING_STAY_IN, STAY_IN_ABSORBING_PERCENTAGE) || AI_DATA->aiSwitchPredictionInProgress)) return FALSE; + if (AreStatsRaised(battler)) + return FALSE; + + // Don't switch if mon could OHKO + for (i = 0; i < MAX_MON_MOVES; i++) + { + aiMove = gBattleMons[battler].moves[i]; + if (aiMove != MOVE_NONE) + { + // Only check damage if it's a damaging move + if (!IsBattleMoveStatus(aiMove)) + { + if (AI_DATA->simulatedDmg[battler][opposingBattler][i].expected > gBattleMons[opposingBattler].hp) + return FALSE; + } + } + } if (IsDoubleBattle()) { @@ -593,6 +623,10 @@ static bool32 ShouldSwitchIfBadlyStatused(u32 battler) { switchMon = TRUE; + // If we don't have a good switchin, not worth switching + if (AI_DATA->mostSuitableMonId[battler] == PARTY_SIZE) + switchMon = FALSE; + // Check if Active Pokemon can KO opponent instead of switching // Will still fall asleep, but take out opposing Pokemon first if (AiExpectsToFaintPlayer(battler)) @@ -626,7 +660,8 @@ static bool32 ShouldSwitchIfBadlyStatused(u32 battler) // Secondary Damage if (monAbility != ABILITY_MAGIC_GUARD - && !AiExpectsToFaintPlayer(battler)) + && !AiExpectsToFaintPlayer(battler) + && AI_DATA->mostSuitableMonId[battler] != PARTY_SIZE) { //Toxic if (((gBattleMons[battler].status1 & STATUS1_TOXIC_COUNTER) >= STATUS1_TOXIC_TURN(2)) @@ -654,6 +689,7 @@ static bool32 ShouldSwitchIfBadlyStatused(u32 battler) // Infatuation if (gBattleMons[battler].status2 & STATUS2_INFATUATION && !AiExpectsToFaintPlayer(battler) + && AI_DATA->mostSuitableMonId[battler] != PARTY_SIZE && RandomPercentage(RNG_AI_SWITCH_INFATUATION, GetSwitchChance(SHOULD_SWITCH_INFATUATION))) return SetSwitchinAndSwitch(battler, PARTY_SIZE); } @@ -756,20 +792,6 @@ static bool32 HasSuperEffectiveMoveAgainstOpponents(u32 battler, bool32 noRng) return FALSE; } -static bool32 AreStatsRaised(u32 battler) -{ - u8 buffedStatsValue = 0; - s32 i; - - for (i = 0; i < NUM_BATTLE_STATS; i++) - { - if (gBattleMons[battler].statStages[i] > DEFAULT_STAT_STAGE) - buffedStatsValue += gBattleMons[battler].statStages[i] - DEFAULT_STAT_STAGE; - } - - return (buffedStatsValue > 3); -} - static bool32 FindMonWithFlagsAndSuperEffective(u32 battler, u16 flags, u32 percentChance) { u32 battlerIn1, battlerIn2; @@ -902,14 +924,8 @@ static bool32 CanMonSurviveHazardSwitchin(u32 battler) for (j = 0; j < MAX_MON_MOVES; j++) { aiMove = GetMonData(&party[i], MON_DATA_MOVE1 + j, NULL); - u32 aiEffect = GetMoveEffect(aiMove); - if (aiEffect == EFFECT_RAPID_SPIN - || (B_DEFOG_EFFECT_CLEARING >= GEN_6 && aiEffect == EFFECT_DEFOG) - || aiEffect == EFFECT_TIDY_UP) - { - // Have a mon that can clear the hazards, so switching out is okay + if (IsHazardClearingMove(aiMove)) // Have a mon that can clear the hazards, so switching out is okay return TRUE; - } } } // Faints to hazards and party can't clear them, don't switch out @@ -950,7 +966,7 @@ static bool32 ShouldSwitchIfBadChoiceLock(u32 battler) { u32 holdEffect = GetBattlerHoldEffect(battler, FALSE); - if (HOLD_EFFECT_CHOICE(holdEffect) && gBattleMons[battler].ability != ABILITY_KLUTZ) + if (HOLD_EFFECT_CHOICE(holdEffect) && IsBattlerItemEnabled(battler)) { if (GetMoveCategory(AI_DATA->lastUsedMove[battler]) == DAMAGE_CATEGORY_STATUS && RandomPercentage(RNG_AI_SWITCH_CHOICE_LOCKED, GetSwitchChance(SHOULD_SWITCH_CHOICE_LOCKED))) return SetSwitchinAndSwitch(battler, PARTY_SIZE); @@ -1005,6 +1021,23 @@ static bool32 ShouldSwitchIfAttackingStatsLowered(u32 battler) return FALSE; } +static bool32 HasGoodSubstituteMove(u32 battler) +{ + int i; + u32 aiMove, aiMoveEffect, opposingBattler = GetOppositeBattler(battler); + for (i = 0; i < MAX_MON_MOVES; i++) + { + aiMove = gBattleMons[battler].moves[i]; + aiMoveEffect = GetMoveEffect(aiMove); + if (IsSubstituteEffect(aiMoveEffect)) + { + if (IncreaseSubstituteMoveScore(battler, opposingBattler, aiMove) > 0) + return TRUE; + } + } + return FALSE; +} + bool32 ShouldSwitch(u32 battler) { u32 battlerIn1, battlerIn2; @@ -1069,19 +1102,21 @@ bool32 ShouldSwitch(u32 battler) return FALSE; // NOTE: The sequence of the below functions matter! Do not change unless you have carefully considered the outcome. - // Since the order is sequencial, and some of these functions prompt switch to specific party members. + // Since the order is sequential, and some of these functions prompt switch to specific party members. + + // FindMon functions can prompt a switch to specific party members that override GetMostSuitableMonToSwitchInto + // The rest can prompt a switch to party member returned by GetMostSuitableMonToSwitchInto - // These Functions can prompt switch to specific party members that override GetMostSuitableMonToSwitchInto if (FindMonThatHitsWonderGuard(battler)) return TRUE; - if (FindMonThatAbsorbsOpponentsMove(battler)) - return TRUE; - - // These Functions can prompt switch to party member returned by GetMostSuitableMonToSwitchInto if ((AI_THINKING_STRUCT->aiFlags[GetThinkingBattler(battler)] & AI_FLAG_SMART_SWITCHING) && (CanMonSurviveHazardSwitchin(battler) == FALSE)) return FALSE; + if (HasGoodSubstituteMove(battler)) + return FALSE; if (ShouldSwitchIfTrapperInParty(battler)) return TRUE; + if (FindMonThatAbsorbsOpponentsMove(battler)) + return TRUE; if (ShouldSwitchIfOpponentChargingOrInvulnerable(battler)) return TRUE; if (ShouldSwitchIfTruant(battler)) @@ -1344,10 +1379,10 @@ bool32 IsMonGrounded(u16 heldItemEffect, u32 ability, u8 type1, u8 type2) { // List that makes mon not grounded if (type1 == TYPE_FLYING || type2 == TYPE_FLYING || ability == ABILITY_LEVITATE - || (heldItemEffect == HOLD_EFFECT_AIR_BALLOON && ability != ABILITY_KLUTZ)) + || (heldItemEffect == HOLD_EFFECT_AIR_BALLOON && !(ability == ABILITY_KLUTZ || (gFieldStatuses & STATUS_FIELD_MAGIC_ROOM)))) { // List that overrides being off the ground - if ((heldItemEffect == HOLD_EFFECT_IRON_BALL && ability != ABILITY_KLUTZ) || (gFieldStatuses & STATUS_FIELD_GRAVITY) || (gFieldStatuses & STATUS_FIELD_MAGIC_ROOM)) + if ((heldItemEffect == HOLD_EFFECT_IRON_BALL && !(ability == ABILITY_KLUTZ || (gFieldStatuses & STATUS_FIELD_MAGIC_ROOM))) || (gFieldStatuses & STATUS_FIELD_GRAVITY) || (gFieldStatuses & STATUS_FIELD_MAGIC_ROOM)) return TRUE; else return FALSE; diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 59308251c4..f7b5ab9c64 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -423,23 +423,14 @@ static inline s32 DmgRoll(s32 dmg) bool32 IsDamageMoveUnusable(u32 battlerAtk, u32 battlerDef, u32 move, u32 moveType) { struct AiLogicData *aiData = AI_DATA; - u32 battlerDefAbility; - - if (DoesBattlerIgnoreAbilityChecks(battlerAtk, aiData->abilities[battlerAtk], move)) - battlerDefAbility = ABILITY_NONE; - else - battlerDefAbility = aiData->abilities[battlerDef]; - - if (battlerDef == BATTLE_PARTNER(battlerAtk)) - battlerDefAbility = aiData->abilities[battlerDef]; if (gBattleStruct->battlerState[battlerDef].commandingDondozo) return TRUE; - if (CanAbilityBlockMove(battlerAtk, battlerDef, move, aiData->abilities[battlerDef], FALSE)) + if (CanAbilityBlockMove(battlerAtk, battlerDef, move, aiData->abilities[battlerDef], ABILITY_CHECK_TRIGGER)) return TRUE; - if (CanAbilityAbsorbMove(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, moveType, FALSE)) + if (CanAbilityAbsorbMove(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, moveType, ABILITY_CHECK_TRIGGER)) return TRUE; switch (GetMoveEffect(move)) @@ -470,7 +461,7 @@ bool32 IsDamageMoveUnusable(u32 battlerAtk, u32 battlerDef, u32 move, u32 moveTy return TRUE; break; case EFFECT_POLTERGEIST: - if (AI_DATA->items[battlerDef] == ITEM_NONE || gFieldStatuses & STATUS_FIELD_MAGIC_ROOM || battlerDefAbility == ABILITY_KLUTZ) + if (AI_DATA->items[battlerDef] == ITEM_NONE || !IsBattlerItemEnabled(battlerDef)) return TRUE; break; case EFFECT_FIRST_TURN_ONLY: @@ -533,6 +524,20 @@ static inline s32 SetFixedMoveBasePower(u32 battlerAtk, u32 move) return fixedBasePower; } +static inline void AI_StoreBattlerTypes(u32 battlerAtk, u32 *types) +{ + types[0] = gBattleMons[battlerAtk].types[0]; + types[1] = gBattleMons[battlerAtk].types[1]; + types[2] = gBattleMons[battlerAtk].types[2]; +} + +static inline void AI_RestoreBattlerTypes(u32 battlerAtk, u32 *types) +{ + gBattleMons[battlerAtk].types[0] = types[0]; + gBattleMons[battlerAtk].types[1] = types[1]; + gBattleMons[battlerAtk].types[2] = types[2]; +} + static inline void CalcDynamicMoveDamage(struct DamageCalculationData *damageCalcData, s32 *expectedDamage, s32 *minimumDamage, u32 holdEffectAtk, u32 abilityAtk) { u32 move = damageCalcData->move; @@ -658,6 +663,9 @@ struct SimulatedDamage AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u { s32 critChanceIndex, fixedBasePower; + u32 types[3]; + AI_StoreBattlerTypes(battlerAtk, types); + ProteanTryChangeType(battlerAtk, aiData->abilities[battlerAtk], move, moveType); fixedBasePower = SetFixedMoveBasePower(battlerAtk, move); @@ -735,6 +743,8 @@ struct SimulatedDamage AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u aiData->holdEffects[battlerAtk], aiData->abilities[battlerAtk]); } + + AI_RestoreBattlerTypes(battlerAtk, types); } else { @@ -1068,8 +1078,15 @@ s32 AI_WhoStrikesFirst(u32 battlerAI, u32 battler, u32 moveConsidered) u32 abilityAI = AI_DATA->abilities[battlerAI]; u32 abilityPlayer = AI_DATA->abilities[battler]; - if (GetBattleMovePriority(battlerAI, moveConsidered) > 0) + u32 predictedMove = AI_DATA->lastUsedMove[battler]; // TODO update for move prediction + + s8 aiPriority = GetBattleMovePriority(battlerAI, moveConsidered); + s8 playerPriority = GetBattleMovePriority(battler, predictedMove); + + if (aiPriority > playerPriority) return AI_IS_FASTER; + else if (aiPriority < playerPriority) + return AI_IS_SLOWER; speedBattlerAI = GetBattlerTotalSpeedStatArgs(battlerAI, abilityAI, holdEffectAI); speedBattler = GetBattlerTotalSpeedStatArgs(battler, abilityPlayer, holdEffectPlayer); @@ -1445,8 +1462,10 @@ bool32 IsConfusionMoveEffect(u32 moveEffect) } } -bool32 IsHazardMoveEffect(u32 moveEffect) +bool32 IsHazardMove(u32 move) { + // Hazard setting moves like Stealth Rock, Spikes, etc. + u32 i, moveEffect = gMovesInfo[move].effect; switch (moveEffect) { case EFFECT_SPIKES: @@ -1454,9 +1473,48 @@ bool32 IsHazardMoveEffect(u32 moveEffect) case EFFECT_STICKY_WEB: case EFFECT_STEALTH_ROCK: return TRUE; - default: - return FALSE; } + + u32 additionalEffectCount = GetMoveAdditionalEffectCount(move); + for (i = 0; i < additionalEffectCount; i++) + { + const struct AdditionalEffect *additionalEffect = GetMoveAdditionalEffectById(move, i); + switch (additionalEffect->moveEffect) + { + case MOVE_EFFECT_STEELSURGE: + return TRUE; + } + } + return FALSE; +} + +bool32 IsHazardClearingMove(u32 move) +{ + // Hazard clearing effects like Rapid Spin, Tidy Up, etc. + u32 i, moveEffect = gMovesInfo[move].effect; + switch (moveEffect) + { + case EFFECT_RAPID_SPIN: + case EFFECT_TIDY_UP: + return TRUE; + case EFFECT_DEFOG: + if (B_DEFOG_EFFECT_CLEARING >= GEN_6) + return TRUE; + break; + } + + u32 additionalEffectCount = GetMoveAdditionalEffectCount(move); + for (i = 0; i < additionalEffectCount; i++) + { + const struct AdditionalEffect *additionalEffect = GetMoveAdditionalEffectById(move, i); + switch (additionalEffect->moveEffect) + { + case MOVE_EFFECT_DEFOG: + return TRUE; + } + } + + return FALSE; } bool32 IsMoveRedirectionPrevented(u32 battlerAtk, u32 move, u32 atkAbility) @@ -2360,6 +2418,19 @@ bool32 IsSwitchOutEffect(u32 effect) } } +bool32 IsSubstituteEffect(u32 effect) +{ + // Substitute effects like Substitute, Shed Tail, etc. + switch (effect) + { + case EFFECT_SUBSTITUTE: + case EFFECT_SHED_TAIL: + return TRUE; + default: + return FALSE; + } +} + bool32 IsChaseEffect(u32 effect) { // Effects that hit switching out mons like Pursuit @@ -2931,7 +3002,7 @@ bool32 IsBattlerIncapacitated(u32 battler, u32 ability) if ((gBattleMons[battler].status1 & STATUS1_FREEZE) && !HasThawingMove(battler)) return TRUE; // if battler has thawing move we assume they will definitely use it, and thus being frozen should be neglected - if (gBattleMons[battler].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP && !HasMoveEffect(battler, EFFECT_SLEEP_TALK)) return TRUE; if (gBattleMons[battler].status2 & STATUS2_RECHARGE || (ability == ABILITY_TRUANT && gDisableStructs[battler].truantCounter != 0)) @@ -3687,6 +3758,20 @@ static const u16 sRecycleEncouragedItems[] = ITEM_CUSTAP_BERRY, ITEM_MENTAL_HERB, ITEM_FOCUS_SASH, + ITEM_SALAC_BERRY, + ITEM_LIECHI_BERRY, + ITEM_AGUAV_BERRY, + ITEM_FIGY_BERRY, + ITEM_IAPAPA_BERRY, + ITEM_MAGO_BERRY, + ITEM_WIKI_BERRY, + ITEM_MENTAL_HERB, + ITEM_POWER_HERB, + ITEM_BERRY_JUICE, + ITEM_WEAKNESS_POLICY, + ITEM_BLUNDER_POLICY, + ITEM_KEE_BERRY, + ITEM_MARANGA_BERRY, // TODO expand this }; @@ -4065,6 +4150,7 @@ bool32 AI_ShouldCopyStatChanges(u32 battlerAtk, u32 battlerDef) case STAT_SPATK: return (HasMoveWithCategory(battlerAtk, DAMAGE_CATEGORY_SPECIAL)); case STAT_ACC: + return (HasLowAccuracyMove(battlerAtk, battlerDef)); case STAT_EVASION: case STAT_SPEED: return TRUE; @@ -4084,7 +4170,10 @@ bool32 AI_ShouldSetUpHazards(u32 battlerAtk, u32 battlerDef, struct AiLogicData if (aiData->abilities[battlerDef] == ABILITY_MAGIC_BOUNCE || CountUsablePartyMons(battlerDef) == 0 || HasMoveEffect(battlerDef, EFFECT_RAPID_SPIN) - || HasMoveEffect(battlerDef, EFFECT_DEFOG)) + || HasMoveEffect(battlerDef, EFFECT_TIDY_UP) + || HasMoveEffect(battlerDef, EFFECT_DEFOG) + || HasMoveWithAdditionalEffect(battlerDef, MOVE_EFFECT_DEFOG) + || HasMoveEffect(battlerDef, EFFECT_MAGIC_COAT)) return FALSE; return TRUE; @@ -4147,31 +4236,32 @@ bool32 AI_ShouldSpicyExtract(u32 battlerAtk, u32 battlerAtkPartner, u32 move, st && HasMoveWithCategory(battlerAtkPartner, DAMAGE_CATEGORY_PHYSICAL)); } -void IncreaseSubstituteMoveScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score) +u32 IncreaseSubstituteMoveScore(u32 battlerAtk, u32 battlerDef, u32 move) { u32 effect = GetMoveEffect(move); + u32 scoreIncrease = 0; if (effect == EFFECT_SUBSTITUTE) // Substitute specific { if (HasAnyKnownMove(battlerDef) && GetBestDmgFromBattler(battlerDef, battlerAtk) < gBattleMons[battlerAtk].maxHP / 4) - ADJUST_SCORE_PTR(GOOD_EFFECT); + scoreIncrease += GOOD_EFFECT; } else if (effect == EFFECT_SHED_TAIL) // Shed Tail specific { if ((ShouldPivot(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_THINKING_STRUCT->movesetIndex)) && (HasAnyKnownMove(battlerDef) && (GetBestDmgFromBattler(battlerDef, battlerAtk) < gBattleMons[battlerAtk].maxHP / 2))) - ADJUST_SCORE_PTR(BEST_EFFECT); + scoreIncrease += BEST_EFFECT; } if (gStatuses3[battlerDef] & STATUS3_PERISH_SONG) - ADJUST_SCORE_PTR(GOOD_EFFECT); + scoreIncrease += GOOD_EFFECT; if (gBattleMons[battlerDef].status1 & STATUS1_SLEEP) - ADJUST_SCORE_PTR(GOOD_EFFECT); + scoreIncrease += GOOD_EFFECT; else if (gBattleMons[battlerDef].status1 & (STATUS1_BURN | STATUS1_PSN_ANY | STATUS1_FROSTBITE)) - ADJUST_SCORE_PTR(DECENT_EFFECT); + scoreIncrease += DECENT_EFFECT; if (IsBattlerPredictedToSwitch(battlerDef)) - ADJUST_SCORE(DECENT_EFFECT); + scoreIncrease += DECENT_EFFECT; if (HasMoveEffect(battlerDef, EFFECT_SLEEP) || HasMoveEffect(battlerDef, EFFECT_TOXIC) @@ -4180,8 +4270,33 @@ void IncreaseSubstituteMoveScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 * || HasMoveEffect(battlerDef, EFFECT_WILL_O_WISP) || HasMoveEffect(battlerDef, EFFECT_CONFUSE) || HasMoveEffect(battlerDef, EFFECT_LEECH_SEED)) - ADJUST_SCORE_PTR(GOOD_EFFECT); + scoreIncrease += GOOD_EFFECT; if (AI_DATA->hpPercents[battlerAtk] > 70) - ADJUST_SCORE_PTR(WEAK_EFFECT); + scoreIncrease += WEAK_EFFECT; + return scoreIncrease; +} + +bool32 HasLowAccuracyMove(u32 battlerAtk, u32 battlerDef) +{ + int i; + for (i = 0; i < MAX_MON_MOVES; i++) + { + if (AI_DATA->moveAccuracy[battlerAtk][battlerDef][i] <= LOW_ACCURACY_THRESHOLD) + return TRUE; + } + return FALSE; +} + +bool32 IsBattlerItemEnabled(u32 battler) +{ + if (AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_NEGATE_UNAWARE) + return TRUE; + if (gFieldStatuses & STATUS_FIELD_MAGIC_ROOM) + return FALSE; + if (gStatuses3[battler] & STATUS3_EMBARGO) + return FALSE; + if (gBattleMons[battler].ability == ABILITY_KLUTZ && !(gStatuses3[battler] & STATUS3_GASTRO_ACID)) + return FALSE; + return TRUE; } diff --git a/src/battle_anim.c b/src/battle_anim.c index 38648310a7..eb0e2af560 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -304,7 +304,7 @@ void DoMoveAnim(u16 move) // Make sure the anim target of moves hitting everyone is at the opposite side. if (GetBattlerMoveTargetType(gBattlerAttacker, move) & MOVE_TARGET_FOES_AND_ALLY && IsDoubleBattle()) { - while (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) + while (IsBattlerAlly(gBattleAnimAttacker, gBattleAnimTarget)) { if (++gBattleAnimTarget >= MAX_BATTLERS_COUNT) gBattleAnimTarget = 0; @@ -563,7 +563,7 @@ static u8 GetBattleAnimMoveTargets(u8 battlerArgIndex, u8 *targets) case MOVE_TARGET_BOTH: // all opponents for (i = 0; i < gBattlersCount; i++) { - if (i != ignoredTgt && !IsAlly(i, ignoredTgt) && IS_ALIVE_AND_PRESENT(i)) + if (i != ignoredTgt && !IsBattlerAlly(i, ignoredTgt) && IS_ALIVE_AND_PRESENT(i)) targets[numTargets++] = i + MAX_BATTLERS_COUNT; } break; @@ -2157,8 +2157,7 @@ static void Cmd_teamattack_moveback(void) sBattleAnimScriptPtr += 2; // Apply to double battles when attacking own side - if (!IsContest() && IsDoubleBattle() - && GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) + if (!IsContest() && IsDoubleBattle() && IsBattlerAlly(gBattleAnimAttacker, gBattleAnimTarget)) { if (wantedBattler == ANIM_ATTACKER) { @@ -2195,7 +2194,7 @@ static void Cmd_teamattack_movefwd(void) // Apply to double battles when attacking own side if (!IsContest() && IsDoubleBattle() - && GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) + && IsBattlerAlly(gBattleAnimAttacker, gBattleAnimTarget)) { if (wantedBattler == ANIM_ATTACKER) { diff --git a/src/battle_anim_bug.c b/src/battle_anim_bug.c index e897290768..19e201a45e 100644 --- a/src/battle_anim_bug.c +++ b/src/battle_anim_bug.c @@ -389,7 +389,7 @@ void AnimTranslateStinger(struct Sprite *sprite) } } - if (!IsContest() && GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) + if (!IsContest() && IsBattlerAlly(gBattleAnimAttacker, gBattleAnimTarget)) { if (GetBattlerPosition(gBattleAnimTarget) == B_POSITION_PLAYER_LEFT || GetBattlerPosition(gBattleAnimTarget) == B_POSITION_OPPONENT_LEFT) diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index ca322e222f..4162447094 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -4022,7 +4022,7 @@ static const union AffineAnimCmd *const sAffineAnims_TeraStarstormBeamRing[] = sAffineAnim_TeraStarstormBeamRing, }; -const struct SpriteTemplate gTeraStarstormBeamSpriteTemplate = +const struct SpriteTemplate gTeraStarstormBeamSpriteTemplate = { .tileTag = ANIM_TAG_STARSTORM, .paletteTag = ANIM_TAG_STARSTORM, @@ -4170,7 +4170,7 @@ void AnimTranslateLinearSingleSineWave(struct Sprite *sprite) sprite->data[5] = gBattleAnimArgs[5]; InitAnimArcTranslation(sprite); - if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) + if (IsBattlerAlly(gBattleAnimAttacker, gBattleAnimTarget)) sprite->data[0] = 1; else sprite->data[0] = 0; @@ -6845,10 +6845,12 @@ static void TrySwapWishBattlerIds(u32 battlerAtk, u32 battlerPartner) // if used future sight on opposing side, properly track who used it if (gSideStatuses[oppSide] & SIDE_STATUS_FUTUREATTACK) { + u32 battlerAtkSide = GetBattlerSide(battlerAtk); for (i = 0; i < gBattlersCount; i++) { - if (IsAlly(i,battlerAtk)) + if (battlerAtkSide == GetBattlerSide(i)) continue; // only on opposing side + if (gWishFutureKnock.futureSightBattlerIndex[i] == battlerAtk) { // if target was attacked with future sight from us, now they'll be the partner slot diff --git a/src/battle_anim_fire.c b/src/battle_anim_fire.c index 401cc09eaf..b67304e05e 100644 --- a/src/battle_anim_fire.c +++ b/src/battle_anim_fire.c @@ -717,7 +717,7 @@ static void AnimSunlight(struct Sprite *sprite) // arg 6: ? (todo: something related to which mon the pixel offsets are based on) static void AnimEmberFlare(struct Sprite *sprite) { - if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget) + if (IsBattlerAlly(gBattleAnimAttacker, gBattleAnimTarget) && (gBattleAnimAttacker == GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT) || gBattleAnimAttacker == GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT))) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; diff --git a/src/battle_anim_new.c b/src/battle_anim_new.c index f344b711d6..3386570885 100644 --- a/src/battle_anim_new.c +++ b/src/battle_anim_new.c @@ -8896,7 +8896,7 @@ static void SpriteCB_AnimSpriteOnTargetSideCentre(struct Sprite *sprite) if (!sprite->data[0]) { - if (IsAlly(gBattleAnimAttacker, target)) + if (IsBattlerAlly(gBattleAnimAttacker, target)) { if (IsDoubleBattle()) InitSpritePosToAnimAttackersCentre(sprite, FALSE); @@ -9072,7 +9072,7 @@ static void SpriteCB_DragonEnergyShot(struct Sprite* sprite) u8 def1 = gBattleAnimTarget; u8 def2 = BATTLE_PARTNER(def1); - if (!IsDoubleBattle() || IsAlly(gBattleAnimAttacker, gBattleAnimTarget)) + if (!IsDoubleBattle() || IsBattlerAlly(gBattleAnimAttacker, gBattleAnimTarget)) y = GetBattlerSpriteCoord(def1, BATTLER_COORD_Y_PIC_OFFSET); else { @@ -9172,7 +9172,7 @@ static void SpriteCB_GlacialLance(struct Sprite* sprite) sprite->data[0] = gBattleAnimArgs[6]; - if (!IsDoubleBattle() || IsAlly(gBattleAnimAttacker, gBattleAnimTarget)) + if (!IsDoubleBattle() || IsBattlerAlly(gBattleAnimAttacker, gBattleAnimTarget)) { sprite->data[2] = GetBattlerSpriteCoord(def1, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; //Converge on target sprite->data[4] = GetBattlerSpriteCoord(def1, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; diff --git a/src/battle_anim_psychic.c b/src/battle_anim_psychic.c index 0b4b67f3b7..b7e023c9ad 100644 --- a/src/battle_anim_psychic.c +++ b/src/battle_anim_psychic.c @@ -501,7 +501,7 @@ static void AnimPsychoCut(struct Sprite *sprite) } } - if (!IsContest() && GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) + if (!IsContest() && IsBattlerAlly(gBattleAnimAttacker, gBattleAnimTarget)) { if (GetBattlerPosition(gBattleAnimTarget) == B_POSITION_PLAYER_LEFT || GetBattlerPosition(gBattleAnimTarget) == B_POSITION_OPPONENT_LEFT) diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index f746f186aa..9090893fda 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -403,7 +403,7 @@ void AnimTask_CentredFrozenIceCube(u8 taskId) u8 battler1 = gBattleAnimTarget; u8 battler2 = BATTLE_PARTNER(battler1); - if (!IsDoubleBattle() || IsAlly(gBattleAnimAttacker, gBattleAnimTarget)) + if (!IsDoubleBattle() || IsBattlerAlly(gBattleAnimAttacker, gBattleAnimTarget)) { x = GetBattlerSpriteCoord(battler1, BATTLER_COORD_X_2); y = GetBattlerSpriteCoord(battler1, BATTLER_COORD_Y_PIC_OFFSET); diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index 47850bc56a..47642b9fce 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -1036,7 +1036,7 @@ void AnimTask_SetAnimAttackerAndTargetForEffectTgt(u8 taskId) void AnimTask_IsTargetSameSide(u8 taskId) { - if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) + if (IsBattlerAlly(gBattleAnimAttacker, gBattleAnimTarget)) gBattleAnimArgs[ARG_RET_ID] = TRUE; else gBattleAnimArgs[ARG_RET_ID] = FALSE; diff --git a/src/battle_anim_water.c b/src/battle_anim_water.c index 4265e8d03c..57053ef043 100644 --- a/src/battle_anim_water.c +++ b/src/battle_anim_water.c @@ -940,7 +940,7 @@ static void AnimHydroCannonBeam(struct Sprite *sprite) { bool8 animType; u8 coordType; - if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) + if (IsBattlerAlly(gBattleAnimAttacker, gBattleAnimTarget)) { gBattleAnimArgs[0] *= -1; if (GetBattlerPosition(gBattleAnimAttacker) == B_POSITION_PLAYER_LEFT || GetBattlerPosition(gBattleAnimAttacker) == B_POSITION_OPPONENT_LEFT) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 28e572d1a5..38fb304ac1 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -560,7 +560,7 @@ static void OpponentHandleChooseMove(u32 battler) default: { u16 chosenMove = moveInfo->moves[chosenMoveId]; - if (GetBattlerMoveTargetType(battler, chosenMove) & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) + if (GetBattlerMoveTargetType(battler, chosenMove) & MOVE_TARGET_USER) gBattlerTarget = battler; if (GetBattlerMoveTargetType(battler, chosenMove) & MOVE_TARGET_BOTH) { @@ -595,7 +595,7 @@ static void OpponentHandleChooseMove(u32 battler) move = moveInfo->moves[chosenMoveId]; } while (move == MOVE_NONE); - if (GetBattlerMoveTargetType(battler, move) & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) + if (GetBattlerMoveTargetType(battler, move) & MOVE_TARGET_USER) BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveId) | (battler << 8)); else if (IsDoubleBattle()) { diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index fee5c963e2..5bac769eb6 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -495,8 +495,6 @@ void HandleInputChooseTarget(u32 battler) case B_POSITION_PLAYER_RIGHT: if (battler != gMultiUsePlayerCursor) i++; - else if (moveTarget & MOVE_TARGET_USER_OR_SELECTED) - i++; break; case B_POSITION_OPPONENT_LEFT: case B_POSITION_OPPONENT_RIGHT: @@ -505,7 +503,8 @@ void HandleInputChooseTarget(u32 battler) } if (gAbsentBattlerFlags & (1u << gMultiUsePlayerCursor) - || !CanTargetBattler(battler, gMultiUsePlayerCursor, move)) + || !CanTargetBattler(battler, gMultiUsePlayerCursor, move) + || (moveTarget & MOVE_TARGET_OPPONENT && GetBattlerSide(gMultiUsePlayerCursor) == B_SIDE_PLAYER)) i = 0; } while (i == 0); } @@ -545,8 +544,6 @@ void HandleInputChooseTarget(u32 battler) case B_POSITION_PLAYER_RIGHT: if (battler != gMultiUsePlayerCursor) i++; - else if (moveTarget & MOVE_TARGET_USER_OR_SELECTED) - i++; break; case B_POSITION_OPPONENT_LEFT: case B_POSITION_OPPONENT_RIGHT: @@ -555,7 +552,8 @@ void HandleInputChooseTarget(u32 battler) } if (gAbsentBattlerFlags & (1u << gMultiUsePlayerCursor) - || !CanTargetBattler(battler, gMultiUsePlayerCursor, move)) + || !CanTargetBattler(battler, gMultiUsePlayerCursor, move) + || (moveTarget & MOVE_TARGET_OPPONENT && GetBattlerSide(gMultiUsePlayerCursor) == B_SIDE_PLAYER)) i = 0; } while (i == 0); } @@ -690,12 +688,7 @@ void HandleInputChooseMove(u32 battler) else gMultiUsePlayerCursor = GetOpposingSideBattler(battler); - if (!gBattleResources->bufferA[battler][1]) // not a double battle - { - if (moveTarget & MOVE_TARGET_USER_OR_SELECTED && !gBattleResources->bufferA[battler][2]) - canSelectTarget = 1; - } - else // double battle + if (gBattleResources->bufferA[battler][1]) // a double battle { if (!(moveTarget & (MOVE_TARGET_RANDOM | MOVE_TARGET_BOTH | MOVE_TARGET_DEPENDS | MOVE_TARGET_FOES_AND_ALLY | MOVE_TARGET_OPPONENTS_FIELD | MOVE_TARGET_USER | MOVE_TARGET_ALLY))) canSelectTarget = 1; // either selected or user @@ -706,7 +699,7 @@ void HandleInputChooseMove(u32 battler) { canSelectTarget = 0; } - else if (!(moveTarget & (MOVE_TARGET_USER | MOVE_TARGET_USER_OR_SELECTED)) && CountAliveMonsInBattle(BATTLE_ALIVE_EXCEPT_BATTLER, battler) <= 1) + else if (!(moveTarget & MOVE_TARGET_USER) && CountAliveMonsInBattle(BATTLE_ALIVE_EXCEPT_BATTLER, battler) <= 1) { gMultiUsePlayerCursor = GetDefaultMoveTarget(battler); canSelectTarget = 0; @@ -749,7 +742,7 @@ void HandleInputChooseMove(u32 battler) case 1: gBattlerControllerFuncs[battler] = HandleInputChooseTarget; - if (moveTarget & (MOVE_TARGET_USER | MOVE_TARGET_USER_OR_SELECTED)) + if (moveTarget & MOVE_TARGET_USER) gMultiUsePlayerCursor = battler; else if (gAbsentBattlerFlags & (1u << GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT))) gMultiUsePlayerCursor = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index a57bb8e2a5..39c1d25526 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -353,7 +353,7 @@ static void PlayerPartnerHandleChooseMove(u32 battler) gBattlerTarget = gBattleStruct->aiChosenTarget[battler]; u32 moveTarget = GetBattlerMoveTargetType(battler, moveInfo->moves[chosenMoveId]); - if (moveTarget & (MOVE_TARGET_USER | MOVE_TARGET_USER_OR_SELECTED)) + if (moveTarget & MOVE_TARGET_USER) gBattlerTarget = battler; else if (moveTarget & MOVE_TARGET_BOTH) { diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index a71ee9c94f..d70390e926 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -326,7 +326,7 @@ static u8 GetBattlePalaceMoveGroup(u8 battler, u16 move) switch (GetBattlerMoveTargetType(battler, move)) { case MOVE_TARGET_SELECTED: - case MOVE_TARGET_USER_OR_SELECTED: + case MOVE_TARGET_OPPONENT: case MOVE_TARGET_RANDOM: case MOVE_TARGET_BOTH: case MOVE_TARGET_FOES_AND_ALLY: diff --git a/src/battle_gimmick.c b/src/battle_gimmick.c index 540b1af1f1..728ff361a9 100644 --- a/src/battle_gimmick.c +++ b/src/battle_gimmick.c @@ -371,10 +371,10 @@ void UpdateIndicatorLevelData(u32 healthboxId, u32 level) static const s8 sIndicatorPositions[][2] = { - [B_POSITION_PLAYER_LEFT] = {53, -9}, - [B_POSITION_OPPONENT_LEFT] = {44, -9}, - [B_POSITION_PLAYER_RIGHT] = {52, -9}, - [B_POSITION_OPPONENT_RIGHT] = {44, -9}, + [B_POSITION_PLAYER_LEFT] = {49, -9}, + [B_POSITION_OPPONENT_LEFT] = {40, -9}, + [B_POSITION_PLAYER_RIGHT] = {48, -9}, + [B_POSITION_OPPONENT_RIGHT] = {40, -9}, }; void CreateIndicatorSprite(u32 battler) diff --git a/src/battle_main.c b/src/battle_main.c index 54bbb28057..301470f445 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -513,7 +513,8 @@ static void CB2_InitBattleInternal(void) if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && !(gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_EREADER_TRAINER - | BATTLE_TYPE_TRAINER_HILL))) + | BATTLE_TYPE_TRAINER_HILL + | BATTLE_TYPE_RECORDED))) { gBattleTypeFlags |= (IsTrainerDoubleBattle(TRAINER_BATTLE_PARAM.opponentA) ? BATTLE_TYPE_DOUBLE : 0); } @@ -3205,6 +3206,9 @@ void SwitchInClearSetData(u32 battler) gCurrentMove = MOVE_NONE; gBattleStruct->arenaTurnCounter = 0xFF; + // Restore struct member so replacement does not miss timing + gSpecialStatuses[battler].switchInAbilityDone = FALSE; + // Reset damage to prevent things like red card activating if the switched-in mon is holding it gSpecialStatuses[battler].physicalDmg = 0; gSpecialStatuses[battler].specialDmg = 0; @@ -3875,7 +3879,7 @@ static void TryDoEventsBeforeFirstTurn(void) gBattleStruct->monToSwitchIntoId[i] = PARTY_SIZE; gChosenActionByBattler[i] = B_ACTION_NONE; gChosenMoveByBattler[i] = MOVE_NONE; - gBattleStruct->battlerState[i].absentBattlerFlags = gAbsentBattlerFlags & (1u << i); + gBattleStruct->battlerState[i].absentBattlerFlags = (gAbsentBattlerFlags & (1u << i) ? TRUE : FALSE); } TurnValuesCleanUp(FALSE); SpecialStatusesClear(); @@ -3985,7 +3989,7 @@ void BattleTurnPassed(void) { gChosenActionByBattler[i] = B_ACTION_NONE; gChosenMoveByBattler[i] = MOVE_NONE; - gBattleStruct->battlerState[i].absentBattlerFlags = gAbsentBattlerFlags & (1u << i); + gBattleStruct->battlerState[i].absentBattlerFlags = (gAbsentBattlerFlags & (1u << i) ? TRUE : FALSE); gBattleStruct->monToSwitchIntoId[i] = PARTY_SIZE; gStatuses4[i] &= ~STATUS4_ELECTRIFIED; gBattleMons[i].status2 &= ~STATUS2_FLINCHED; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 8d03b48b31..ce0c56dabf 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -344,6 +344,7 @@ static bool8 CanBurnHitThaw(u16 move); static u32 GetNextTarget(u32 moveTarget, bool32 excludeCurrent); static void TryUpdateEvolutionTracker(u32 evolutionMethod, u32 upAmount, u16 usedMove); static void AccuracyCheck(bool32 recalcDragonDarts, const u8 *nextInstr, const u8 *failInstr, u16 move); +static void ResetValuesForCalledMove(void); static void Cmd_attackcanceler(void); static void Cmd_accuracycheck(void); @@ -1147,19 +1148,6 @@ bool32 ProteanTryChangeType(u32 battler, u32 ability, u32 move, u32 moveType) return FALSE; } -bool32 ShouldTeraShellDistortTypeMatchups(u32 move, u32 battlerDef) -{ - if (!gSpecialStatuses[battlerDef].distortedTypeMatchups - && gBattleMons[battlerDef].species == SPECIES_TERAPAGOS_TERASTAL - && gBattleMons[battlerDef].hp == gBattleMons[battlerDef].maxHP - && !IsBattleMoveStatus(move) - && !(gBattleStruct->moveResultFlags[battlerDef] & MOVE_RESULT_NO_EFFECT) - && GetBattlerAbility(battlerDef) == ABILITY_TERA_SHELL) - return TRUE; - - return FALSE; -} - bool32 IsMoveNotAllowedInSkyBattles(u32 move) { return (gBattleStruct->isSkyBattle && IsMoveSkyBattleBanned(gCurrentMove)); @@ -1209,6 +1197,9 @@ static void Cmd_attackcanceler(void) if (AbilityBattleEffects(ABILITYEFFECT_MOVES_BLOCK, gBattlerTarget, 0, 0, 0)) return; + if (gMovesInfo[gCurrentMove].effect == EFFECT_PARALYZE && AbilityBattleEffects(ABILITYEFFECT_ABSORBING, gBattlerTarget, 0, 0, gCurrentMove)) + return; + if (!gBattleMons[gBattlerAttacker].pp[gCurrMovePos] && gCurrentMove != MOVE_STRUGGLE && !(gHitMarker & (HITMARKER_ALLOW_NO_PP | HITMARKER_NO_ATTACKSTRING | HITMARKER_NO_PPDEDUCT)) && !(gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS)) @@ -2008,10 +1999,21 @@ static void Cmd_critcalc(void) gBattlescriptCurrInstr = cmd->nextInstr; } -static inline void GetShellSideArmCategory(u32 battlerDef) +static inline void CalculateAndSetMoveDamage(struct DamageCalculationData *damageCalcData, u32 battlerDef) { if (GetMoveEffect(gCurrentMove) == EFFECT_SHELL_SIDE_ARM) gBattleStruct->swapDamageCategory = (gBattleStruct->shellSideArmCategory[gBattlerAttacker][battlerDef] != GetMoveCategory(gCurrentMove)); + + damageCalcData->battlerDef = battlerDef; + damageCalcData->isCrit = gSpecialStatuses[battlerDef].criticalHit; + gBattleStruct->moveDamage[battlerDef] = CalculateMoveDamage(damageCalcData, 0); + + // Slighly hacky but we need to check move result flags for distortion match-up as well but it can only be done after damage calcs + if (gSpecialStatuses[battlerDef].distortedTypeMatchups && gBattleStruct->moveResultFlags[battlerDef] & MOVE_RESULT_NO_EFFECT) + { + gSpecialStatuses[battlerDef].distortedTypeMatchups = FALSE; + gSpecialStatuses[battlerDef].teraShellAbilityDone = FALSE; + } } static void Cmd_damagecalc(void) @@ -2043,28 +2045,12 @@ static void Cmd_damagecalc(void) || gBattleStruct->moveResultFlags[battlerDef] & MOVE_RESULT_NO_EFFECT) continue; - if (ShouldTeraShellDistortTypeMatchups(gCurrentMove, battlerDef)) - { - gSpecialStatuses[battlerDef].distortedTypeMatchups = TRUE; - gSpecialStatuses[battlerDef].teraShellAbilityDone = TRUE; - } - GetShellSideArmCategory(battlerDef); - damageCalcData.battlerDef = battlerDef; - damageCalcData.isCrit = gSpecialStatuses[battlerDef].criticalHit; - gBattleStruct->moveDamage[battlerDef] = CalculateMoveDamage(&damageCalcData, 0); + CalculateAndSetMoveDamage(&damageCalcData, battlerDef); } } else { - if (ShouldTeraShellDistortTypeMatchups(gCurrentMove, gBattlerTarget)) - { - gSpecialStatuses[gBattlerTarget].distortedTypeMatchups = TRUE; - gSpecialStatuses[gBattlerTarget].teraShellAbilityDone = TRUE; - } - GetShellSideArmCategory(gBattlerTarget); - damageCalcData.battlerDef = gBattlerTarget; - damageCalcData.isCrit = gSpecialStatuses[gBattlerTarget].criticalHit; - gBattleStruct->moveDamage[gBattlerTarget] = CalculateMoveDamage(&damageCalcData, 0); + CalculateAndSetMoveDamage(&damageCalcData, gBattlerTarget); } gBattlescriptCurrInstr = cmd->nextInstr; @@ -3901,7 +3887,7 @@ void SetMoveEffect(bool32 primary, bool32 certain) gProtectStructs[gBattlerTarget].banefulBunkered = FALSE; gProtectStructs[gBattlerTarget].obstructed = FALSE; gProtectStructs[gBattlerTarget].silkTrapped = FALSE; - gProtectStructs[gBattlerAttacker].burningBulwarked = FALSE; + gProtectStructs[gBattlerTarget].burningBulwarked = FALSE; BattleScriptPush(gBattlescriptCurrInstr + 1); if (gCurrentMove == MOVE_HYPERSPACE_FURY) gBattlescriptCurrInstr = BattleScript_HyperspaceFuryRemoveProtect; @@ -6377,6 +6363,7 @@ static void Cmd_moveend(void) else if (moveRecoil > 0 && !(gBattleStruct->moveResultFlags[gBattlerTarget] & MOVE_RESULT_NO_EFFECT) && IsBattlerAlive(gBattlerAttacker) + && IsBattlerTurnDamaged(gBattlerTarget) && gBattleScripting.savedDmg != 0) // Some checks may be redundant alongside this one { gBattleStruct->moveDamage[gBattlerAttacker] = max(1, gBattleScripting.savedDmg * max(1, moveRecoil) / 100); @@ -7346,7 +7333,7 @@ static void Cmd_moveend(void) else if (IsBattlerAlive(gBattlerTarget)) { gBattlerAttacker = gBattlerTarget; - if (gBattleStruct->pursuitSwitchByMove) + if (gBattleStruct->pursuitStoredSwitch == PARTY_SIZE) gBattlescriptCurrInstr = BattleScript_MoveSwitchOpenPartyScreen; else gBattlescriptCurrInstr = BattleScript_DoSwitchOut; @@ -8747,6 +8734,18 @@ static void Cmd_hidepartystatussummary(void) gBattlescriptCurrInstr = cmd->nextInstr; } +static void ResetValuesForCalledMove(void) +{ + if (gBattlerByTurnOrder[gCurrentTurnActionNumber] != gBattlerAttacker) + gBattleStruct->atkCancellerTracker = 0; + else + SetAtkCancellerForCalledMove(); + gBattleScripting.animTurn = 0; + gBattleScripting.animTargetsHit = 0; + SetTypeBeforeUsingMove(gCurrentMove, gBattlerAttacker); + HandleMoveTargetRedirection(); +} + static void Cmd_jumptocalledmove(void) { CMD_ARGS(bool8 notChosenMove); @@ -8756,6 +8755,8 @@ static void Cmd_jumptocalledmove(void) else gChosenMove = gCurrentMove = gCalledMove; + ResetValuesForCalledMove(); + gBattlescriptCurrInstr = GetMoveBattleScript(gCurrentMove); } @@ -10812,10 +10813,8 @@ static void Cmd_various(void) gBattlescriptCurrInstr = cmd->failInstr; else { - SetTypeBeforeUsingMove(gCalledMove, gBattlerTarget); gEffectBattler = gBattleStruct->lastMoveTarget[gBattlerTarget]; gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED; - gBattleStruct->atkCancellerTracker = 0; PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, battler, gBattlerPartyIndexes[battler]); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -11611,7 +11610,8 @@ static void TryResetProtectUseCounter(u32 battler) u32 lastEffect = GetMoveEffect(lastMove); if (lastMove == MOVE_UNAVAILABLE || (!gBattleMoveEffects[lastEffect].usesProtectCounter - && (B_ALLY_SWITCH_FAIL_CHANCE >= GEN_9 && lastEffect != EFFECT_ALLY_SWITCH))) + && ((B_ALLY_SWITCH_FAIL_CHANCE >= GEN_9 && lastEffect != EFFECT_ALLY_SWITCH) + || B_ALLY_SWITCH_FAIL_CHANCE < GEN_9))) gDisableStructs[battler].protectUses = 0; } @@ -11805,8 +11805,8 @@ static void SetMoveForMirrorMove(u32 move) gCurrentMove = move; } - SetAtkCancellerForCalledMove(); gBattlerTarget = GetBattleMoveTarget(gCurrentMove, NO_TARGET_OVERRIDE); + ResetValuesForCalledMove(); gBattlescriptCurrInstr = GetMoveBattleScript(gCurrentMove); } @@ -12490,7 +12490,7 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr // Check Mirror Herb / Opportunist for (index = 0; index < gBattlersCount; index++) { - if (GetBattlerSide(index) == GetBattlerSide(battler)) + if (IsBattlerAlly(index, battler)) continue; // Only triggers on opposing side if (GetBattlerAbility(index) == ABILITY_OPPORTUNIST @@ -12615,7 +12615,6 @@ static void Cmd_forcerandomswitch(void) { CMD_ARGS(const u8 *failInstr); - s32 i; s32 battler1PartyId = 0; s32 battler2PartyId = 0; @@ -12750,7 +12749,7 @@ static void Cmd_forcerandomswitch(void) battler1PartyId = gBattlerPartyIndexes[gBattlerTarget]; } - for (i = firstMonId; i < lastMonId; i++) + for (u32 i = firstMonId; i < lastMonId; i++) { if (GetMonData(&party[i], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&party[i], MON_DATA_IS_EGG) @@ -12781,12 +12780,12 @@ static void Cmd_forcerandomswitch(void) || (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) || (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - SwitchPartyOrderLinkMulti(gBattlerTarget, i, 0); - SwitchPartyOrderLinkMulti(BATTLE_PARTNER(gBattlerTarget), i, 1); + SwitchPartyOrderLinkMulti(gBattlerTarget, gBattleStruct->monToSwitchIntoId[gBattlerTarget], 0); + SwitchPartyOrderLinkMulti(BATTLE_PARTNER(gBattlerTarget), gBattleStruct->monToSwitchIntoId[gBattlerTarget], 1); } if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) - SwitchPartyOrderInGameMulti(gBattlerTarget, i); + SwitchPartyOrderInGameMulti(gBattlerTarget, gBattleStruct->monToSwitchIntoId[gBattlerTarget]); } } else @@ -13335,10 +13334,10 @@ static void Cmd_metronome(void) #endif gCurrentMove = RandomUniformExcept(RNG_METRONOME, 1, moveCount - 1, InvalidMetronomeMove); - SetAtkCancellerForCalledMove(); PrepareStringBattle(STRINGID_WAGGLINGAFINGER, gBattlerAttacker); gBattlescriptCurrInstr = GetMoveBattleScript(gCurrentMove); gBattlerTarget = GetBattleMoveTarget(gCurrentMove, NO_TARGET_OVERRIDE); + ResetValuesForCalledMove(); } static void Cmd_dmgtolevel(void) @@ -14277,7 +14276,6 @@ static void Cmd_jumpifnopursuitswitchdmg(void) { ChangeOrderTargetAfterAttacker(); gBattleStruct->battlerState[gBattlerAttacker].pursuitTarget = TRUE; - gBattleStruct->pursuitSwitchByMove = gActionsByTurnOrder[gCurrentTurnActionNumber] == B_ACTION_USE_MOVE; gBattleStruct->pursuitStoredSwitch = gBattleStruct->monToSwitchIntoId[gBattlerAttacker]; gBattleStruct->moveTarget[gBattlerTarget] = gBattlerAttacker; gBattlerTarget = savedTarget; @@ -16347,12 +16345,13 @@ static void Cmd_trygivecaughtmonnick(void) { GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_NICKNAME, gBattleStruct->caughtMonNick); FreeAllWindowBuffers(); + MainCallback callback = CalculatePlayerPartyCount() == PARTY_SIZE ? ReshowBlankBattleScreenAfterMenu : BattleMainCB2; DoNamingScreen(NAMING_SCREEN_CAUGHT_MON, gBattleStruct->caughtMonNick, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_SPECIES), GetMonGender(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]]), GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_PERSONALITY, NULL), - ReshowBattleScreenAfterMenu); + callback); gBattleCommunication[MULTIUSE_STATE]++; } @@ -17696,13 +17695,25 @@ void BS_AllySwitchFailChance(void) gBattlescriptCurrInstr = cmd->nextInstr; } -void BS_SetPhotonGeyserCategory(void) +void BS_SetDynamicMoveCategory(void) { NATIVE_ARGS(); - u32 effect = GetMoveEffect(gCurrentMove); - if (!((effect == EFFECT_TERA_BLAST && GetActiveGimmick(gBattlerAttacker) != GIMMICK_TERA) - || (effect == EFFECT_TERA_STARSTORM && GetActiveGimmick(gBattlerAttacker) != GIMMICK_TERA && gBattleMons[gBattlerAttacker].species == SPECIES_TERAPAGOS_STELLAR))) + + switch (GetMoveEffect(gCurrentMove)) + { + case EFFECT_TERA_BLAST: + if (GetActiveGimmick(gBattlerAttacker) == GIMMICK_TERA) + gBattleStruct->swapDamageCategory = (GetCategoryBasedOnStats(gBattlerAttacker) != GetMoveCategory(gCurrentMove)); + break; + case EFFECT_TERA_STARSTORM: + if (GetActiveGimmick(gBattlerAttacker) == GIMMICK_TERA && gBattleMons[gBattlerAttacker].species == SPECIES_TERAPAGOS_STELLAR) + gBattleStruct->swapDamageCategory = (GetCategoryBasedOnStats(gBattlerAttacker) != GetMoveCategory(gCurrentMove)); + break; + default: gBattleStruct->swapDamageCategory = (GetCategoryBasedOnStats(gBattlerAttacker) != GetMoveCategory(gCurrentMove)); + break; + } + gBattlescriptCurrInstr = cmd->nextInstr; } @@ -17950,7 +17961,7 @@ void BS_JumpIfSleepClause(void) NATIVE_ARGS(const u8 *jumpInstr); // Can freely sleep own partner - if (IsDoubleBattle() && IsSleepClauseEnabled() && GetBattlerSide(gBattlerAttacker) == GetBattlerSide(gBattlerTarget)) + if (IsDoubleBattle() && IsSleepClauseEnabled() && IsBattlerAlly(gBattlerAttacker, gBattlerTarget)) { gBattleStruct->battlerState[gBattlerTarget].sleepClauseEffectExempt = TRUE; gBattlescriptCurrInstr = cmd->nextInstr; @@ -18025,14 +18036,10 @@ void BS_JumpIfBlockedBySoundproof(void) void BS_SetMagicCoatTarget(void) { NATIVE_ARGS(); - u32 side; gBattleStruct->attackerBeforeBounce = gBattleScripting.battler = gBattlerAttacker; gBattlerAttacker = gBattlerTarget; - side = BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker)); - if (IsAffectedByFollowMe(gBattlerAttacker, side, gCurrentMove)) - gBattlerTarget = gSideTimers[side].followmeTarget; - else - gBattlerTarget = gBattleStruct->attackerBeforeBounce; + gBattlerTarget = gBattleStruct->attackerBeforeBounce; + HandleMoveTargetRedirection(); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -18070,7 +18077,7 @@ void BS_TryWindRiderPower(void) u32 battler = GetBattlerForBattleScript(cmd->battler); u16 ability = GetBattlerAbility(battler); - if (GetBattlerSide(battler) == GetBattlerSide(gBattlerAttacker) + if (IsBattlerAlly(battler, gBattlerAttacker) && (ability == ABILITY_WIND_RIDER || ability == ABILITY_WIND_POWER)) { gLastUsedAbility = ability; diff --git a/src/battle_util.c b/src/battle_util.c index e637496fde..a0d2e21047 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -65,6 +65,7 @@ static u32 GetFlingPowerFromItemId(u32 itemId); static void SetRandomMultiHitCounter(); static u32 GetBattlerItemHoldEffectParam(u32 battler, u32 item); static bool32 CanBeInfinitelyConfused(u32 battler); + ARM_FUNC NOINLINE static uq4_12_t PercentToUQ4_12(u32 percent); ARM_FUNC NOINLINE static uq4_12_t PercentToUQ4_12_Floored(u32 percent); @@ -243,10 +244,10 @@ u32 EndOrContinueWeather(void) return 0; } -static u8 CalcBeatUpPower(void) +static u32 CalcBeatUpPower(void) { - u8 basePower; - u16 species; + u32 basePower; + u32 species; struct Pokemon *party = GetBattlerParty(gBattlerAttacker); // Party slot is incremented by the battle script for Beat Up after this damage calculation @@ -256,6 +257,18 @@ static u8 CalcBeatUpPower(void) return basePower; } +static bool32 ShouldTeraShellDistortTypeMatchups(u32 move, u32 battlerDef, u32 abilityDef) +{ + if (!gSpecialStatuses[battlerDef].distortedTypeMatchups + && gBattleMons[battlerDef].species == SPECIES_TERAPAGOS_TERASTAL + && gBattleMons[battlerDef].hp == gBattleMons[battlerDef].maxHP + && !IsBattleMoveStatus(move) + && abilityDef == ABILITY_TERA_SHELL) + return TRUE; + + return FALSE; +} + bool32 IsAffectedByFollowMe(u32 battlerAtk, u32 defSide, u32 move) { u32 ability = GetBattlerAbility(battlerAtk); @@ -276,11 +289,69 @@ bool32 IsAffectedByFollowMe(u32 battlerAtk, u32 defSide, u32 move) return TRUE; } +bool32 HandleMoveTargetRedirection(void) +{ + u32 redirectorOrderNum = MAX_BATTLERS_COUNT; + u16 moveTarget = GetBattlerMoveTargetType(gBattlerAttacker, gCurrentMove); + u32 moveType = GetBattleMoveType(gCurrentMove); + u32 moveEffect = GetMoveEffect(gCurrentMove); + u32 side = BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker)); + u32 ability = GetBattlerAbility(gBattleStruct->moveTarget[gBattlerAttacker]); + + if (IsAffectedByFollowMe(gBattlerAttacker, side, gCurrentMove) + && moveTarget == MOVE_TARGET_SELECTED + && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gSideTimers[side].followmeTarget)) + { + gBattleStruct->moveTarget[gBattlerAttacker] = gBattlerTarget = gSideTimers[side].followmeTarget; // follow me moxie fix + return TRUE; + } + else if (IsDoubleBattle() + && gSideTimers[side].followmeTimer == 0 + && (!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))) + { + // Find first battler that redirects the move (in turn order) + u32 battler; + for (battler = 0; battler < gBattlersCount; battler++) + { + ability = GetBattlerAbility(battler); + if ((B_REDIRECT_ABILITY_ALLIES >= GEN_4 || !IsAlly(gBattlerAttacker, battler)) + && battler != gBattlerAttacker + && gBattleStruct->moveTarget[gBattlerAttacker] != battler + && ((ability == ABILITY_LIGHTNING_ROD && moveType == TYPE_ELECTRIC) + || (ability == ABILITY_STORM_DRAIN && moveType == TYPE_WATER)) + && GetBattlerTurnOrderNum(battler) < redirectorOrderNum + && moveEffect != EFFECT_SNIPE_SHOT + && moveEffect != EFFECT_PLEDGE + && GetBattlerAbility(gBattlerAttacker) != ABILITY_PROPELLER_TAIL + && GetBattlerAbility(gBattlerAttacker) != ABILITY_STALWART) + { + redirectorOrderNum = GetBattlerTurnOrderNum(battler); + } + } + if (redirectorOrderNum != MAX_BATTLERS_COUNT) + { + u16 battlerAbility; + battler = gBattlerByTurnOrder[redirectorOrderNum]; + battlerAbility = GetBattlerAbility(battler); + + RecordAbilityBattle(battler, gBattleMons[battler].ability); + if (battlerAbility == ABILITY_LIGHTNING_ROD && gCurrentMove != MOVE_TEATIME) + gSpecialStatuses[battler].lightningRodRedirected = TRUE; + else if (battlerAbility == ABILITY_STORM_DRAIN) + gSpecialStatuses[battler].stormDrainRedirected = TRUE; + gBattlerTarget = battler; + return TRUE; + } + } + return FALSE; +} + // Functions void HandleAction_UseMove(void) { - u32 battler, i, side, moveType, ability, var = MAX_BATTLERS_COUNT; - u16 moveTarget; + u32 i; gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; if (gBattleStruct->battlerState[gBattlerAttacker].absentBattlerFlags @@ -350,7 +421,6 @@ void HandleAction_UseMove(void) // Set dynamic move type. SetTypeBeforeUsingMove(gChosenMove, gBattlerAttacker); - moveType = GetBattleMoveType(gCurrentMove); // check Z-Move used if (GetActiveGimmick(gBattlerAttacker) == GIMMICK_Z_MOVE && !IsBattleMoveStatus(gCurrentMove) && !IsZMove(gCurrentMove)) @@ -365,117 +435,44 @@ void HandleAction_UseMove(void) gCurrentMove = gChosenMove = GetMaxMove(gBattlerAttacker, gCurrentMove); } - moveTarget = GetBattlerMoveTargetType(gBattlerAttacker, gCurrentMove); - u32 moveEffect = GetMoveEffect(gCurrentMove); - - // choose target - side = BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker)); - ability = GetBattlerAbility(gBattleStruct->moveTarget[gBattlerAttacker]); - if (IsAffectedByFollowMe(gBattlerAttacker, side, gCurrentMove) - && moveTarget == MOVE_TARGET_SELECTED - && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gSideTimers[side].followmeTarget)) + if (!HandleMoveTargetRedirection()) { - gBattleStruct->moveTarget[gBattlerAttacker] = gBattlerTarget = gSideTimers[side].followmeTarget; // follow me moxie fix - } - else if (IsDoubleBattle() - && gSideTimers[side].followmeTimer == 0 - && !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))) - { - // Find first battler that redirects the move (in turn order) - for (battler = 0; battler < gBattlersCount; battler++) + u32 moveTarget = GetBattlerMoveTargetType(gBattlerAttacker, gCurrentMove); + if (IsDoubleBattle() && moveTarget & MOVE_TARGET_RANDOM) { - ability = GetBattlerAbility(battler); - if ((B_REDIRECT_ABILITY_ALLIES >= GEN_4 || !IsAlly(gBattlerAttacker, battler)) - && battler != gBattlerAttacker - && gBattleStruct->moveTarget[gBattlerAttacker] != battler - && ((ability == ABILITY_LIGHTNING_ROD && moveType == TYPE_ELECTRIC) - || (ability == ABILITY_STORM_DRAIN && moveType == TYPE_WATER)) - && GetBattlerTurnOrderNum(battler) < var - && moveEffect != EFFECT_SNIPE_SHOT - && moveEffect != EFFECT_PLEDGE - && GetBattlerAbility(gBattlerAttacker) != ABILITY_PROPELLER_TAIL - && GetBattlerAbility(gBattlerAttacker) != ABILITY_STALWART) - { - var = GetBattlerTurnOrderNum(battler); - } - } - if (var == MAX_BATTLERS_COUNT) - { - if (moveTarget & MOVE_TARGET_RANDOM) - { - gBattlerTarget = SetRandomTarget(gBattlerAttacker); - } - else if (moveTarget & MOVE_TARGET_FOES_AND_ALLY) - { - for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++) - { - if (gBattlerTarget == gBattlerAttacker) - continue; - if (IsBattlerAlive(gBattlerTarget)) - break; - } - } - else - { - gBattlerTarget = gBattleStruct->moveTarget[gBattlerAttacker]; - } - - if (!IsBattlerAlive(gBattlerTarget) && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget)) + gBattlerTarget = SetRandomTarget(gBattlerAttacker); + if (gAbsentBattlerFlags & (1u << gBattlerTarget) + && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget)) { gBattlerTarget = GetPartnerBattler(gBattlerTarget); } } + else if (moveTarget == MOVE_TARGET_ALLY) + { + if (IsBattlerAlive(BATTLE_PARTNER(gBattlerAttacker))) + gBattlerTarget = BATTLE_PARTNER(gBattlerAttacker); + else + gBattlerTarget = gBattlerAttacker; + } + else if (IsDoubleBattle() && moveTarget == MOVE_TARGET_FOES_AND_ALLY) + { + for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++) + { + if (gBattlerTarget == gBattlerAttacker) + continue; + if (IsBattlerAlive(gBattlerTarget)) + break; + } + } else { - u16 battlerAbility; - battler = gBattlerByTurnOrder[var]; - battlerAbility = GetBattlerAbility(battler); - - RecordAbilityBattle(battler, gBattleMons[battler].ability); - if (battlerAbility == ABILITY_LIGHTNING_ROD && gCurrentMove != MOVE_TEATIME) - gSpecialStatuses[battler].lightningRodRedirected = TRUE; - else if (battlerAbility == ABILITY_STORM_DRAIN) - gSpecialStatuses[battler].stormDrainRedirected = TRUE; - gBattlerTarget = battler; - } - } - else if (IsDoubleBattle() && moveTarget & MOVE_TARGET_RANDOM) - { - gBattlerTarget = SetRandomTarget(gBattlerAttacker); - if (gAbsentBattlerFlags & (1u << gBattlerTarget) - && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget)) - { - gBattlerTarget = GetPartnerBattler(gBattlerTarget); - } - } - else if (moveTarget == MOVE_TARGET_ALLY) - { - if (IsBattlerAlive(BATTLE_PARTNER(gBattlerAttacker))) - gBattlerTarget = BATTLE_PARTNER(gBattlerAttacker); - else - gBattlerTarget = gBattlerAttacker; - } - else if (IsDoubleBattle() && moveTarget == MOVE_TARGET_FOES_AND_ALLY) - { - for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++) - { - if (gBattlerTarget == gBattlerAttacker) - continue; - if (IsBattlerAlive(gBattlerTarget)) - break; - } - } - else - { - gBattlerTarget = gBattleStruct->moveTarget[gBattlerAttacker]; - if (!IsBattlerAlive(gBattlerTarget) - && moveTarget != MOVE_TARGET_OPPONENTS_FIELD - && (GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget))) - { - gBattlerTarget = GetPartnerBattler(gBattlerTarget); + gBattlerTarget = *(gBattleStruct->moveTarget + gBattlerAttacker); + if (!IsBattlerAlive(gBattlerTarget) + && moveTarget != MOVE_TARGET_OPPONENTS_FIELD + && (GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget))) + { + gBattlerTarget = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerTarget))); + } } } @@ -500,7 +497,7 @@ void HandleAction_UseMove(void) } } - if ((GetBattlerSide(gBattlerAttacker) == GetBattlerSide(gBattlerTarget)) + if ((IsBattlerAlly(gBattlerAttacker, gBattlerTarget)) && (!IsBattlerAlive(gBattlerTarget) || gProtectStructs[BATTLE_PARTNER(gBattlerAttacker)].usedAllySwitch)) { gBattlescriptCurrInstr = BattleScript_FailedFromAtkCanceler; @@ -1896,7 +1893,8 @@ static void CancellerAsleep(u32 *effect) gBattleMons[gBattlerAttacker].status1 -= toSub; if (gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP) { - if (gChosenMove != MOVE_SNORE && gChosenMove != MOVE_SLEEP_TALK) + u32 moveEffect = GetMoveEffect(gChosenMove); + if (moveEffect != EFFECT_SNORE && moveEffect != EFFECT_SLEEP_TALK) { gBattlescriptCurrInstr = BattleScript_MoveUsedIsAsleep; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; @@ -2232,7 +2230,7 @@ static void CancellerThaw(u32 *effect) static void CancellerStanceChangeTwo(u32 *effect) { - if (B_STANCE_CHANGE_FAIL >= GEN_7 && TryFormChangeBeforeMove()) + if (B_STANCE_CHANGE_FAIL >= GEN_7 && !gBattleStruct->isAtkCancelerForCalledMove && TryFormChangeBeforeMove()) *effect = 1; } @@ -2570,6 +2568,21 @@ bool32 HasNoMonsToSwitch(u32 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2 playerId = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); party = gEnemyParty; + // Edge case: If both opposing Pokemon were knocked out on the same turn, + // make sure opponent only sents out the final Pokemon once. + if (battler == playerId + && (gHitMarker & HITMARKER_FAINTED(flankId)) + && (gHitMarker & HITMARKER_FAINTED(playerId))) + { + u8 count = 0; + for (i = 0; i < PARTY_SIZE; i++) + if (IsValidForBattle(&party[i])) + count++; + + if (count < 2) + return TRUE; + } + if (partyIdBattlerOn1 == PARTY_SIZE) partyIdBattlerOn1 = gBattlerPartyIndexes[flankId]; if (partyIdBattlerOn2 == PARTY_SIZE) @@ -2934,7 +2947,7 @@ bool32 CanAbilityBlockMove(u32 battlerAtk, u32 battlerDef, u32 move, u32 ability case ABILITY_DAZZLING: case ABILITY_QUEENLY_MAJESTY: case ABILITY_ARMOR_TAIL: - if (atkPriority > 0 && !IsAlly(battlerAtk, battlerDef)) + if (atkPriority > 0 && !IsBattlerAlly(battlerAtk, battlerDef)) { if (gBattleMons[battlerAtk].status2 & STATUS2_MULTIPLETURNS) gHitMarker |= HITMARKER_NO_PPDEDUCT; @@ -2959,7 +2972,7 @@ bool32 CanAbilityBlockMove(u32 battlerAtk, u32 battlerDef, u32 move, u32 ability case ABILITY_DAZZLING: case ABILITY_QUEENLY_MAJESTY: case ABILITY_ARMOR_TAIL: - if (atkPriority > 0 && !IsAlly(battlerAtk, BATTLE_PARTNER(battlerDef))) + if (atkPriority > 0 && !IsBattlerAlly(battlerAtk, BATTLE_PARTNER(battlerDef))) { if (gBattleMons[battlerAtk].status2 & STATUS2_MULTIPLETURNS) gHitMarker |= HITMARKER_NO_PPDEDUCT; @@ -3989,7 +4002,8 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 case ABILITY_EMBODY_ASPECT_HEARTHFLAME_MASK: case ABILITY_EMBODY_ASPECT_WELLSPRING_MASK: case ABILITY_EMBODY_ASPECT_CORNERSTONE_MASK: - if (!gSpecialStatuses[battler].switchInAbilityDone) + if (!gSpecialStatuses[battler].switchInAbilityDone + && !(gBattleStruct->embodyAspectBoost[GetBattlerSide(battler)] & (1u << gBattlerPartyIndexes[battler]))) { u32 stat; @@ -4008,6 +4022,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 gBattleScripting.savedBattler = gBattlerAttacker; gBattlerAttacker = battler; gSpecialStatuses[battler].switchInAbilityDone = TRUE; + gBattleStruct->embodyAspectBoost[GetBattlerSide(battler)] |= 1u << gBattlerPartyIndexes[battler]; SET_STATCHANGER(stat, 1, FALSE); BattleScriptPushCursorAndCallback(BattleScript_BattlerAbilityStatRaiseOnSwitchIn); effect++; @@ -5004,7 +5019,6 @@ 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; - gBattleStruct->atkCancellerTracker = 0; gBattlerAttacker = gBattlerAbility = battler; gCalledMove = gCurrentMove; @@ -5013,10 +5027,9 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 // Edge case for dance moves that hit multiply targets gHitMarker &= ~HITMARKER_NO_ATTACKSTRING; - SetTypeBeforeUsingMove(gCalledMove, battler); // Make sure that the target isn't an ally - if it is, target the original user - if (GetBattlerSide(gBattlerTarget) == GetBattlerSide(gBattlerAttacker)) + if (IsBattlerAlly(gBattlerTarget, gBattlerAttacker)) gBattlerTarget = (gBattleScripting.savedBattler & 0xF0) >> 4; gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED; BattleScriptExecute(BattleScript_DancerActivates); @@ -5049,6 +5062,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 } break; case ABILITYEFFECT_IMMUNITY: + gBattleStruct->bypassMoldBreakerChecks = TRUE; for (battler = 0; battler < gBattlersCount; battler++) { switch (GetBattlerAbility(battler)) @@ -5140,6 +5154,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 return effect; } } + gBattleStruct->bypassMoldBreakerChecks = FALSE; break; case ABILITYEFFECT_SYNCHRONIZE: if (gLastUsedAbility == ABILITY_SYNCHRONIZE && (gHitMarker & HITMARKER_SYNCHRONISE_EFFECT)) @@ -5379,7 +5394,9 @@ u32 GetBattlerAbility(u32 battler) && gBattleMons[battler].ability == ABILITY_COMATOSE) return ABILITY_NONE; - if (noAbilityShield && CanBreakThroughAbility(gBattlerAttacker, battler, gBattleMons[gBattlerAttacker].ability)) + if (!gBattleStruct->bypassMoldBreakerChecks + && noAbilityShield + && CanBreakThroughAbility(gBattlerAttacker, battler, gBattleMons[gBattlerAttacker].ability)) return ABILITY_NONE; return gBattleMons[battler].ability; @@ -5393,7 +5410,9 @@ u32 GetBattlerAbility(u32 battler) && noAbilityShield) return ABILITY_NONE; - if (noAbilityShield && CanBreakThroughAbility(gBattlerAttacker, battler, gBattleMons[gBattlerAttacker].ability)) + if (!gBattleStruct->bypassMoldBreakerChecks + && noAbilityShield + && CanBreakThroughAbility(gBattlerAttacker, battler, gBattleMons[gBattlerAttacker].ability)) return ABILITY_NONE; return gBattleMons[battler].ability; @@ -6853,9 +6872,7 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn) atkHoldEffectParam *= 2; if (gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_RAINBOW && gCurrentMove != MOVE_SECRET_POWER) atkHoldEffectParam *= 2; - if (gBattleStruct->moveDamage[battler] != 0 // Need to have done damage - && !(gBattleStruct->moveResultFlags[gBattlerTarget] & MOVE_RESULT_NO_EFFECT) - && IsBattlerTurnDamaged(gBattlerTarget) + if (IsBattlerTurnDamaged(gBattlerTarget) && !MoveIgnoresKingsRock(gCurrentMove) && gBattleMons[gBattlerTarget].hp && RandomPercentage(RNG_HOLD_EFFECT_FLINCH, atkHoldEffectParam) @@ -6889,7 +6906,7 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn) { case HOLD_EFFECT_SHELL_BELL: if (gBattleScripting.savedDmg > 0 - && !(gBattleStruct->moveResultFlags[battler] & MOVE_RESULT_NO_EFFECT) + && !(gBattleStruct->moveResultFlags[gBattlerTarget] & MOVE_RESULT_NO_EFFECT) && gBattlerAttacker != gBattlerTarget && !IsBattlerAtMaxHp(gBattlerAttacker) && IsBattlerAlive(gBattlerAttacker) @@ -7229,6 +7246,7 @@ u32 GetBattleMoveTarget(u16 move, u8 setTarget) switch (moveTarget) { case MOVE_TARGET_SELECTED: + case MOVE_TARGET_OPPONENT: side = BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker)); if (IsAffectedByFollowMe(gBattlerAttacker, side, move)) { @@ -7288,7 +7306,6 @@ u32 GetBattleMoveTarget(u16 move, u8 setTarget) else targetBattler = GetOpposingSideBattler(gBattlerAttacker); break; - case MOVE_TARGET_USER_OR_SELECTED: case MOVE_TARGET_USER: default: targetBattler = gBattlerAttacker; @@ -7427,7 +7444,7 @@ u32 GetBattlerHoldEffectInternal(u32 battler, bool32 checkNegating, bool32 check return HOLD_EFFECT_NONE; if (gFieldStatuses & STATUS_FIELD_MAGIC_ROOM) return HOLD_EFFECT_NONE; - if (checkAbility && GetBattlerAbility(battler) == ABILITY_KLUTZ) + if (checkAbility && GetBattlerAbility(battler) == ABILITY_KLUTZ && !(gStatuses3[battler] & STATUS3_GASTRO_ACID)) return HOLD_EFFECT_NONE; } @@ -7639,7 +7656,7 @@ u32 GetMoveTargetCount(struct DamageCalculationData *damageCalcData) case MOVE_TARGET_DEPENDS: case MOVE_TARGET_SELECTED: case MOVE_TARGET_RANDOM: - case MOVE_TARGET_USER_OR_SELECTED: + case MOVE_TARGET_OPPONENT: return IsBattlerAlive(battlerDef); case MOVE_TARGET_USER: return IsBattlerAlive(battlerAtk); @@ -9286,7 +9303,7 @@ s32 CalculateMoveDamageVars(struct DamageCalculationData *damageCalcData, u32 fi holdEffectAtk, holdEffectDef, abilityAtk, abilityDef); } -static inline void MulByTypeEffectiveness(uq4_12_t *modifier, u32 move, u32 moveType, u32 battlerDef, u32 defType, u32 battlerAtk, bool32 recordAbilities) +static inline void MulByTypeEffectiveness(uq4_12_t *modifier, u32 move, u32 moveType, u32 battlerDef, u32 defAbility, u32 defType, u32 battlerAtk, bool32 recordAbilities) { uq4_12_t mod = GetTypeModifier(moveType, defType); u32 abilityAtk = GetBattlerAbility(battlerAtk); @@ -9326,11 +9343,15 @@ static inline void MulByTypeEffectiveness(uq4_12_t *modifier, u32 move, u32 move mod = UQ_4_12(1.0); } - if (gSpecialStatuses[battlerDef].distortedTypeMatchups || (AI_DATA->aiCalcInProgress && ShouldTeraShellDistortTypeMatchups(move, battlerDef))) + if (gSpecialStatuses[battlerDef].distortedTypeMatchups || (mod > UQ_4_12(0.0) && ShouldTeraShellDistortTypeMatchups(move, battlerDef, defAbility))) { mod = UQ_4_12(0.5); if (recordAbilities) - RecordAbilityBattle(battlerDef, GetBattlerAbility(battlerDef)); + { + RecordAbilityBattle(battlerDef, defAbility); + gSpecialStatuses[battlerDef].distortedTypeMatchups = TRUE; + gSpecialStatuses[battlerDef].teraShellAbilityDone = TRUE; + } } *modifier = uq4_12_multiply(*modifier, mod); @@ -9340,9 +9361,9 @@ static inline void TryNoticeIllusionInTypeEffectiveness(u32 move, u32 moveType, { // Check if the type effectiveness would've been different if the pokemon really had the types as the disguise. uq4_12_t presumedModifier = UQ_4_12(1.0); - MulByTypeEffectiveness(&presumedModifier, move, moveType, battlerDef, gSpeciesInfo[illusionSpecies].types[0], battlerAtk, FALSE); + MulByTypeEffectiveness(&presumedModifier, move, moveType, battlerDef, ABILITY_ILLUSION, gSpeciesInfo[illusionSpecies].types[0], battlerAtk, FALSE); if (gSpeciesInfo[illusionSpecies].types[1] != gSpeciesInfo[illusionSpecies].types[0]) - MulByTypeEffectiveness(&presumedModifier, move, moveType, battlerDef, gSpeciesInfo[illusionSpecies].types[1], battlerAtk, FALSE); + MulByTypeEffectiveness(&presumedModifier, move, moveType, battlerDef, ABILITY_ILLUSION, gSpeciesInfo[illusionSpecies].types[1], battlerAtk, FALSE); if (presumedModifier != resultingModifier) RecordAbilityBattle(battlerDef, ABILITY_ILLUSION); @@ -9378,11 +9399,11 @@ static inline uq4_12_t CalcTypeEffectivenessMultiplierInternal(u32 move, u32 mov u32 types[3]; GetBattlerTypes(battlerDef, FALSE, types); - MulByTypeEffectiveness(&modifier, move, moveType, battlerDef, types[0], battlerAtk, recordAbilities); + MulByTypeEffectiveness(&modifier, move, moveType, battlerDef, defAbility, types[0], battlerAtk, recordAbilities); if (types[1] != types[0]) - MulByTypeEffectiveness(&modifier, move, moveType, battlerDef, types[1], battlerAtk, recordAbilities); + MulByTypeEffectiveness(&modifier, move, moveType, battlerDef, defAbility, types[1], battlerAtk, recordAbilities); if (types[2] != TYPE_MYSTERY && types[2] != types[1] && types[2] != types[0]) - MulByTypeEffectiveness(&modifier, move, moveType, battlerDef, types[2], battlerAtk, recordAbilities); + MulByTypeEffectiveness(&modifier, move, moveType, battlerDef, defAbility, types[2], battlerAtk, recordAbilities); if (moveType == TYPE_FIRE && gDisableStructs[battlerDef].tarShot) modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); @@ -9464,9 +9485,9 @@ uq4_12_t CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 a if (move != MOVE_STRUGGLE && moveType != TYPE_MYSTERY) { - MulByTypeEffectiveness(&modifier, move, moveType, 0, gSpeciesInfo[speciesDef].types[0], 0, FALSE); + MulByTypeEffectiveness(&modifier, move, moveType, 0, 0, gSpeciesInfo[speciesDef].types[0], 0, FALSE); if (gSpeciesInfo[speciesDef].types[1] != gSpeciesInfo[speciesDef].types[0]) - MulByTypeEffectiveness(&modifier, move, moveType, 0, gSpeciesInfo[speciesDef].types[1], 0, FALSE); + MulByTypeEffectiveness(&modifier, move, moveType, 0, 0, gSpeciesInfo[speciesDef].types[1], 0, FALSE); if (moveType == TYPE_GROUND && abilityDef == ABILITY_LEVITATE && !(gFieldStatuses & STATUS_FIELD_GRAVITY)) modifier = UQ_4_12(0.0); @@ -9502,9 +9523,9 @@ uq4_12_t GetOverworldTypeEffectiveness(struct Pokemon *mon, u8 moveType) if (moveType != TYPE_MYSTERY) { - MulByTypeEffectiveness(&modifier, MOVE_POUND, moveType, 0, type1, 0, FALSE); + MulByTypeEffectiveness(&modifier, MOVE_POUND, moveType, 0, 0, type1, 0, FALSE); if (type2 != type1) - MulByTypeEffectiveness(&modifier, MOVE_POUND, moveType, 0, type2, 0, FALSE); + MulByTypeEffectiveness(&modifier, MOVE_POUND, moveType, 0, 0, type2, 0, FALSE); if ((modifier <= UQ_4_12(1.0) && abilityDef == ABILITY_WONDER_GUARD) || (moveType == TYPE_FIRE && abilityDef == ABILITY_FLASH_FIRE) @@ -10241,8 +10262,12 @@ bool32 CanStealItem(u32 battlerStealing, u32 battlerItem, u16 item) return FALSE; } + // It's supposed to pop before trying to steal but this also works + if (ItemId_GetHoldEffect(item) == HOLD_EFFECT_AIR_BALLOON) + return FALSE; + if (!CanBattlerGetOrLoseItem(battlerItem, item) // Battler with item cannot have it stolen - ||!CanBattlerGetOrLoseItem(battlerStealing, item)) // Stealer cannot take the item + || !CanBattlerGetOrLoseItem(battlerStealing, item)) // Stealer cannot take the item return FALSE; return TRUE; @@ -10385,7 +10410,7 @@ bool32 BlocksPrankster(u16 move, u32 battlerPrankster, u32 battlerDef, bool32 ch return FALSE; if (!gProtectStructs[battlerPrankster].pranksterElevated) return FALSE; - if (GetBattlerSide(battlerPrankster) == GetBattlerSide(battlerDef)) + if (IsBattlerAlly(battlerPrankster, battlerDef)) return FALSE; if (checkTarget && (GetBattlerMoveTargetType(battlerPrankster, move) & (MOVE_TARGET_OPPONENTS_FIELD | MOVE_TARGET_DEPENDS))) return FALSE; @@ -10452,12 +10477,13 @@ u32 GetBattlerMoveTargetType(u32 battler, u32 move) bool32 CanTargetBattler(u32 battlerAtk, u32 battlerDef, u16 move) { if (GetMoveEffect(move) == EFFECT_HIT_ENEMY_HEAL_ALLY - && GetBattlerSide(battlerAtk) == GetBattlerSide(battlerDef) - && gStatuses3[battlerAtk] & STATUS3_HEAL_BLOCK) + && IsBattlerAlly(battlerAtk, battlerDef) + && gStatuses3[battlerAtk] & STATUS3_HEAL_BLOCK) return FALSE; // Pokémon affected by Heal Block cannot target allies with Pollen Puff - if ((GetActiveGimmick(battlerAtk) == GIMMICK_DYNAMAX || IsGimmickSelected(battlerAtk, GIMMICK_DYNAMAX)) - && GetBattlerSide(battlerAtk) == GetBattlerSide(battlerDef)) + if (IsBattlerAlly(battlerAtk, battlerDef) && (GetActiveGimmick(battlerAtk) == GIMMICK_DYNAMAX + || IsGimmickSelected(battlerAtk, GIMMICK_DYNAMAX))) return FALSE; + return TRUE; } @@ -10578,11 +10604,6 @@ bool32 MoveEffectIsGuaranteed(u32 battler, u32 battlerAbility, const struct Addi return additionalEffect->chance == 0 || CalcSecondaryEffectChance(battler, battlerAbility, additionalEffect) >= 100; } -bool32 IsAlly(u32 battlerAtk, u32 battlerDef) -{ - return (GetBattlerSide(battlerAtk) == GetBattlerSide(battlerDef)); -} - bool32 IsGen6ExpShareEnabled(void) { if (I_EXP_SHARE_FLAG <= TEMP_FLAGS_END) @@ -10967,8 +10988,7 @@ void ClearPursuitValues(void) { for (u32 i = 0; i < gBattlersCount; i++) gBattleStruct->battlerState[i].pursuitTarget = FALSE; - gBattleStruct->pursuitSwitchByMove = FALSE; - gBattleStruct->pursuitStoredSwitch = 0; + gBattleStruct->pursuitStoredSwitch = PARTY_SIZE; } void ClearPursuitValuesIfSet(u32 battler) diff --git a/src/contest.c b/src/contest.c index b99dd6e935..be17d83941 100644 --- a/src/contest.c +++ b/src/contest.c @@ -5485,10 +5485,10 @@ static void SetMoveTargetPosition(u16 move) { switch (GetBattlerMoveTargetType(gBattlerAttacker, move)) { - case MOVE_TARGET_USER_OR_SELECTED: case MOVE_TARGET_USER: gBattlerTarget = B_POSITION_PLAYER_RIGHT; break; + case MOVE_TARGET_OPPONENT: case MOVE_TARGET_SELECTED: case MOVE_TARGET_RANDOM: case MOVE_TARGET_BOTH: diff --git a/src/data/battle_frontier/apprentice.h b/src/data/battle_frontier/apprentice.h index 408c3902d5..ef0a77bf11 100644 --- a/src/data/battle_frontier/apprentice.h +++ b/src/data/battle_frontier/apprentice.h @@ -568,367 +568,6 @@ static const u8 *const sApprenticeChallengeTexts[NUM_APPRENTICES] = gText_ApprenticeChallenge15, }; -// Unclear what the criteria are for valid moves -// Notably, a large percentage of multi-strike moves are not valid -static const bool8 sValidApprenticeMoves[MOVES_COUNT] = -{ - [MOVE_NONE] = FALSE, - [MOVE_POUND] = FALSE, - [MOVE_KARATE_CHOP] = TRUE, - [MOVE_DOUBLE_SLAP] = TRUE, - [MOVE_COMET_PUNCH] = FALSE, - [MOVE_MEGA_PUNCH] = TRUE, - [MOVE_PAY_DAY] = FALSE, - [MOVE_FIRE_PUNCH] = TRUE, - [MOVE_ICE_PUNCH] = TRUE, - [MOVE_THUNDER_PUNCH] = TRUE, - [MOVE_SCRATCH] = FALSE, - [MOVE_VISE_GRIP] = FALSE, - [MOVE_GUILLOTINE] = TRUE, - [MOVE_RAZOR_WIND] = FALSE, - [MOVE_SWORDS_DANCE] = TRUE, - [MOVE_CUT] = FALSE, - [MOVE_GUST] = FALSE, - [MOVE_WING_ATTACK] = FALSE, - [MOVE_WHIRLWIND] = TRUE, - [MOVE_FLY] = TRUE, - [MOVE_BIND] = TRUE, - [MOVE_SLAM] = TRUE, - [MOVE_VINE_WHIP] = FALSE, - [MOVE_STOMP] = TRUE, - [MOVE_DOUBLE_KICK] = TRUE, - [MOVE_MEGA_KICK] = TRUE, - [MOVE_JUMP_KICK] = TRUE, - [MOVE_ROLLING_KICK] = TRUE, - [MOVE_SAND_ATTACK] = TRUE, - [MOVE_HEADBUTT] = TRUE, - [MOVE_HORN_ATTACK] = FALSE, - [MOVE_FURY_ATTACK] = FALSE, - [MOVE_HORN_DRILL] = TRUE, - [MOVE_TACKLE] = FALSE, - [MOVE_BODY_SLAM] = TRUE, - [MOVE_WRAP] = TRUE, - [MOVE_TAKE_DOWN] = TRUE, - [MOVE_THRASH] = TRUE, - [MOVE_DOUBLE_EDGE] = TRUE, - [MOVE_TAIL_WHIP] = FALSE, - [MOVE_POISON_STING] = FALSE, - [MOVE_TWINEEDLE] = TRUE, - [MOVE_PIN_MISSILE] = FALSE, - [MOVE_LEER] = FALSE, - [MOVE_BITE] = TRUE, - [MOVE_GROWL] = FALSE, - [MOVE_ROAR] = TRUE, - [MOVE_SING] = TRUE, - [MOVE_SUPERSONIC] = TRUE, - [MOVE_SONIC_BOOM] = TRUE, - [MOVE_DISABLE] = TRUE, - [MOVE_ACID] = FALSE, - [MOVE_EMBER] = FALSE, - [MOVE_FLAMETHROWER] = TRUE, - [MOVE_MIST] = TRUE, - [MOVE_WATER_GUN] = FALSE, - [MOVE_HYDRO_PUMP] = TRUE, - [MOVE_SURF] = TRUE, - [MOVE_ICE_BEAM] = TRUE, - [MOVE_BLIZZARD] = TRUE, - [MOVE_PSYBEAM] = TRUE, - [MOVE_BUBBLE_BEAM] = FALSE, - [MOVE_AURORA_BEAM] = FALSE, - [MOVE_HYPER_BEAM] = TRUE, - [MOVE_PECK] = FALSE, - [MOVE_DRILL_PECK] = TRUE, - [MOVE_SUBMISSION] = TRUE, - [MOVE_LOW_KICK] = TRUE, - [MOVE_COUNTER] = TRUE, - [MOVE_SEISMIC_TOSS] = TRUE, - [MOVE_STRENGTH] = TRUE, - [MOVE_ABSORB] = FALSE, - [MOVE_MEGA_DRAIN] = FALSE, - [MOVE_LEECH_SEED] = TRUE, - [MOVE_GROWTH] = TRUE, - [MOVE_RAZOR_LEAF] = TRUE, - [MOVE_SOLAR_BEAM] = TRUE, - [MOVE_POISON_POWDER] = TRUE, - [MOVE_STUN_SPORE] = TRUE, - [MOVE_SLEEP_POWDER] = TRUE, - [MOVE_PETAL_DANCE] = TRUE, - [MOVE_STRING_SHOT] = FALSE, - [MOVE_DRAGON_RAGE] = TRUE, - [MOVE_FIRE_SPIN] = TRUE, - [MOVE_THUNDER_SHOCK] = FALSE, - [MOVE_THUNDERBOLT] = TRUE, - [MOVE_THUNDER_WAVE] = TRUE, - [MOVE_THUNDER] = TRUE, - [MOVE_ROCK_THROW] = FALSE, - [MOVE_EARTHQUAKE] = TRUE, - [MOVE_FISSURE] = TRUE, - [MOVE_DIG] = TRUE, - [MOVE_TOXIC] = TRUE, - [MOVE_CONFUSION] = FALSE, - [MOVE_PSYCHIC] = TRUE, - [MOVE_HYPNOSIS] = TRUE, - [MOVE_MEDITATE] = TRUE, - [MOVE_AGILITY] = TRUE, - [MOVE_QUICK_ATTACK] = TRUE, - [MOVE_RAGE] = FALSE, - [MOVE_TELEPORT] = FALSE, - [MOVE_NIGHT_SHADE] = TRUE, - [MOVE_MIMIC] = TRUE, - [MOVE_SCREECH] = TRUE, - [MOVE_DOUBLE_TEAM] = TRUE, - [MOVE_RECOVER] = TRUE, - [MOVE_HARDEN] = TRUE, - [MOVE_MINIMIZE] = TRUE, - [MOVE_SMOKESCREEN] = TRUE, - [MOVE_CONFUSE_RAY] = TRUE, - [MOVE_WITHDRAW] = TRUE, - [MOVE_DEFENSE_CURL] = TRUE, - [MOVE_BARRIER] = TRUE, - [MOVE_LIGHT_SCREEN] = TRUE, - [MOVE_HAZE] = TRUE, - [MOVE_REFLECT] = TRUE, - [MOVE_FOCUS_ENERGY] = TRUE, - [MOVE_BIDE] = FALSE, - [MOVE_METRONOME] = TRUE, - [MOVE_MIRROR_MOVE] = TRUE, - [MOVE_SELF_DESTRUCT] = TRUE, - [MOVE_EGG_BOMB] = TRUE, - [MOVE_LICK] = TRUE, - [MOVE_SMOG] = FALSE, - [MOVE_SLUDGE] = FALSE, - [MOVE_BONE_CLUB] = FALSE, - [MOVE_FIRE_BLAST] = TRUE, - [MOVE_WATERFALL] = TRUE, - [MOVE_CLAMP] = TRUE, - [MOVE_SWIFT] = TRUE, - [MOVE_SKULL_BASH] = TRUE, - [MOVE_SPIKE_CANNON] = FALSE, - [MOVE_CONSTRICT] = FALSE, - [MOVE_AMNESIA] = TRUE, - [MOVE_KINESIS] = TRUE, - [MOVE_SOFT_BOILED] = TRUE, - [MOVE_HIGH_JUMP_KICK] = TRUE, - [MOVE_GLARE] = TRUE, - [MOVE_DREAM_EATER] = TRUE, - [MOVE_POISON_GAS] = FALSE, - [MOVE_BARRAGE] = FALSE, - [MOVE_LEECH_LIFE] = FALSE, - [MOVE_LOVELY_KISS] = TRUE, - [MOVE_SKY_ATTACK] = TRUE, - [MOVE_TRANSFORM] = TRUE, - [MOVE_BUBBLE] = FALSE, - [MOVE_DIZZY_PUNCH] = TRUE, - [MOVE_SPORE] = TRUE, - [MOVE_FLASH] = TRUE, - [MOVE_PSYWAVE] = TRUE, - [MOVE_SPLASH] = FALSE, - [MOVE_ACID_ARMOR] = TRUE, - [MOVE_CRABHAMMER] = TRUE, - [MOVE_EXPLOSION] = TRUE, - [MOVE_FURY_SWIPES] = FALSE, - [MOVE_BONEMERANG] = TRUE, - [MOVE_REST] = TRUE, - [MOVE_ROCK_SLIDE] = TRUE, - [MOVE_HYPER_FANG] = TRUE, - [MOVE_SHARPEN] = TRUE, - [MOVE_CONVERSION] = TRUE, - [MOVE_TRI_ATTACK] = TRUE, - [MOVE_SUPER_FANG] = TRUE, - [MOVE_SLASH] = TRUE, - [MOVE_SUBSTITUTE] = TRUE, - [MOVE_STRUGGLE] = TRUE, - [MOVE_SKETCH] = TRUE, - [MOVE_TRIPLE_KICK] = TRUE, - [MOVE_THIEF] = TRUE, - [MOVE_SPIDER_WEB] = TRUE, - [MOVE_MIND_READER] = TRUE, - [MOVE_NIGHTMARE] = TRUE, - [MOVE_FLAME_WHEEL] = FALSE, - [MOVE_SNORE] = TRUE, - [MOVE_CURSE] = TRUE, - [MOVE_FLAIL] = TRUE, - [MOVE_CONVERSION_2] = TRUE, - [MOVE_AEROBLAST] = TRUE, - [MOVE_COTTON_SPORE] = TRUE, - [MOVE_REVERSAL] = TRUE, - [MOVE_SPITE] = TRUE, - [MOVE_POWDER_SNOW] = FALSE, - [MOVE_PROTECT] = TRUE, - [MOVE_MACH_PUNCH] = TRUE, - [MOVE_SCARY_FACE] = TRUE, - [MOVE_FEINT_ATTACK] = TRUE, - [MOVE_SWEET_KISS] = TRUE, - [MOVE_BELLY_DRUM] = TRUE, - [MOVE_SLUDGE_BOMB] = TRUE, - [MOVE_MUD_SLAP] = TRUE, - [MOVE_OCTAZOOKA] = TRUE, - [MOVE_SPIKES] = TRUE, - [MOVE_ZAP_CANNON] = TRUE, - [MOVE_FORESIGHT] = TRUE, - [MOVE_DESTINY_BOND] = TRUE, - [MOVE_PERISH_SONG] = TRUE, - [MOVE_ICY_WIND] = TRUE, - [MOVE_DETECT] = TRUE, - [MOVE_BONE_RUSH] = FALSE, - [MOVE_LOCK_ON] = TRUE, - [MOVE_OUTRAGE] = TRUE, - [MOVE_SANDSTORM] = TRUE, - [MOVE_GIGA_DRAIN] = TRUE, - [MOVE_ENDURE] = TRUE, - [MOVE_CHARM] = TRUE, - [MOVE_ROLLOUT] = TRUE, - [MOVE_FALSE_SWIPE] = TRUE, - [MOVE_SWAGGER] = TRUE, - [MOVE_MILK_DRINK] = TRUE, - [MOVE_SPARK] = FALSE, - [MOVE_FURY_CUTTER] = TRUE, - [MOVE_STEEL_WING] = TRUE, - [MOVE_MEAN_LOOK] = TRUE, - [MOVE_ATTRACT] = TRUE, - [MOVE_SLEEP_TALK] = TRUE, - [MOVE_HEAL_BELL] = TRUE, - [MOVE_RETURN] = TRUE, - [MOVE_PRESENT] = TRUE, - [MOVE_FRUSTRATION] = TRUE, - [MOVE_SAFEGUARD] = TRUE, - [MOVE_PAIN_SPLIT] = TRUE, - [MOVE_SACRED_FIRE] = TRUE, - [MOVE_MAGNITUDE] = FALSE, - [MOVE_DYNAMIC_PUNCH] = TRUE, - [MOVE_MEGAHORN] = TRUE, - [MOVE_DRAGON_BREATH] = TRUE, - [MOVE_BATON_PASS] = TRUE, - [MOVE_ENCORE] = TRUE, - [MOVE_PURSUIT] = TRUE, - [MOVE_RAPID_SPIN] = TRUE, - [MOVE_SWEET_SCENT] = TRUE, - [MOVE_IRON_TAIL] = TRUE, - [MOVE_METAL_CLAW] = TRUE, - [MOVE_VITAL_THROW] = TRUE, - [MOVE_MORNING_SUN] = TRUE, - [MOVE_SYNTHESIS] = TRUE, - [MOVE_MOONLIGHT] = TRUE, - [MOVE_HIDDEN_POWER] = TRUE, - [MOVE_CROSS_CHOP] = TRUE, - [MOVE_TWISTER] = FALSE, - [MOVE_RAIN_DANCE] = TRUE, - [MOVE_SUNNY_DAY] = TRUE, - [MOVE_CRUNCH] = TRUE, - [MOVE_MIRROR_COAT] = TRUE, - [MOVE_PSYCH_UP] = TRUE, - [MOVE_EXTREME_SPEED] = TRUE, - [MOVE_ANCIENT_POWER] = TRUE, - [MOVE_SHADOW_BALL] = TRUE, - [MOVE_FUTURE_SIGHT] = TRUE, - [MOVE_ROCK_SMASH] = TRUE, - [MOVE_WHIRLPOOL] = TRUE, - [MOVE_BEAT_UP] = TRUE, - [MOVE_FAKE_OUT] = TRUE, - [MOVE_UPROAR] = TRUE, - [MOVE_STOCKPILE] = TRUE, - [MOVE_SPIT_UP] = TRUE, - [MOVE_SWALLOW] = TRUE, - [MOVE_HEAT_WAVE] = TRUE, - [MOVE_HAIL] = TRUE, - [MOVE_TORMENT] = TRUE, - [MOVE_FLATTER] = TRUE, - [MOVE_WILL_O_WISP] = TRUE, - [MOVE_MEMENTO] = TRUE, - [MOVE_FACADE] = TRUE, - [MOVE_FOCUS_PUNCH] = TRUE, - [MOVE_SMELLING_SALTS] = TRUE, - [MOVE_FOLLOW_ME] = TRUE, - [MOVE_NATURE_POWER] = TRUE, - [MOVE_CHARGE] = TRUE, - [MOVE_TAUNT] = TRUE, - [MOVE_HELPING_HAND] = TRUE, - [MOVE_TRICK] = TRUE, - [MOVE_ROLE_PLAY] = TRUE, - [MOVE_WISH] = TRUE, - [MOVE_ASSIST] = TRUE, - [MOVE_INGRAIN] = TRUE, - [MOVE_SUPERPOWER] = TRUE, - [MOVE_MAGIC_COAT] = TRUE, - [MOVE_RECYCLE] = TRUE, - [MOVE_REVENGE] = TRUE, - [MOVE_BRICK_BREAK] = TRUE, - [MOVE_YAWN] = TRUE, - [MOVE_KNOCK_OFF] = TRUE, - [MOVE_ENDEAVOR] = TRUE, - [MOVE_ERUPTION] = TRUE, - [MOVE_SKILL_SWAP] = TRUE, - [MOVE_IMPRISON] = TRUE, - [MOVE_REFRESH] = TRUE, - [MOVE_GRUDGE] = TRUE, - [MOVE_SNATCH] = TRUE, - [MOVE_SECRET_POWER] = TRUE, - [MOVE_DIVE] = TRUE, - [MOVE_ARM_THRUST] = FALSE, - [MOVE_CAMOUFLAGE] = TRUE, - [MOVE_TAIL_GLOW] = TRUE, - [MOVE_LUSTER_PURGE] = TRUE, - [MOVE_MIST_BALL] = TRUE, - [MOVE_FEATHER_DANCE] = TRUE, - [MOVE_TEETER_DANCE] = TRUE, - [MOVE_BLAZE_KICK] = TRUE, - [MOVE_MUD_SPORT] = TRUE, - [MOVE_ICE_BALL] = FALSE, - [MOVE_NEEDLE_ARM] = TRUE, - [MOVE_SLACK_OFF] = TRUE, - [MOVE_HYPER_VOICE] = TRUE, - [MOVE_POISON_FANG] = FALSE, - [MOVE_CRUSH_CLAW] = TRUE, - [MOVE_BLAST_BURN] = TRUE, - [MOVE_HYDRO_CANNON] = TRUE, - [MOVE_METEOR_MASH] = TRUE, - [MOVE_ASTONISH] = TRUE, - [MOVE_WEATHER_BALL] = TRUE, - [MOVE_AROMATHERAPY] = TRUE, - [MOVE_FAKE_TEARS] = TRUE, - [MOVE_AIR_CUTTER] = TRUE, - [MOVE_OVERHEAT] = TRUE, - [MOVE_ODOR_SLEUTH] = TRUE, - [MOVE_ROCK_TOMB] = TRUE, - [MOVE_SILVER_WIND] = TRUE, - [MOVE_METAL_SOUND] = TRUE, - [MOVE_GRASS_WHISTLE] = TRUE, - [MOVE_TICKLE] = TRUE, - [MOVE_COSMIC_POWER] = TRUE, - [MOVE_WATER_SPOUT] = TRUE, - [MOVE_SIGNAL_BEAM] = TRUE, - [MOVE_SHADOW_PUNCH] = TRUE, - [MOVE_EXTRASENSORY] = TRUE, - [MOVE_SKY_UPPERCUT] = TRUE, - [MOVE_SAND_TOMB] = TRUE, - [MOVE_SHEER_COLD] = TRUE, - [MOVE_MUDDY_WATER] = TRUE, - [MOVE_BULLET_SEED] = FALSE, - [MOVE_AERIAL_ACE] = TRUE, - [MOVE_ICICLE_SPEAR] = FALSE, - [MOVE_IRON_DEFENSE] = TRUE, - [MOVE_BLOCK] = TRUE, - [MOVE_HOWL] = TRUE, - [MOVE_DRAGON_CLAW] = TRUE, - [MOVE_FRENZY_PLANT] = TRUE, - [MOVE_BULK_UP] = TRUE, - [MOVE_BOUNCE] = TRUE, - [MOVE_MUD_SHOT] = FALSE, - [MOVE_POISON_TAIL] = TRUE, - [MOVE_COVET] = TRUE, - [MOVE_VOLT_TACKLE] = TRUE, - [MOVE_MAGICAL_LEAF] = TRUE, - [MOVE_WATER_SPORT] = TRUE, - [MOVE_CALM_MIND] = TRUE, - [MOVE_LEAF_BLADE] = TRUE, - [MOVE_DRAGON_DANCE] = TRUE, - [MOVE_ROCK_BLAST] = FALSE, - [MOVE_SHOCK_WAVE] = TRUE, - [MOVE_WATER_PULSE] = TRUE, - [MOVE_DOOM_DESIRE] = TRUE, - [MOVE_PSYCHO_BOOST] = TRUE, -}; - // The possible questions to ask after the initial 3 WHICH MON questions. Retrieved from here and shuffled // WHAT_ITEM has max 3 occurrences, one for each party member // WHICH_MOVE has max 5 occurrences, defined as NUM_WHICH_MOVE_QUESTIONS diff --git a/src/data/battle_move_effects.h b/src/data/battle_move_effects.h index d657c429df..e2970afcaf 100644 --- a/src/data/battle_move_effects.h +++ b/src/data/battle_move_effects.h @@ -1909,7 +1909,7 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = [EFFECT_PHOTON_GEYSER] = { - .battleScript = BattleScript_EffectPhotonGeyser, + .battleScript = BattleScript_EffectDynamicCategory, .battleTvScore = 0, // TODO: Assign points }, @@ -2201,13 +2201,13 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = [EFFECT_TERA_BLAST] = { - .battleScript = BattleScript_EffectPhotonGeyser, + .battleScript = BattleScript_EffectDynamicCategory, .battleTvScore = 0, // TODO: Assign points }, [EFFECT_TERA_STARSTORM] = { - .battleScript = BattleScript_EffectPhotonGeyser, + .battleScript = BattleScript_EffectDynamicCategory, .battleTvScore = 0, // TODO: Assign points }, diff --git a/src/data/graphics/gimmicks.h b/src/data/graphics/gimmicks.h index 5299f74fc3..f16b2f83c0 100644 --- a/src/data/graphics/gimmicks.h +++ b/src/data/graphics/gimmicks.h @@ -135,8 +135,8 @@ static const struct SpritePalette sSpritePalette_TeraIndicator = {sTeraIndicator static const struct OamData sOamData_GimmickIndicator = { - .shape = SPRITE_SHAPE(16x16), - .size = SPRITE_SIZE(16x16), + .shape = SPRITE_SHAPE(8x16), + .size = SPRITE_SIZE(8x16), .priority = 1, }; diff --git a/src/data/moves_info.h b/src/data/moves_info.h index b441d980b6..f9897650a5 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -105,7 +105,7 @@ static const u8 sFeintDescription[] = _( "An attack that hits foes\n" "using moves like Protect."); -const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = +const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = { [MOVE_NONE] = { @@ -170,6 +170,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, .battleAnimScript = gBattleAnimMove_KarateChop, + .validApprenticeMove = TRUE, }, [MOVE_DOUBLE_SLAP] = @@ -192,6 +193,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_POUND}, .battleAnimScript = gBattleAnimMove_DoubleSlap, + .validApprenticeMove = TRUE, }, [MOVE_COMET_PUNCH] = @@ -238,6 +240,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER}, .battleAnimScript = gBattleAnimMove_MegaPunch, + .validApprenticeMove = TRUE, }, [MOVE_PAY_DAY] = @@ -289,6 +292,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_FIRE_PUNCH, .contestComboMoves = {COMBO_STARTER_ICE_PUNCH, COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_THUNDER_PUNCH}, .battleAnimScript = gBattleAnimMove_FirePunch, + .validApprenticeMove = TRUE, }, [MOVE_ICE_PUNCH] = @@ -320,6 +324,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_ICE_PUNCH, .contestComboMoves = {COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_THUNDER_PUNCH}, .battleAnimScript = gBattleAnimMove_IcePunch, + .validApprenticeMove = TRUE, }, [MOVE_THUNDER_PUNCH] = @@ -347,6 +352,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_THUNDER_PUNCH, .contestComboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_ICE_PUNCH}, .battleAnimScript = gBattleAnimMove_ThunderPunch, + .validApprenticeMove = TRUE, }, [MOVE_SCRATCH] = @@ -413,6 +419,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_VICE_GRIP}, .battleAnimScript = gBattleAnimMove_Guillotine, + .validApprenticeMove = TRUE, }, [MOVE_RAZOR_WIND] = @@ -463,6 +470,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_SWORDS_DANCE, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_SwordsDance, + .validApprenticeMove = TRUE, }, [MOVE_CUT] = @@ -560,6 +568,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Whirlwind, + .validApprenticeMove = TRUE, }, [MOVE_FLY] = @@ -587,6 +596,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Fly, + .validApprenticeMove = TRUE, }, [MOVE_BIND] = @@ -613,6 +623,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_VICE_GRIP}, .battleAnimScript = gBattleAnimMove_Bind, + .validApprenticeMove = TRUE, }, [MOVE_SLAM] = @@ -636,6 +647,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_POUND}, .battleAnimScript = gBattleAnimMove_Slam, + .validApprenticeMove = TRUE, }, [MOVE_VINE_WHIP] = @@ -692,6 +704,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LEER}, .battleAnimScript = gBattleAnimMove_Stomp, + .validApprenticeMove = TRUE, }, [MOVE_DOUBLE_KICK] = @@ -715,6 +728,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_DoubleKick, + .validApprenticeMove = TRUE, }, [MOVE_MEGA_KICK] = @@ -737,6 +751,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER}, .battleAnimScript = gBattleAnimMove_MegaKick, + .validApprenticeMove = TRUE, }, [MOVE_JUMP_KICK] = @@ -766,6 +781,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_MIND_READER}, .battleAnimScript = gBattleAnimMove_JumpKick, + .validApprenticeMove = TRUE, }, [MOVE_ROLLING_KICK] = @@ -793,6 +809,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_RollingKick, + .validApprenticeMove = TRUE, }, [MOVE_SAND_ATTACK] = @@ -816,6 +833,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_SAND_ATTACK, .contestComboMoves = {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM}, .battleAnimScript = gBattleAnimMove_SandAttack, + .validApprenticeMove = TRUE, }, [MOVE_HEADBUTT] = @@ -842,6 +860,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, .battleAnimScript = gBattleAnimMove_Headbutt, + .validApprenticeMove = TRUE, }, [MOVE_HORN_ATTACK] = @@ -908,6 +927,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HORN_ATTACK}, .battleAnimScript = gBattleAnimMove_HornDrill, + .validApprenticeMove = TRUE, }, [MOVE_TACKLE] = @@ -964,6 +984,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_BodySlam, + .validApprenticeMove = TRUE, }, [MOVE_WRAP] = @@ -989,6 +1010,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Wrap, + .validApprenticeMove = TRUE, }, [MOVE_TAKE_DOWN] = @@ -1012,6 +1034,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN}, .battleAnimScript = gBattleAnimMove_TakeDown, + .validApprenticeMove = TRUE, }, [MOVE_THRASH] = @@ -1039,6 +1062,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAGE}, .battleAnimScript = gBattleAnimMove_Thrash, + .validApprenticeMove = TRUE, }, [MOVE_DOUBLE_EDGE] = @@ -1062,6 +1086,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN}, .battleAnimScript = gBattleAnimMove_DoubleEdge, + .validApprenticeMove = TRUE, }, [MOVE_TAIL_WHIP] = @@ -1137,6 +1162,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Twineedle, + .validApprenticeMove = TRUE, }, [MOVE_PIN_MISSILE] = @@ -1208,6 +1234,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LEER, COMBO_STARTER_SCARY_FACE}, .battleAnimScript = gBattleAnimMove_Bite, + .validApprenticeMove = TRUE, }, [MOVE_GROWL] = @@ -1261,6 +1288,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Roar, + .validApprenticeMove = TRUE, }, [MOVE_SING] = @@ -1286,6 +1314,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_SING, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Sing, + .validApprenticeMove = TRUE, }, [MOVE_SUPERSONIC] = @@ -1311,6 +1340,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Supersonic, + .validApprenticeMove = TRUE, }, [MOVE_SONIC_BOOM] = @@ -1333,6 +1363,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_SonicBoom, + .validApprenticeMove = TRUE, }, [MOVE_DISABLE] = @@ -1363,6 +1394,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Disable, + .validApprenticeMove = TRUE, }, [MOVE_ACID] = @@ -1442,6 +1474,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, .battleAnimScript = gBattleAnimMove_Flamethrower, + .validApprenticeMove = TRUE, }, [MOVE_MIST] = @@ -1467,6 +1500,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Mist, + .validApprenticeMove = TRUE, }, [MOVE_WATER_GUN] = @@ -1509,6 +1543,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, .battleAnimScript = gBattleAnimMove_HydroPump, + .validApprenticeMove = TRUE, }, [MOVE_SURF] = @@ -1532,6 +1567,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_SURF, .contestComboMoves = {COMBO_STARTER_DIVE, COMBO_STARTER_RAIN_DANCE}, .battleAnimScript = gBattleAnimMove_Surf, + .validApprenticeMove = TRUE, }, [MOVE_ICE_BEAM] = @@ -1563,6 +1599,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL}, .battleAnimScript = gBattleAnimMove_IceBeam, + .validApprenticeMove = TRUE, }, [MOVE_BLIZZARD] = @@ -1593,6 +1630,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL, COMBO_STARTER_POWDER_SNOW}, .battleAnimScript = gBattleAnimMove_Blizzard, + .validApprenticeMove = TRUE, }, [MOVE_PSYBEAM] = @@ -1618,6 +1656,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, .battleAnimScript = gBattleAnimMove_Psybeam, + .validApprenticeMove = TRUE, }, [MOVE_BUBBLE_BEAM] = @@ -1692,6 +1731,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_HyperBeam, + .validApprenticeMove = TRUE, }, [MOVE_PECK] = @@ -1736,6 +1776,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_PECK}, .battleAnimScript = gBattleAnimMove_DrillPeck, + .validApprenticeMove = TRUE, }, [MOVE_SUBMISSION] = @@ -1759,6 +1800,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_MIND_READER}, .battleAnimScript = gBattleAnimMove_Submission, + .validApprenticeMove = TRUE, }, [MOVE_LOW_KICK] = @@ -1781,6 +1823,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_LowKick, + .validApprenticeMove = TRUE, }, [MOVE_COUNTER] = @@ -1808,6 +1851,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_TAUNT}, .battleAnimScript = gBattleAnimMove_Counter, + .validApprenticeMove = TRUE, }, [MOVE_SEISMIC_TOSS] = @@ -1831,6 +1875,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FAKE_OUT}, .battleAnimScript = gBattleAnimMove_SeismicToss, + .validApprenticeMove = TRUE, }, [MOVE_STRENGTH] = @@ -1853,6 +1898,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Strength, + .validApprenticeMove = TRUE, }, [MOVE_ABSORB] = @@ -1923,6 +1969,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_LEECH_SEED, .contestComboMoves = {COMBO_STARTER_GROWTH, COMBO_STARTER_WORRY_SEED}, .battleAnimScript = gBattleAnimMove_LeechSeed, + .validApprenticeMove = TRUE, }, [MOVE_GROWTH] = @@ -1953,6 +2000,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_GROWTH, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Growth, + .validApprenticeMove = TRUE, }, [MOVE_RAZOR_LEAF] = @@ -1976,6 +2024,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, .battleAnimScript = gBattleAnimMove_RazorLeaf, + .validApprenticeMove = TRUE, }, [MOVE_SOLAR_BEAM] = @@ -2000,6 +2049,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH, COMBO_STARTER_SUNNY_DAY}, .battleAnimScript = gBattleAnimMove_SolarBeam, + .validApprenticeMove = TRUE, }, [MOVE_POISON_POWDER] = @@ -2024,6 +2074,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWEET_SCENT}, .battleAnimScript = gBattleAnimMove_PoisonPowder, + .validApprenticeMove = TRUE, }, [MOVE_STUN_SPORE] = @@ -2048,6 +2099,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWEET_SCENT}, .battleAnimScript = gBattleAnimMove_StunSpore, + .validApprenticeMove = TRUE, }, [MOVE_SLEEP_POWDER] = @@ -2072,6 +2124,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWEET_SCENT}, .battleAnimScript = gBattleAnimMove_SleepPowder, + .validApprenticeMove = TRUE, }, [MOVE_PETAL_DANCE] = @@ -2106,6 +2159,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, .battleAnimScript = gBattleAnimMove_PetalDance, + .validApprenticeMove = TRUE, }, [MOVE_STRING_SHOT] = @@ -2152,6 +2206,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_DRAGON_RAGE, .contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL}, .battleAnimScript = gBattleAnimMove_DragonRage, + .validApprenticeMove = TRUE, }, [MOVE_FIRE_SPIN] = @@ -2177,6 +2232,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, .battleAnimScript = gBattleAnimMove_FireSpin, + .validApprenticeMove = TRUE, }, [MOVE_THUNDER_SHOCK] = @@ -2227,6 +2283,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, .battleAnimScript = gBattleAnimMove_Thunderbolt, + .validApprenticeMove = TRUE, }, [MOVE_THUNDER_WAVE] = @@ -2250,6 +2307,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, .battleAnimScript = gBattleAnimMove_ThunderWave, + .validApprenticeMove = TRUE, }, [MOVE_THUNDER] = @@ -2276,6 +2334,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_LOCK_ON, COMBO_STARTER_RAIN_DANCE}, .battleAnimScript = gBattleAnimMove_Thunder, + .validApprenticeMove = TRUE, }, [MOVE_ROCK_THROW] = @@ -2321,6 +2380,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_EARTHQUAKE, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Earthquake, + .validApprenticeMove = TRUE, }, [MOVE_FISSURE] = @@ -2344,6 +2404,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_EARTHQUAKE}, .battleAnimScript = gBattleAnimMove_Fissure, + .validApprenticeMove = TRUE, }, [MOVE_DIG] = @@ -2371,6 +2432,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Dig, + .validApprenticeMove = TRUE, }, [MOVE_TOXIC] = @@ -2394,6 +2456,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_TOXIC, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Toxic, + .validApprenticeMove = TRUE, }, [MOVE_CONFUSION] = @@ -2444,6 +2507,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_PSYCHIC, .contestComboMoves = {COMBO_STARTER_CALM_MIND, COMBO_STARTER_CONFUSION, COMBO_STARTER_KINESIS}, .battleAnimScript = gBattleAnimMove_Psychic, + .validApprenticeMove = TRUE, }, [MOVE_HYPNOSIS] = @@ -2467,6 +2531,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_HYPNOSIS, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Hypnosis, + .validApprenticeMove = TRUE, }, [MOVE_MEDITATE] = @@ -2492,6 +2557,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, .battleAnimScript = gBattleAnimMove_Meditate, + .validApprenticeMove = TRUE, }, [MOVE_AGILITY] = @@ -2517,6 +2583,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_DOUBLE_TEAM}, .battleAnimScript = gBattleAnimMove_Agility, + .validApprenticeMove = TRUE, }, [MOVE_QUICK_ATTACK] = @@ -2539,6 +2606,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_DOUBLE_TEAM}, .battleAnimScript = gBattleAnimMove_QuickAttack, + .validApprenticeMove = TRUE, }, [MOVE_RAGE] = @@ -2606,6 +2674,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_NightShade, + .validApprenticeMove = TRUE, }, [MOVE_MIMIC] = @@ -2636,6 +2705,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Mimic, + .validApprenticeMove = TRUE, }, [MOVE_SCREECH] = @@ -2661,6 +2731,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Screech, + .validApprenticeMove = TRUE, }, [MOVE_DOUBLE_TEAM] = @@ -2686,6 +2757,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_DOUBLE_TEAM, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_DoubleTeam, + .validApprenticeMove = TRUE, }, [MOVE_RECOVER] = @@ -2718,6 +2790,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Recover, + .validApprenticeMove = TRUE, }, [MOVE_HARDEN] = @@ -2743,6 +2816,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_HARDEN, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Harden, + .validApprenticeMove = TRUE, }, [MOVE_MINIMIZE] = @@ -2768,6 +2842,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Minimize, + .validApprenticeMove = TRUE, }, [MOVE_SMOKESCREEN] = @@ -2791,6 +2866,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SMOG}, .battleAnimScript = gBattleAnimMove_Smokescreen, + .validApprenticeMove = TRUE, }, [MOVE_CONFUSE_RAY] = @@ -2814,6 +2890,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_ConfuseRay, + .validApprenticeMove = TRUE, }, [MOVE_WITHDRAW] = @@ -2839,6 +2916,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, .battleAnimScript = gBattleAnimMove_Withdraw, + .validApprenticeMove = TRUE, }, [MOVE_DEFENSE_CURL] = @@ -2864,6 +2942,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_DEFENSE_CURL, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_DefenseCurl, + .validApprenticeMove = TRUE, }, [MOVE_BARRIER] = @@ -2889,6 +2968,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Barrier, + .validApprenticeMove = TRUE, }, [MOVE_LIGHT_SCREEN] = @@ -2914,6 +2994,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, .battleAnimScript = gBattleAnimMove_LightScreen, + .validApprenticeMove = TRUE, }, [MOVE_HAZE] = @@ -2939,6 +3020,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL}, .battleAnimScript = gBattleAnimMove_Haze, + .validApprenticeMove = TRUE, }, [MOVE_REFLECT] = @@ -2964,6 +3046,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, .battleAnimScript = gBattleAnimMove_Reflect, + .validApprenticeMove = TRUE, }, [MOVE_FOCUS_ENERGY] = @@ -2990,6 +3073,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_FOCUS_ENERGY, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_FocusEnergy, + .validApprenticeMove = TRUE, }, [MOVE_BIDE] = @@ -3045,6 +3129,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Metronome, + .validApprenticeMove = TRUE, }, [MOVE_MIRROR_MOVE] = @@ -3074,6 +3159,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_MirrorMove, + .validApprenticeMove = TRUE, }, [MOVE_SELF_DESTRUCT] = @@ -3096,6 +3182,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_SelfDestruct, + .validApprenticeMove = TRUE, }, [MOVE_EGG_BOMB] = @@ -3118,6 +3205,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SOFT_BOILED}, .battleAnimScript = gBattleAnimMove_EggBomb, + .validApprenticeMove = TRUE, }, [MOVE_LICK] = @@ -3144,6 +3232,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Lick, + .validApprenticeMove = TRUE, }, [MOVE_SMOG] = @@ -3244,6 +3333,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, .battleAnimScript = gBattleAnimMove_FireBlast, + .validApprenticeMove = TRUE, }, [MOVE_WATERFALL] = @@ -3272,6 +3362,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, .battleAnimScript = gBattleAnimMove_Waterfall, + .validApprenticeMove = TRUE, }, [MOVE_CLAMP] = @@ -3298,6 +3389,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, .battleAnimScript = gBattleAnimMove_Clamp, + .validApprenticeMove = TRUE, }, [MOVE_SWIFT] = @@ -3319,6 +3411,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Swift, + .validApprenticeMove = TRUE, }, [MOVE_SKULL_BASH] = @@ -3349,6 +3442,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_SkullBash, + .validApprenticeMove = TRUE, }, [MOVE_SPIKE_CANNON] = @@ -3421,6 +3515,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Amnesia, + .validApprenticeMove = TRUE, }, [MOVE_KINESIS] = @@ -3444,6 +3539,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_KINESIS, .contestComboMoves = {COMBO_STARTER_CONFUSION, COMBO_STARTER_PSYCHIC}, .battleAnimScript = gBattleAnimMove_Kinesis, + .validApprenticeMove = TRUE, }, [MOVE_SOFT_BOILED] = @@ -3470,6 +3566,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_SOFT_BOILED, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_SoftBoiled, + .validApprenticeMove = TRUE, }, [MOVE_HIGH_JUMP_KICK] = @@ -3499,6 +3596,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_MIND_READER}, .battleAnimScript = gBattleAnimMove_HighJumpKick, + .validApprenticeMove = TRUE, }, [MOVE_GLARE] = @@ -3528,6 +3626,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LEER}, .battleAnimScript = gBattleAnimMove_Glare, + .validApprenticeMove = TRUE, }, [MOVE_DREAM_EATER] = @@ -3545,11 +3644,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .healingMove = B_HEAL_BLOCKING >= GEN_6, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_5, .contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND, COMBO_STARTER_HYPNOSIS}, .battleAnimScript = gBattleAnimMove_DreamEater, + .validApprenticeMove = TRUE, }, [MOVE_POISON_GAS] = @@ -3649,6 +3750,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_LovelyKiss, + .validApprenticeMove = TRUE, }, [MOVE_SKY_ATTACK] = @@ -3680,6 +3782,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_SkyAttack, + .validApprenticeMove = TRUE, }, [MOVE_TRANSFORM] = @@ -3710,6 +3813,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Transform, + .validApprenticeMove = TRUE, }, [MOVE_BUBBLE] = @@ -3762,6 +3866,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_DizzyPunch, + .validApprenticeMove = TRUE, }, [MOVE_SPORE] = @@ -3786,6 +3891,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Spore, + .validApprenticeMove = TRUE, }, [MOVE_FLASH] = @@ -3809,6 +3915,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Flash, + .validApprenticeMove = TRUE, }, [MOVE_PSYWAVE] = @@ -3830,6 +3937,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, .battleAnimScript = gBattleAnimMove_Psywave, + .validApprenticeMove = TRUE, }, [MOVE_SPLASH] = @@ -3880,6 +3988,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_AcidArmor, + .validApprenticeMove = TRUE, }, [MOVE_CRABHAMMER] = @@ -3903,6 +4012,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SWORDS_DANCE}, .battleAnimScript = gBattleAnimMove_Crabhammer, + .validApprenticeMove = TRUE, }, [MOVE_EXPLOSION] = @@ -3925,6 +4035,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Explosion, + .validApprenticeMove = TRUE, }, [MOVE_FURY_SWIPES] = @@ -3969,6 +4080,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_BONEMERANG, .contestComboMoves = {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONE_RUSH, COMBO_STARTER_SHADOW_BONE}, .battleAnimScript = gBattleAnimMove_Bonemerang, + .validApprenticeMove = TRUE, }, [MOVE_REST] = @@ -3995,6 +4107,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_REST, .contestComboMoves = {COMBO_STARTER_BELLY_DRUM, COMBO_STARTER_CHARM, COMBO_STARTER_YAWN}, .battleAnimScript = gBattleAnimMove_Rest, + .validApprenticeMove = TRUE, }, [MOVE_ROCK_SLIDE] = @@ -4020,6 +4133,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ROCK_THROW}, .battleAnimScript = gBattleAnimMove_RockSlide, + .validApprenticeMove = TRUE, }, [MOVE_HYPER_FANG] = @@ -4047,6 +4161,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_HyperFang, + .validApprenticeMove = TRUE, }, [MOVE_SHARPEN] = @@ -4072,6 +4187,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Sharpen, + .validApprenticeMove = TRUE, }, [MOVE_CONVERSION] = @@ -4097,6 +4213,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Conversion, + .validApprenticeMove = TRUE, }, [MOVE_TRI_ATTACK] = @@ -4122,6 +4239,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LOCK_ON}, .battleAnimScript = gBattleAnimMove_TriAttack, + .validApprenticeMove = TRUE, }, [MOVE_SUPER_FANG] = @@ -4145,6 +4263,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SCARY_FACE}, .battleAnimScript = gBattleAnimMove_SuperFang, + .validApprenticeMove = TRUE, }, [MOVE_SLASH] = @@ -4169,6 +4288,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SCRATCH, COMBO_STARTER_SWORDS_DANCE}, .battleAnimScript = gBattleAnimMove_Slash, + .validApprenticeMove = TRUE, }, [MOVE_SUBSTITUTE] = @@ -4195,6 +4315,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Substitute, + .validApprenticeMove = TRUE, }, [MOVE_STRUGGLE] = @@ -4233,6 +4354,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .assistBanned = TRUE, .sketchBanned = TRUE, .battleAnimScript = gBattleAnimMove_Struggle, + .validApprenticeMove = TRUE, }, [MOVE_SKETCH] = @@ -4266,6 +4388,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Sketch, + .validApprenticeMove = TRUE, }, [MOVE_TRIPLE_KICK] = @@ -4289,6 +4412,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, .battleAnimScript = gBattleAnimMove_TripleKick, + .validApprenticeMove = TRUE, }, [MOVE_THIEF] = @@ -4319,6 +4443,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Thief, + .validApprenticeMove = TRUE, }, [MOVE_SPIDER_WEB] = @@ -4343,6 +4468,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_STRING_SHOT}, .battleAnimScript = gBattleAnimMove_SpiderWeb, + .validApprenticeMove = TRUE, }, [MOVE_MIND_READER] = @@ -4365,6 +4491,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_MIND_READER, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_MindReader, + .validApprenticeMove = TRUE, }, [MOVE_NIGHTMARE] = @@ -4388,6 +4515,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Nightmare, + .validApprenticeMove = TRUE, }, [MOVE_FLAME_WHEEL] = @@ -4443,6 +4571,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_REST}, .battleAnimScript = gBattleAnimMove_Snore, + .validApprenticeMove = TRUE, }, [MOVE_CURSE] = @@ -4468,6 +4597,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_CURSE, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Curse, + .validApprenticeMove = TRUE, }, [MOVE_FLAIL] = @@ -4490,6 +4620,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ENDURE}, .battleAnimScript = gBattleAnimMove_Flail, + .validApprenticeMove = TRUE, }, [MOVE_CONVERSION_2] = @@ -4515,6 +4646,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Conversion2, + .validApprenticeMove = TRUE, }, [MOVE_AEROBLAST] = @@ -4538,6 +4670,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Aeroblast, + .validApprenticeMove = TRUE, }, [MOVE_COTTON_SPORE] = @@ -4562,6 +4695,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_CottonSpore, + .validApprenticeMove = TRUE, }, [MOVE_REVERSAL] = @@ -4584,6 +4718,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ENDURE}, .battleAnimScript = gBattleAnimMove_Reversal, + .validApprenticeMove = TRUE, }, [MOVE_SPITE] = @@ -4608,6 +4743,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CURSE}, .battleAnimScript = gBattleAnimMove_Spite, + .validApprenticeMove = TRUE, }, [MOVE_POWDER_SNOW] = @@ -4662,6 +4798,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HARDEN}, .battleAnimScript = gBattleAnimMove_Protect, + .validApprenticeMove = TRUE, }, [MOVE_MACH_PUNCH] = @@ -4685,6 +4822,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_MachPunch, + .validApprenticeMove = TRUE, }, [MOVE_SCARY_FACE] = @@ -4708,6 +4846,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_SCARY_FACE, .contestComboMoves = {COMBO_STARTER_LEER, COMBO_STARTER_RAGE}, .battleAnimScript = gBattleAnimMove_ScaryFace, + .validApprenticeMove = TRUE, }, [MOVE_FEINT_ATTACK] = @@ -4730,6 +4869,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FAKE_OUT, COMBO_STARTER_LEER, COMBO_STARTER_POUND}, .battleAnimScript = gBattleAnimMove_FeintAttack, + .validApprenticeMove = TRUE, }, [MOVE_SWEET_KISS] = @@ -4753,6 +4893,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARM}, .battleAnimScript = gBattleAnimMove_SweetKiss, + .validApprenticeMove = TRUE, }, [MOVE_BELLY_DRUM] = @@ -4778,6 +4919,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_BELLY_DRUM, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_BellyDrum, + .validApprenticeMove = TRUE, }, [MOVE_SLUDGE_BOMB] = @@ -4804,6 +4946,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_SLUDGE_BOMB, .contestComboMoves = {COMBO_STARTER_SLUDGE}, .battleAnimScript = gBattleAnimMove_SludgeBomb, + .validApprenticeMove = TRUE, }, [MOVE_MUD_SLAP] = @@ -4829,6 +4972,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_MUD_SLAP, .contestComboMoves = {COMBO_STARTER_MUD_SPORT, COMBO_STARTER_SAND_ATTACK, COMBO_STARTER_SANDSTORM}, .battleAnimScript = gBattleAnimMove_MudSlap, + .validApprenticeMove = TRUE, }, [MOVE_OCTAZOOKA] = @@ -4855,6 +4999,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LOCK_ON, COMBO_STARTER_RAIN_DANCE}, .battleAnimScript = gBattleAnimMove_Octazooka, + .validApprenticeMove = TRUE, }, [MOVE_SPIKES] = @@ -4882,6 +5027,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Spikes, + .validApprenticeMove = TRUE, }, [MOVE_ZAP_CANNON] = @@ -4908,6 +5054,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_LOCK_ON}, .battleAnimScript = gBattleAnimMove_ZapCannon, + .validApprenticeMove = TRUE, }, [MOVE_FORESIGHT] = @@ -4932,6 +5079,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Foresight, + .validApprenticeMove = TRUE, }, [MOVE_DESTINY_BOND] = @@ -4960,6 +5108,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CURSE, COMBO_STARTER_ENDURE, COMBO_STARTER_MEAN_LOOK}, .battleAnimScript = gBattleAnimMove_DestinyBond, + .validApprenticeMove = TRUE, }, [MOVE_PERISH_SONG] = @@ -4986,6 +5135,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_SING}, .battleAnimScript = gBattleAnimMove_PerishSong, + .validApprenticeMove = TRUE, }, [MOVE_ICY_WIND] = @@ -5012,6 +5162,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL}, .battleAnimScript = gBattleAnimMove_IcyWind, + .validApprenticeMove = TRUE, }, [MOVE_DETECT] = @@ -5039,6 +5190,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_TAUNT}, .battleAnimScript = gBattleAnimMove_Detect, + .validApprenticeMove = TRUE, }, [MOVE_BONE_RUSH] = @@ -5082,6 +5234,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_LOCK_ON, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_LockOn, + .validApprenticeMove = TRUE, }, [MOVE_OUTRAGE] = @@ -5109,6 +5262,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Outrage, + .validApprenticeMove = TRUE, }, [MOVE_SANDSTORM] = @@ -5134,6 +5288,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_SANDSTORM, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Sandstorm, + .validApprenticeMove = TRUE, }, [MOVE_GIGA_DRAIN] = @@ -5158,6 +5313,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, .battleAnimScript = gBattleAnimMove_GigaDrain, + .validApprenticeMove = TRUE, }, [MOVE_ENDURE] = @@ -5185,6 +5341,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_ENDURE, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Endure, + .validApprenticeMove = TRUE, }, [MOVE_CHARM] = @@ -5208,6 +5365,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_CHARM, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Charm, + .validApprenticeMove = TRUE, }, [MOVE_ROLLOUT] = @@ -5232,6 +5390,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_HARDEN}, .battleAnimScript = gBattleAnimMove_Rollout, + .validApprenticeMove = TRUE, }, [MOVE_FALSE_SWIPE] = @@ -5252,6 +5411,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWORDS_DANCE}, .battleAnimScript = gBattleAnimMove_FalseSwipe, + .validApprenticeMove = TRUE, }, [MOVE_SWAGGER] = @@ -5275,6 +5435,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Swagger, + .validApprenticeMove = TRUE, }, [MOVE_MILK_DRINK] = @@ -5301,6 +5462,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_MilkDrink, + .validApprenticeMove = TRUE, }, [MOVE_SPARK] = @@ -5356,6 +5518,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWORDS_DANCE}, .battleAnimScript = gBattleAnimMove_FuryCutter, + .validApprenticeMove = TRUE, }, [MOVE_STEEL_WING] = @@ -5383,6 +5546,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_SteelWing, + .validApprenticeMove = TRUE, }, [MOVE_MEAN_LOOK] = @@ -5407,6 +5571,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_MEAN_LOOK, .contestComboMoves = {COMBO_STARTER_CURSE}, .battleAnimScript = gBattleAnimMove_MeanLook, + .validApprenticeMove = TRUE, }, [MOVE_ATTRACT] = @@ -5431,6 +5596,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Attract, + .validApprenticeMove = TRUE, }, [MOVE_SLEEP_TALK] = @@ -5462,6 +5628,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_REST}, .battleAnimScript = gBattleAnimMove_SleepTalk, + .validApprenticeMove = TRUE, }, [MOVE_HEAL_BELL] = @@ -5489,6 +5656,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_HEAL_BELL, .contestComboMoves = {COMBO_STARTER_LUCKY_CHANT}, .battleAnimScript = gBattleAnimMove_HealBell, + .validApprenticeMove = TRUE, }, [MOVE_RETURN] = @@ -5511,6 +5679,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Return, + .validApprenticeMove = TRUE, }, [MOVE_PRESENT] = @@ -5533,6 +5702,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Present, + .validApprenticeMove = TRUE, }, [MOVE_FRUSTRATION] = @@ -5555,6 +5725,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Frustration, + .validApprenticeMove = TRUE, }, [MOVE_SAFEGUARD] = @@ -5580,6 +5751,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Safeguard, + .validApprenticeMove = TRUE, }, [MOVE_PAIN_SPLIT] = @@ -5602,6 +5774,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ENDURE}, .battleAnimScript = gBattleAnimMove_PainSplit, + .validApprenticeMove = TRUE, }, [MOVE_SACRED_FIRE] = @@ -5628,6 +5801,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, .battleAnimScript = gBattleAnimMove_SacredFire, + .validApprenticeMove = TRUE, }, [MOVE_MAGNITUDE] = @@ -5678,6 +5852,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER}, .battleAnimScript = gBattleAnimMove_DynamicPunch, + .validApprenticeMove = TRUE, }, [MOVE_MEGAHORN] = @@ -5700,6 +5875,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Megahorn, + .validApprenticeMove = TRUE, }, [MOVE_DRAGON_BREATH] = @@ -5726,6 +5902,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_DRAGON_BREATH, .contestComboMoves = {COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL}, .battleAnimScript = gBattleAnimMove_DragonBreath, + .validApprenticeMove = TRUE, }, [MOVE_BATON_PASS] = @@ -5750,6 +5927,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_BatonPass, + .validApprenticeMove = TRUE, }, [MOVE_ENCORE] = @@ -5775,6 +5953,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Encore, + .validApprenticeMove = TRUE, }, [MOVE_PURSUIT] = @@ -5798,6 +5977,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Pursuit, + .validApprenticeMove = TRUE, }, [MOVE_RAPID_SPIN] = @@ -5829,6 +6009,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_RapidSpin, + .validApprenticeMove = TRUE, }, [MOVE_SWEET_SCENT] = @@ -5852,6 +6033,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_SWEET_SCENT, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_SweetScent, + .validApprenticeMove = TRUE, }, [MOVE_IRON_TAIL] = @@ -5878,6 +6060,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_IronTail, + .validApprenticeMove = TRUE, }, [MOVE_METAL_CLAW] = @@ -5905,6 +6088,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_METAL_SOUND}, .battleAnimScript = gBattleAnimMove_MetalClaw, + .validApprenticeMove = TRUE, }, [MOVE_VITAL_THROW] = @@ -5927,6 +6111,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FAKE_OUT}, .battleAnimScript = gBattleAnimMove_VitalThrow, + .validApprenticeMove = TRUE, }, [MOVE_MORNING_SUN] = @@ -5953,6 +6138,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, .battleAnimScript = gBattleAnimMove_MorningSun, + .validApprenticeMove = TRUE, }, [MOVE_SYNTHESIS] = @@ -5979,6 +6165,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, .battleAnimScript = gBattleAnimMove_Synthesis, + .validApprenticeMove = TRUE, }, [MOVE_MOONLIGHT] = @@ -6005,6 +6192,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, .battleAnimScript = gBattleAnimMove_Moonlight, + .validApprenticeMove = TRUE, }, [MOVE_HIDDEN_POWER] = @@ -6026,6 +6214,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_HiddenPower, + .validApprenticeMove = TRUE, }, [MOVE_CROSS_CHOP] = @@ -6049,6 +6238,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, .battleAnimScript = gBattleAnimMove_CrossChop, + .validApprenticeMove = TRUE, }, [MOVE_TWISTER] = @@ -6100,6 +6290,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_RAIN_DANCE, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_RainDance, + .validApprenticeMove = TRUE, }, [MOVE_SUNNY_DAY] = @@ -6124,6 +6315,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_SUNNY_DAY, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_SunnyDay, + .validApprenticeMove = TRUE, }, [MOVE_CRUNCH] = @@ -6159,6 +6351,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SCARY_FACE}, .battleAnimScript = gBattleAnimMove_Crunch, + .validApprenticeMove = TRUE, }, [MOVE_MIRROR_COAT] = @@ -6184,6 +6377,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_TAUNT}, .battleAnimScript = gBattleAnimMove_MirrorCoat, + .validApprenticeMove = TRUE, }, [MOVE_PSYCH_UP] = @@ -6210,6 +6404,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_PsychUp, + .validApprenticeMove = TRUE, }, [MOVE_EXTREME_SPEED] = @@ -6232,6 +6427,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_ExtremeSpeed, + .validApprenticeMove = TRUE, }, [MOVE_ANCIENT_POWER] = @@ -6259,6 +6455,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_AncientPower, + .validApprenticeMove = TRUE, }, [MOVE_SHADOW_BALL] = @@ -6285,6 +6482,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_ShadowBall, + .validApprenticeMove = TRUE, }, [MOVE_FUTURE_SIGHT] = @@ -6314,6 +6512,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND, COMBO_STARTER_CONFUSION, COMBO_STARTER_KINESIS, COMBO_STARTER_PSYCHIC}, .battleAnimScript = gBattleAnimMove_FutureSight, + .validApprenticeMove = TRUE, }, [MOVE_ROCK_SMASH] = @@ -6340,6 +6539,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_RockSmash, + .validApprenticeMove = TRUE, }, [MOVE_WHIRLPOOL] = @@ -6365,6 +6565,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, .battleAnimScript = gBattleAnimMove_Whirlpool, + .validApprenticeMove = TRUE, }, [MOVE_BEAT_UP] = @@ -6386,6 +6587,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_BeatUp, + .validApprenticeMove = TRUE, }, [MOVE_FAKE_OUT] = @@ -6412,6 +6614,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_FAKE_OUT, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_FakeOut, + .validApprenticeMove = TRUE, }, [MOVE_UPROAR] = @@ -6445,6 +6648,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Uproar, + .validApprenticeMove = TRUE, }, [MOVE_STOCKPILE] = @@ -6470,6 +6674,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_STOCKPILE, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Stockpile, + .validApprenticeMove = TRUE, }, [MOVE_SPIT_UP] = @@ -6492,6 +6697,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_STOCKPILE}, .battleAnimScript = gBattleAnimMove_SpitUp, + .validApprenticeMove = TRUE, }, [MOVE_SWALLOW] = @@ -6518,6 +6724,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_STOCKPILE}, .battleAnimScript = gBattleAnimMove_Swallow, + .validApprenticeMove = TRUE, }, [MOVE_HEAT_WAVE] = @@ -6544,6 +6751,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, .battleAnimScript = gBattleAnimMove_HeatWave, + .validApprenticeMove = TRUE, }, [MOVE_HAIL] = @@ -6568,6 +6776,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_HAIL, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Hail, + .validApprenticeMove = TRUE, }, [MOVE_TORMENT] = @@ -6591,6 +6800,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Torment, + .validApprenticeMove = TRUE, }, [MOVE_FLATTER] = @@ -6614,6 +6824,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARM}, .battleAnimScript = gBattleAnimMove_Flatter, + .validApprenticeMove = TRUE, }, [MOVE_WILL_O_WISP] = @@ -6637,6 +6848,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, .battleAnimScript = gBattleAnimMove_WillOWisp, + .validApprenticeMove = TRUE, }, [MOVE_MEMENTO] = @@ -6659,6 +6871,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Memento, + .validApprenticeMove = TRUE, }, [MOVE_FACADE] = @@ -6681,6 +6894,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Facade, + .validApprenticeMove = TRUE, }, [MOVE_FOCUS_PUNCH] = @@ -6711,6 +6925,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, .battleAnimScript = gBattleAnimMove_FocusPunch, + .validApprenticeMove = TRUE, }, [MOVE_SMELLING_SALTS] = @@ -6737,6 +6952,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_SmellingSalts, + .validApprenticeMove = TRUE, }, [MOVE_FOLLOW_ME] = @@ -6764,6 +6980,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_FollowMe, + .validApprenticeMove = TRUE, }, [MOVE_NATURE_POWER] = @@ -6792,6 +7009,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_NaturePower, + .validApprenticeMove = TRUE, }, [MOVE_CHARGE] = @@ -6817,6 +7035,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_CHARGE, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Charge, + .validApprenticeMove = TRUE, }, [MOVE_TAUNT] = @@ -6841,6 +7060,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_TAUNT, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Taunt, + .validApprenticeMove = TRUE, }, [MOVE_HELPING_HAND] = @@ -6869,6 +7089,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_HelpingHand, + .validApprenticeMove = TRUE, }, [MOVE_TRICK] = @@ -6894,6 +7115,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Trick, + .validApprenticeMove = TRUE, }, [MOVE_ROLE_PLAY] = @@ -6919,6 +7141,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_RolePlay, + .validApprenticeMove = TRUE, }, [MOVE_WISH] = @@ -6945,6 +7168,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Wish, + .validApprenticeMove = TRUE, }, [MOVE_ASSIST] = @@ -6975,6 +7199,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Assist, + .validApprenticeMove = TRUE, }, [MOVE_INGRAIN] = @@ -7001,6 +7226,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Ingrain, + .validApprenticeMove = TRUE, }, [MOVE_SUPERPOWER] = @@ -7027,6 +7253,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LOCK_ON, COMBO_STARTER_MIND_READER}, .battleAnimScript = gBattleAnimMove_Superpower, + .validApprenticeMove = TRUE, }, [MOVE_MAGIC_COAT] = @@ -7051,6 +7278,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_MagicCoat, + .validApprenticeMove = TRUE, }, [MOVE_RECYCLE] = @@ -7076,6 +7304,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Recycle, + .validApprenticeMove = TRUE, }, [MOVE_REVENGE] = @@ -7096,6 +7325,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_REVENGE, .contestComboMoves = {COMBO_STARTER_PAYBACK}, .battleAnimScript = gBattleAnimMove_Revenge, + .validApprenticeMove = TRUE, }, [MOVE_BRICK_BREAK] = @@ -7118,6 +7348,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, .battleAnimScript = gBattleAnimMove_BrickBreak, + .validApprenticeMove = TRUE, }, [MOVE_YAWN] = @@ -7141,6 +7372,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_YAWN, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Yawn, + .validApprenticeMove = TRUE, }, [MOVE_KNOCK_OFF] = @@ -7166,6 +7398,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FAKE_OUT}, .battleAnimScript = gBattleAnimMove_KnockOff, + .validApprenticeMove = TRUE, }, [MOVE_ENDEAVOR] = @@ -7189,6 +7422,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ENDURE}, .battleAnimScript = gBattleAnimMove_Endeavor, + .validApprenticeMove = TRUE, }, [MOVE_ERUPTION] = @@ -7210,6 +7444,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_EARTHQUAKE, COMBO_STARTER_ENDURE, COMBO_STARTER_SUNNY_DAY}, .battleAnimScript = gBattleAnimMove_Eruption, + .validApprenticeMove = TRUE, }, [MOVE_SKILL_SWAP] = @@ -7233,6 +7468,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_SkillSwap, + .validApprenticeMove = TRUE, }, [MOVE_IMPRISON] = @@ -7260,6 +7496,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Imprison, + .validApprenticeMove = TRUE, }, [MOVE_REFRESH] = @@ -7285,6 +7522,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SING, COMBO_STARTER_WATER_SPORT}, .battleAnimScript = gBattleAnimMove_Refresh, + .validApprenticeMove = TRUE, }, [MOVE_GRUDGE] = @@ -7310,6 +7548,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CURSE}, .battleAnimScript = gBattleAnimMove_Grudge, + .validApprenticeMove = TRUE, }, [MOVE_SNATCH] = @@ -7337,6 +7576,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Snatch, + .validApprenticeMove = TRUE, }, [MOVE_SECRET_POWER] = @@ -7362,6 +7602,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_SecretPower, + .validApprenticeMove = TRUE, }, [MOVE_DIVE] = @@ -7389,6 +7630,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_DIVE, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SURF}, .battleAnimScript = gBattleAnimMove_Dive, + .validApprenticeMove = TRUE, }, [MOVE_ARM_THRUST] = @@ -7436,6 +7678,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Camouflage, + .validApprenticeMove = TRUE, }, [MOVE_TAIL_GLOW] = @@ -7461,6 +7704,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_TailGlow, + .validApprenticeMove = TRUE, }, [MOVE_LUSTER_PURGE] = @@ -7486,6 +7730,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, .battleAnimScript = gBattleAnimMove_LusterPurge, + .validApprenticeMove = TRUE, }, [MOVE_MIST_BALL] = @@ -7512,6 +7757,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, .battleAnimScript = gBattleAnimMove_MistBall, + .validApprenticeMove = TRUE, }, [MOVE_FEATHER_DANCE] = @@ -7536,6 +7782,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_FeatherDance, + .validApprenticeMove = TRUE, }, [MOVE_TEETER_DANCE] = @@ -7560,6 +7807,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_TeeterDance, + .validApprenticeMove = TRUE, }, [MOVE_BLAZE_KICK] = @@ -7587,6 +7835,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, .battleAnimScript = gBattleAnimMove_BlazeKick, + .validApprenticeMove = TRUE, }, [MOVE_MUD_SPORT] = @@ -7612,6 +7861,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_MUD_SPORT, .contestComboMoves = {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM, COMBO_STARTER_WATER_SPORT}, .battleAnimScript = gBattleAnimMove_MudSport, + .validApprenticeMove = TRUE, }, [MOVE_ICE_BALL] = @@ -7664,6 +7914,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_NeedleArm, + .validApprenticeMove = TRUE, }, [MOVE_SLACK_OFF] = @@ -7690,6 +7941,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_SlackOff, + .validApprenticeMove = TRUE, }, [MOVE_HYPER_VOICE] = @@ -7713,6 +7965,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_HyperVoice, + .validApprenticeMove = TRUE, }, [MOVE_POISON_FANG] = @@ -7766,6 +8019,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWORDS_DANCE}, .battleAnimScript = gBattleAnimMove_CrushClaw, + .validApprenticeMove = TRUE, }, [MOVE_BLAST_BURN] = @@ -7791,6 +8045,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, .battleAnimScript = gBattleAnimMove_BlastBurn, + .validApprenticeMove = TRUE, }, [MOVE_HYDRO_CANNON] = @@ -7816,6 +8071,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, .battleAnimScript = gBattleAnimMove_HydroCannon, + .validApprenticeMove = TRUE, }, [MOVE_METEOR_MASH] = @@ -7844,6 +8100,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_MeteorMash, + .validApprenticeMove = TRUE, }, [MOVE_ASTONISH] = @@ -7871,6 +8128,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Astonish, + .validApprenticeMove = TRUE, }, [MOVE_WEATHER_BALL] = @@ -7894,6 +8152,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL, COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SANDSTORM, COMBO_STARTER_SUNNY_DAY}, .battleAnimScript = gBattleAnimMove_WeatherBall, + .validApprenticeMove = TRUE, }, [MOVE_AROMATHERAPY] = @@ -7919,6 +8178,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Aromatherapy, + .validApprenticeMove = TRUE, }, [MOVE_FAKE_TEARS] = @@ -7942,6 +8202,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_FakeTears, + .validApprenticeMove = TRUE, }, [MOVE_AIR_CUTTER] = @@ -7966,6 +8227,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_AirCutter, + .validApprenticeMove = TRUE, }, [MOVE_OVERHEAT] = @@ -7992,6 +8254,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, .battleAnimScript = gBattleAnimMove_Overheat, + .validApprenticeMove = TRUE, }, [MOVE_ODOR_SLEUTH] = @@ -8016,6 +8279,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_OdorSleuth, + .validApprenticeMove = TRUE, }, [MOVE_ROCK_TOMB] = @@ -8041,6 +8305,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ROCK_THROW}, .battleAnimScript = gBattleAnimMove_RockTomb, + .validApprenticeMove = TRUE, }, [MOVE_SILVER_WIND] = @@ -8068,6 +8333,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_SilverWind, + .validApprenticeMove = TRUE, }, [MOVE_METAL_SOUND] = @@ -8093,6 +8359,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_METAL_SOUND, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_MetalSound, + .validApprenticeMove = TRUE, }, [MOVE_GRASS_WHISTLE] = @@ -8118,6 +8385,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_GrassWhistle, + .validApprenticeMove = TRUE, }, [MOVE_TICKLE] = @@ -8141,6 +8409,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Tickle, + .validApprenticeMove = TRUE, }, [MOVE_COSMIC_POWER] = @@ -8166,6 +8435,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_CosmicPower, + .validApprenticeMove = TRUE, }, [MOVE_WATER_SPOUT] = @@ -8187,6 +8457,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, .battleAnimScript = gBattleAnimMove_WaterSpout, + .validApprenticeMove = TRUE, }, [MOVE_SIGNAL_BEAM] = @@ -8212,6 +8483,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_SignalBeam, + .validApprenticeMove = TRUE, }, [MOVE_SHADOW_PUNCH] = @@ -8235,6 +8507,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_ShadowPunch, + .validApprenticeMove = TRUE, }, [MOVE_EXTRASENSORY] = @@ -8261,6 +8534,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Extrasensory, + .validApprenticeMove = TRUE, }, [MOVE_SKY_UPPERCUT] = @@ -8285,6 +8559,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, .battleAnimScript = gBattleAnimMove_SkyUppercut, + .validApprenticeMove = TRUE, }, [MOVE_SAND_TOMB] = @@ -8309,6 +8584,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SANDSTORM}, .battleAnimScript = gBattleAnimMove_SandTomb, + .validApprenticeMove = TRUE, }, [MOVE_SHEER_COLD] = @@ -8330,6 +8606,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL, COMBO_STARTER_MIND_READER}, .battleAnimScript = gBattleAnimMove_SheerCold, + .validApprenticeMove = TRUE, }, [MOVE_MUDDY_WATER] = @@ -8356,6 +8633,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, .battleAnimScript = gBattleAnimMove_MuddyWater, + .validApprenticeMove = TRUE, }, [MOVE_BULLET_SEED] = @@ -8401,6 +8679,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_AerialAce, + .validApprenticeMove = TRUE, }, [MOVE_ICICLE_SPEAR] = @@ -8447,6 +8726,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_IronDefense, + .validApprenticeMove = TRUE, }, [MOVE_BLOCK] = @@ -8471,6 +8751,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Block, + .validApprenticeMove = TRUE, }, [MOVE_HOWL] = @@ -8497,6 +8778,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Howl, + .validApprenticeMove = TRUE, }, [MOVE_DRAGON_CLAW] = @@ -8519,6 +8801,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL}, .battleAnimScript = gBattleAnimMove_DragonClaw, + .validApprenticeMove = TRUE, }, [MOVE_FRENZY_PLANT] = @@ -8545,6 +8828,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, .battleAnimScript = gBattleAnimMove_FrenzyPlant, + .validApprenticeMove = TRUE, }, [MOVE_BULK_UP] = @@ -8570,6 +8854,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_BulkUp, + .validApprenticeMove = TRUE, }, [MOVE_BOUNCE] = @@ -8601,6 +8886,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Bounce, + .validApprenticeMove = TRUE, }, [MOVE_MUD_SHOT] = @@ -8653,6 +8939,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_PoisonTail, + .validApprenticeMove = TRUE, }, [MOVE_COVET] = @@ -8682,6 +8969,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_Covet, + .validApprenticeMove = TRUE, }, [MOVE_VOLT_TACKLE] = @@ -8711,6 +8999,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_VoltTackle, + .validApprenticeMove = TRUE, }, [MOVE_MAGICAL_LEAF] = @@ -8732,6 +9021,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, .battleAnimScript = gBattleAnimMove_MagicalLeaf, + .validApprenticeMove = TRUE, }, [MOVE_WATER_SPORT] = @@ -8757,6 +9047,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_WATER_SPORT, .contestComboMoves = {COMBO_STARTER_MUD_SPORT, COMBO_STARTER_RAIN_DANCE}, .battleAnimScript = gBattleAnimMove_WaterSport, + .validApprenticeMove = TRUE, }, [MOVE_CALM_MIND] = @@ -8782,6 +9073,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_CALM_MIND, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_CalmMind, + .validApprenticeMove = TRUE, }, [MOVE_LEAF_BLADE] = @@ -8806,6 +9098,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_LeafBlade, + .validApprenticeMove = TRUE, }, [MOVE_DRAGON_DANCE] = @@ -8832,6 +9125,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = COMBO_STARTER_DRAGON_DANCE, .contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL}, .battleAnimScript = gBattleAnimMove_DragonDance, + .validApprenticeMove = TRUE, }, [MOVE_ROCK_BLAST] = @@ -8875,6 +9169,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, .battleAnimScript = gBattleAnimMove_ShockWave, + .validApprenticeMove = TRUE, }, [MOVE_WATER_PULSE] = @@ -8901,6 +9196,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, .battleAnimScript = gBattleAnimMove_WaterPulse, + .validApprenticeMove = TRUE, }, [MOVE_DOOM_DESIRE] = @@ -8924,6 +9220,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {0}, .battleAnimScript = gBattleAnimMove_DoomDesire, + .validApprenticeMove = TRUE, }, [MOVE_PSYCHO_BOOST] = @@ -8949,6 +9246,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, .battleAnimScript = gBattleAnimMove_PsychoBoost, + .validApprenticeMove = TRUE, }, [MOVE_ROOST] = @@ -9594,7 +9892,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .type = TYPE_NORMAL, .accuracy = 0, .pp = 20, - .target = MOVE_TARGET_SELECTED, + .target = MOVE_TARGET_OPPONENT, .priority = 0, .category = DAMAGE_CATEGORY_STATUS, .zMove = { .effect = Z_EFFECT_SPD_UP_2 }, diff --git a/src/data/object_events/object_event_pic_tables_followers.h b/src/data/object_events/object_event_pic_tables_followers.h new file mode 100644 index 0000000000..d77010c0c0 --- /dev/null +++ b/src/data/object_events/object_event_pic_tables_followers.h @@ -0,0 +1,6632 @@ +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 9c2fc2450a..5b3d31786e 100644 --- a/src/data/pokemon/species_info.h +++ b/src/data/pokemon/species_info.h @@ -45,7 +45,7 @@ #define OVERWORLD_PAL_FEMALE(...) #endif //OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE -#define OVERWORLD_DATA(objEventPic, _size, shadow, _tracks, _anims) \ +#define OVERWORLD_DATA(picTable, _size, shadow, _tracks, _anims) \ { \ .tileTag = TAG_NONE, \ .paletteTag = OBJ_EVENT_PAL_TAG_DYNAMIC, \ @@ -61,7 +61,7 @@ .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), }, \ + .images = picTable, \ .affineAnims = gDummySpriteAffineAnimTable, \ } @@ -139,7 +139,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .oam = &gObjectEventBaseOam_32x32, .subspriteTables = sOamTables_32x32, .anims = sAnimTable_Following, - .images = (const struct SpriteFrameImage[]) { overworld_ascending_frames(gObjectEventPic_Substitute, 4, 4), }, + .images = sPicTable_Substitute, .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 21cc97cc91..05bad13974 100644 --- a/src/data/pokemon/species_info/gen_1_families.h +++ b/src/data/pokemon/species_info/gen_1_families.h @@ -58,7 +58,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, -1, SHADOW_SIZE_S) FOOTPRINT(Bulbasaur) OVERWORLD( - gObjectEventPic_Bulbasaur, + sPicTable_Bulbasaur, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -127,7 +127,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 3, SHADOW_SIZE_L) FOOTPRINT(Ivysaur) OVERWORLD( - gObjectEventPic_Ivysaur, + sPicTable_Ivysaur, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -207,7 +207,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Venusaur) OVERWORLD( - gObjectEventPic_Venusaur, + sPicTable_Venusaur, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -216,7 +216,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Venusaur ) OVERWORLD_FEMALE( - gObjectEventPic_VenusaurF, + sPicTable_VenusaurF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -280,7 +280,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = FOOTPRINT(Venusaur) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_VenusaurMega, + sPicTable_VenusaurMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -412,7 +412,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Charmander) OVERWORLD( - gObjectEventPic_Charmander, + sPicTable_Charmander, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -481,7 +481,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Charmeleon) OVERWORLD( - gObjectEventPic_Charmeleon, + sPicTable_Charmeleon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -553,7 +553,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(Charizard) OVERWORLD( - gObjectEventPic_Charizard, + sPicTable_Charizard, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -618,7 +618,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = FOOTPRINT(Charizard) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_CharizardMegaX, + sPicTable_CharizardMegaX, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -685,7 +685,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = FOOTPRINT(Charizard) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_CharizardMegaY, + sPicTable_CharizardMegaY, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -817,7 +817,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 2, SHADOW_SIZE_S) FOOTPRINT(Squirtle) OVERWORLD( - gObjectEventPic_Squirtle, + sPicTable_Squirtle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -886,7 +886,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 6, SHADOW_SIZE_M) FOOTPRINT(Wartortle) OVERWORLD( - gObjectEventPic_Wartortle, + sPicTable_Wartortle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -961,7 +961,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Blastoise) OVERWORLD( - gObjectEventPic_Blastoise, + sPicTable_Blastoise, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1027,7 +1027,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = FOOTPRINT(Blastoise) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_BlastoiseMega, + sPicTable_BlastoiseMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1163,7 +1163,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(4, 1, SHADOW_SIZE_S) FOOTPRINT(Caterpie) OVERWORLD( - gObjectEventPic_Caterpie, + sPicTable_Caterpie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -1230,7 +1230,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 0, SHADOW_SIZE_S) FOOTPRINT(Metapod) OVERWORLD( - gObjectEventPic_Metapod, + sPicTable_Metapod, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -1327,7 +1327,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 13, SHADOW_SIZE_S) FOOTPRINT(Butterfree) OVERWORLD( - gObjectEventPic_Butterfree, + sPicTable_Butterfree, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1336,7 +1336,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Butterfree ) OVERWORLD_FEMALE( - gObjectEventPic_ButterfreeF, + sPicTable_ButterfreeF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1470,7 +1470,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Weedle) OVERWORLD( - gObjectEventPic_Weedle, + sPicTable_Weedle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -1547,7 +1547,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Kakuna) OVERWORLD( - gObjectEventPic_Kakuna, + sPicTable_Kakuna, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -1632,7 +1632,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(4, 15, SHADOW_SIZE_M) FOOTPRINT(Beedrill) OVERWORLD( - gObjectEventPic_Beedrill, + sPicTable_Beedrill, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1701,7 +1701,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = FOOTPRINT(Beedrill) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_BeedrillMega, + sPicTable_BeedrillMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1779,7 +1779,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Pidgey) OVERWORLD( - gObjectEventPic_Pidgey, + sPicTable_Pidgey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1854,7 +1854,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-4, 6, SHADOW_SIZE_M) FOOTPRINT(Pidgeotto) OVERWORLD( - gObjectEventPic_Pidgeotto, + sPicTable_Pidgeotto, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1935,7 +1935,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-7, 14, SHADOW_SIZE_M) FOOTPRINT(Pidgeot) OVERWORLD( - gObjectEventPic_Pidgeot, + sPicTable_Pidgeot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2001,7 +2001,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = FOOTPRINT(Pidgeot) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_PidgeotMega, + sPicTable_PidgeotMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2081,7 +2081,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, -3, SHADOW_SIZE_S) FOOTPRINT(Rattata) OVERWORLD( - gObjectEventPic_Rattata, + sPicTable_Rattata, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2090,7 +2090,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Rattata ) OVERWORLD_FEMALE( - gObjectEventPic_RattataF, + sPicTable_RattataF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2172,7 +2172,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 8, SHADOW_SIZE_L) FOOTPRINT(Raticate) OVERWORLD( - gObjectEventPic_Raticate, + sPicTable_Raticate, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2181,7 +2181,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Raticate ) OVERWORLD_FEMALE( - gObjectEventPic_RaticateF, + sPicTable_RaticateF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2244,7 +2244,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 2, SHADOW_SIZE_S) FOOTPRINT(Rattata) OVERWORLD( - gObjectEventPic_RattataAlola, + sPicTable_RattataAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2308,7 +2308,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-4, 3, SHADOW_SIZE_L) FOOTPRINT(Raticate) OVERWORLD( - gObjectEventPic_RaticateAlola, + sPicTable_RaticateAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2369,7 +2369,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-4, 3, SHADOW_SIZE_L) FOOTPRINT(Raticate) OVERWORLD( - gObjectEventPic_RaticateAlola, + sPicTable_RaticateAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2444,7 +2444,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Spearow) OVERWORLD( - gObjectEventPic_Spearow, + sPicTable_Spearow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2520,7 +2520,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 17, SHADOW_SIZE_M) FOOTPRINT(Fearow) OVERWORLD( - gObjectEventPic_Fearow, + sPicTable_Fearow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2592,7 +2592,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Ekans) OVERWORLD( - gObjectEventPic_Ekans, + sPicTable_Ekans, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -2666,7 +2666,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Arbok) OVERWORLD( - gObjectEventPic_Arbok, + sPicTable_Arbok, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -2734,7 +2734,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Pichu) OVERWORLD( - gObjectEventPic_Pichu, + sPicTable_Pichu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2804,7 +2804,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Pichu) OVERWORLD( - gObjectEventPic_PichuSpikyEared, + sPicTable_PichuSpikyEared, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2889,7 +2889,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #endif //P_GENDER_DIFFERENCES SHADOW(-3, 5, SHADOW_SIZE_M) OVERWORLD( - gObjectEventPic_Pikachu, + sPicTable_Pikachu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2898,7 +2898,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Pikachu ) OVERWORLD_FEMALE( - gObjectEventPic_PikachuF, + sPicTable_PikachuF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3791,7 +3791,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) OVERWORLD( - gObjectEventPic_Pikachu, + sPicTable_Pikachu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3878,7 +3878,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 10, SHADOW_SIZE_M) FOOTPRINT(Raichu) OVERWORLD( - gObjectEventPic_Raichu, + sPicTable_Raichu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3887,7 +3887,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Raichu ) OVERWORLD_FEMALE( - gObjectEventPic_RaichuF, + sPicTable_RaichuF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3950,7 +3950,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 15, SHADOW_SIZE_M) FOOTPRINT(Raichu) OVERWORLD( - gObjectEventPic_RaichuAlola, + sPicTable_RaichuAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4024,7 +4024,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 1, SHADOW_SIZE_M) FOOTPRINT(Sandshrew) OVERWORLD( - gObjectEventPic_Sandshrew, + sPicTable_Sandshrew, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4096,7 +4096,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(4, 4, SHADOW_SIZE_L) FOOTPRINT(Sandslash) OVERWORLD( - gObjectEventPic_Sandslash, + sPicTable_Sandslash, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4161,7 +4161,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, -1, SHADOW_SIZE_M) FOOTPRINT(Sandshrew) OVERWORLD( - gObjectEventPic_SandshrewAlola, + sPicTable_SandshrewAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4228,7 +4228,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 9, SHADOW_SIZE_L) FOOTPRINT(Sandslash) OVERWORLD( - gObjectEventPic_SandslashAlola, + sPicTable_SandslashAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4310,7 +4310,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(NidoranF) OVERWORLD( - gObjectEventPic_NidoranF, + sPicTable_NidoranF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4381,7 +4381,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 5, SHADOW_SIZE_M) FOOTPRINT(Nidorina) OVERWORLD( - gObjectEventPic_Nidorina, + sPicTable_Nidorina, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4459,7 +4459,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Nidoqueen) OVERWORLD( - gObjectEventPic_Nidoqueen, + sPicTable_Nidoqueen, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4529,7 +4529,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(NidoranM) OVERWORLD( - gObjectEventPic_NidoranM, + sPicTable_NidoranM, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4601,7 +4601,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 1, SHADOW_SIZE_L) FOOTPRINT(Nidorino) OVERWORLD( - gObjectEventPic_Nidorino, + sPicTable_Nidorino, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4682,7 +4682,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Nidoking) OVERWORLD( - gObjectEventPic_Nidoking, + sPicTable_Nidoking, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4764,7 +4764,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -4, SHADOW_SIZE_S) FOOTPRINT(Cleffa) OVERWORLD( - gObjectEventPic_Cleffa, + sPicTable_Cleffa, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4839,7 +4839,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Clefairy) OVERWORLD( - gObjectEventPic_Clefairy, + sPicTable_Clefairy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4920,7 +4920,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Clefable) OVERWORLD( - gObjectEventPic_Clefable, + sPicTable_Clefable, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4991,7 +4991,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Vulpix) OVERWORLD( - gObjectEventPic_Vulpix, + sPicTable_Vulpix, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5064,7 +5064,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Ninetales) OVERWORLD( - gObjectEventPic_Ninetales, + sPicTable_Ninetales, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5129,7 +5129,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 3, SHADOW_SIZE_M) FOOTPRINT(Vulpix) OVERWORLD( - gObjectEventPic_VulpixAlola, + sPicTable_VulpixAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5197,7 +5197,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Ninetales) OVERWORLD( - gObjectEventPic_NinetalesAlola, + sPicTable_NinetalesAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5282,7 +5282,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -3, SHADOW_SIZE_S) FOOTPRINT(Igglybuff) OVERWORLD( - gObjectEventPic_Igglybuff, + sPicTable_Igglybuff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5359,7 +5359,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Jigglypuff) OVERWORLD( - gObjectEventPic_Jigglypuff, + sPicTable_Jigglypuff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5442,7 +5442,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Wigglytuff) OVERWORLD( - gObjectEventPic_Wigglytuff, + sPicTable_Wigglytuff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5527,7 +5527,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-4, 11, SHADOW_SIZE_S) FOOTPRINT(Zubat) OVERWORLD( - gObjectEventPic_Zubat, + sPicTable_Zubat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5536,7 +5536,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Zubat ) OVERWORLD_FEMALE( - gObjectEventPic_ZubatF, + sPicTable_ZubatF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5625,7 +5625,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 14, SHADOW_SIZE_M) FOOTPRINT(Golbat) OVERWORLD( - gObjectEventPic_Golbat, + sPicTable_Golbat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5634,7 +5634,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Golbat ) OVERWORLD_FEMALE( - gObjectEventPic_GolbatF, + sPicTable_GolbatF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5721,7 +5721,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 14, SHADOW_SIZE_M) FOOTPRINT(Crobat) OVERWORLD( - gObjectEventPic_Crobat, + sPicTable_Crobat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -5795,7 +5795,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -2, SHADOW_SIZE_S) FOOTPRINT(Oddish) OVERWORLD( - gObjectEventPic_Oddish, + sPicTable_Oddish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5871,7 +5871,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 3, SHADOW_SIZE_M) FOOTPRINT(Gloom) OVERWORLD( - gObjectEventPic_Gloom, + sPicTable_Gloom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5880,7 +5880,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Gloom ) OVERWORLD_FEMALE( - gObjectEventPic_GloomF, + sPicTable_GloomF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5960,7 +5960,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 7, SHADOW_SIZE_L) FOOTPRINT(Vileplume) OVERWORLD( - gObjectEventPic_Vileplume, + sPicTable_Vileplume, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5969,7 +5969,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Vileplume ) OVERWORLD_FEMALE( - gObjectEventPic_VileplumeF, + sPicTable_VileplumeF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6056,7 +6056,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Bellossom) OVERWORLD( - gObjectEventPic_Bellossom, + sPicTable_Bellossom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6145,7 +6145,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(7, -11, SHADOW_SIZE_M) FOOTPRINT(Paras) OVERWORLD( - gObjectEventPic_Paras, + sPicTable_Paras, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, @@ -6224,7 +6224,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(5, 2, SHADOW_SIZE_L) FOOTPRINT(Parasect) OVERWORLD( - gObjectEventPic_Parasect, + sPicTable_Parasect, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, @@ -6300,7 +6300,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 5, SHADOW_SIZE_M) FOOTPRINT(Venonat) OVERWORLD( - gObjectEventPic_Venonat, + sPicTable_Venonat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6394,7 +6394,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-5, 18, SHADOW_SIZE_M) FOOTPRINT(Venomoth) OVERWORLD( - gObjectEventPic_Venomoth, + sPicTable_Venomoth, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6475,7 +6475,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = NO_SHADOW FOOTPRINT(Diglett) OVERWORLD( - gObjectEventPic_Diglett, + sPicTable_Diglett, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -6553,7 +6553,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = NO_SHADOW FOOTPRINT(Dugtrio) OVERWORLD( - gObjectEventPic_Dugtrio, + sPicTable_Dugtrio, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -6618,7 +6618,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = NO_SHADOW FOOTPRINT(Diglett) OVERWORLD( - gObjectEventPic_DiglettAlola, + sPicTable_DiglettAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6686,7 +6686,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = NO_SHADOW FOOTPRINT(Dugtrio) OVERWORLD( - gObjectEventPic_DugtrioAlola, + sPicTable_DugtrioAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6766,7 +6766,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Meowth) OVERWORLD( - gObjectEventPic_Meowth, + sPicTable_Meowth, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6841,7 +6841,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Persian) OVERWORLD( - gObjectEventPic_Persian, + sPicTable_Persian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6906,7 +6906,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 5, SHADOW_SIZE_M) FOOTPRINT(Meowth) OVERWORLD( - gObjectEventPic_MeowthAlola, + sPicTable_MeowthAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6973,7 +6973,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 9, SHADOW_SIZE_L) FOOTPRINT(Persian) OVERWORLD( - gObjectEventPic_PersianAlola, + sPicTable_PersianAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7039,7 +7039,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 4, SHADOW_SIZE_M) FOOTPRINT(Meowth) OVERWORLD( - gObjectEventPic_MeowthGalar, + sPicTable_MeowthGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7104,7 +7104,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Perrserker) OVERWORLD( - gObjectEventPic_Perrserker, + sPicTable_Perrserker, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7235,7 +7235,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Psyduck) OVERWORLD( - gObjectEventPic_Psyduck, + sPicTable_Psyduck, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7305,7 +7305,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 6, SHADOW_SIZE_M) FOOTPRINT(Golduck) OVERWORLD( - gObjectEventPic_Golduck, + sPicTable_Golduck, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7381,7 +7381,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Mankey) OVERWORLD( - gObjectEventPic_Mankey, + sPicTable_Mankey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7457,7 +7457,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Primeape) OVERWORLD( - gObjectEventPic_Primeape, + sPicTable_Primeape, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7521,7 +7521,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Annihilape) OVERWORLD( - gObjectEventPic_Annihilape, + sPicTable_Annihilape, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7594,7 +7594,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 4, SHADOW_SIZE_M) FOOTPRINT(Growlithe) OVERWORLD( - gObjectEventPic_Growlithe, + sPicTable_Growlithe, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7663,7 +7663,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-4, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Arcanine) OVERWORLD( - gObjectEventPic_Arcanine, + sPicTable_Arcanine, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7727,7 +7727,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, -2, SHADOW_SIZE_M) FOOTPRINT(Growlithe) OVERWORLD( - gObjectEventPic_GrowlitheHisui, + sPicTable_GrowlitheHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7792,7 +7792,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Arcanine) OVERWORLD( - gObjectEventPic_ArcanineHisui, + sPicTable_ArcanineHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7864,7 +7864,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 0, SHADOW_SIZE_S) FOOTPRINT(Poliwag) OVERWORLD( - gObjectEventPic_Poliwag, + sPicTable_Poliwag, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7937,7 +7937,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 4, SHADOW_SIZE_M) FOOTPRINT(Poliwhirl) OVERWORLD( - gObjectEventPic_Poliwhirl, + sPicTable_Poliwhirl, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8015,7 +8015,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Poliwrath) OVERWORLD( - gObjectEventPic_Poliwrath, + sPicTable_Poliwrath, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8100,7 +8100,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 9, SHADOW_SIZE_M) FOOTPRINT(Politoed) OVERWORLD( - gObjectEventPic_Politoed, + sPicTable_Politoed, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8109,7 +8109,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Politoed ) OVERWORLD_FEMALE( - gObjectEventPic_PolitoedF, + sPicTable_PolitoedF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8185,7 +8185,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 0, SHADOW_SIZE_L) FOOTPRINT(Abra) OVERWORLD( - gObjectEventPic_Abra, + sPicTable_Abra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -8261,7 +8261,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 6, SHADOW_SIZE_L) FOOTPRINT(Kadabra) OVERWORLD( - gObjectEventPic_Kadabra, + sPicTable_Kadabra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -8270,7 +8270,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Kadabra ) OVERWORLD_FEMALE( - gObjectEventPic_KadabraF, + sPicTable_KadabraF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -8353,7 +8353,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 9, SHADOW_SIZE_L) FOOTPRINT(Alakazam) OVERWORLD( - gObjectEventPic_Alakazam, + sPicTable_Alakazam, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -8362,7 +8362,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Alakazam ) OVERWORLD_FEMALE( - gObjectEventPic_AlakazamF, + sPicTable_AlakazamF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -8427,7 +8427,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = FOOTPRINT(Alakazam) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_AlakazamMega, + sPicTable_AlakazamMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -8513,7 +8513,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Machop) OVERWORLD( - gObjectEventPic_Machop, + sPicTable_Machop, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8587,7 +8587,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 9, SHADOW_SIZE_M) FOOTPRINT(Machoke) OVERWORLD( - gObjectEventPic_Machoke, + sPicTable_Machoke, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8672,7 +8672,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(7, 13, SHADOW_SIZE_L) FOOTPRINT(Machamp) OVERWORLD( - gObjectEventPic_Machamp, + sPicTable_Machamp, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8805,7 +8805,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Bellsprout) OVERWORLD( - gObjectEventPic_Bellsprout, + sPicTable_Bellsprout, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8878,7 +8878,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 3, SHADOW_SIZE_M) FOOTPRINT(Weepinbell) OVERWORLD( - gObjectEventPic_Weepinbell, + sPicTable_Weepinbell, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -8957,7 +8957,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 8, SHADOW_SIZE_M) FOOTPRINT(Victreebel) OVERWORLD( - gObjectEventPic_Victreebel, + sPicTable_Victreebel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -9028,7 +9028,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 6, SHADOW_SIZE_M) FOOTPRINT(Tentacool) OVERWORLD( - gObjectEventPic_Tentacool, + sPicTable_Tentacool, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -9099,7 +9099,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Tentacruel) OVERWORLD( - gObjectEventPic_Tentacruel, + sPicTable_Tentacruel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, @@ -9190,7 +9190,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Geodude) OVERWORLD( - gObjectEventPic_Geodude, + sPicTable_Geodude, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -9262,7 +9262,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 3, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Graveler) OVERWORLD( - gObjectEventPic_Graveler, + sPicTable_Graveler, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9334,7 +9334,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 5, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Golem) OVERWORLD( - gObjectEventPic_Golem, + sPicTable_Golem, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9400,7 +9400,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 10, SHADOW_SIZE_M) FOOTPRINT(Geodude) OVERWORLD( - gObjectEventPic_GeodudeAlola, + sPicTable_GeodudeAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9467,7 +9467,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 5, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Graveler) OVERWORLD( - gObjectEventPic_GravelerAlola, + sPicTable_GravelerAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9534,7 +9534,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Golem) OVERWORLD( - gObjectEventPic_GolemAlola, + sPicTable_GolemAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9605,7 +9605,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Ponyta) OVERWORLD( - gObjectEventPic_Ponyta, + sPicTable_Ponyta, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9674,7 +9674,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rapidash) OVERWORLD( - gObjectEventPic_Rapidash, + sPicTable_Rapidash, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9738,7 +9738,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-5, 5, SHADOW_SIZE_M) FOOTPRINT(Ponyta) OVERWORLD( - gObjectEventPic_PonytaGalar, + sPicTable_PonytaGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9804,7 +9804,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rapidash) OVERWORLD( - gObjectEventPic_RapidashGalar, + sPicTable_RapidashGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9876,7 +9876,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, -5, SHADOW_SIZE_L) FOOTPRINT(Slowpoke) OVERWORLD( - gObjectEventPic_Slowpoke, + sPicTable_Slowpoke, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9947,7 +9947,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 8, SHADOW_SIZE_L) FOOTPRINT(Slowbro) OVERWORLD( - gObjectEventPic_Slowbro, + sPicTable_Slowbro, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10017,7 +10017,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Slowking) OVERWORLD( - gObjectEventPic_Slowking, + sPicTable_Slowking, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10084,7 +10084,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = FOOTPRINT(Slowbro) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_SlowbroMega, + sPicTable_SlowbroMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10152,7 +10152,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, -8, SHADOW_SIZE_L) FOOTPRINT(Slowpoke) OVERWORLD( - gObjectEventPic_SlowpokeGalar, + sPicTable_SlowpokeGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10220,7 +10220,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-5, 9, SHADOW_SIZE_L) FOOTPRINT(Slowbro) OVERWORLD( - gObjectEventPic_SlowbroGalar, + sPicTable_SlowbroGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10285,7 +10285,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(Slowking) OVERWORLD( - gObjectEventPic_SlowkingGalar, + sPicTable_SlowkingGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10361,7 +10361,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 8, SHADOW_SIZE_S) FOOTPRINT(Magnemite) OVERWORLD( - gObjectEventPic_Magnemite, + sPicTable_Magnemite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -10434,7 +10434,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Magneton) OVERWORLD( - gObjectEventPic_Magneton, + sPicTable_Magneton, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -10513,7 +10513,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(4, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Magnezone) OVERWORLD( - gObjectEventPic_Magnezone, + sPicTable_Magnezone, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10602,7 +10602,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Farfetchd) OVERWORLD( - gObjectEventPic_Farfetchd, + sPicTable_Farfetchd, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -10668,7 +10668,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-7, 2, SHADOW_SIZE_L) FOOTPRINT(Farfetchd) OVERWORLD( - gObjectEventPic_FarfetchdGalar, + sPicTable_FarfetchdGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10735,7 +10735,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Sirfetchd) OVERWORLD( - gObjectEventPic_Sirfetchd, + sPicTable_Sirfetchd, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10813,7 +10813,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(6, 5, SHADOW_SIZE_M) FOOTPRINT(Doduo) OVERWORLD( - gObjectEventPic_Doduo, + sPicTable_Doduo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10822,7 +10822,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Doduo ) OVERWORLD_FEMALE( - gObjectEventPic_DoduoF, + sPicTable_DoduoF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10905,7 +10905,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 12, SHADOW_SIZE_L) FOOTPRINT(Dodrio) OVERWORLD( - gObjectEventPic_Dodrio, + sPicTable_Dodrio, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10914,7 +10914,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Dodrio ) OVERWORLD_FEMALE( - gObjectEventPic_DodrioF, + sPicTable_DodrioF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10985,7 +10985,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(Seel) OVERWORLD( - gObjectEventPic_Seel, + sPicTable_Seel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -11057,7 +11057,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Dewgong) OVERWORLD( - gObjectEventPic_Dewgong, + sPicTable_Dewgong, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11128,7 +11128,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 3, SHADOW_SIZE_M) FOOTPRINT(Grimer) OVERWORLD( - gObjectEventPic_Grimer, + sPicTable_Grimer, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -11202,7 +11202,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Muk) OVERWORLD( - gObjectEventPic_Muk, + sPicTable_Muk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -11267,7 +11267,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 1, SHADOW_SIZE_M) FOOTPRINT(Grimer) OVERWORLD( - gObjectEventPic_GrimerAlola, + sPicTable_GrimerAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11336,7 +11336,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Muk) OVERWORLD( - gObjectEventPic_MukAlola, + sPicTable_MukAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11415,7 +11415,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -4, SHADOW_SIZE_S) FOOTPRINT(Shellder) OVERWORLD( - gObjectEventPic_Shellder, + sPicTable_Shellder, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -11490,7 +11490,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(4, 8, SHADOW_SIZE_M) FOOTPRINT(Cloyster) OVERWORLD( - gObjectEventPic_Cloyster, + sPicTable_Cloyster, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -11563,7 +11563,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 11, SHADOW_SIZE_S) FOOTPRINT(Gastly) OVERWORLD( - gObjectEventPic_Gastly, + sPicTable_Gastly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -11635,7 +11635,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Haunter) OVERWORLD( - gObjectEventPic_Haunter, + sPicTable_Haunter, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -11715,7 +11715,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 5, SHADOW_SIZE_L) FOOTPRINT(Gengar) OVERWORLD( - gObjectEventPic_Gengar, + sPicTable_Gengar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11781,7 +11781,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = FOOTPRINT(Gengar) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_GengarMega, + sPicTable_GengarMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11911,7 +11911,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Onix) OVERWORLD( - gObjectEventPic_Onix, + sPicTable_Onix, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -11991,7 +11991,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Steelix) OVERWORLD( - gObjectEventPic_Steelix, + sPicTable_Steelix, SIZE_64x64, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -12000,7 +12000,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Steelix ) OVERWORLD_FEMALE( - gObjectEventPic_SteelixF, + sPicTable_SteelixF, SIZE_64x64, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -12065,7 +12065,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = FOOTPRINT(Steelix) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_SteelixMega, + sPicTable_SteelixMega, SIZE_64x64, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -12147,7 +12147,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 6, SHADOW_SIZE_M) FOOTPRINT(Drowzee) OVERWORLD( - gObjectEventPic_Drowzee, + sPicTable_Drowzee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12230,7 +12230,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 9, SHADOW_SIZE_L) FOOTPRINT(Hypno) OVERWORLD( - gObjectEventPic_Hypno, + sPicTable_Hypno, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12239,7 +12239,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Hypno ) OVERWORLD_FEMALE( - gObjectEventPic_HypnoF, + sPicTable_HypnoF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12308,7 +12308,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -1, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Krabby) OVERWORLD( - gObjectEventPic_Krabby, + sPicTable_Krabby, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12377,7 +12377,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 4, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kingler) OVERWORLD( - gObjectEventPic_Kingler, + sPicTable_Kingler, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12517,7 +12517,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -2, SHADOW_SIZE_S) FOOTPRINT(Voltorb) OVERWORLD( - gObjectEventPic_Voltorb, + sPicTable_Voltorb, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -12587,7 +12587,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Electrode) OVERWORLD( - gObjectEventPic_Electrode, + sPicTable_Electrode, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -12651,7 +12651,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, -4, SHADOW_SIZE_S) FOOTPRINT(Voltorb) OVERWORLD( - gObjectEventPic_VoltorbHisui, + sPicTable_VoltorbHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12716,7 +12716,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 4, SHADOW_SIZE_M) FOOTPRINT(Electrode) OVERWORLD( - gObjectEventPic_ElectrodeHisui, + sPicTable_ElectrodeHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12794,7 +12794,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -5, SHADOW_SIZE_L) FOOTPRINT(Exeggcute) OVERWORLD( - gObjectEventPic_Exeggcute, + sPicTable_Exeggcute, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -12872,7 +12872,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(Exeggutor) OVERWORLD( - gObjectEventPic_Exeggutor, + sPicTable_Exeggutor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12936,7 +12936,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(6, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Exeggutor) OVERWORLD( - gObjectEventPic_ExeggutorAlola, + sPicTable_ExeggutorAlola, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13012,7 +13012,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(Cubone) OVERWORLD( - gObjectEventPic_Cubone, + sPicTable_Cubone, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13086,7 +13086,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(6, 6, SHADOW_SIZE_M) FOOTPRINT(Marowak) OVERWORLD( - gObjectEventPic_Marowak, + sPicTable_Marowak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13147,7 +13147,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Marowak) OVERWORLD( - gObjectEventPic_MarowakAlola, + sPicTable_MarowakAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13208,7 +13208,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Marowak) OVERWORLD( - gObjectEventPic_MarowakAlola, + sPicTable_MarowakAlola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13285,7 +13285,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Tyrogue) OVERWORLD( - gObjectEventPic_Tyrogue, + sPicTable_Tyrogue, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13360,7 +13360,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 8, SHADOW_SIZE_M) FOOTPRINT(Hitmonlee) OVERWORLD( - gObjectEventPic_Hitmonlee, + sPicTable_Hitmonlee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13438,7 +13438,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 9, SHADOW_SIZE_M) FOOTPRINT(Hitmonchan) OVERWORLD( - gObjectEventPic_Hitmonchan, + sPicTable_Hitmonchan, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13511,7 +13511,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Hitmontop) OVERWORLD( - gObjectEventPic_Hitmontop, + sPicTable_Hitmontop, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13580,7 +13580,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 6, SHADOW_SIZE_M) FOOTPRINT(Lickitung) OVERWORLD( - gObjectEventPic_Lickitung, + sPicTable_Lickitung, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13656,7 +13656,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 11, SHADOW_SIZE_M) FOOTPRINT(Lickilicky) OVERWORLD( - gObjectEventPic_Lickilicky, + sPicTable_Lickilicky, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13733,7 +13733,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Koffing) OVERWORLD( - gObjectEventPic_Koffing, + sPicTable_Koffing, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -13811,7 +13811,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(5, 14, SHADOW_SIZE_M) FOOTPRINT(Weezing) OVERWORLD( - gObjectEventPic_Weezing, + sPicTable_Weezing, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -13878,7 +13878,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(7, 17, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Weezing) OVERWORLD( - gObjectEventPic_WeezingGalar, + sPicTable_WeezingGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13957,7 +13957,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 0, SHADOW_SIZE_L) FOOTPRINT(Rhyhorn) OVERWORLD( - gObjectEventPic_Rhyhorn, + sPicTable_Rhyhorn, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13966,7 +13966,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Rhyhorn ) OVERWORLD_FEMALE( - gObjectEventPic_RhyhornF, + sPicTable_RhyhornF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -14037,7 +14037,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rhydon) OVERWORLD( - gObjectEventPic_Rhydon, + sPicTable_Rhydon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -14046,7 +14046,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Rhydon ) OVERWORLD_FEMALE( - gObjectEventPic_RhydonF, + sPicTable_RhydonF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -14127,7 +14127,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rhyperior) OVERWORLD( - gObjectEventPic_Rhyperior, + sPicTable_Rhyperior, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -14136,7 +14136,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Rhyperior ) OVERWORLD_FEMALE( - gObjectEventPic_RhyperiorF, + sPicTable_RhyperiorF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -14205,7 +14205,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Happiny) OVERWORLD( - gObjectEventPic_Happiny, + sPicTable_Happiny, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -14276,7 +14276,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 4, SHADOW_SIZE_L) FOOTPRINT(Chansey) OVERWORLD( - gObjectEventPic_Chansey, + sPicTable_Chansey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -14346,7 +14346,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 8, SHADOW_SIZE_L) FOOTPRINT(Blissey) OVERWORLD( - gObjectEventPic_Blissey, + sPicTable_Blissey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -14419,7 +14419,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Tangela) OVERWORLD( - gObjectEventPic_Tangela, + sPicTable_Tangela, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -14496,7 +14496,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Tangrowth) OVERWORLD( - gObjectEventPic_Tangrowth, + sPicTable_Tangrowth, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -14505,7 +14505,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Tangrowth ) OVERWORLD_FEMALE( - gObjectEventPic_TangrowthF, + sPicTable_TangrowthF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -14573,7 +14573,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kangaskhan) OVERWORLD( - gObjectEventPic_Kangaskhan, + sPicTable_Kangaskhan, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -14640,7 +14640,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = FOOTPRINT(Kangaskhan) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_KangaskhanMega, + sPicTable_KangaskhanMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -14721,7 +14721,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Horsea) OVERWORLD( - gObjectEventPic_Horsea, + sPicTable_Horsea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -14797,7 +14797,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 7, SHADOW_SIZE_M) FOOTPRINT(Seadra) OVERWORLD( - gObjectEventPic_Seadra, + sPicTable_Seadra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -14881,7 +14881,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 12, SHADOW_SIZE_M) FOOTPRINT(Kingdra) OVERWORLD( - gObjectEventPic_Kingdra, + sPicTable_Kingdra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -14963,7 +14963,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-6, 0, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Goldeen) OVERWORLD( - gObjectEventPic_Goldeen, + sPicTable_Goldeen, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -14972,7 +14972,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Goldeen ) OVERWORLD_FEMALE( - gObjectEventPic_GoldeenF, + sPicTable_GoldeenF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -15047,7 +15047,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Seaking) OVERWORLD( - gObjectEventPic_Seaking, + sPicTable_Seaking, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -15056,7 +15056,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Seaking ) OVERWORLD_FEMALE( - gObjectEventPic_SeakingF, + sPicTable_SeakingF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -15127,7 +15127,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 2, SHADOW_SIZE_M) FOOTPRINT(Staryu) OVERWORLD( - gObjectEventPic_Staryu, + sPicTable_Staryu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -15198,7 +15198,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Starmie) OVERWORLD( - gObjectEventPic_Starmie, + sPicTable_Starmie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -15278,7 +15278,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-5, 4, SHADOW_SIZE_S) FOOTPRINT(MimeJr) OVERWORLD( - gObjectEventPic_MimeJr, + sPicTable_MimeJr, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -15355,7 +15355,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(MrMime) OVERWORLD( - gObjectEventPic_MrMime, + sPicTable_MrMime, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -15420,7 +15420,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 6, SHADOW_SIZE_M) FOOTPRINT(MrMime) OVERWORLD( - gObjectEventPic_MrMimeGalar, + sPicTable_MrMimeGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -15485,7 +15485,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 9, SHADOW_SIZE_L) FOOTPRINT(MrRime) OVERWORLD( - gObjectEventPic_MrRime, + sPicTable_MrRime, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -15568,7 +15568,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Scyther) OVERWORLD( - gObjectEventPic_Scyther, + sPicTable_Scyther, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -15577,7 +15577,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Scyther ) OVERWORLD_FEMALE( - gObjectEventPic_ScytherF, + sPicTable_ScytherF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -15654,7 +15654,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Scizor) OVERWORLD( - gObjectEventPic_Scizor, + sPicTable_Scizor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -15663,7 +15663,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Scizor ) OVERWORLD_FEMALE( - gObjectEventPic_ScizorF, + sPicTable_ScizorF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -15727,7 +15727,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = FOOTPRINT(Scizor) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_ScizorMega, + sPicTable_ScizorMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -15796,7 +15796,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kleavor) OVERWORLD( - gObjectEventPic_Kleavor, + sPicTable_Kleavor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -15870,7 +15870,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Smoochum) OVERWORLD( - gObjectEventPic_Smoochum, + sPicTable_Smoochum, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -15945,7 +15945,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(Jynx) OVERWORLD( - gObjectEventPic_Jynx, + sPicTable_Jynx, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -16016,7 +16016,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Elekid) OVERWORLD( - gObjectEventPic_Elekid, + sPicTable_Elekid, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -16089,7 +16089,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 9, SHADOW_SIZE_L) FOOTPRINT(Electabuzz) OVERWORLD( - gObjectEventPic_Electabuzz, + sPicTable_Electabuzz, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -16165,7 +16165,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-3, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Electivire) OVERWORLD( - gObjectEventPic_Electivire, + sPicTable_Electivire, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -16238,7 +16238,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Magby) OVERWORLD( - gObjectEventPic_Magby, + sPicTable_Magby, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -16307,7 +16307,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 8, SHADOW_SIZE_L) FOOTPRINT(Magmar) OVERWORLD( - gObjectEventPic_Magmar, + sPicTable_Magmar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -16383,7 +16383,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(4, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Magmortar) OVERWORLD( - gObjectEventPic_Magmortar, + sPicTable_Magmortar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -16458,7 +16458,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Pinsir) OVERWORLD( - gObjectEventPic_Pinsir, + sPicTable_Pinsir, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -16526,7 +16526,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = FOOTPRINT(Pinsir) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_PinsirMega, + sPicTable_PinsirMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -16607,7 +16607,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Tauros) OVERWORLD( - gObjectEventPic_Tauros, + sPicTable_Tauros, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -16671,7 +16671,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Tauros) OVERWORLD( - gObjectEventPic_TaurosPaldeaCombat, + sPicTable_TaurosPaldeaCombat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -16736,7 +16736,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Tauros) OVERWORLD( - gObjectEventPic_TaurosPaldeaBlaze, + sPicTable_TaurosPaldeaBlaze, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -16801,7 +16801,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Tauros) OVERWORLD( - gObjectEventPic_TaurosPaldeaAqua, + sPicTable_TaurosPaldeaAqua, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -16885,7 +16885,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 7, SHADOW_SIZE_M) FOOTPRINT(Magikarp) OVERWORLD( - gObjectEventPic_Magikarp, + sPicTable_Magikarp, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -16894,7 +16894,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Magikarp ) OVERWORLD_FEMALE( - gObjectEventPic_MagikarpF, + sPicTable_MagikarpF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -16966,7 +16966,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(5, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gyarados) OVERWORLD( - gObjectEventPic_Gyarados, + sPicTable_Gyarados, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -16975,7 +16975,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Gyarados ) OVERWORLD_FEMALE( - gObjectEventPic_GyaradosF, + sPicTable_GyaradosF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -17040,7 +17040,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = FOOTPRINT(Gyarados) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_GyaradosMega, + sPicTable_GyaradosMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -17114,7 +17114,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Lapras) OVERWORLD( - gObjectEventPic_Lapras, + sPicTable_Lapras, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -17249,7 +17249,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Ditto) OVERWORLD( - gObjectEventPic_Ditto, + sPicTable_Ditto, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -17323,7 +17323,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Eevee) OVERWORLD( - gObjectEventPic_Eevee, + sPicTable_Eevee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -17332,7 +17332,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gShinyOverworldPalette_Eevee ) OVERWORLD_FEMALE( - gObjectEventPic_EeveeF, + sPicTable_EeveeF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -17473,7 +17473,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Eevee) OVERWORLD( - gObjectEventPic_Eevee, + sPicTable_Eevee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -17542,7 +17542,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-4, 3, SHADOW_SIZE_M) FOOTPRINT(Vaporeon) OVERWORLD( - gObjectEventPic_Vaporeon, + sPicTable_Vaporeon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -17607,7 +17607,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Jolteon) OVERWORLD( - gObjectEventPic_Jolteon, + sPicTable_Jolteon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -17672,7 +17672,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 1, SHADOW_SIZE_L) FOOTPRINT(Flareon) OVERWORLD( - gObjectEventPic_Flareon, + sPicTable_Flareon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -17739,7 +17739,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 4, SHADOW_SIZE_M) FOOTPRINT(Espeon) OVERWORLD( - gObjectEventPic_Espeon, + sPicTable_Espeon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -17804,7 +17804,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Umbreon) OVERWORLD( - gObjectEventPic_Umbreon, + sPicTable_Umbreon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -17872,7 +17872,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 4, SHADOW_SIZE_M) FOOTPRINT(Leafeon) OVERWORLD( - gObjectEventPic_Leafeon, + sPicTable_Leafeon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -17938,7 +17938,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Glaceon) OVERWORLD( - gObjectEventPic_Glaceon, + sPicTable_Glaceon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -18007,7 +18007,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, 9, SHADOW_SIZE_M) FOOTPRINT(Sylveon) OVERWORLD( - gObjectEventPic_Sylveon, + sPicTable_Sylveon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -18081,7 +18081,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, -2, SHADOW_SIZE_S) FOOTPRINT(Porygon) OVERWORLD( - gObjectEventPic_Porygon, + sPicTable_Porygon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -18157,7 +18157,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Porygon2) OVERWORLD( - gObjectEventPic_Porygon2, + sPicTable_Porygon2, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -18234,7 +18234,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 17, SHADOW_SIZE_S) FOOTPRINT(PorygonZ) OVERWORLD( - gObjectEventPic_PorygonZ, + sPicTable_PorygonZ, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -18315,7 +18315,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, -2, SHADOW_SIZE_S) FOOTPRINT(Omanyte) OVERWORLD( - gObjectEventPic_Omanyte, + sPicTable_Omanyte, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -18384,7 +18384,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 4, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Omastar) OVERWORLD( - gObjectEventPic_Omastar, + sPicTable_Omastar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -18463,7 +18463,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(2, -3, SHADOW_SIZE_S) FOOTPRINT(Kabuto) OVERWORLD( - gObjectEventPic_Kabuto, + sPicTable_Kabuto, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, @@ -18538,7 +18538,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kabutops) OVERWORLD( - gObjectEventPic_Kabutops, + sPicTable_Kabutops, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -18608,7 +18608,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 16, SHADOW_SIZE_M) FOOTPRINT(Aerodactyl) OVERWORLD( - gObjectEventPic_Aerodactyl, + sPicTable_Aerodactyl, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -18675,7 +18675,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = FOOTPRINT(Aerodactyl) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_AerodactylMega, + sPicTable_AerodactylMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -18752,7 +18752,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 2, SHADOW_SIZE_M) FOOTPRINT(Munchlax) OVERWORLD( - gObjectEventPic_Munchlax, + sPicTable_Munchlax, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -18823,7 +18823,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Snorlax) OVERWORLD( - gObjectEventPic_Snorlax, + sPicTable_Snorlax, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -18963,7 +18963,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 10, SHADOW_SIZE_M) FOOTPRINT(Articuno) OVERWORLD( - gObjectEventPic_Articuno, + sPicTable_Articuno, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -19030,7 +19030,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 14, SHADOW_SIZE_M) FOOTPRINT(Articuno) OVERWORLD( - gObjectEventPic_ArticunoGalar, + sPicTable_ArticunoGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -19115,7 +19115,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(1, 15, SHADOW_SIZE_M) FOOTPRINT(Zapdos) OVERWORLD( - gObjectEventPic_Zapdos, + sPicTable_Zapdos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -19181,7 +19181,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Zapdos) OVERWORLD( - gObjectEventPic_ZapdosGalar, + sPicTable_ZapdosGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -19290,7 +19290,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(-1, 12, SHADOW_SIZE_M) FOOTPRINT(Moltres) OVERWORLD( - gObjectEventPic_Moltres, + sPicTable_Moltres, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -19356,7 +19356,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Moltres) OVERWORLD( - gObjectEventPic_MoltresGalar, + sPicTable_MoltresGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -19430,7 +19430,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(3, 3, SHADOW_SIZE_L) FOOTPRINT(Dratini) OVERWORLD( - gObjectEventPic_Dratini, + sPicTable_Dratini, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -19500,7 +19500,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Dragonair) OVERWORLD( - gObjectEventPic_Dragonair, + sPicTable_Dragonair, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -19575,7 +19575,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Dragonite) OVERWORLD( - gObjectEventPic_Dragonite, + sPicTable_Dragonite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -19648,7 +19648,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(6, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Mewtwo) OVERWORLD( - gObjectEventPic_Mewtwo, + sPicTable_Mewtwo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -19717,7 +19717,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = FOOTPRINT(Mewtwo) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_MewtwoMegaX, + sPicTable_MewtwoMegaX, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -19788,7 +19788,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = FOOTPRINT(Mewtwo) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_MewtwoMegaY, + sPicTable_MewtwoMegaY, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -19873,7 +19873,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Mew) OVERWORLD( - gObjectEventPic_Mew, + sPicTable_Mew, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, diff --git a/src/data/pokemon/species_info/gen_2_families.h b/src/data/pokemon/species_info/gen_2_families.h index a86367e3f7..fc12c19d46 100644 --- a/src/data/pokemon/species_info/gen_2_families.h +++ b/src/data/pokemon/species_info/gen_2_families.h @@ -58,7 +58,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 2, SHADOW_SIZE_S) FOOTPRINT(Chikorita) OVERWORLD( - gObjectEventPic_Chikorita, + sPicTable_Chikorita, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -126,7 +126,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 10, SHADOW_SIZE_M) FOOTPRINT(Bayleef) OVERWORLD( - gObjectEventPic_Bayleef, + sPicTable_Bayleef, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -205,7 +205,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Meganium) OVERWORLD( - gObjectEventPic_Meganium, + sPicTable_Meganium, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -214,7 +214,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Meganium ) OVERWORLD_FEMALE( - gObjectEventPic_MeganiumF, + sPicTable_MeganiumF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -281,7 +281,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, -1, SHADOW_SIZE_S) FOOTPRINT(Cyndaquil) OVERWORLD( - gObjectEventPic_Cyndaquil, + sPicTable_Cyndaquil, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -349,7 +349,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Quilava) OVERWORLD( - gObjectEventPic_Quilava, + sPicTable_Quilava, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -425,7 +425,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(Typhlosion) OVERWORLD( - gObjectEventPic_Typhlosion, + sPicTable_Typhlosion, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -489,7 +489,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 14, SHADOW_SIZE_L) FOOTPRINT(Typhlosion) OVERWORLD( - gObjectEventPic_TyphlosionHisui, + sPicTable_TyphlosionHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -563,7 +563,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Totodile) OVERWORLD( - gObjectEventPic_Totodile, + sPicTable_Totodile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -632,7 +632,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 8, SHADOW_SIZE_M) FOOTPRINT(Croconaw) OVERWORLD( - gObjectEventPic_Croconaw, + sPicTable_Croconaw, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -708,7 +708,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(3, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Feraligatr) OVERWORLD( - gObjectEventPic_Feraligatr, + sPicTable_Feraligatr, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -777,7 +777,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 11, SHADOW_SIZE_S) FOOTPRINT(Sentret) OVERWORLD( - gObjectEventPic_Sentret, + sPicTable_Sentret, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -844,7 +844,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 9, SHADOW_SIZE_M) FOOTPRINT(Furret) OVERWORLD( - gObjectEventPic_Furret, + sPicTable_Furret, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -921,7 +921,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Hoothoot) OVERWORLD( - gObjectEventPic_Hoothoot, + sPicTable_Hoothoot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -994,7 +994,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 10, SHADOW_SIZE_S) FOOTPRINT(Noctowl) OVERWORLD( - gObjectEventPic_Noctowl, + sPicTable_Noctowl, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -1069,7 +1069,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 4, SHADOW_SIZE_M) FOOTPRINT(Ledyba) OVERWORLD( - gObjectEventPic_Ledyba, + sPicTable_Ledyba, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, @@ -1078,7 +1078,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Ledyba ) OVERWORLD_FEMALE( - gObjectEventPic_LedybaF, + sPicTable_LedybaF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, @@ -1152,7 +1152,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Ledian) OVERWORLD( - gObjectEventPic_Ledian, + sPicTable_Ledian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1161,7 +1161,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Ledian ) OVERWORLD_FEMALE( - gObjectEventPic_LedianF, + sPicTable_LedianF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1232,7 +1232,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, -8, SHADOW_SIZE_M) FOOTPRINT(Spinarak) OVERWORLD( - gObjectEventPic_Spinarak, + sPicTable_Spinarak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, @@ -1307,7 +1307,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, 3, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Ariados) OVERWORLD( - gObjectEventPic_Ariados, + sPicTable_Ariados, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, @@ -1378,7 +1378,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Chinchou) OVERWORLD( - gObjectEventPic_Chinchou, + sPicTable_Chinchou, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -1449,7 +1449,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(5, 4, SHADOW_SIZE_M) FOOTPRINT(Lanturn) OVERWORLD( - gObjectEventPic_Lanturn, + sPicTable_Lanturn, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -1519,7 +1519,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Togepi) OVERWORLD( - gObjectEventPic_Togepi, + sPicTable_Togepi, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1587,7 +1587,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Togetic) OVERWORLD( - gObjectEventPic_Togetic, + sPicTable_Togetic, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -1668,7 +1668,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(4, 15, SHADOW_SIZE_M) FOOTPRINT(Togekiss) OVERWORLD( - gObjectEventPic_Togekiss, + sPicTable_Togekiss, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1740,7 +1740,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, -4, SHADOW_SIZE_S) FOOTPRINT(Natu) OVERWORLD( - gObjectEventPic_Natu, + sPicTable_Natu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1817,7 +1817,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Xatu) OVERWORLD( - gObjectEventPic_Xatu, + sPicTable_Xatu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1826,7 +1826,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Xatu ) OVERWORLD_FEMALE( - gObjectEventPic_XatuF, + sPicTable_XatuF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1896,7 +1896,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, 1, SHADOW_SIZE_M) FOOTPRINT(Mareep) OVERWORLD( - gObjectEventPic_Mareep, + sPicTable_Mareep, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1966,7 +1966,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Flaaffy) OVERWORLD( - gObjectEventPic_Flaaffy, + sPicTable_Flaaffy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2044,7 +2044,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(3, 11, SHADOW_SIZE_M) FOOTPRINT(Ampharos) OVERWORLD( - gObjectEventPic_Ampharos, + sPicTable_Ampharos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2110,7 +2110,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = FOOTPRINT(Ampharos) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_AmpharosMega, + sPicTable_AmpharosMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2192,7 +2192,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-4, 3, SHADOW_SIZE_S) FOOTPRINT(Azurill) OVERWORLD( - gObjectEventPic_Azurill, + sPicTable_Azurill, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2265,7 +2265,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 0, SHADOW_SIZE_S) FOOTPRINT(Marill) OVERWORLD( - gObjectEventPic_Marill, + sPicTable_Marill, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2347,7 +2347,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-4, 8, SHADOW_SIZE_S) FOOTPRINT(Azumarill) OVERWORLD( - gObjectEventPic_Azumarill, + sPicTable_Azumarill, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2418,7 +2418,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-3, 4, SHADOW_SIZE_S) FOOTPRINT(Bonsly) OVERWORLD( - gObjectEventPic_Bonsly, + sPicTable_Bonsly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2496,7 +2496,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Sudowoodo) OVERWORLD( - gObjectEventPic_Sudowoodo, + sPicTable_Sudowoodo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2505,7 +2505,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Sudowoodo ) OVERWORLD_FEMALE( - gObjectEventPic_SudowoodoF, + sPicTable_SudowoodoF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2578,7 +2578,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-5, 12, SHADOW_SIZE_S) FOOTPRINT(Hoppip) OVERWORLD( - gObjectEventPic_Hoppip, + sPicTable_Hoppip, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -2656,7 +2656,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 10, SHADOW_SIZE_S) FOOTPRINT(Skiploom) OVERWORLD( - gObjectEventPic_Skiploom, + sPicTable_Skiploom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -2739,7 +2739,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 11, SHADOW_SIZE_S) FOOTPRINT(Jumpluff) OVERWORLD( - gObjectEventPic_Jumpluff, + sPicTable_Jumpluff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -2812,7 +2812,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Aipom) OVERWORLD( - gObjectEventPic_Aipom, + sPicTable_Aipom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2821,7 +2821,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Aipom ) OVERWORLD_FEMALE( - gObjectEventPic_AipomF, + sPicTable_AipomF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2894,7 +2894,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Ambipom) OVERWORLD( - gObjectEventPic_Ambipom, + sPicTable_Ambipom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2903,7 +2903,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Ambipom ) OVERWORLD_FEMALE( - gObjectEventPic_AmbipomF, + sPicTable_AmbipomF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2977,7 +2977,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, -4, SHADOW_SIZE_S) FOOTPRINT(Sunkern) OVERWORLD( - gObjectEventPic_Sunkern, + sPicTable_Sunkern, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -3049,7 +3049,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 6, SHADOW_SIZE_S) FOOTPRINT(Sunflora) OVERWORLD( - gObjectEventPic_Sunflora, + sPicTable_Sunflora, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3138,7 +3138,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 10, SHADOW_SIZE_S) FOOTPRINT(Yanma) OVERWORLD( - gObjectEventPic_Yanma, + sPicTable_Yanma, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -3232,7 +3232,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 12, SHADOW_SIZE_M) FOOTPRINT(Yanmega) OVERWORLD( - gObjectEventPic_Yanmega, + sPicTable_Yanmega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3307,7 +3307,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, -2, SHADOW_SIZE_S) FOOTPRINT(Wooper) OVERWORLD( - gObjectEventPic_Wooper, + sPicTable_Wooper, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3316,7 +3316,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Wooper ) OVERWORLD_FEMALE( - gObjectEventPic_WooperF, + sPicTable_WooperF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3388,7 +3388,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 8, SHADOW_SIZE_M) FOOTPRINT(Quagsire) OVERWORLD( - gObjectEventPic_Quagsire, + sPicTable_Quagsire, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3397,7 +3397,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Quagsire ) OVERWORLD_FEMALE( - gObjectEventPic_QuagsireF, + sPicTable_QuagsireF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3458,7 +3458,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, -2, SHADOW_SIZE_S) FOOTPRINT(Wooper) OVERWORLD( - gObjectEventPic_WooperPaldea, + sPicTable_WooperPaldea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3524,7 +3524,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 3, SHADOW_SIZE_L) FOOTPRINT(Clodsire) OVERWORLD( - gObjectEventPic_Clodsire, + sPicTable_Clodsire, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3603,7 +3603,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 8, SHADOW_SIZE_S) FOOTPRINT(Murkrow) OVERWORLD( - gObjectEventPic_Murkrow, + sPicTable_Murkrow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3612,7 +3612,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Murkrow ) OVERWORLD_FEMALE( - gObjectEventPic_MurkrowF, + sPicTable_MurkrowF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3680,7 +3680,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(5, 7, SHADOW_SIZE_M) FOOTPRINT(Honchkrow) OVERWORLD( - gObjectEventPic_Honchkrow, + sPicTable_Honchkrow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3758,7 +3758,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 10, SHADOW_SIZE_S) FOOTPRINT(Misdreavus) OVERWORLD( - gObjectEventPic_Misdreavus, + sPicTable_Misdreavus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -3836,7 +3836,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, 11, SHADOW_SIZE_M) FOOTPRINT(Mismagius) OVERWORLD( - gObjectEventPic_Mismagius, + sPicTable_Mismagius, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3900,7 +3900,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 3, SHADOW_SIZE_S) \ FOOTPRINT(Unown) \ OVERWORLD( \ - gObjectEventPic_Unown ##letter, \ + sPicTable_Unown ##letter, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_NONE, \ @@ -4003,7 +4003,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 2, SHADOW_SIZE_S) FOOTPRINT(Wynaut) OVERWORLD( - gObjectEventPic_Wynaut, + sPicTable_Wynaut, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4084,7 +4084,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-3, 8, SHADOW_SIZE_M) FOOTPRINT(Wobbuffet) OVERWORLD( - gObjectEventPic_Wobbuffet, + sPicTable_Wobbuffet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4093,7 +4093,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Wobbuffet ) OVERWORLD_FEMALE( - gObjectEventPic_WobbuffetF, + sPicTable_WobbuffetF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4166,7 +4166,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 13, SHADOW_SIZE_M) FOOTPRINT(Girafarig) OVERWORLD( - gObjectEventPic_Girafarig, + sPicTable_Girafarig, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4175,7 +4175,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Girafarig ) OVERWORLD_FEMALE( - gObjectEventPic_GirafarigF, + sPicTable_GirafarigF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4238,7 +4238,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(11, 13, SHADOW_SIZE_L) FOOTPRINT(Farigiraf) OVERWORLD( - gObjectEventPic_Farigiraf, + sPicTable_Farigiraf, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4312,7 +4312,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Pineco) OVERWORLD( - gObjectEventPic_Pineco, + sPicTable_Pineco, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -4381,7 +4381,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 6, SHADOW_SIZE_L) FOOTPRINT(Forretress) OVERWORLD( - gObjectEventPic_Forretress, + sPicTable_Forretress, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -4457,7 +4457,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Dunsparce) OVERWORLD( - gObjectEventPic_Dunsparce, + sPicTable_Dunsparce, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -4523,7 +4523,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 5, SHADOW_SIZE_L) FOOTPRINT(Dudunsparce) OVERWORLD( - gObjectEventPic_DudunsparceTwoSegment, + sPicTable_DudunsparceTwoSegment, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -4586,7 +4586,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(4, 4, SHADOW_SIZE_L) FOOTPRINT(Dudunsparce) OVERWORLD( - gObjectEventPic_DudunsparceThreeSegment, + sPicTable_DudunsparceThreeSegment, SIZE_64x64, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -4662,7 +4662,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Gligar) OVERWORLD( - gObjectEventPic_Gligar, + sPicTable_Gligar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -4671,7 +4671,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Gligar ) OVERWORLD_FEMALE( - gObjectEventPic_GligarF, + sPicTable_GligarF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -4741,7 +4741,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Gliscor) OVERWORLD( - gObjectEventPic_Gliscor, + sPicTable_Gliscor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4813,7 +4813,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Snubbull) OVERWORLD( - gObjectEventPic_Snubbull, + sPicTable_Snubbull, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4888,7 +4888,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(3, 10, SHADOW_SIZE_L) FOOTPRINT(Granbull) OVERWORLD( - gObjectEventPic_Granbull, + sPicTable_Granbull, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4971,7 +4971,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Qwilfish) OVERWORLD( - gObjectEventPic_Qwilfish, + sPicTable_Qwilfish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -5038,7 +5038,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-5, 4, SHADOW_SIZE_S) FOOTPRINT(Qwilfish) OVERWORLD( - gObjectEventPic_QwilfishHisui, + sPicTable_QwilfishHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5103,7 +5103,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Overqwil) OVERWORLD( - gObjectEventPic_Overqwil, + sPicTable_Overqwil, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5179,7 +5179,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, 3, SHADOW_SIZE_M) FOOTPRINT(Shuckle) OVERWORLD( - gObjectEventPic_Shuckle, + sPicTable_Shuckle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5256,7 +5256,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 10, SHADOW_SIZE_M) FOOTPRINT(Heracross) OVERWORLD( - gObjectEventPic_Heracross, + sPicTable_Heracross, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5265,7 +5265,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Heracross ) OVERWORLD_FEMALE( - gObjectEventPic_HeracrossF, + sPicTable_HeracrossF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5330,7 +5330,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = FOOTPRINT(Heracross) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_HeracrossMega, + sPicTable_HeracrossMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5415,7 +5415,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Sneasel) OVERWORLD( - gObjectEventPic_Sneasel, + sPicTable_Sneasel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5424,7 +5424,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Sneasel ) OVERWORLD_FEMALE( - gObjectEventPic_SneaselF, + sPicTable_SneaselF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5500,7 +5500,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-4, 10, SHADOW_SIZE_M) FOOTPRINT(Weavile) OVERWORLD( - gObjectEventPic_Weavile, + sPicTable_Weavile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5509,7 +5509,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Weavile ) OVERWORLD_FEMALE( - gObjectEventPic_WeavileF, + sPicTable_WeavileF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5579,7 +5579,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Sneasel) OVERWORLD( - gObjectEventPic_SneaselHisui, + sPicTable_SneaselHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5588,7 +5588,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_SneaselHisui ) OVERWORLD_FEMALE( - gObjectEventPic_SneaselHisuiF, + sPicTable_SneaselHisuiF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5652,7 +5652,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Sneasler) OVERWORLD( - gObjectEventPic_Sneasler, + sPicTable_Sneasler, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5726,7 +5726,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Teddiursa) OVERWORLD( - gObjectEventPic_Teddiursa, + sPicTable_Teddiursa, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5803,7 +5803,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, 14, SHADOW_SIZE_L) FOOTPRINT(Ursaring) OVERWORLD( - gObjectEventPic_Ursaring, + sPicTable_Ursaring, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5812,7 +5812,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Ursaring ) OVERWORLD_FEMALE( - gObjectEventPic_UrsaringF, + sPicTable_UrsaringF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5874,7 +5874,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, 4, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Ursaluna) OVERWORLD( - gObjectEventPic_Ursaluna, + sPicTable_Ursaluna, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6000,7 +6000,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Slugma) OVERWORLD( - gObjectEventPic_Slugma, + sPicTable_Slugma, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -6077,7 +6077,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Magcargo) OVERWORLD( - gObjectEventPic_Magcargo, + sPicTable_Magcargo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -6150,7 +6150,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-3, -6, SHADOW_SIZE_S) FOOTPRINT(Swinub) OVERWORLD( - gObjectEventPic_Swinub, + sPicTable_Swinub, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6230,7 +6230,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 3, SHADOW_SIZE_M) FOOTPRINT(Piloswine) OVERWORLD( - gObjectEventPic_Piloswine, + sPicTable_Piloswine, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6239,7 +6239,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Piloswine ) OVERWORLD_FEMALE( - gObjectEventPic_PiloswineF, + sPicTable_PiloswineF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6315,7 +6315,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(7, 7, SHADOW_SIZE_L) FOOTPRINT(Mamoswine) OVERWORLD( - gObjectEventPic_Mamoswine, + sPicTable_Mamoswine, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6324,7 +6324,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Mamoswine ) OVERWORLD_FEMALE( - gObjectEventPic_MamoswineF, + sPicTable_MamoswineF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6405,7 +6405,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 1, SHADOW_SIZE_M) FOOTPRINT(Corsola) OVERWORLD( - gObjectEventPic_Corsola, + sPicTable_Corsola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6470,7 +6470,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Corsola) OVERWORLD( - gObjectEventPic_CorsolaGalar, + sPicTable_CorsolaGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6536,7 +6536,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-3, 13, SHADOW_SIZE_S) FOOTPRINT(Cursola) OVERWORLD( - gObjectEventPic_Cursola, + sPicTable_Cursola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6609,7 +6609,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Remoraid) OVERWORLD( - gObjectEventPic_Remoraid, + sPicTable_Remoraid, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -6690,7 +6690,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, 4, SHADOW_SIZE_M) FOOTPRINT(Octillery) OVERWORLD( - gObjectEventPic_Octillery, + sPicTable_Octillery, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -6699,7 +6699,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Octillery ) OVERWORLD_FEMALE( - gObjectEventPic_OctilleryF, + sPicTable_OctilleryF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -6764,7 +6764,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Delibird) OVERWORLD( - gObjectEventPic_Delibird, + sPicTable_Delibird, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6835,7 +6835,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 3, SHADOW_SIZE_S) FOOTPRINT(Mantyke) OVERWORLD( - gObjectEventPic_Mantyke, + sPicTable_Mantyke, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6912,7 +6912,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Mantine) OVERWORLD( - gObjectEventPic_Mantine, + sPicTable_Mantine, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -6981,7 +6981,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 9, SHADOW_SIZE_M) FOOTPRINT(Skarmory) OVERWORLD( - gObjectEventPic_Skarmory, + sPicTable_Skarmory, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7049,7 +7049,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 4, SHADOW_SIZE_M) FOOTPRINT(Houndour) OVERWORLD( - gObjectEventPic_Houndour, + sPicTable_Houndour, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7122,7 +7122,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-5, 13, SHADOW_SIZE_L) FOOTPRINT(Houndoom) OVERWORLD( - gObjectEventPic_Houndoom, + sPicTable_Houndoom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7131,7 +7131,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Houndoom ) OVERWORLD_FEMALE( - gObjectEventPic_HoundoomF, + sPicTable_HoundoomF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7194,7 +7194,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = FOOTPRINT(Houndoom) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_HoundoomMega, + sPicTable_HoundoomMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7271,7 +7271,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(3, -2, SHADOW_SIZE_M) FOOTPRINT(Phanpy) OVERWORLD( - gObjectEventPic_Phanpy, + sPicTable_Phanpy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7346,7 +7346,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(7, 2, SHADOW_SIZE_L) FOOTPRINT(Donphan) OVERWORLD( - gObjectEventPic_Donphan, + sPicTable_Donphan, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7355,7 +7355,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gShinyOverworldPalette_Donphan ) OVERWORLD_FEMALE( - gObjectEventPic_DonphanF, + sPicTable_DonphanF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7424,7 +7424,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(3, 13, SHADOW_SIZE_M) FOOTPRINT(Stantler) OVERWORLD( - gObjectEventPic_Stantler, + sPicTable_Stantler, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7490,7 +7490,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Wyrdeer) OVERWORLD( - gObjectEventPic_Wyrdeer, + sPicTable_Wyrdeer, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7564,7 +7564,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(6, 7, SHADOW_SIZE_S) FOOTPRINT(Smeargle) OVERWORLD( - gObjectEventPic_Smeargle, + sPicTable_Smeargle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7638,7 +7638,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-3, 4, SHADOW_SIZE_M) FOOTPRINT(Miltank) OVERWORLD( - gObjectEventPic_Miltank, + sPicTable_Miltank, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7718,7 +7718,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-4, 7, SHADOW_SIZE_L) FOOTPRINT(Raikou) OVERWORLD( - gObjectEventPic_Raikou, + sPicTable_Raikou, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7798,7 +7798,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 8, SHADOW_SIZE_L) FOOTPRINT(Entei) OVERWORLD( - gObjectEventPic_Entei, + sPicTable_Entei, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7878,7 +7878,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(3, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Suicune) OVERWORLD( - gObjectEventPic_Suicune, + sPicTable_Suicune, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7949,7 +7949,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Larvitar) OVERWORLD( - gObjectEventPic_Larvitar, + sPicTable_Larvitar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8016,7 +8016,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(3, 3, SHADOW_SIZE_S) FOOTPRINT(Pupitar) OVERWORLD( - gObjectEventPic_Pupitar, + sPicTable_Pupitar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -8090,7 +8090,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(-1, 11, SHADOW_SIZE_L) FOOTPRINT(Tyranitar) OVERWORLD( - gObjectEventPic_Tyranitar, + sPicTable_Tyranitar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8156,7 +8156,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = FOOTPRINT(Tyranitar) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_TyranitarMega, + sPicTable_TyranitarMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8246,7 +8246,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(2, 17, SHADOW_SIZE_L) FOOTPRINT(Lugia) OVERWORLD( - gObjectEventPic_Lugia, + sPicTable_Lugia, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, @@ -8325,7 +8325,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(1, 17, SHADOW_SIZE_L) FOOTPRINT(HoOh) OVERWORLD( - gObjectEventPic_HoOh, + sPicTable_HoOh, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, @@ -8406,7 +8406,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = SHADOW(0, 14, SHADOW_SIZE_S) FOOTPRINT(Celebi) OVERWORLD( - gObjectEventPic_Celebi, + sPicTable_Celebi, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, diff --git a/src/data/pokemon/species_info/gen_3_families.h b/src/data/pokemon/species_info/gen_3_families.h index ebdca44984..7b87415c76 100644 --- a/src/data/pokemon/species_info/gen_3_families.h +++ b/src/data/pokemon/species_info/gen_3_families.h @@ -60,7 +60,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 4, SHADOW_SIZE_S) FOOTPRINT(Treecko) OVERWORLD( - gObjectEventPic_Treecko, + sPicTable_Treecko, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -130,7 +130,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 7, SHADOW_SIZE_M) FOOTPRINT(Grovyle) OVERWORLD( - gObjectEventPic_Grovyle, + sPicTable_Grovyle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -203,7 +203,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Sceptile) OVERWORLD( - gObjectEventPic_Sceptile, + sPicTable_Sceptile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -269,7 +269,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Sceptile) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_SceptileMega, + sPicTable_SceptileMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -350,7 +350,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Torchic) OVERWORLD( - gObjectEventPic_Torchic, + sPicTable_Torchic, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -359,7 +359,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Torchic ) OVERWORLD_FEMALE( - gObjectEventPic_TorchicF, + sPicTable_TorchicF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -432,7 +432,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Combusken) OVERWORLD( - gObjectEventPic_Combusken, + sPicTable_Combusken, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -441,7 +441,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Combusken ) OVERWORLD_FEMALE( - gObjectEventPic_CombuskenF, + sPicTable_CombuskenF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -520,7 +520,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 8, SHADOW_SIZE_M) FOOTPRINT(Blaziken) OVERWORLD( - gObjectEventPic_Blaziken, + sPicTable_Blaziken, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -529,7 +529,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Blaziken ) OVERWORLD_FEMALE( - gObjectEventPic_BlazikenF, + sPicTable_BlazikenF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -593,7 +593,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Blaziken) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_BlazikenMega, + sPicTable_BlazikenMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -668,7 +668,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Mudkip) OVERWORLD( - gObjectEventPic_Mudkip, + sPicTable_Mudkip, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -742,7 +742,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Marshtomp) OVERWORLD( - gObjectEventPic_Marshtomp, + sPicTable_Marshtomp, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -817,7 +817,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Swampert) OVERWORLD( - gObjectEventPic_Swampert, + sPicTable_Swampert, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -883,7 +883,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Swampert) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_SwampertMega, + sPicTable_SwampertMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -966,7 +966,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Poochyena) OVERWORLD( - gObjectEventPic_Poochyena, + sPicTable_Poochyena, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1040,7 +1040,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 6, SHADOW_SIZE_L) FOOTPRINT(Mightyena) OVERWORLD( - gObjectEventPic_Mightyena, + sPicTable_Mightyena, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1124,7 +1124,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-4, 0, SHADOW_SIZE_M) FOOTPRINT(Zigzagoon) OVERWORLD( - gObjectEventPic_Zigzagoon, + sPicTable_Zigzagoon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1201,7 +1201,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-6, 0, SHADOW_SIZE_L) FOOTPRINT(Linoone) OVERWORLD( - gObjectEventPic_Linoone, + sPicTable_Linoone, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1265,7 +1265,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-5, 0, SHADOW_SIZE_M) FOOTPRINT(Zigzagoon) OVERWORLD( - gObjectEventPic_ZigzagoonGalar, + sPicTable_ZigzagoonGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1331,7 +1331,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-4, 0, SHADOW_SIZE_L) FOOTPRINT(Linoone) OVERWORLD( - gObjectEventPic_LinooneGalar, + sPicTable_LinooneGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1396,7 +1396,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 13, SHADOW_SIZE_M) FOOTPRINT(Obstagoon) OVERWORLD( - gObjectEventPic_Obstagoon, + sPicTable_Obstagoon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1473,7 +1473,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Wurmple) OVERWORLD( - gObjectEventPic_Wurmple, + sPicTable_Wurmple, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, @@ -1542,7 +1542,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Silcoon) OVERWORLD( - gObjectEventPic_Silcoon, + sPicTable_Silcoon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, @@ -1632,7 +1632,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-5, 12, SHADOW_SIZE_S) FOOTPRINT(Beautifly) OVERWORLD( - gObjectEventPic_Beautifly, + sPicTable_Beautifly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -1641,7 +1641,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Beautifly ) OVERWORLD_FEMALE( - gObjectEventPic_BeautiflyF, + sPicTable_BeautiflyF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -1713,7 +1713,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Cascoon) OVERWORLD( - gObjectEventPic_Cascoon, + sPicTable_Cascoon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, @@ -1811,7 +1811,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 11, SHADOW_SIZE_S) FOOTPRINT(Dustox) OVERWORLD( - gObjectEventPic_Dustox, + sPicTable_Dustox, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -1820,7 +1820,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Dustox ) OVERWORLD_FEMALE( - gObjectEventPic_DustoxF, + sPicTable_DustoxF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -1887,7 +1887,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, -3, SHADOW_SIZE_S) FOOTPRINT(Lotad) OVERWORLD( - gObjectEventPic_Lotad, + sPicTable_Lotad, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1958,7 +1958,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 2, SHADOW_SIZE_S) FOOTPRINT(Lombre) OVERWORLD( - gObjectEventPic_Lombre, + sPicTable_Lombre, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2042,7 +2042,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 14, SHADOW_SIZE_M) FOOTPRINT(Ludicolo) OVERWORLD( - gObjectEventPic_Ludicolo, + sPicTable_Ludicolo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2051,7 +2051,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Ludicolo ) OVERWORLD_FEMALE( - gObjectEventPic_LudicoloF, + sPicTable_LudicoloF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2124,7 +2124,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Seedot) OVERWORLD( - gObjectEventPic_Seedot, + sPicTable_Seedot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2205,7 +2205,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 5, SHADOW_SIZE_S) FOOTPRINT(Nuzleaf) OVERWORLD( - gObjectEventPic_Nuzleaf, + sPicTable_Nuzleaf, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2214,7 +2214,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Nuzleaf ) OVERWORLD_FEMALE( - gObjectEventPic_NuzleafF, + sPicTable_NuzleafF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2296,7 +2296,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-5, 5, SHADOW_SIZE_M) FOOTPRINT(Shiftry) OVERWORLD( - gObjectEventPic_Shiftry, + sPicTable_Shiftry, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2305,7 +2305,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Shiftry ) OVERWORLD_FEMALE( - gObjectEventPic_ShiftryF, + sPicTable_ShiftryF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2377,7 +2377,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Taillow) OVERWORLD( - gObjectEventPic_Taillow, + sPicTable_Taillow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2451,7 +2451,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-7, 7, SHADOW_SIZE_M) FOOTPRINT(Swellow) OVERWORLD( - gObjectEventPic_Swellow, + sPicTable_Swellow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -2525,7 +2525,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 15, SHADOW_SIZE_S) FOOTPRINT(Wingull) OVERWORLD( - gObjectEventPic_Wingull, + sPicTable_Wingull, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -2611,7 +2611,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 17, SHADOW_SIZE_M) FOOTPRINT(Pelipper) OVERWORLD( - gObjectEventPic_Pelipper, + sPicTable_Pelipper, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -2687,7 +2687,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Ralts) OVERWORLD( - gObjectEventPic_Ralts, + sPicTable_Ralts, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2755,7 +2755,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Kirlia) OVERWORLD( - gObjectEventPic_Kirlia, + sPicTable_Kirlia, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2829,7 +2829,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(Gardevoir) OVERWORLD( - gObjectEventPic_Gardevoir, + sPicTable_Gardevoir, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2895,7 +2895,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Gardevoir) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_GardevoirMega, + sPicTable_GardevoirMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2976,7 +2976,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 13, SHADOW_SIZE_L) FOOTPRINT(Gallade) OVERWORLD( - gObjectEventPic_Gallade, + sPicTable_Gallade, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3042,7 +3042,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Gallade) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_GalladeMega, + sPicTable_GalladeMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3119,7 +3119,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Surskit) OVERWORLD( - gObjectEventPic_Surskit, + sPicTable_Surskit, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, @@ -3202,7 +3202,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-4, 17, SHADOW_SIZE_M) FOOTPRINT(Masquerain) OVERWORLD( - gObjectEventPic_Masquerain, + sPicTable_Masquerain, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -3284,7 +3284,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Shroomish) OVERWORLD( - gObjectEventPic_Shroomish, + sPicTable_Shroomish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3360,7 +3360,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-4, 9, SHADOW_SIZE_M) FOOTPRINT(Breloom) OVERWORLD( - gObjectEventPic_Breloom, + sPicTable_Breloom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3431,7 +3431,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, -4, SHADOW_SIZE_M) FOOTPRINT(Slakoth) OVERWORLD( - gObjectEventPic_Slakoth, + sPicTable_Slakoth, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3503,7 +3503,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 6, SHADOW_SIZE_M) FOOTPRINT(Vigoroth) OVERWORLD( - gObjectEventPic_Vigoroth, + sPicTable_Vigoroth, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3580,7 +3580,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Slaking) OVERWORLD( - gObjectEventPic_Slaking, + sPicTable_Slaking, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3651,7 +3651,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, -3, SHADOW_SIZE_M) FOOTPRINT(Nincada) OVERWORLD( - gObjectEventPic_Nincada, + sPicTable_Nincada, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, @@ -3736,7 +3736,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 10, SHADOW_SIZE_S) FOOTPRINT(Ninjask) OVERWORLD( - gObjectEventPic_Ninjask, + sPicTable_Ninjask, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -3805,7 +3805,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 9, SHADOW_SIZE_S) FOOTPRINT(Shedinja) OVERWORLD( - gObjectEventPic_Shedinja, + sPicTable_Shedinja, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -3880,7 +3880,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(Whismur) OVERWORLD( - gObjectEventPic_Whismur, + sPicTable_Whismur, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3950,7 +3950,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 9, SHADOW_SIZE_M) FOOTPRINT(Loudred) OVERWORLD( - gObjectEventPic_Loudred, + sPicTable_Loudred, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4025,7 +4025,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 12, SHADOW_SIZE_L) FOOTPRINT(Exploud) OVERWORLD( - gObjectEventPic_Exploud, + sPicTable_Exploud, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4100,7 +4100,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 5, SHADOW_SIZE_M) FOOTPRINT(Makuhita) OVERWORLD( - gObjectEventPic_Makuhita, + sPicTable_Makuhita, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4170,7 +4170,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 9, SHADOW_SIZE_L) FOOTPRINT(Hariyama) OVERWORLD( - gObjectEventPic_Hariyama, + sPicTable_Hariyama, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4243,7 +4243,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 3, SHADOW_SIZE_M) FOOTPRINT(Nosepass) OVERWORLD( - gObjectEventPic_Nosepass, + sPicTable_Nosepass, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4318,7 +4318,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 13, SHADOW_SIZE_L) FOOTPRINT(Probopass) OVERWORLD( - gObjectEventPic_Probopass, + sPicTable_Probopass, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4391,7 +4391,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Skitty) OVERWORLD( - gObjectEventPic_Skitty, + sPicTable_Skitty, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4470,7 +4470,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Delcatty) OVERWORLD( - gObjectEventPic_Delcatty, + sPicTable_Delcatty, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4546,7 +4546,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 3, SHADOW_SIZE_S) FOOTPRINT(Sableye) OVERWORLD( - gObjectEventPic_Sableye, + sPicTable_Sableye, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4613,7 +4613,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Sableye) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_SableyeMega, + sPicTable_SableyeMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4699,7 +4699,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 4, SHADOW_SIZE_L) FOOTPRINT(Mawile) OVERWORLD( - gObjectEventPic_Mawile, + sPicTable_Mawile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4767,7 +4767,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Mawile) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_MawileMega, + sPicTable_MawileMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4844,7 +4844,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, -3, SHADOW_SIZE_S) FOOTPRINT(Aron) OVERWORLD( - gObjectEventPic_Aron, + sPicTable_Aron, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4915,7 +4915,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 2, SHADOW_SIZE_L) FOOTPRINT(Lairon) OVERWORLD( - gObjectEventPic_Lairon, + sPicTable_Lairon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4989,7 +4989,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(5, 12, SHADOW_SIZE_L) FOOTPRINT(Aggron) OVERWORLD( - gObjectEventPic_Aggron, + sPicTable_Aggron, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5056,7 +5056,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Aggron) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_AggronMega, + sPicTable_AggronMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5135,7 +5135,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Meditite) OVERWORLD( - gObjectEventPic_Meditite, + sPicTable_Meditite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5144,7 +5144,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Meditite ) OVERWORLD_FEMALE( - gObjectEventPic_MedititeF, + sPicTable_MedititeF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5220,7 +5220,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 13, SHADOW_SIZE_S) FOOTPRINT(Medicham) OVERWORLD( - gObjectEventPic_Medicham, + sPicTable_Medicham, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5229,7 +5229,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Medicham ) OVERWORLD_FEMALE( - gObjectEventPic_MedichamF, + sPicTable_MedichamF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5293,7 +5293,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Medicham) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_MedichamMega, + sPicTable_MedichamMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5368,7 +5368,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(3, -1, SHADOW_SIZE_M) FOOTPRINT(Electrike) OVERWORLD( - gObjectEventPic_Electrike, + sPicTable_Electrike, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5438,7 +5438,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 10, SHADOW_SIZE_M) FOOTPRINT(Manectric) OVERWORLD( - gObjectEventPic_Manectric, + sPicTable_Manectric, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5503,7 +5503,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Manectric) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_ManectricMega, + sPicTable_ManectricMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5583,7 +5583,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 3, SHADOW_SIZE_S) FOOTPRINT(Plusle) OVERWORLD( - gObjectEventPic_Plusle, + sPicTable_Plusle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5659,7 +5659,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-4, 3, SHADOW_SIZE_S) FOOTPRINT(Minun) OVERWORLD( - gObjectEventPic_Minun, + sPicTable_Minun, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5739,7 +5739,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Volbeat) OVERWORLD( - gObjectEventPic_Volbeat, + sPicTable_Volbeat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -5819,7 +5819,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Illumise) OVERWORLD( - gObjectEventPic_Illumise, + sPicTable_Illumise, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -5891,7 +5891,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 0, SHADOW_SIZE_S) FOOTPRINT(Budew) OVERWORLD( - gObjectEventPic_Budew, + sPicTable_Budew, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5968,7 +5968,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Roselia) OVERWORLD( - gObjectEventPic_Roselia, + sPicTable_Roselia, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5977,7 +5977,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Roselia ) OVERWORLD_FEMALE( - gObjectEventPic_RoseliaF, + sPicTable_RoseliaF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6059,7 +6059,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Roserade) OVERWORLD( - gObjectEventPic_Roserade, + sPicTable_Roserade, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6068,7 +6068,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Roserade ) OVERWORLD_FEMALE( - gObjectEventPic_RoseradeF, + sPicTable_RoseradeF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6145,7 +6145,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, -2, SHADOW_SIZE_S) FOOTPRINT(Gulpin) OVERWORLD( - gObjectEventPic_Gulpin, + sPicTable_Gulpin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -6154,7 +6154,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Gulpin ) OVERWORLD_FEMALE( - gObjectEventPic_GulpinF, + sPicTable_GulpinF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -6229,7 +6229,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 3, SHADOW_SIZE_L) FOOTPRINT(Swalot) OVERWORLD( - gObjectEventPic_Swalot, + sPicTable_Swalot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -6238,7 +6238,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Swalot ) OVERWORLD_FEMALE( - gObjectEventPic_SwalotF, + sPicTable_SwalotF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -6311,7 +6311,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 8, SHADOW_SIZE_S) FOOTPRINT(Carvanha) OVERWORLD( - gObjectEventPic_Carvanha, + sPicTable_Carvanha, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -6386,7 +6386,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Sharpedo) OVERWORLD( - gObjectEventPic_Sharpedo, + sPicTable_Sharpedo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -6454,7 +6454,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Sharpedo) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_SharpedoMega, + sPicTable_SharpedoMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -6531,7 +6531,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(Wailmer) OVERWORLD( - gObjectEventPic_Wailmer, + sPicTable_Wailmer, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -6600,7 +6600,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Wailord) OVERWORLD( - gObjectEventPic_Wailord, + sPicTable_Wailord, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, @@ -6680,7 +6680,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 2, SHADOW_SIZE_S) FOOTPRINT(Numel) OVERWORLD( - gObjectEventPic_Numel, + sPicTable_Numel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6689,7 +6689,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Numel ) OVERWORLD_FEMALE( - gObjectEventPic_NumelF, + sPicTable_NumelF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6770,7 +6770,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 4, SHADOW_SIZE_L) FOOTPRINT(Camerupt) OVERWORLD( - gObjectEventPic_Camerupt, + sPicTable_Camerupt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6779,7 +6779,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Camerupt ) OVERWORLD_FEMALE( - gObjectEventPic_CameruptF, + sPicTable_CameruptF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6844,7 +6844,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Camerupt) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_CameruptMega, + sPicTable_CameruptMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6924,7 +6924,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 7, SHADOW_SIZE_L) FOOTPRINT(Torkoal) OVERWORLD( - gObjectEventPic_Torkoal, + sPicTable_Torkoal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7001,7 +7001,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Spoink) OVERWORLD( - gObjectEventPic_Spoink, + sPicTable_Spoink, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -7072,7 +7072,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Grumpig) OVERWORLD( - gObjectEventPic_Grumpig, + sPicTable_Grumpig, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7147,7 +7147,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 6, SHADOW_SIZE_S) FOOTPRINT(Spinda) OVERWORLD( - gObjectEventPic_Spinda, + sPicTable_Spinda, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7223,7 +7223,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, -1, SHADOW_SIZE_S) FOOTPRINT(Trapinch) OVERWORLD( - gObjectEventPic_Trapinch, + sPicTable_Trapinch, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7300,7 +7300,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 0, SHADOW_SIZE_L) FOOTPRINT(Vibrava) OVERWORLD( - gObjectEventPic_Vibrava, + sPicTable_Vibrava, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7383,7 +7383,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 17, SHADOW_SIZE_M) FOOTPRINT(Flygon) OVERWORLD( - gObjectEventPic_Flygon, + sPicTable_Flygon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -7460,7 +7460,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Cacnea) OVERWORLD( - gObjectEventPic_Cacnea, + sPicTable_Cacnea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7536,7 +7536,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 14, SHADOW_SIZE_M) FOOTPRINT(Cacturne) OVERWORLD( - gObjectEventPic_Cacturne, + sPicTable_Cacturne, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7545,7 +7545,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Cacturne ) OVERWORLD_FEMALE( - gObjectEventPic_CacturneF, + sPicTable_CacturneF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7616,7 +7616,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 0, SHADOW_SIZE_S) FOOTPRINT(Swablu) OVERWORLD( - gObjectEventPic_Swablu, + sPicTable_Swablu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -7687,7 +7687,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 14, SHADOW_SIZE_L) FOOTPRINT(Altaria) OVERWORLD( - gObjectEventPic_Altaria, + sPicTable_Altaria, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -7754,7 +7754,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Altaria) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_AltariaMega, + sPicTable_AltariaMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -7833,7 +7833,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Zangoose) OVERWORLD( - gObjectEventPic_Zangoose, + sPicTable_Zangoose, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7909,7 +7909,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 7, SHADOW_SIZE_L) FOOTPRINT(Seviper) OVERWORLD( - gObjectEventPic_Seviper, + sPicTable_Seviper, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BIKE_TIRE, @@ -7989,7 +7989,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Lunatone) OVERWORLD( - gObjectEventPic_Lunatone, + sPicTable_Lunatone, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -8068,7 +8068,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 15, SHADOW_SIZE_M) FOOTPRINT(Solrock) OVERWORLD( - gObjectEventPic_Solrock, + sPicTable_Solrock, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -8151,7 +8151,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Barboach) OVERWORLD( - gObjectEventPic_Barboach, + sPicTable_Barboach, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -8233,7 +8233,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(Whiscash) OVERWORLD( - gObjectEventPic_Whiscash, + sPicTable_Whiscash, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8305,7 +8305,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 5, SHADOW_SIZE_M) FOOTPRINT(Corphish) OVERWORLD( - gObjectEventPic_Corphish, + sPicTable_Corphish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8375,7 +8375,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(6, 9, SHADOW_SIZE_M) FOOTPRINT(Crawdaunt) OVERWORLD( - gObjectEventPic_Crawdaunt, + sPicTable_Crawdaunt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8449,7 +8449,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Baltoy) OVERWORLD( - gObjectEventPic_Baltoy, + sPicTable_Baltoy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -8522,7 +8522,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 18, SHADOW_SIZE_M) FOOTPRINT(Claydol) OVERWORLD( - gObjectEventPic_Claydol, + sPicTable_Claydol, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -8599,7 +8599,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Lileep) OVERWORLD( - gObjectEventPic_Lileep, + sPicTable_Lileep, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -8678,7 +8678,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Cradily) OVERWORLD( - gObjectEventPic_Cradily, + sPicTable_Cradily, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -8756,7 +8756,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Anorith) OVERWORLD( - gObjectEventPic_Anorith, + sPicTable_Anorith, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG, @@ -8832,7 +8832,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 11, SHADOW_SIZE_L) FOOTPRINT(Armaldo) OVERWORLD( - gObjectEventPic_Armaldo, + sPicTable_Armaldo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8908,7 +8908,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Feebas) OVERWORLD( - gObjectEventPic_Feebas, + sPicTable_Feebas, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -8993,7 +8993,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Milotic) OVERWORLD( - gObjectEventPic_Milotic, + sPicTable_Milotic, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -9002,7 +9002,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Milotic ) OVERWORLD_FEMALE( - gObjectEventPic_MiloticF, + sPicTable_MiloticF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -9073,7 +9073,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 10, SHADOW_SIZE_S) FOOTPRINT(Castform) OVERWORLD( - gObjectEventPic_CastformNormal, + sPicTable_CastformNormal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -9149,7 +9149,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Castform) OVERWORLD( - gObjectEventPic_CastformSunny, + sPicTable_CastformSunny, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -9223,7 +9223,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Castform) OVERWORLD( - gObjectEventPic_CastformRainy, + sPicTable_CastformRainy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -9297,7 +9297,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 8, SHADOW_SIZE_S) FOOTPRINT(Castform) OVERWORLD( - gObjectEventPic_CastformSnowy, + sPicTable_CastformSnowy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -9375,7 +9375,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 8, SHADOW_SIZE_S) FOOTPRINT(Kecleon) OVERWORLD( - gObjectEventPic_Kecleon, + sPicTable_Kecleon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9454,7 +9454,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 12, SHADOW_SIZE_S) FOOTPRINT(Shuppet) OVERWORLD( - gObjectEventPic_Shuppet, + sPicTable_Shuppet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -9532,7 +9532,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Banette) OVERWORLD( - gObjectEventPic_Banette, + sPicTable_Banette, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9599,7 +9599,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Banette) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_BanetteMega, + sPicTable_BanetteMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9681,7 +9681,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Duskull) OVERWORLD( - gObjectEventPic_Duskull, + sPicTable_Duskull, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -9758,7 +9758,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Dusclops) OVERWORLD( - gObjectEventPic_Dusclops, + sPicTable_Dusclops, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9847,7 +9847,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(6, 13, SHADOW_SIZE_M) FOOTPRINT(Dusknoir) OVERWORLD( - gObjectEventPic_Dusknoir, + sPicTable_Dusknoir, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9922,7 +9922,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-6, 13, SHADOW_SIZE_L) FOOTPRINT(Tropius) OVERWORLD( - gObjectEventPic_Tropius, + sPicTable_Tropius, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9998,7 +9998,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, -2, SHADOW_SIZE_S) FOOTPRINT(Chingling) OVERWORLD( - gObjectEventPic_Chingling, + sPicTable_Chingling, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10082,7 +10082,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-3, 16, SHADOW_SIZE_S) FOOTPRINT(Chimecho) OVERWORLD( - gObjectEventPic_Chimecho, + sPicTable_Chimecho, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -10159,7 +10159,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 6, SHADOW_SIZE_L) FOOTPRINT(Absol) OVERWORLD( - gObjectEventPic_Absol, + sPicTable_Absol, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10227,7 +10227,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Absol) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_AbsolMega, + sPicTable_AbsolMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10309,7 +10309,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Snorunt) OVERWORLD( - gObjectEventPic_Snorunt, + sPicTable_Snorunt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10385,7 +10385,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 15, SHADOW_SIZE_M) FOOTPRINT(Glalie) OVERWORLD( - gObjectEventPic_Glalie, + sPicTable_Glalie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10451,7 +10451,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Glalie) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_GlalieMega, + sPicTable_GlalieMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10524,7 +10524,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 10, SHADOW_SIZE_S) FOOTPRINT(Froslass) OVERWORLD( - gObjectEventPic_Froslass, + sPicTable_Froslass, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10603,7 +10603,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Spheal) OVERWORLD( - gObjectEventPic_Spheal, + sPicTable_Spheal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10677,7 +10677,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 2, SHADOW_SIZE_L) FOOTPRINT(Sealeo) OVERWORLD( - gObjectEventPic_Sealeo, + sPicTable_Sealeo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10756,7 +10756,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 8, SHADOW_SIZE_L) FOOTPRINT(Walrein) OVERWORLD( - gObjectEventPic_Walrein, + sPicTable_Walrein, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10828,7 +10828,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Clamperl) OVERWORLD( - gObjectEventPic_Clamperl, + sPicTable_Clamperl, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -10903,7 +10903,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 7, SHADOW_SIZE_L) FOOTPRINT(Huntail) OVERWORLD( - gObjectEventPic_Huntail, + sPicTable_Huntail, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -10972,7 +10972,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 5, SHADOW_SIZE_M) FOOTPRINT(Gorebyss) OVERWORLD( - gObjectEventPic_Gorebyss, + sPicTable_Gorebyss, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -11050,7 +11050,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Relicanth) OVERWORLD( - gObjectEventPic_Relicanth, + sPicTable_Relicanth, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -11059,7 +11059,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gShinyOverworldPalette_Relicanth ) OVERWORLD_FEMALE( - gObjectEventPic_RelicanthF, + sPicTable_RelicanthF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -11129,7 +11129,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Luvdisc) OVERWORLD( - gObjectEventPic_Luvdisc, + sPicTable_Luvdisc, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT, @@ -11201,7 +11201,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 3, SHADOW_SIZE_S) FOOTPRINT(Bagon) OVERWORLD( - gObjectEventPic_Bagon, + sPicTable_Bagon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11272,7 +11272,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Shelgon) OVERWORLD( - gObjectEventPic_Shelgon, + sPicTable_Shelgon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11349,7 +11349,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(3, 8, SHADOW_SIZE_L) FOOTPRINT(Salamence) OVERWORLD( - gObjectEventPic_Salamence, + sPicTable_Salamence, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11416,7 +11416,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Salamence) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_SalamenceMega, + sPicTable_SalamenceMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11493,7 +11493,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Beldum) OVERWORLD( - gObjectEventPic_Beldum, + sPicTable_Beldum, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -11564,7 +11564,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Metang) OVERWORLD( - gObjectEventPic_Metang, + sPicTable_Metang, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -11640,7 +11640,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, -2, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Metagross) OVERWORLD( - gObjectEventPic_Metagross, + sPicTable_Metagross, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11707,7 +11707,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Metagross) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_MetagrossMega, + sPicTable_MetagrossMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11789,7 +11789,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 10, SHADOW_SIZE_L) FOOTPRINT(Regirock) OVERWORLD( - gObjectEventPic_Regirock, + sPicTable_Regirock, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11867,7 +11867,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 10, SHADOW_SIZE_L) FOOTPRINT(Regice) OVERWORLD( - gObjectEventPic_Regice, + sPicTable_Regice, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11946,7 +11946,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(4, 8, SHADOW_SIZE_L) FOOTPRINT(Registeel) OVERWORLD( - gObjectEventPic_Registeel, + sPicTable_Registeel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12025,7 +12025,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(3, 15, SHADOW_SIZE_M) FOOTPRINT(Latias) OVERWORLD( - gObjectEventPic_Latias, + sPicTable_Latias, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -12094,7 +12094,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Latias) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_LatiasMega, + sPicTable_LatiasMega, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, @@ -12178,7 +12178,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(1, 17, SHADOW_SIZE_M) FOOTPRINT(Latios) OVERWORLD( - gObjectEventPic_Latios, + sPicTable_Latios, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -12247,7 +12247,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Latios) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_LatiosMega, + sPicTable_LatiosMega, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, @@ -12331,7 +12331,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(-1, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kyogre) OVERWORLD( - gObjectEventPic_Kyogre, + sPicTable_Kyogre, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, @@ -12399,7 +12399,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Kyogre) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_KyogrePrimal, + sPicTable_KyogrePrimal, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, @@ -12483,7 +12483,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(2, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Groudon) OVERWORLD( - gObjectEventPic_Groudon, + sPicTable_Groudon, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12552,7 +12552,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Groudon) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_GroudonPrimal, + sPicTable_GroudonPrimal, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12639,7 +12639,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 17, SHADOW_SIZE_L) FOOTPRINT(Rayquaza) OVERWORLD( - gObjectEventPic_Rayquaza, + sPicTable_Rayquaza, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, @@ -12710,7 +12710,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = FOOTPRINT(Rayquaza) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_RayquazaMega, + sPicTable_RayquazaMega, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, @@ -12802,7 +12802,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Jirachi) OVERWORLD( - gObjectEventPic_Jirachi, + sPicTable_Jirachi, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -12881,7 +12881,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Deoxys) OVERWORLD( - gObjectEventPic_DeoxysNormal, + sPicTable_DeoxysNormal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12950,7 +12950,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .iconPalIndex = 0, SHADOW(0, 14, SHADOW_SIZE_M) OVERWORLD( - gObjectEventPic_DeoxysAttack, + sPicTable_DeoxysAttack, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13020,7 +13020,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Deoxys) OVERWORLD( - gObjectEventPic_DeoxysDefense, + sPicTable_DeoxysDefense, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13090,7 +13090,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = SHADOW(3, 13, SHADOW_SIZE_M) FOOTPRINT(Deoxys) OVERWORLD( - gObjectEventPic_DeoxysSpeed, + sPicTable_DeoxysSpeed, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, diff --git a/src/data/pokemon/species_info/gen_4_families.h b/src/data/pokemon/species_info/gen_4_families.h index b51ab180a5..a6d6302012 100644 --- a/src/data/pokemon/species_info/gen_4_families.h +++ b/src/data/pokemon/species_info/gen_4_families.h @@ -58,7 +58,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Turtwig) OVERWORLD( - gObjectEventPic_Turtwig, + sPicTable_Turtwig, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -127,7 +127,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 2, SHADOW_SIZE_L) FOOTPRINT(Grotle) OVERWORLD( - gObjectEventPic_Grotle, + sPicTable_Grotle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -201,7 +201,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 10, SHADOW_SIZE_L) FOOTPRINT(Torterra) OVERWORLD( - gObjectEventPic_Torterra, + sPicTable_Torterra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -273,7 +273,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(4, 3, SHADOW_SIZE_S) FOOTPRINT(Chimchar) OVERWORLD( - gObjectEventPic_Chimchar, + sPicTable_Chimchar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -345,7 +345,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-7, 6, SHADOW_SIZE_S) FOOTPRINT(Monferno) OVERWORLD( - gObjectEventPic_Monferno, + sPicTable_Monferno, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -420,7 +420,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 9, SHADOW_SIZE_L) FOOTPRINT(Infernape) OVERWORLD( - gObjectEventPic_Infernape, + sPicTable_Infernape, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -492,7 +492,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, -1, SHADOW_SIZE_S) FOOTPRINT(Piplup) OVERWORLD( - gObjectEventPic_Piplup, + sPicTable_Piplup, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -570,7 +570,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Prinplup) OVERWORLD( - gObjectEventPic_Prinplup, + sPicTable_Prinplup, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -647,7 +647,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, 12, SHADOW_SIZE_M) FOOTPRINT(Empoleon) OVERWORLD( - gObjectEventPic_Empoleon, + sPicTable_Empoleon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -727,7 +727,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Starly) OVERWORLD( - gObjectEventPic_Starly, + sPicTable_Starly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -736,7 +736,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Starly ) OVERWORLD_FEMALE( - gObjectEventPic_StarlyF, + sPicTable_StarlyF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -807,7 +807,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Staravia) OVERWORLD( - gObjectEventPic_Staravia, + sPicTable_Staravia, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -816,7 +816,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Staravia ) OVERWORLD_FEMALE( - gObjectEventPic_StaraviaF, + sPicTable_StaraviaF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -892,7 +892,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 10, SHADOW_SIZE_M) FOOTPRINT(Staraptor) OVERWORLD( - gObjectEventPic_Staraptor, + sPicTable_Staraptor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -901,7 +901,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Staraptor ) OVERWORLD_FEMALE( - gObjectEventPic_StaraptorF, + sPicTable_StaraptorF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -977,7 +977,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 1, SHADOW_SIZE_M) FOOTPRINT(Bidoof) OVERWORLD( - gObjectEventPic_Bidoof, + sPicTable_Bidoof, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -986,7 +986,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Bidoof ) OVERWORLD_FEMALE( - gObjectEventPic_BidoofF, + sPicTable_BidoofF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1058,7 +1058,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-5, 5, SHADOW_SIZE_M) FOOTPRINT(Bibarel) OVERWORLD( - gObjectEventPic_Bibarel, + sPicTable_Bibarel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1067,7 +1067,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Bibarel ) OVERWORLD_FEMALE( - gObjectEventPic_BibarelF, + sPicTable_BibarelF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1153,7 +1153,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-5, 2, SHADOW_SIZE_S) FOOTPRINT(Kricketot) OVERWORLD( - gObjectEventPic_Kricketot, + sPicTable_Kricketot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1162,7 +1162,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Kricketot ) OVERWORLD_FEMALE( - gObjectEventPic_KricketotF, + sPicTable_KricketotF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1239,7 +1239,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-3, 6, SHADOW_SIZE_S) FOOTPRINT(Kricketune) OVERWORLD( - gObjectEventPic_Kricketune, + sPicTable_Kricketune, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1248,7 +1248,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Kricketune ) OVERWORLD_FEMALE( - gObjectEventPic_KricketuneF, + sPicTable_KricketuneF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1320,7 +1320,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Shinx) OVERWORLD( - gObjectEventPic_Shinx, + sPicTable_Shinx, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1329,7 +1329,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Shinx ) OVERWORLD_FEMALE( - gObjectEventPic_ShinxF, + sPicTable_ShinxF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1400,7 +1400,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-4, 2, SHADOW_SIZE_M) FOOTPRINT(Luxio) OVERWORLD( - gObjectEventPic_Luxio, + sPicTable_Luxio, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1409,7 +1409,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Luxio ) OVERWORLD_FEMALE( - gObjectEventPic_LuxioF, + sPicTable_LuxioF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1488,7 +1488,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 10, SHADOW_SIZE_L) FOOTPRINT(Luxray) OVERWORLD( - gObjectEventPic_Luxray, + sPicTable_Luxray, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1497,7 +1497,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Luxray ) OVERWORLD_FEMALE( - gObjectEventPic_LuxrayF, + sPicTable_LuxrayF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1562,7 +1562,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(4, 4, SHADOW_SIZE_S) FOOTPRINT(Cranidos) OVERWORLD( - gObjectEventPic_Cranidos, + sPicTable_Cranidos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1632,7 +1632,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(7, 11, SHADOW_SIZE_L) FOOTPRINT(Rampardos) OVERWORLD( - gObjectEventPic_Rampardos, + sPicTable_Rampardos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1700,7 +1700,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(3, -1, SHADOW_SIZE_S) FOOTPRINT(Shieldon) OVERWORLD( - gObjectEventPic_Shieldon, + sPicTable_Shieldon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1768,7 +1768,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 6, SHADOW_SIZE_L) FOOTPRINT(Bastiodon) OVERWORLD( - gObjectEventPic_Bastiodon, + sPicTable_Bastiodon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1833,7 +1833,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 8, SHADOW_SIZE_S) FOOTPRINT(Burmy) OVERWORLD( - gObjectEventPic_BurmyPlant, + sPicTable_BurmyPlant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1901,7 +1901,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Burmy) OVERWORLD( - gObjectEventPic_BurmySandy, + sPicTable_BurmySandy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1969,7 +1969,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Burmy) OVERWORLD( - gObjectEventPic_BurmyTrash, + sPicTable_BurmyTrash, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2038,7 +2038,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 9, SHADOW_SIZE_S) FOOTPRINT(Wormadam) OVERWORLD( - gObjectEventPic_WormadamPlant, + sPicTable_WormadamPlant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2103,7 +2103,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Wormadam) OVERWORLD( - gObjectEventPic_WormadamSandy, + sPicTable_WormadamSandy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2169,7 +2169,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 9, SHADOW_SIZE_S) FOOTPRINT(Wormadam) OVERWORLD( - gObjectEventPic_WormadamTrash, + sPicTable_WormadamTrash, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2230,8 +2230,8 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .iconPalIndex = 0, \ SHADOW(-1, 9, SHADOW_SIZE_S) \ FOOTPRINT(Mothim) \ - OVERWORLD( \ - gObjectEventPic_Mothim, \ + OVERWORLD( \ + sPicTable_Mothim, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ @@ -2314,7 +2314,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-4, 10, SHADOW_SIZE_S) FOOTPRINT(Combee) OVERWORLD( - gObjectEventPic_Combee, + sPicTable_Combee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2323,7 +2323,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Combee ) OVERWORLD_FEMALE( - gObjectEventPic_CombeeF, + sPicTable_CombeeF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2398,7 +2398,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 11, SHADOW_SIZE_L) FOOTPRINT(Vespiquen) OVERWORLD( - gObjectEventPic_Vespiquen, + sPicTable_Vespiquen, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2476,7 +2476,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Pachirisu) OVERWORLD( - gObjectEventPic_Pachirisu, + sPicTable_Pachirisu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2485,7 +2485,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Pachirisu ) OVERWORLD_FEMALE( - gObjectEventPic_PachirisuF, + sPicTable_PachirisuF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2556,7 +2556,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 4, SHADOW_SIZE_S) FOOTPRINT(Buizel) OVERWORLD( - gObjectEventPic_Buizel, + sPicTable_Buizel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2565,7 +2565,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Buizel ) OVERWORLD_FEMALE( - gObjectEventPic_BuizelF, + sPicTable_BuizelF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2638,7 +2638,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-4, 10, SHADOW_SIZE_M) FOOTPRINT(Floatzel) OVERWORLD( - gObjectEventPic_Floatzel, + sPicTable_Floatzel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2647,7 +2647,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Floatzel ) OVERWORLD_FEMALE( - gObjectEventPic_FloatzelF, + sPicTable_FloatzelF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2720,7 +2720,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-4, -2, SHADOW_SIZE_S) FOOTPRINT(Cherubi) OVERWORLD( - gObjectEventPic_Cherubi, + sPicTable_Cherubi, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2791,7 +2791,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Cherrim) OVERWORLD( - gObjectEventPic_CherrimOvercast, + sPicTable_CherrimOvercast, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2920,7 +2920,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(Shellos) OVERWORLD( - gObjectEventPic_ShellosWestSea, + sPicTable_ShellosWestSea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2985,7 +2985,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, -1, SHADOW_SIZE_S) FOOTPRINT(Shellos) OVERWORLD( - gObjectEventPic_ShellosEast, + sPicTable_ShellosEast, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3050,7 +3050,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 3, SHADOW_SIZE_M) FOOTPRINT(Gastrodon) OVERWORLD( - gObjectEventPic_GastrodonWestSea, + sPicTable_GastrodonWestSea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3113,7 +3113,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, 4, SHADOW_SIZE_M) FOOTPRINT(Gastrodon) OVERWORLD( - gObjectEventPic_GastrodonEast, + sPicTable_GastrodonEast, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3184,7 +3184,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 9, SHADOW_SIZE_S) FOOTPRINT(Drifloon) OVERWORLD( - gObjectEventPic_Drifloon, + sPicTable_Drifloon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3256,7 +3256,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 11, SHADOW_SIZE_M) FOOTPRINT(Drifblim) OVERWORLD( - gObjectEventPic_Drifblim, + sPicTable_Drifblim, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3323,7 +3323,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(3, 5, SHADOW_SIZE_S) FOOTPRINT(Buneary) OVERWORLD( - gObjectEventPic_Buneary, + sPicTable_Buneary, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3391,7 +3391,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 10, SHADOW_SIZE_S) FOOTPRINT(Lopunny) OVERWORLD( - gObjectEventPic_Lopunny, + sPicTable_Lopunny, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3457,7 +3457,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = FOOTPRINT(Lopunny) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_LopunnyMega, + sPicTable_LopunnyMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3530,7 +3530,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-3, 6, SHADOW_SIZE_S) FOOTPRINT(Glameow) OVERWORLD( - gObjectEventPic_Glameow, + sPicTable_Glameow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3602,7 +3602,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(4, 8, SHADOW_SIZE_L) FOOTPRINT(Purugly) OVERWORLD( - gObjectEventPic_Purugly, + sPicTable_Purugly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3672,7 +3672,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 0, SHADOW_SIZE_M) FOOTPRINT(Stunky) OVERWORLD( - gObjectEventPic_Stunky, + sPicTable_Stunky, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3740,7 +3740,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-3, 6, SHADOW_SIZE_L) FOOTPRINT(Skuntank) OVERWORLD( - gObjectEventPic_Skuntank, + sPicTable_Skuntank, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3817,7 +3817,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Bronzor) OVERWORLD( - gObjectEventPic_Bronzor, + sPicTable_Bronzor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3889,7 +3889,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(5, 12, SHADOW_SIZE_M) FOOTPRINT(Bronzong) OVERWORLD( - gObjectEventPic_Bronzong, + sPicTable_Bronzong, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3971,7 +3971,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 3, SHADOW_SIZE_S) FOOTPRINT(Chatot) OVERWORLD( - gObjectEventPic_Chatot, + sPicTable_Chatot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4040,7 +4040,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 7, SHADOW_SIZE_L) FOOTPRINT(Spiritomb) OVERWORLD( - gObjectEventPic_Spiritomb, + sPicTable_Spiritomb, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4115,7 +4115,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 5, SHADOW_SIZE_M) FOOTPRINT(Gible) OVERWORLD( - gObjectEventPic_Gible, + sPicTable_Gible, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4124,7 +4124,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Gible ) OVERWORLD_FEMALE( - gObjectEventPic_GibleF, + sPicTable_GibleF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4195,7 +4195,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(3, 8, SHADOW_SIZE_M) FOOTPRINT(Gabite) OVERWORLD( - gObjectEventPic_Gabite, + sPicTable_Gabite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4204,7 +4204,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Gabite ) OVERWORLD_FEMALE( - gObjectEventPic_GabiteF, + sPicTable_GabiteF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4282,7 +4282,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(5, 11, SHADOW_SIZE_L) FOOTPRINT(Garchomp) OVERWORLD( - gObjectEventPic_Garchomp, + sPicTable_Garchomp, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4291,7 +4291,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Garchomp ) OVERWORLD_FEMALE( - gObjectEventPic_GarchompF, + sPicTable_GarchompF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4355,7 +4355,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = FOOTPRINT(Garchomp) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_GarchompMega, + sPicTable_GarchompMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4429,7 +4429,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(3, 3, SHADOW_SIZE_S) FOOTPRINT(Riolu) OVERWORLD( - gObjectEventPic_Riolu, + sPicTable_Riolu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4497,7 +4497,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Lucario) OVERWORLD( - gObjectEventPic_Lucario, + sPicTable_Lucario, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4564,7 +4564,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = FOOTPRINT(Lucario) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_LucarioMega, + sPicTable_LucarioMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4645,7 +4645,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, -1, SHADOW_SIZE_L) FOOTPRINT(Hippopotas) OVERWORLD( - gObjectEventPic_Hippopotas, + sPicTable_Hippopotas, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4654,7 +4654,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Hippopotas ) OVERWORLD_FEMALE( - gObjectEventPic_HippopotasF, + sPicTable_HippopotasF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4727,7 +4727,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = NO_SHADOW FOOTPRINT(Hippowdon) OVERWORLD( - gObjectEventPic_Hippowdon, + sPicTable_Hippowdon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4813,7 +4813,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Skorupi) OVERWORLD( - gObjectEventPic_Skorupi, + sPicTable_Skorupi, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4888,7 +4888,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-3, 6, SHADOW_SIZE_L) FOOTPRINT(Drapion) OVERWORLD( - gObjectEventPic_Drapion, + sPicTable_Drapion, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4964,7 +4964,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, 4, SHADOW_SIZE_S) FOOTPRINT(Croagunk) OVERWORLD( - gObjectEventPic_Croagunk, + sPicTable_Croagunk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4973,7 +4973,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Croagunk ) OVERWORLD_FEMALE( - gObjectEventPic_CroagunkF, + sPicTable_CroagunkF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5048,7 +5048,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(3, 7, SHADOW_SIZE_M) FOOTPRINT(Toxicroak) OVERWORLD( - gObjectEventPic_Toxicroak, + sPicTable_Toxicroak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5057,7 +5057,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Toxicroak ) OVERWORLD_FEMALE( - gObjectEventPic_ToxicroakF, + sPicTable_ToxicroakF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5133,7 +5133,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Carnivine) OVERWORLD( - gObjectEventPic_Carnivine, + sPicTable_Carnivine, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5213,7 +5213,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Finneon) OVERWORLD( - gObjectEventPic_Finneon, + sPicTable_Finneon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5222,7 +5222,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Finneon ) OVERWORLD_FEMALE( - gObjectEventPic_FinneonF, + sPicTable_FinneonF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5297,7 +5297,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Lumineon) OVERWORLD( - gObjectEventPic_Lumineon, + sPicTable_Lumineon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5306,7 +5306,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Lumineon ) OVERWORLD_FEMALE( - gObjectEventPic_LumineonF, + sPicTable_LumineonF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5379,7 +5379,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, 4, SHADOW_SIZE_M) FOOTPRINT(Snover) OVERWORLD( - gObjectEventPic_Snover, + sPicTable_Snover, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5388,7 +5388,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Snover ) OVERWORLD_FEMALE( - gObjectEventPic_SnoverF, + sPicTable_SnoverF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5460,7 +5460,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 11, SHADOW_SIZE_L) FOOTPRINT(Abomasnow) OVERWORLD( - gObjectEventPic_Abomasnow, + sPicTable_Abomasnow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5469,7 +5469,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gShinyOverworldPalette_Abomasnow ) OVERWORLD_FEMALE( - gObjectEventPic_AbomasnowF, + sPicTable_AbomasnowF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5535,7 +5535,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = FOOTPRINT(Abomasnow) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_AbomasnowMega, + sPicTable_AbomasnowMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5612,7 +5612,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 10, SHADOW_SIZE_S) FOOTPRINT(Rotom) OVERWORLD( - gObjectEventPic_Rotom, + sPicTable_Rotom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5690,7 +5690,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Rotom) OVERWORLD( - gObjectEventPic_RotomHeat, + sPicTable_RotomHeat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5761,7 +5761,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 10, SHADOW_SIZE_M) FOOTPRINT(Rotom) OVERWORLD( - gObjectEventPic_RotomWash, + sPicTable_RotomWash, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5830,7 +5830,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Rotom) OVERWORLD( - gObjectEventPic_RotomFrost, + sPicTable_RotomFrost, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5924,7 +5924,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(4, 9, SHADOW_SIZE_S) FOOTPRINT(Rotom) OVERWORLD( - gObjectEventPic_RotomFan, + sPicTable_RotomFan, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5996,7 +5996,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, 14, SHADOW_SIZE_M) FOOTPRINT(Rotom) OVERWORLD( - gObjectEventPic_RotomMow, + sPicTable_RotomMow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6074,7 +6074,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, 11, SHADOW_SIZE_S) FOOTPRINT(Uxie) OVERWORLD( - gObjectEventPic_Uxie, + sPicTable_Uxie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6158,7 +6158,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Mesprit) OVERWORLD( - gObjectEventPic_Mesprit, + sPicTable_Mesprit, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6236,7 +6236,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 17, SHADOW_SIZE_S) FOOTPRINT(Azelf) OVERWORLD( - gObjectEventPic_Azelf, + sPicTable_Azelf, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6313,7 +6313,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(4, 12, SHADOW_SIZE_L) FOOTPRINT(Dialga) OVERWORLD( - gObjectEventPic_Dialga, + sPicTable_Dialga, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6380,7 +6380,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Dialga) OVERWORLD( - gObjectEventPic_DialgaOrigin, + sPicTable_DialgaOrigin, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, @@ -6460,7 +6460,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 10, SHADOW_SIZE_L) FOOTPRINT(Palkia) OVERWORLD( - gObjectEventPic_Palkia, + sPicTable_Palkia, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6527,7 +6527,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-3, 14, SHADOW_SIZE_L) FOOTPRINT(Palkia) OVERWORLD( - gObjectEventPic_PalkiaOrigin, + sPicTable_PalkiaOrigin, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, @@ -6606,7 +6606,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(2, 2, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Heatran) OVERWORLD( - gObjectEventPic_Heatran, + sPicTable_Heatran, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6681,7 +6681,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(3, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Regigigas) OVERWORLD( - gObjectEventPic_Regigigas, + sPicTable_Regigigas, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6759,7 +6759,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(3, 11, SHADOW_SIZE_L) FOOTPRINT(GiratinaAltered) OVERWORLD( - gObjectEventPic_GiratinaAltered, + sPicTable_GiratinaAltered, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6833,7 +6833,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 18, SHADOW_SIZE_L) FOOTPRINT(GiratinaOrigin) OVERWORLD( - gObjectEventPic_GiratinaOrigin, + sPicTable_GiratinaOrigin, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6916,7 +6916,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(Cresselia) OVERWORLD( - gObjectEventPic_Cresselia, + sPicTable_Cresselia, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6993,7 +6993,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Phione) OVERWORLD( - gObjectEventPic_Phione, + sPicTable_Phione, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7069,7 +7069,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-5, 8, SHADOW_SIZE_S) FOOTPRINT(Manaphy) OVERWORLD( - gObjectEventPic_Manaphy, + sPicTable_Manaphy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7148,7 +7148,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(4, 12, SHADOW_SIZE_M) FOOTPRINT(Darkrai) OVERWORLD( - gObjectEventPic_Darkrai, + sPicTable_Darkrai, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7229,7 +7229,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(1, -3, SHADOW_SIZE_S) FOOTPRINT(Shaymin) OVERWORLD( - gObjectEventPic_ShayminLand, + sPicTable_ShayminLand, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7307,7 +7307,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(3, 7, SHADOW_SIZE_M) FOOTPRINT(Shaymin) OVERWORLD( - gObjectEventPic_ShayminSky, + sPicTable_ShayminSky, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7388,7 +7388,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = SHADOW(-1, 15, SHADOW_SIZE_XL_BATTLE_ONLY) \ FOOTPRINT(Arceus) \ OVERWORLD( \ - gObjectEventPic_Arceus ##typeName, \ + sPicTable_Arceus ##typeName, \ SIZE_64x64, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ diff --git a/src/data/pokemon/species_info/gen_5_families.h b/src/data/pokemon/species_info/gen_5_families.h index f914259f18..d55a7bf1d0 100644 --- a/src/data/pokemon/species_info/gen_5_families.h +++ b/src/data/pokemon/species_info/gen_5_families.h @@ -58,7 +58,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 4, SHADOW_SIZE_S) FOOTPRINT(Victini) OVERWORLD( - gObjectEventPic_Victini, + sPicTable_Victini, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -129,7 +129,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Snivy) OVERWORLD( - gObjectEventPic_Snivy, + sPicTable_Snivy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -201,7 +201,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Servine) OVERWORLD( - gObjectEventPic_Servine, + sPicTable_Servine, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -270,7 +270,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Serperior) OVERWORLD( - gObjectEventPic_Serperior, + sPicTable_Serperior, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -340,7 +340,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, -2, SHADOW_SIZE_S) FOOTPRINT(Tepig) OVERWORLD( - gObjectEventPic_Tepig, + sPicTable_Tepig, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -408,7 +408,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 6, SHADOW_SIZE_M) FOOTPRINT(Pignite) OVERWORLD( - gObjectEventPic_Pignite, + sPicTable_Pignite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -495,7 +495,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 12, SHADOW_SIZE_L) FOOTPRINT(Emboar) OVERWORLD( - gObjectEventPic_Emboar, + sPicTable_Emboar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -567,7 +567,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, 0, SHADOW_SIZE_S) FOOTPRINT(Oshawott) OVERWORLD( - gObjectEventPic_Oshawott, + sPicTable_Oshawott, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -637,7 +637,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 6, SHADOW_SIZE_S) FOOTPRINT(Dewott) OVERWORLD( - gObjectEventPic_Dewott, + sPicTable_Dewott, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -704,7 +704,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 13, SHADOW_SIZE_L) FOOTPRINT(Samurott) OVERWORLD( - gObjectEventPic_Samurott, + sPicTable_Samurott, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -768,7 +768,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 13, SHADOW_SIZE_L) FOOTPRINT(Samurott) OVERWORLD( - gObjectEventPic_SamurottHisui, + sPicTable_SamurottHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -838,7 +838,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Patrat) OVERWORLD( - gObjectEventPic_Patrat, + sPicTable_Patrat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -910,7 +910,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-4, 11, SHADOW_SIZE_S) FOOTPRINT(Watchog) OVERWORLD( - gObjectEventPic_Watchog, + sPicTable_Watchog, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -982,7 +982,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 1, SHADOW_SIZE_S) FOOTPRINT(Lillipup) OVERWORLD( - gObjectEventPic_Lillipup, + sPicTable_Lillipup, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1053,7 +1053,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 5, SHADOW_SIZE_M) FOOTPRINT(Herdier) OVERWORLD( - gObjectEventPic_Herdier, + sPicTable_Herdier, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1128,7 +1128,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-4, 9, SHADOW_SIZE_L) FOOTPRINT(Stoutland) OVERWORLD( - gObjectEventPic_Stoutland, + sPicTable_Stoutland, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1196,7 +1196,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Purrloin) OVERWORLD( - gObjectEventPic_Purrloin, + sPicTable_Purrloin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1264,7 +1264,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 11, SHADOW_SIZE_M) FOOTPRINT(Liepard) OVERWORLD( - gObjectEventPic_Liepard, + sPicTable_Liepard, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1334,7 +1334,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Pansage) OVERWORLD( - gObjectEventPic_Pansage, + sPicTable_Pansage, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1402,7 +1402,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(Simisage) OVERWORLD( - gObjectEventPic_Simisage, + sPicTable_Simisage, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1470,7 +1470,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 3, SHADOW_SIZE_S) FOOTPRINT(Pansear) OVERWORLD( - gObjectEventPic_Pansear, + sPicTable_Pansear, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1541,7 +1541,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Simisear) OVERWORLD( - gObjectEventPic_Simisear, + sPicTable_Simisear, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1609,7 +1609,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, 4, SHADOW_SIZE_S) FOOTPRINT(Panpour) OVERWORLD( - gObjectEventPic_Panpour, + sPicTable_Panpour, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1676,7 +1676,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Simipour) OVERWORLD( - gObjectEventPic_Simipour, + sPicTable_Simipour, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1750,7 +1750,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Munna) OVERWORLD( - gObjectEventPic_Munna, + sPicTable_Munna, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1821,7 +1821,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(6, 10, SHADOW_SIZE_M) FOOTPRINT(Musharna) OVERWORLD( - gObjectEventPic_Musharna, + sPicTable_Musharna, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1889,7 +1889,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Pidove) OVERWORLD( - gObjectEventPic_Pidove, + sPicTable_Pidove, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1957,7 +1957,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Tranquill) OVERWORLD( - gObjectEventPic_Tranquill, + sPicTable_Tranquill, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2040,7 +2040,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(Unfezant) OVERWORLD( - gObjectEventPic_Unfezant, + sPicTable_Unfezant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2049,7 +2049,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = gShinyOverworldPalette_Unfezant ) OVERWORLD_FEMALE( - gObjectEventPic_UnfezantF, + sPicTable_UnfezantF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2120,7 +2120,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 9, SHADOW_SIZE_M) FOOTPRINT(Blitzle) OVERWORLD( - gObjectEventPic_Blitzle, + sPicTable_Blitzle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2188,7 +2188,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 13, SHADOW_SIZE_M) FOOTPRINT(Zebstrika) OVERWORLD( - gObjectEventPic_Zebstrika, + sPicTable_Zebstrika, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2262,7 +2262,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Roggenrola) OVERWORLD( - gObjectEventPic_Roggenrola, + sPicTable_Roggenrola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2340,7 +2340,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 3, SHADOW_SIZE_L) FOOTPRINT(Boldore) OVERWORLD( - gObjectEventPic_Boldore, + sPicTable_Boldore, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2420,7 +2420,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gigalith) OVERWORLD( - gObjectEventPic_Gigalith, + sPicTable_Gigalith, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2505,7 +2505,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 14, SHADOW_SIZE_S) FOOTPRINT(Woobat) OVERWORLD( - gObjectEventPic_Woobat, + sPicTable_Woobat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2577,7 +2577,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 17, SHADOW_SIZE_M) FOOTPRINT(Swoobat) OVERWORLD( - gObjectEventPic_Swoobat, + sPicTable_Swoobat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2648,7 +2648,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Drilbur) OVERWORLD( - gObjectEventPic_Drilbur, + sPicTable_Drilbur, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2718,7 +2718,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 8, SHADOW_SIZE_L) FOOTPRINT(Excadrill) OVERWORLD( - gObjectEventPic_Excadrill, + sPicTable_Excadrill, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2788,7 +2788,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 6, SHADOW_SIZE_S) FOOTPRINT(Audino) OVERWORLD( - gObjectEventPic_Audino, + sPicTable_Audino, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2857,7 +2857,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = FOOTPRINT(Audino) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_AudinoMega, + sPicTable_AudinoMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2931,7 +2931,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-4, 2, SHADOW_SIZE_S) FOOTPRINT(Timburr) OVERWORLD( - gObjectEventPic_Timburr, + sPicTable_Timburr, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3003,7 +3003,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Gurdurr) OVERWORLD( - gObjectEventPic_Gurdurr, + sPicTable_Gurdurr, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3070,7 +3070,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 3, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Conkeldurr) OVERWORLD( - gObjectEventPic_Conkeldurr, + sPicTable_Conkeldurr, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3137,7 +3137,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Tympole) OVERWORLD( - gObjectEventPic_Tympole, + sPicTable_Tympole, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3207,7 +3207,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 3, SHADOW_SIZE_S) FOOTPRINT(Palpitoad) OVERWORLD( - gObjectEventPic_Palpitoad, + sPicTable_Palpitoad, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3284,7 +3284,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(4, 10, SHADOW_SIZE_L) FOOTPRINT(Seismitoad) OVERWORLD( - gObjectEventPic_Seismitoad, + sPicTable_Seismitoad, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3354,7 +3354,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 4, SHADOW_SIZE_M) FOOTPRINT(Throh) OVERWORLD( - gObjectEventPic_Throh, + sPicTable_Throh, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3423,7 +3423,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 6, SHADOW_SIZE_M) FOOTPRINT(Sawk) OVERWORLD( - gObjectEventPic_Sawk, + sPicTable_Sawk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3494,7 +3494,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(Sewaddle) OVERWORLD( - gObjectEventPic_Sewaddle, + sPicTable_Sewaddle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3564,7 +3564,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 1, SHADOW_SIZE_L) FOOTPRINT(Swadloon) OVERWORLD( - gObjectEventPic_Swadloon, + sPicTable_Swadloon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3638,7 +3638,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 14, SHADOW_SIZE_S) FOOTPRINT(Leavanny) OVERWORLD( - gObjectEventPic_Leavanny, + sPicTable_Leavanny, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3715,7 +3715,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, -3, SHADOW_SIZE_M) FOOTPRINT(Venipede) OVERWORLD( - gObjectEventPic_Venipede, + sPicTable_Venipede, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3791,7 +3791,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Whirlipede) OVERWORLD( - gObjectEventPic_Whirlipede, + sPicTable_Whirlipede, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3868,7 +3868,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 12, SHADOW_SIZE_L) FOOTPRINT(Scolipede) OVERWORLD( - gObjectEventPic_Scolipede, + sPicTable_Scolipede, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3949,7 +3949,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, -5, SHADOW_SIZE_M) FOOTPRINT(Cottonee) OVERWORLD( - gObjectEventPic_Cottonee, + sPicTable_Cottonee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4018,7 +4018,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Whimsicott) OVERWORLD( - gObjectEventPic_Whimsicott, + sPicTable_Whimsicott, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4090,7 +4090,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 6, SHADOW_SIZE_S) FOOTPRINT(Petilil) OVERWORLD( - gObjectEventPic_Petilil, + sPicTable_Petilil, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4161,7 +4161,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 13, SHADOW_SIZE_M) FOOTPRINT(Lilligant) OVERWORLD( - gObjectEventPic_Lilligant, + sPicTable_Lilligant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4228,7 +4228,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, 13, SHADOW_SIZE_S) FOOTPRINT(Lilligant) OVERWORLD( - gObjectEventPic_LilligantHisui, + sPicTable_LilligantHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4297,7 +4297,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Basculin) OVERWORLD( - gObjectEventPic_BasculinRedStriped, + sPicTable_BasculinRedStriped, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4363,7 +4363,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Basculin) OVERWORLD( - gObjectEventPic_BasculinBlueStriped, + sPicTable_BasculinBlueStriped, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4430,7 +4430,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Basculin) OVERWORLD( - gObjectEventPic_BasculinWhiteStriped, + sPicTable_BasculinWhiteStriped, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4496,7 +4496,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 16, SHADOW_SIZE_M) FOOTPRINT(Basculegion) OVERWORLD( - gObjectEventPic_BasculegionM, + sPicTable_BasculegionM, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4559,7 +4559,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 16, SHADOW_SIZE_M) FOOTPRINT(Basculegion) OVERWORLD( - gObjectEventPic_BasculegionF, + sPicTable_BasculegionF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4630,7 +4630,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(4, -5, SHADOW_SIZE_M) FOOTPRINT(Sandile) OVERWORLD( - gObjectEventPic_Sandile, + sPicTable_Sandile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4698,7 +4698,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Krokorok) OVERWORLD( - gObjectEventPic_Krokorok, + sPicTable_Krokorok, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4774,7 +4774,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 12, SHADOW_SIZE_L) FOOTPRINT(Krookodile) OVERWORLD( - gObjectEventPic_Krookodile, + sPicTable_Krookodile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4842,7 +4842,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Darumaka) OVERWORLD( - gObjectEventPic_Darumaka, + sPicTable_Darumaka, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4912,7 +4912,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 5, SHADOW_SIZE_L) FOOTPRINT(Darmanitan) OVERWORLD( - gObjectEventPic_DarmanitanStandard, + sPicTable_DarmanitanStandard, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5034,7 +5034,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, -1, SHADOW_SIZE_S) FOOTPRINT(Darumaka) OVERWORLD( - gObjectEventPic_DarumakaGalar, + sPicTable_DarumakaGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5100,7 +5100,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(4, 8, SHADOW_SIZE_L) FOOTPRINT(Darmanitan) OVERWORLD( - gObjectEventPic_DarmanitanGalarStandard, + sPicTable_DarmanitanGalarStandard, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5233,7 +5233,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Maractus) OVERWORLD( - gObjectEventPic_Maractus, + sPicTable_Maractus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5309,7 +5309,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, -2, SHADOW_SIZE_S) FOOTPRINT(Dwebble) OVERWORLD( - gObjectEventPic_Dwebble, + sPicTable_Dwebble, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5381,7 +5381,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 8, SHADOW_SIZE_L) FOOTPRINT(Crustle) OVERWORLD( - gObjectEventPic_Crustle, + sPicTable_Crustle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5450,7 +5450,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-4, 2, SHADOW_SIZE_S) FOOTPRINT(Scraggy) OVERWORLD( - gObjectEventPic_Scraggy, + sPicTable_Scraggy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5520,7 +5520,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 9, SHADOW_SIZE_M) FOOTPRINT(Scrafty) OVERWORLD( - gObjectEventPic_Scrafty, + sPicTable_Scrafty, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5594,7 +5594,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 18, SHADOW_SIZE_S) FOOTPRINT(Sigilyph) OVERWORLD( - gObjectEventPic_Sigilyph, + sPicTable_Sigilyph, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5667,7 +5667,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 6, SHADOW_SIZE_S) FOOTPRINT(Yamask) OVERWORLD( - gObjectEventPic_Yamask, + sPicTable_Yamask, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5737,7 +5737,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(6, 12, SHADOW_SIZE_M) FOOTPRINT(Cofagrigus) OVERWORLD( - gObjectEventPic_Cofagrigus, + sPicTable_Cofagrigus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5801,7 +5801,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Yamask) OVERWORLD( - gObjectEventPic_YamaskGalar, + sPicTable_YamaskGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5867,7 +5867,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(14, 14, SHADOW_SIZE_M) FOOTPRINT(Runerigus) OVERWORLD( - gObjectEventPic_Runerigus, + sPicTable_Runerigus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5937,7 +5937,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, -3, SHADOW_SIZE_M) FOOTPRINT(Tirtouga) OVERWORLD( - gObjectEventPic_Tirtouga, + sPicTable_Tirtouga, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6012,7 +6012,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(4, 8, SHADOW_SIZE_L) FOOTPRINT(Carracosta) OVERWORLD( - gObjectEventPic_Carracosta, + sPicTable_Carracosta, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6080,7 +6080,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, -2, SHADOW_SIZE_S) FOOTPRINT(Archen) OVERWORLD( - gObjectEventPic_Archen, + sPicTable_Archen, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6154,7 +6154,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 18, SHADOW_SIZE_M) FOOTPRINT(Archeops) OVERWORLD( - gObjectEventPic_Archeops, + sPicTable_Archeops, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6223,7 +6223,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, -1, SHADOW_SIZE_S) FOOTPRINT(Trubbish) OVERWORLD( - gObjectEventPic_Trubbish, + sPicTable_Trubbish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6294,7 +6294,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Garbodor) OVERWORLD( - gObjectEventPic_Garbodor, + sPicTable_Garbodor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6427,7 +6427,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Zorua) OVERWORLD( - gObjectEventPic_Zorua, + sPicTable_Zorua, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6498,7 +6498,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 8, SHADOW_SIZE_L) FOOTPRINT(Zoroark) OVERWORLD( - gObjectEventPic_Zoroark, + sPicTable_Zoroark, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6562,7 +6562,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 12, SHADOW_SIZE_S) FOOTPRINT(Zorua) OVERWORLD( - gObjectEventPic_ZoruaHisui, + sPicTable_ZoruaHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6627,7 +6627,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(11, 13, SHADOW_SIZE_L) FOOTPRINT(Zoroark) OVERWORLD( - gObjectEventPic_ZoroarkHisui, + sPicTable_ZoroarkHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6698,7 +6698,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, 3, SHADOW_SIZE_S) FOOTPRINT(Minccino) OVERWORLD( - gObjectEventPic_Minccino, + sPicTable_Minccino, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6769,7 +6769,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 6, SHADOW_SIZE_M) FOOTPRINT(Cinccino) OVERWORLD( - gObjectEventPic_Cinccino, + sPicTable_Cinccino, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6842,7 +6842,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, 2, SHADOW_SIZE_S) FOOTPRINT(Gothita) OVERWORLD( - gObjectEventPic_Gothita, + sPicTable_Gothita, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6916,7 +6916,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Gothorita) OVERWORLD( - gObjectEventPic_Gothorita, + sPicTable_Gothorita, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6988,7 +6988,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Gothitelle) OVERWORLD( - gObjectEventPic_Gothitelle, + sPicTable_Gothitelle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7059,7 +7059,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 8, SHADOW_SIZE_S) FOOTPRINT(Solosis) OVERWORLD( - gObjectEventPic_Solosis, + sPicTable_Solosis, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7129,7 +7129,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 6, SHADOW_SIZE_M) FOOTPRINT(Duosion) OVERWORLD( - gObjectEventPic_Duosion, + sPicTable_Duosion, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7199,7 +7199,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 8, SHADOW_SIZE_M) FOOTPRINT(Reuniclus) OVERWORLD( - gObjectEventPic_Reuniclus, + sPicTable_Reuniclus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7271,7 +7271,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 2, SHADOW_SIZE_S) FOOTPRINT(Ducklett) OVERWORLD( - gObjectEventPic_Ducklett, + sPicTable_Ducklett, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7338,7 +7338,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Swanna) OVERWORLD( - gObjectEventPic_Swanna, + sPicTable_Swanna, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7413,7 +7413,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Vanillite) OVERWORLD( - gObjectEventPic_Vanillite, + sPicTable_Vanillite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7486,7 +7486,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, 9, SHADOW_SIZE_S) FOOTPRINT(Vanillish) OVERWORLD( - gObjectEventPic_Vanillish, + sPicTable_Vanillish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7558,7 +7558,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 10, SHADOW_SIZE_M) FOOTPRINT(Vanilluxe) OVERWORLD( - gObjectEventPic_Vanilluxe, + sPicTable_Vanilluxe, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7622,7 +7622,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Deerling) OVERWORLD( - gObjectEventPic_DeerlingSpring, + sPicTable_DeerlingSpring, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7687,7 +7687,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Deerling) OVERWORLD( - gObjectEventPic_DeerlingSummer, + sPicTable_DeerlingSummer, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7752,7 +7752,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Deerling) OVERWORLD( - gObjectEventPic_DeerlingAutumn, + sPicTable_DeerlingAutumn, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7817,7 +7817,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Deerling) OVERWORLD( - gObjectEventPic_DeerlingWinter, + sPicTable_DeerlingWinter, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7882,7 +7882,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(7, 13, SHADOW_SIZE_M) FOOTPRINT(Sawsbuck) OVERWORLD( - gObjectEventPic_SawsbuckSpring, + sPicTable_SawsbuckSpring, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7945,7 +7945,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(7, 13, SHADOW_SIZE_M) FOOTPRINT(Sawsbuck) OVERWORLD( - gObjectEventPic_SawsbuckSummer, + sPicTable_SawsbuckSummer, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8008,7 +8008,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(7, 13, SHADOW_SIZE_M) FOOTPRINT(Sawsbuck) OVERWORLD( - gObjectEventPic_SawsbuckAutumn, + sPicTable_SawsbuckAutumn, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8071,7 +8071,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(7, 13, SHADOW_SIZE_M) FOOTPRINT(Sawsbuck) OVERWORLD( - gObjectEventPic_SawsbuckWinter, + sPicTable_SawsbuckWinter, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8143,7 +8143,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Emolga) OVERWORLD( - gObjectEventPic_Emolga, + sPicTable_Emolga, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8211,7 +8211,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Karrablast) OVERWORLD( - gObjectEventPic_Karrablast, + sPicTable_Karrablast, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8279,7 +8279,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 11, SHADOW_SIZE_M) FOOTPRINT(Escavalier) OVERWORLD( - gObjectEventPic_Escavalier, + sPicTable_Escavalier, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8351,7 +8351,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Foongus) OVERWORLD( - gObjectEventPic_Foongus, + sPicTable_Foongus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8425,7 +8425,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 5, SHADOW_SIZE_M) FOOTPRINT(Amoonguss) OVERWORLD( - gObjectEventPic_Amoonguss, + sPicTable_Amoonguss, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8504,7 +8504,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Frillish) OVERWORLD( - gObjectEventPic_Frillish, + sPicTable_Frillish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8513,7 +8513,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = gShinyOverworldPalette_Frillish ) OVERWORLD_FEMALE( - gObjectEventPic_FrillishF, + sPicTable_FrillishF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8593,7 +8593,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 11, SHADOW_SIZE_M) FOOTPRINT(Jellicent) OVERWORLD( - gObjectEventPic_Jellicent, + sPicTable_Jellicent, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8602,7 +8602,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = gShinyOverworldPalette_Jellicent ) OVERWORLD_FEMALE( - gObjectEventPic_JellicentF, + sPicTable_JellicentF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8670,7 +8670,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Alomomola) OVERWORLD( - gObjectEventPic_Alomomola, + sPicTable_Alomomola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8741,7 +8741,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, -5, SHADOW_SIZE_S) FOOTPRINT(Joltik) OVERWORLD( - gObjectEventPic_Joltik, + sPicTable_Joltik, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8814,7 +8814,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, -2, SHADOW_SIZE_L) FOOTPRINT(Galvantula) OVERWORLD( - gObjectEventPic_Galvantula, + sPicTable_Galvantula, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8885,7 +8885,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Ferroseed) OVERWORLD( - gObjectEventPic_Ferroseed, + sPicTable_Ferroseed, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8961,7 +8961,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 17, SHADOW_SIZE_M) FOOTPRINT(Ferrothorn) OVERWORLD( - gObjectEventPic_Ferrothorn, + sPicTable_Ferrothorn, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9032,7 +9032,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 11, SHADOW_SIZE_S) FOOTPRINT(Klink) OVERWORLD( - gObjectEventPic_Klink, + sPicTable_Klink, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9102,7 +9102,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 12, SHADOW_SIZE_M) FOOTPRINT(Klang) OVERWORLD( - gObjectEventPic_Klang, + sPicTable_Klang, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9172,7 +9172,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Klinklang) OVERWORLD( - gObjectEventPic_Klinklang, + sPicTable_Klinklang, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9254,7 +9254,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-3, 5, SHADOW_SIZE_S) FOOTPRINT(Tynamo) OVERWORLD( - gObjectEventPic_Tynamo, + sPicTable_Tynamo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9325,7 +9325,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Eelektrik) OVERWORLD( - gObjectEventPic_Eelektrik, + sPicTable_Eelektrik, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9396,7 +9396,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 13, SHADOW_SIZE_M) FOOTPRINT(Eelektross) OVERWORLD( - gObjectEventPic_Eelektross, + sPicTable_Eelektross, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9469,7 +9469,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Elgyem) OVERWORLD( - gObjectEventPic_Elgyem, + sPicTable_Elgyem, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9536,7 +9536,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 10, SHADOW_SIZE_M) FOOTPRINT(Beheeyem) OVERWORLD( - gObjectEventPic_Beheeyem, + sPicTable_Beheeyem, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9610,7 +9610,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, -1, SHADOW_SIZE_S) FOOTPRINT(Litwick) OVERWORLD( - gObjectEventPic_Litwick, + sPicTable_Litwick, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9684,7 +9684,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Lampent) OVERWORLD( - gObjectEventPic_Lampent, + sPicTable_Lampent, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9756,7 +9756,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 13, SHADOW_SIZE_S) FOOTPRINT(Chandelure) OVERWORLD( - gObjectEventPic_Chandelure, + sPicTable_Chandelure, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9823,7 +9823,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 1, SHADOW_SIZE_S) FOOTPRINT(Axew) OVERWORLD( - gObjectEventPic_Axew, + sPicTable_Axew, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9890,7 +9890,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 8, SHADOW_SIZE_L) FOOTPRINT(Fraxure) OVERWORLD( - gObjectEventPic_Fraxure, + sPicTable_Fraxure, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -9958,7 +9958,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 9, SHADOW_SIZE_L) FOOTPRINT(Haxorus) OVERWORLD( - gObjectEventPic_Haxorus, + sPicTable_Haxorus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10030,7 +10030,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 0, SHADOW_SIZE_S) FOOTPRINT(Cubchoo) OVERWORLD( - gObjectEventPic_Cubchoo, + sPicTable_Cubchoo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10103,7 +10103,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 13, SHADOW_SIZE_L) FOOTPRINT(Beartic) OVERWORLD( - gObjectEventPic_Beartic, + sPicTable_Beartic, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10175,7 +10175,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Cryogonal) OVERWORLD( - gObjectEventPic_Cryogonal, + sPicTable_Cryogonal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10245,7 +10245,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, -1, SHADOW_SIZE_S) FOOTPRINT(Shelmet) OVERWORLD( - gObjectEventPic_Shelmet, + sPicTable_Shelmet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10312,7 +10312,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-14, 8, SHADOW_SIZE_S) FOOTPRINT(Accelgor) OVERWORLD( - gObjectEventPic_Accelgor, + sPicTable_Accelgor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10380,7 +10380,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Stunfisk) OVERWORLD( - gObjectEventPic_Stunfisk, + sPicTable_Stunfisk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10445,7 +10445,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Stunfisk) OVERWORLD( - gObjectEventPic_StunfiskGalar, + sPicTable_StunfiskGalar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10516,7 +10516,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Mienfoo) OVERWORLD( - gObjectEventPic_Mienfoo, + sPicTable_Mienfoo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10588,7 +10588,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Mienshao) OVERWORLD( - gObjectEventPic_Mienshao, + sPicTable_Mienshao, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10661,7 +10661,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 9, SHADOW_SIZE_M) FOOTPRINT(Druddigon) OVERWORLD( - gObjectEventPic_Druddigon, + sPicTable_Druddigon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10732,7 +10732,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Golett) OVERWORLD( - gObjectEventPic_Golett, + sPicTable_Golett, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10800,7 +10800,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 14, SHADOW_SIZE_L) FOOTPRINT(Golurk) OVERWORLD( - gObjectEventPic_Golurk, + sPicTable_Golurk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10873,7 +10873,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(4, 4, SHADOW_SIZE_S) FOOTPRINT(Pawniard) OVERWORLD( - gObjectEventPic_Pawniard, + sPicTable_Pawniard, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -10941,7 +10941,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Bisharp) OVERWORLD( - gObjectEventPic_Bisharp, + sPicTable_Bisharp, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11005,7 +11005,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Kingambit) OVERWORLD( - gObjectEventPic_Kingambit, + sPicTable_Kingambit, SIZE_64x64, SHADOW_SIZE_L, TRACKS_NONE, @@ -11074,7 +11074,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(8, 7, SHADOW_SIZE_M) FOOTPRINT(Bouffalant) OVERWORLD( - gObjectEventPic_Bouffalant, + sPicTable_Bouffalant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11145,7 +11145,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Rufflet) OVERWORLD( - gObjectEventPic_Rufflet, + sPicTable_Rufflet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11214,7 +11214,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 16, SHADOW_SIZE_M) FOOTPRINT(Braviary) OVERWORLD( - gObjectEventPic_Braviary, + sPicTable_Braviary, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11278,7 +11278,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Braviary) OVERWORLD( - gObjectEventPic_BraviaryHisui, + sPicTable_BraviaryHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11349,7 +11349,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 9, SHADOW_SIZE_M) FOOTPRINT(Vullaby) OVERWORLD( - gObjectEventPic_Vullaby, + sPicTable_Vullaby, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11417,7 +11417,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Mandibuzz) OVERWORLD( - gObjectEventPic_Mandibuzz, + sPicTable_Mandibuzz, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11484,7 +11484,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Heatmor) OVERWORLD( - gObjectEventPic_Heatmor, + sPicTable_Heatmor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11567,7 +11567,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, -3, SHADOW_SIZE_L) FOOTPRINT(Durant) OVERWORLD( - gObjectEventPic_Durant, + sPicTable_Durant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11636,7 +11636,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 3, SHADOW_SIZE_S) FOOTPRINT(Deino) OVERWORLD( - gObjectEventPic_Deino, + sPicTable_Deino, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11703,7 +11703,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 6, SHADOW_SIZE_L) FOOTPRINT(Zweilous) OVERWORLD( - gObjectEventPic_Zweilous, + sPicTable_Zweilous, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11776,7 +11776,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 16, SHADOW_SIZE_M) FOOTPRINT(Hydreigon) OVERWORLD( - gObjectEventPic_Hydreigon, + sPicTable_Hydreigon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11852,7 +11852,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Larvesta) OVERWORLD( - gObjectEventPic_Larvesta, + sPicTable_Larvesta, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11924,7 +11924,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-4, 14, SHADOW_SIZE_M) FOOTPRINT(Volcarona) OVERWORLD( - gObjectEventPic_Volcarona, + sPicTable_Volcarona, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -11992,7 +11992,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 14, SHADOW_SIZE_M) FOOTPRINT(Cobalion) OVERWORLD( - gObjectEventPic_Cobalion, + sPicTable_Cobalion, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12066,7 +12066,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(3, 6, SHADOW_SIZE_L) FOOTPRINT(Terrakion) OVERWORLD( - gObjectEventPic_Terrakion, + sPicTable_Terrakion, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12135,7 +12135,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Virizion) OVERWORLD( - gObjectEventPic_Virizion, + sPicTable_Virizion, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12225,7 +12225,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 17, SHADOW_SIZE_M) FOOTPRINT(Tornadus) OVERWORLD( - gObjectEventPic_TornadusIncarnate, + sPicTable_TornadusIncarnate, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12297,7 +12297,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-5, 12, SHADOW_SIZE_L) FOOTPRINT(Tornadus) OVERWORLD( - gObjectEventPic_TornadusTherian, + sPicTable_TornadusTherian, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12389,7 +12389,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 17, SHADOW_SIZE_M) FOOTPRINT(Thundurus) OVERWORLD( - gObjectEventPic_ThundurusIncarnate, + sPicTable_ThundurusIncarnate, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12473,7 +12473,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(5, 16, SHADOW_SIZE_M) FOOTPRINT(Thundurus) OVERWORLD( - gObjectEventPic_ThundurusTherian, + sPicTable_ThundurusTherian, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12544,7 +12544,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 12, SHADOW_SIZE_L) FOOTPRINT(Reshiram) OVERWORLD( - gObjectEventPic_Reshiram, + sPicTable_Reshiram, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12614,7 +12614,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 14, SHADOW_SIZE_L) FOOTPRINT(Zekrom) OVERWORLD( - gObjectEventPic_Zekrom, + sPicTable_Zekrom, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12705,7 +12705,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(2, 17, SHADOW_SIZE_M) FOOTPRINT(Landorus) OVERWORLD( - gObjectEventPic_LandorusIncarnate, + sPicTable_LandorusIncarnate, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12777,7 +12777,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Landorus) OVERWORLD( - gObjectEventPic_LandorusTherian, + sPicTable_LandorusTherian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12853,7 +12853,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 8, SHADOW_SIZE_L) FOOTPRINT(Kyurem) OVERWORLD( - gObjectEventPic_Kyurem, + sPicTable_Kyurem, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -12930,7 +12930,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-8, 14, SHADOW_SIZE_L) FOOTPRINT(Kyurem) OVERWORLD( - gObjectEventPic_KyuremWhite, + sPicTable_KyuremWhite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13007,7 +13007,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(Kyurem) OVERWORLD( - gObjectEventPic_KyuremBlack, + sPicTable_KyuremBlack, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13080,7 +13080,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Keldeo) OVERWORLD( - gObjectEventPic_KeldeoOrdinary, + sPicTable_KeldeoOrdinary, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13226,7 +13226,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(-1, 10, SHADOW_SIZE_S) FOOTPRINT(Meloetta) OVERWORLD( - gObjectEventPic_MeloettaAria, + sPicTable_MeloettaAria, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13305,7 +13305,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(0, 16, SHADOW_SIZE_S) FOOTPRINT(Meloetta) OVERWORLD( - gObjectEventPic_MeloettaPirouette, + sPicTable_MeloettaPirouette, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -13372,7 +13372,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = SHADOW(5, 13, SHADOW_SIZE_L) \ FOOTPRINT(Genesect) \ OVERWORLD( \ - gObjectEventPic_Genesect, \ + sPicTable_Genesect, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ diff --git a/src/data/pokemon/species_info/gen_6_families.h b/src/data/pokemon/species_info/gen_6_families.h index 8568bd901d..b42696983e 100644 --- a/src/data/pokemon/species_info/gen_6_families.h +++ b/src/data/pokemon/species_info/gen_6_families.h @@ -60,7 +60,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Chespin) OVERWORLD( - gObjectEventPic_Chespin, + sPicTable_Chespin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -130,7 +130,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(2, 4, SHADOW_SIZE_M) FOOTPRINT(Quilladin) OVERWORLD( - gObjectEventPic_Quilladin, + sPicTable_Quilladin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -197,7 +197,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(4, 10, SHADOW_SIZE_L) FOOTPRINT(Chesnaught) OVERWORLD( - gObjectEventPic_Chesnaught, + sPicTable_Chesnaught, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -269,7 +269,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Fennekin) OVERWORLD( - gObjectEventPic_Fennekin, + sPicTable_Fennekin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -337,7 +337,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 10, SHADOW_SIZE_M) FOOTPRINT(Braixen) OVERWORLD( - gObjectEventPic_Braixen, + sPicTable_Braixen, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -408,7 +408,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(7, 14, SHADOW_SIZE_M) FOOTPRINT(Delphox) OVERWORLD( - gObjectEventPic_Delphox, + sPicTable_Delphox, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -480,7 +480,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Froakie) OVERWORLD( - gObjectEventPic_Froakie, + sPicTable_Froakie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -547,7 +547,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Frogadier) OVERWORLD( - gObjectEventPic_Frogadier, + sPicTable_Frogadier, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -607,7 +607,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(4, 6, SHADOW_SIZE_L) FOOTPRINT(Greninja) OVERWORLD( - gObjectEventPic_Greninja, + sPicTable_Greninja, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -667,7 +667,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(4, 6, SHADOW_SIZE_L) FOOTPRINT(Greninja) OVERWORLD( - gObjectEventPic_Greninja, + sPicTable_Greninja, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -794,7 +794,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(3, 9, SHADOW_SIZE_S) FOOTPRINT(Bunnelby) OVERWORLD( - gObjectEventPic_Bunnelby, + sPicTable_Bunnelby, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -861,7 +861,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(8, 10, SHADOW_SIZE_M) FOOTPRINT(Diggersby) OVERWORLD( - gObjectEventPic_Diggersby, + sPicTable_Diggersby, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -932,7 +932,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 0, SHADOW_SIZE_S) FOOTPRINT(Fletchling) OVERWORLD( - gObjectEventPic_Fletchling, + sPicTable_Fletchling, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1006,7 +1006,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Fletchinder) OVERWORLD( - gObjectEventPic_Fletchinder, + sPicTable_Fletchinder, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1073,7 +1073,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 17, SHADOW_SIZE_M) FOOTPRINT(Talonflame) OVERWORLD( - gObjectEventPic_Talonflame, + sPicTable_Talonflame, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1133,7 +1133,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, 1, SHADOW_SIZE_S) \ FOOTPRINT(Scatterbug) \ OVERWORLD( \ - gObjectEventPic_Scatterbug, \ + sPicTable_Scatterbug, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ @@ -1216,7 +1216,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 2, SHADOW_SIZE_M) \ FOOTPRINT(Spewpa) \ OVERWORLD( \ - gObjectEventPic_Spewpa, \ + sPicTable_Spewpa, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ @@ -1299,7 +1299,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 20, SHADOW_SIZE_M) \ FOOTPRINT(Vivillon) \ OVERWORLD( \ - gObjectEventPic_Vivillon ##form, \ + sPicTable_Vivillon ##form, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ @@ -1548,7 +1548,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(2, 3, SHADOW_SIZE_S) FOOTPRINT(Litleo) OVERWORLD( - gObjectEventPic_Litleo, + sPicTable_Litleo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1623,7 +1623,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Pyroar) OVERWORLD( - gObjectEventPic_Pyroar, + sPicTable_Pyroar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1632,7 +1632,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = gShinyOverworldPalette_Pyroar ) OVERWORLD_FEMALE( - gObjectEventPic_PyroarF, + sPicTable_PyroarF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1689,11 +1689,11 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 11, SHADOW_SIZE_S) \ FOOTPRINT(Flabebe) \ OVERWORLD( \ - gObjectEventPic_Flabebe##Form, \ + sPicTable_Flabebe##Form, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ - sAnimTable_Following, \ + sAnimTable_Following, \ gOverworldPalette_Flabebe##Form, \ gShinyOverworldPalette_Flabebe##Form \ ) \ @@ -1778,7 +1778,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-3, 12, SHADOW_SIZE_S) \ FOOTPRINT(Floette) \ OVERWORLD( \ - gObjectEventPic_Floette ##form, \ + sPicTable_Floette ##form, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ @@ -1927,7 +1927,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-5, 15, SHADOW_SIZE_M) \ FOOTPRINT(Florges) \ OVERWORLD( \ - gObjectEventPic_Florges ##Form, \ + sPicTable_Florges ##Form, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ @@ -2039,7 +2039,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(2, 7, SHADOW_SIZE_M) FOOTPRINT(Skiddo) OVERWORLD( - gObjectEventPic_Skiddo, + sPicTable_Skiddo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2107,7 +2107,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(2, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gogoat) OVERWORLD( - gObjectEventPic_Gogoat, + sPicTable_Gogoat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2179,7 +2179,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Pancham) OVERWORLD( - gObjectEventPic_Pancham, + sPicTable_Pancham, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2251,7 +2251,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Pangoro) OVERWORLD( - gObjectEventPic_Pangoro, + sPicTable_Pangoro, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2312,7 +2312,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(3, 10, SHADOW_SIZE_XL_BATTLE_ONLY) \ FOOTPRINT(Furfrou) \ OVERWORLD( \ - gObjectEventPic_Furfrou##_form, \ + sPicTable_Furfrou##_form, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ @@ -2398,7 +2398,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, 4, SHADOW_SIZE_S) FOOTPRINT(Espurr) OVERWORLD( - gObjectEventPic_Espurr, + sPicTable_Espurr, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2463,7 +2463,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 11, SHADOW_SIZE_S) FOOTPRINT(Meowstic) OVERWORLD( - gObjectEventPic_MeowsticM, + sPicTable_MeowsticM, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2526,7 +2526,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 12, SHADOW_SIZE_S) FOOTPRINT(Meowstic) OVERWORLD( - gObjectEventPic_MeowsticF, + sPicTable_MeowsticF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2596,7 +2596,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-10, 11, SHADOW_SIZE_S) FOOTPRINT(Honedge) OVERWORLD( - gObjectEventPic_Honedge, + sPicTable_Honedge, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2667,7 +2667,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(8, 11, SHADOW_SIZE_M) FOOTPRINT(Doublade) OVERWORLD( - gObjectEventPic_Doublade, + sPicTable_Doublade, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2740,7 +2740,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Aegislash) OVERWORLD( - gObjectEventPic_AegislashShield, + sPicTable_AegislashShield, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2882,7 +2882,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Spritzee) OVERWORLD( - gObjectEventPic_Spritzee, + sPicTable_Spritzee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2950,7 +2950,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 10, SHADOW_SIZE_M) FOOTPRINT(Aromatisse) OVERWORLD( - gObjectEventPic_Aromatisse, + sPicTable_Aromatisse, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3022,7 +3022,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, -1, SHADOW_SIZE_S) FOOTPRINT(Swirlix) OVERWORLD( - gObjectEventPic_Swirlix, + sPicTable_Swirlix, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3093,7 +3093,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, 6, SHADOW_SIZE_M) FOOTPRINT(Slurpuff) OVERWORLD( - gObjectEventPic_Slurpuff, + sPicTable_Slurpuff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3163,7 +3163,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, 11, SHADOW_SIZE_S) FOOTPRINT(Inkay) OVERWORLD( - gObjectEventPic_Inkay, + sPicTable_Inkay, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3232,7 +3232,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(5, 14, SHADOW_SIZE_M) FOOTPRINT(Malamar) OVERWORLD( - gObjectEventPic_Malamar, + sPicTable_Malamar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3303,7 +3303,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Binacle) OVERWORLD( - gObjectEventPic_Binacle, + sPicTable_Binacle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3371,7 +3371,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(Barbaracle) OVERWORLD( - gObjectEventPic_Barbaracle, + sPicTable_Barbaracle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3444,7 +3444,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(3, 5, SHADOW_SIZE_S) FOOTPRINT(Skrelp) OVERWORLD( - gObjectEventPic_Skrelp, + sPicTable_Skrelp, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3513,7 +3513,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-3, 14, SHADOW_SIZE_M) FOOTPRINT(Dragalge) OVERWORLD( - gObjectEventPic_Dragalge, + sPicTable_Dragalge, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3584,7 +3584,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(4, -6, SHADOW_SIZE_M) FOOTPRINT(Clauncher) OVERWORLD( - gObjectEventPic_Clauncher, + sPicTable_Clauncher, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3658,7 +3658,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(6, 1, SHADOW_SIZE_L) FOOTPRINT(Clawitzer) OVERWORLD( - gObjectEventPic_Clawitzer, + sPicTable_Clawitzer, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3726,7 +3726,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Helioptile) OVERWORLD( - gObjectEventPic_Helioptile, + sPicTable_Helioptile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3795,7 +3795,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 10, SHADOW_SIZE_M) FOOTPRINT(Heliolisk) OVERWORLD( - gObjectEventPic_Heliolisk, + sPicTable_Heliolisk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3864,7 +3864,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(3, 2, SHADOW_SIZE_M) FOOTPRINT(Tyrunt) OVERWORLD( - gObjectEventPic_Tyrunt, + sPicTable_Tyrunt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3931,7 +3931,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 14, SHADOW_SIZE_L) FOOTPRINT(Tyrantrum) OVERWORLD( - gObjectEventPic_Tyrantrum, + sPicTable_Tyrantrum, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4006,7 +4006,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 8, SHADOW_SIZE_S) FOOTPRINT(Amaura) OVERWORLD( - gObjectEventPic_Amaura, + sPicTable_Amaura, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4073,7 +4073,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-6, 14, SHADOW_SIZE_L) FOOTPRINT(Aurorus) OVERWORLD( - gObjectEventPic_Aurorus, + sPicTable_Aurorus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4146,7 +4146,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(3, 6, SHADOW_SIZE_S) FOOTPRINT(Hawlucha) OVERWORLD( - gObjectEventPic_Hawlucha, + sPicTable_Hawlucha, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4215,7 +4215,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Dedenne) OVERWORLD( - gObjectEventPic_Dedenne, + sPicTable_Dedenne, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4292,7 +4292,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Carbink) OVERWORLD( - gObjectEventPic_Carbink, + sPicTable_Carbink, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4361,7 +4361,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Goomy) OVERWORLD( - gObjectEventPic_Goomy, + sPicTable_Goomy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4431,7 +4431,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, 6, SHADOW_SIZE_S) FOOTPRINT(Sliggoo) OVERWORLD( - gObjectEventPic_Sliggoo, + sPicTable_Sliggoo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4502,7 +4502,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Goodra) OVERWORLD( - gObjectEventPic_Goodra, + sPicTable_Goodra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4567,7 +4567,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(2, 6, SHADOW_SIZE_M) FOOTPRINT(Sliggoo) OVERWORLD( - gObjectEventPic_SliggooHisui, + sPicTable_SliggooHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4633,7 +4633,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Goodra) OVERWORLD( - gObjectEventPic_GoodraHisui, + sPicTable_GoodraHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4712,7 +4712,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Klefki) OVERWORLD( - gObjectEventPic_Klefki, + sPicTable_Klefki, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4782,7 +4782,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Phantump) OVERWORLD( - gObjectEventPic_Phantump, + sPicTable_Phantump, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4854,7 +4854,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Trevenant) OVERWORLD( - gObjectEventPic_Trevenant, + sPicTable_Trevenant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4918,7 +4918,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Pumpkaboo) OVERWORLD( - gObjectEventPic_PumpkabooAverage, + sPicTable_PumpkabooAverage, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4983,7 +4983,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Pumpkaboo) OVERWORLD( - gObjectEventPic_PumpkabooSmall, + sPicTable_PumpkabooSmall, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5048,7 +5048,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Pumpkaboo) OVERWORLD( - gObjectEventPic_PumpkabooLarge, + sPicTable_PumpkabooLarge, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5115,7 +5115,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, 4, SHADOW_SIZE_S) FOOTPRINT(Pumpkaboo) OVERWORLD( - gObjectEventPic_PumpkabooSuper, + sPicTable_PumpkabooSuper, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5181,7 +5181,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(3, 10, SHADOW_SIZE_M) FOOTPRINT(Gourgeist) OVERWORLD( - gObjectEventPic_GourgeistAverage, + sPicTable_GourgeistAverage, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5244,7 +5244,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(4, 9, SHADOW_SIZE_S) FOOTPRINT(Gourgeist) OVERWORLD( - gObjectEventPic_GourgeistSmall, + sPicTable_GourgeistSmall, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5307,7 +5307,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(4, 12, SHADOW_SIZE_M) FOOTPRINT(Gourgeist) OVERWORLD( - gObjectEventPic_GourgeistLarge, + sPicTable_GourgeistLarge, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5372,7 +5372,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(4, 14, SHADOW_SIZE_M) FOOTPRINT(Gourgeist) OVERWORLD( - gObjectEventPic_GourgeistSuper, + sPicTable_GourgeistSuper, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5449,7 +5449,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, -1, SHADOW_SIZE_S) FOOTPRINT(Bergmite) OVERWORLD( - gObjectEventPic_Bergmite, + sPicTable_Bergmite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5519,7 +5519,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, -1, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Avalugg) OVERWORLD( - gObjectEventPic_Avalugg, + sPicTable_Avalugg, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5582,7 +5582,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(2, -2, SHADOW_SIZE_L) FOOTPRINT(Avalugg) OVERWORLD( - gObjectEventPic_AvaluggHisui, + sPicTable_AvaluggHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5663,7 +5663,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Noibat) OVERWORLD( - gObjectEventPic_Noibat, + sPicTable_Noibat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5734,7 +5734,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(5, 10, SHADOW_SIZE_L) FOOTPRINT(Noivern) OVERWORLD( - gObjectEventPic_Noivern, + sPicTable_Noivern, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5794,7 +5794,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(3, 14, SHADOW_SIZE_M) FOOTPRINT(Xerneas) OVERWORLD( - gObjectEventPic_XerneasNeutral, + sPicTable_XerneasNeutral, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5857,7 +5857,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(3, 14, SHADOW_SIZE_M) FOOTPRINT(Xerneas) OVERWORLD( - gObjectEventPic_XerneasActive, + sPicTable_XerneasActive, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5932,7 +5932,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 16, SHADOW_SIZE_L) FOOTPRINT(Yveltal) OVERWORLD( - gObjectEventPic_Yveltal, + sPicTable_Yveltal, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5996,7 +5996,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Zygarde) OVERWORLD( - gObjectEventPic_Zygarde50, + sPicTable_Zygarde50, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6059,7 +6059,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Zygarde) OVERWORLD( - gObjectEventPic_Zygarde50, + sPicTable_Zygarde50, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6122,7 +6122,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Zygarde) OVERWORLD( - gObjectEventPic_Zygarde10, + sPicTable_Zygarde10, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6186,7 +6186,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Zygarde) OVERWORLD( - gObjectEventPic_Zygarde10, + sPicTable_Zygarde10, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6258,7 +6258,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(-3, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Zygarde) OVERWORLD( - gObjectEventPic_ZygardeComplete, + sPicTable_ZygardeComplete, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6332,7 +6332,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Diancie) OVERWORLD( - gObjectEventPic_Diancie, + sPicTable_Diancie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6402,7 +6402,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = FOOTPRINT(Diancie) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_DiancieMega, + sPicTable_DiancieMega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6485,7 +6485,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Hoopa) OVERWORLD( - gObjectEventPic_HoopaConfined, + sPicTable_HoopaConfined, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6556,7 +6556,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(1, 14, SHADOW_SIZE_L) FOOTPRINT(Hoopa) OVERWORLD( - gObjectEventPic_HoopaUnbound, + sPicTable_HoopaUnbound, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6628,7 +6628,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = SHADOW(0, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Volcanion) OVERWORLD( - gObjectEventPic_Volcanion, + sPicTable_Volcanion, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, diff --git a/src/data/pokemon/species_info/gen_7_families.h b/src/data/pokemon/species_info/gen_7_families.h index d2c9dfada6..fb97530b74 100644 --- a/src/data/pokemon/species_info/gen_7_families.h +++ b/src/data/pokemon/species_info/gen_7_families.h @@ -57,7 +57,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Rowlet) OVERWORLD( - gObjectEventPic_Rowlet, + sPicTable_Rowlet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -125,7 +125,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Dartrix) OVERWORLD( - gObjectEventPic_Dartrix, + sPicTable_Dartrix, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -192,7 +192,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Decidueye) OVERWORLD( - gObjectEventPic_Decidueye, + sPicTable_Decidueye, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -256,7 +256,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 14, SHADOW_SIZE_L) FOOTPRINT(Decidueye) OVERWORLD( - gObjectEventPic_DecidueyeHisui, + sPicTable_DecidueyeHisui, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -323,7 +323,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Litten) OVERWORLD( - gObjectEventPic_Litten, + sPicTable_Litten, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -387,7 +387,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(5, 7, SHADOW_SIZE_M) FOOTPRINT(Torracat) OVERWORLD( - gObjectEventPic_Torracat, + sPicTable_Torracat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -450,7 +450,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(Incineroar) OVERWORLD( - gObjectEventPic_Incineroar, + sPicTable_Incineroar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -514,7 +514,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Popplio) OVERWORLD( - gObjectEventPic_Popplio, + sPicTable_Popplio, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -578,7 +578,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-5, 6, SHADOW_SIZE_M) FOOTPRINT(Brionne) OVERWORLD( - gObjectEventPic_Brionne, + sPicTable_Brionne, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -641,7 +641,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-6, 11, SHADOW_SIZE_L) FOOTPRINT(Primarina) OVERWORLD( - gObjectEventPic_Primarina, + sPicTable_Primarina, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -710,7 +710,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Pikipek) OVERWORLD( - gObjectEventPic_Pikipek, + sPicTable_Pikipek, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -780,7 +780,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(1, 8, SHADOW_SIZE_S) FOOTPRINT(Trumbeak) OVERWORLD( - gObjectEventPic_Trumbeak, + sPicTable_Trumbeak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -847,7 +847,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(9, 12, SHADOW_SIZE_M) FOOTPRINT(Toucannon) OVERWORLD( - gObjectEventPic_Toucannon, + sPicTable_Toucannon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -912,7 +912,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-9, 1, SHADOW_SIZE_M) FOOTPRINT(Yungoos) OVERWORLD( - gObjectEventPic_Yungoos, + sPicTable_Yungoos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -973,7 +973,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Gumshoos) OVERWORLD( - gObjectEventPic_Gumshoos, + sPicTable_Gumshoos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1033,7 +1033,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Gumshoos) OVERWORLD( - gObjectEventPic_Gumshoos, + sPicTable_Gumshoos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1100,7 +1100,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Grubbin) OVERWORLD( - gObjectEventPic_Grubbin, + sPicTable_Grubbin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1169,7 +1169,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = NO_SHADOW FOOTPRINT(Charjabug) OVERWORLD( - gObjectEventPic_Charjabug, + sPicTable_Charjabug, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1231,7 +1231,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 16, SHADOW_SIZE_S) FOOTPRINT(Vikavolt) OVERWORLD( - gObjectEventPic_Vikavolt, + sPicTable_Vikavolt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1299,7 +1299,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 16, SHADOW_SIZE_S) FOOTPRINT(Vikavolt) OVERWORLD( - gObjectEventPic_Vikavolt, + sPicTable_Vikavolt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1367,7 +1367,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(7, 6, SHADOW_SIZE_M) FOOTPRINT(Crabrawler) OVERWORLD( - gObjectEventPic_Crabrawler, + sPicTable_Crabrawler, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1433,7 +1433,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(1, 14, SHADOW_SIZE_L) FOOTPRINT(Crabominable) OVERWORLD( - gObjectEventPic_Crabominable, + sPicTable_Crabominable, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1498,7 +1498,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-4, 9, SHADOW_SIZE_S) FOOTPRINT(Oricorio) OVERWORLD( - gObjectEventPic_OricorioBaile, + sPicTable_OricorioBaile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1564,7 +1564,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(5, 8, SHADOW_SIZE_S) FOOTPRINT(Oricorio) OVERWORLD( - gObjectEventPic_OricorioPomPom, + sPicTable_OricorioPomPom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1630,7 +1630,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-3, 11, SHADOW_SIZE_S) FOOTPRINT(Oricorio) OVERWORLD( - gObjectEventPic_OricorioPau, + sPicTable_OricorioPau, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1696,7 +1696,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(7, 10, SHADOW_SIZE_S) FOOTPRINT(Oricorio) OVERWORLD( - gObjectEventPic_OricorioSensu, + sPicTable_OricorioSensu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1798,7 +1798,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Cutiefly) OVERWORLD( - gObjectEventPic_Cutiefly, + sPicTable_Cutiefly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1861,7 +1861,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Ribombee) OVERWORLD( - gObjectEventPic_Ribombee, + sPicTable_Ribombee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1922,7 +1922,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Ribombee) OVERWORLD( - gObjectEventPic_Ribombee, + sPicTable_Ribombee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1985,7 +1985,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Rockruff) OVERWORLD( - gObjectEventPic_Rockruff, + sPicTable_Rockruff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2047,7 +2047,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Rockruff) OVERWORLD( - gObjectEventPic_Rockruff, + sPicTable_Rockruff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2115,7 +2115,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Lycanroc) OVERWORLD( - gObjectEventPic_LycanrocMidday, + sPicTable_LycanrocMidday, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2181,7 +2181,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(5, 13, SHADOW_SIZE_L) FOOTPRINT(Lycanroc) OVERWORLD( - gObjectEventPic_LycanrocMidnight, + sPicTable_LycanrocMidnight, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2247,7 +2247,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Lycanroc) OVERWORLD( - gObjectEventPic_LycanrocDusk, + sPicTable_LycanrocDusk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2313,7 +2313,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 3, SHADOW_SIZE_S) FOOTPRINT(Wishiwashi) OVERWORLD( - gObjectEventPic_WishiwashiSolo, + sPicTable_WishiwashiSolo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2437,7 +2437,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Mareanie) OVERWORLD( - gObjectEventPic_Mareanie, + sPicTable_Mareanie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2502,7 +2502,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Toxapex) OVERWORLD( - gObjectEventPic_Toxapex, + sPicTable_Toxapex, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2567,7 +2567,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(2, 6, SHADOW_SIZE_M) FOOTPRINT(Mudbray) OVERWORLD( - gObjectEventPic_Mudbray, + sPicTable_Mudbray, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2632,7 +2632,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(4, 13, SHADOW_SIZE_L) FOOTPRINT(Mudsdale) OVERWORLD( - gObjectEventPic_Mudsdale, + sPicTable_Mudsdale, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2704,7 +2704,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Dewpider) OVERWORLD( - gObjectEventPic_Dewpider, + sPicTable_Dewpider, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2766,7 +2766,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Araquanid) OVERWORLD( - gObjectEventPic_Araquanid, + sPicTable_Araquanid, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2826,7 +2826,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-6, 9, SHADOW_SIZE_S) FOOTPRINT(Araquanid) OVERWORLD( - gObjectEventPic_Araquanid, + sPicTable_Araquanid, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2894,7 +2894,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Fomantis) OVERWORLD( - gObjectEventPic_Fomantis, + sPicTable_Fomantis, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2956,7 +2956,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Lurantis) OVERWORLD( - gObjectEventPic_Lurantis, + sPicTable_Lurantis, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3016,7 +3016,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Lurantis) OVERWORLD( - gObjectEventPic_Lurantis, + sPicTable_Lurantis, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3085,7 +3085,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 4, SHADOW_SIZE_S) FOOTPRINT(Morelull) OVERWORLD( - gObjectEventPic_Morelull, + sPicTable_Morelull, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3151,7 +3151,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 10, SHADOW_SIZE_S) FOOTPRINT(Shiinotic) OVERWORLD( - gObjectEventPic_Shiinotic, + sPicTable_Shiinotic, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3220,7 +3220,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(3, 1, SHADOW_SIZE_M) FOOTPRINT(Salandit) OVERWORLD( - gObjectEventPic_Salandit, + sPicTable_Salandit, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3282,7 +3282,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-4, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Salazzle) OVERWORLD( - gObjectEventPic_Salazzle, + sPicTable_Salazzle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3342,7 +3342,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-4, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Salazzle) OVERWORLD( - gObjectEventPic_Salazzle, + sPicTable_Salazzle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3413,7 +3413,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Stufful) OVERWORLD( - gObjectEventPic_Stufful, + sPicTable_Stufful, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3481,7 +3481,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Bewear) OVERWORLD( - gObjectEventPic_Bewear, + sPicTable_Bewear, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3546,7 +3546,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, -3, SHADOW_SIZE_S) FOOTPRINT(Bounsweet) OVERWORLD( - gObjectEventPic_Bounsweet, + sPicTable_Bounsweet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3612,7 +3612,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Steenee) OVERWORLD( - gObjectEventPic_Steenee, + sPicTable_Steenee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3677,7 +3677,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(1, 13, SHADOW_SIZE_M) FOOTPRINT(Tsareena) OVERWORLD( - gObjectEventPic_Tsareena, + sPicTable_Tsareena, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3744,7 +3744,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 10, SHADOW_SIZE_M) FOOTPRINT(Comfey) OVERWORLD( - gObjectEventPic_Comfey, + sPicTable_Comfey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3812,7 +3812,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 6, SHADOW_SIZE_M) FOOTPRINT(Oranguru) OVERWORLD( - gObjectEventPic_Oranguru, + sPicTable_Oranguru, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3880,7 +3880,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-4, 12, SHADOW_SIZE_L) FOOTPRINT(Passimian) OVERWORLD( - gObjectEventPic_Passimian, + sPicTable_Passimian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3949,7 +3949,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-4, -3, SHADOW_SIZE_S) FOOTPRINT(Wimpod) OVERWORLD( - gObjectEventPic_Wimpod, + sPicTable_Wimpod, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4017,7 +4017,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(Golisopod) OVERWORLD( - gObjectEventPic_Golisopod, + sPicTable_Golisopod, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4082,7 +4082,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = NO_SHADOW FOOTPRINT(Sandygast) OVERWORLD( - gObjectEventPic_Sandygast, + sPicTable_Sandygast, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4147,7 +4147,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = NO_SHADOW FOOTPRINT(Palossand) OVERWORLD( - gObjectEventPic_Palossand, + sPicTable_Palossand, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4215,7 +4215,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-3, -3, SHADOW_SIZE_S) FOOTPRINT(Pyukumuku) OVERWORLD( - gObjectEventPic_Pyukumuku, + sPicTable_Pyukumuku, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4280,7 +4280,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Type_Null) OVERWORLD( - gObjectEventPic_TypeNull, + sPicTable_TypeNull, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4343,7 +4343,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(1, 13, SHADOW_SIZE_L) \ FOOTPRINT(Silvally) \ OVERWORLD( \ - gObjectEventPic_Silvally, \ + sPicTable_Silvally, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ @@ -4435,7 +4435,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .iconPalIndex = 0, \ SHADOW(0, 14, SHADOW_SIZE_S) \ OVERWORLD( \ - gObjectEventPic_MiniorMeteor, \ + sPicTable_MiniorMeteor, \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ @@ -4543,7 +4543,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-4, 0, SHADOW_SIZE_S) FOOTPRINT(Komala) OVERWORLD( - gObjectEventPic_Komala, + sPicTable_Komala, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4613,7 +4613,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-3, 12, SHADOW_SIZE_L) FOOTPRINT(Turtonator) OVERWORLD( - gObjectEventPic_Turtonator, + sPicTable_Turtonator, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4675,7 +4675,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 4, SHADOW_SIZE_S) FOOTPRINT(Togedemaru) OVERWORLD( - gObjectEventPic_Togedemaru, + sPicTable_Togedemaru, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4736,7 +4736,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 4, SHADOW_SIZE_S) FOOTPRINT(Togedemaru) OVERWORLD( - gObjectEventPic_Togedemaru, + sPicTable_Togedemaru, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4801,7 +4801,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Mimikyu) OVERWORLD( - gObjectEventPic_MimikyuDisguised, + sPicTable_MimikyuDisguised, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4916,7 +4916,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Mimikyu) OVERWORLD( - gObjectEventPic_MimikyuDisguised, + sPicTable_MimikyuDisguised, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5041,7 +5041,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Bruxish) OVERWORLD( - gObjectEventPic_Bruxish, + sPicTable_Bruxish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5110,7 +5110,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(5, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Drampa) OVERWORLD( - gObjectEventPic_Drampa, + sPicTable_Drampa, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5177,7 +5177,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 12, SHADOW_SIZE_M) FOOTPRINT(Dhelmise) OVERWORLD( - gObjectEventPic_Dhelmise, + sPicTable_Dhelmise, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5245,7 +5245,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(JangmoO) OVERWORLD( - gObjectEventPic_JangmoO, + sPicTable_JangmoO, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5313,7 +5313,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(HakamoO) OVERWORLD( - gObjectEventPic_HakamoO, + sPicTable_HakamoO, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5374,7 +5374,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(KommoO) OVERWORLD( - gObjectEventPic_KommoO, + sPicTable_KommoO, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5440,7 +5440,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(KommoO) OVERWORLD( - gObjectEventPic_KommoO, + sPicTable_KommoO, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5516,7 +5516,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 19, SHADOW_SIZE_M) FOOTPRINT(TapuKoko) OVERWORLD( - gObjectEventPic_TapuKoko, + sPicTable_TapuKoko, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5587,7 +5587,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(TapuLele) OVERWORLD( - gObjectEventPic_TapuLele, + sPicTable_TapuLele, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5660,7 +5660,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(4, 16, SHADOW_SIZE_M) FOOTPRINT(TapuBulu) OVERWORLD( - gObjectEventPic_TapuBulu, + sPicTable_TapuBulu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5732,7 +5732,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(1, 15, SHADOW_SIZE_M) FOOTPRINT(TapuFini) OVERWORLD( - gObjectEventPic_TapuFini, + sPicTable_TapuFini, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5799,7 +5799,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 8, SHADOW_SIZE_S) FOOTPRINT(Cosmog) OVERWORLD( - gObjectEventPic_Cosmog, + sPicTable_Cosmog, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5868,7 +5868,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Cosmoem) OVERWORLD( - gObjectEventPic_Cosmoem, + sPicTable_Cosmoem, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5936,7 +5936,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Solgaleo) OVERWORLD( - gObjectEventPic_Solgaleo, + sPicTable_Solgaleo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6002,7 +6002,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(4, 17, SHADOW_SIZE_L) FOOTPRINT(Lunala) OVERWORLD( - gObjectEventPic_Lunala, + sPicTable_Lunala, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6070,7 +6070,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 14, SHADOW_SIZE_S) FOOTPRINT(Nihilego) OVERWORLD( - gObjectEventPic_Nihilego, + sPicTable_Nihilego, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6137,7 +6137,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Buzzwole) OVERWORLD( - gObjectEventPic_Buzzwole, + sPicTable_Buzzwole, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6203,7 +6203,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Pheromosa) OVERWORLD( - gObjectEventPic_Pheromosa, + sPicTable_Pheromosa, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6269,7 +6269,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Xurkitree) OVERWORLD( - gObjectEventPic_Xurkitree, + sPicTable_Xurkitree, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6337,7 +6337,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Celesteela) OVERWORLD( - gObjectEventPic_Celesteela, + sPicTable_Celesteela, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6404,7 +6404,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(2, 14, SHADOW_SIZE_M) FOOTPRINT(Kartana) OVERWORLD( - gObjectEventPic_Kartana, + sPicTable_Kartana, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6470,7 +6470,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(4, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Guzzlord) OVERWORLD( - gObjectEventPic_Guzzlord, + sPicTable_Guzzlord, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6539,7 +6539,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 15, SHADOW_SIZE_M) FOOTPRINT(Necrozma) OVERWORLD( - gObjectEventPic_Necrozma, + sPicTable_Necrozma, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6607,7 +6607,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-3, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Necrozma) OVERWORLD( - gObjectEventPic_NecrozmaDuskMane, + sPicTable_NecrozmaDuskMane, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6677,7 +6677,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(3, 17, SHADOW_SIZE_L) FOOTPRINT(Necrozma) OVERWORLD( - gObjectEventPic_NecrozmaDawnWings, + sPicTable_NecrozmaDawnWings, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6751,7 +6751,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = FOOTPRINT(Necrozma) #if OW_BATTLE_ONLY_FORMS OVERWORLD( - gObjectEventPic_NecrozmaUltra, + sPicTable_NecrozmaUltra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6824,7 +6824,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Magearna) OVERWORLD( - gObjectEventPic_Magearna, + sPicTable_Magearna, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6889,7 +6889,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Magearna) OVERWORLD( - gObjectEventPic_MagearnaOriginal, + sPicTable_MagearnaOriginal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6963,7 +6963,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Marshadow) OVERWORLD( - gObjectEventPic_Marshadow, + sPicTable_Marshadow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7030,7 +7030,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Poipole) OVERWORLD( - gObjectEventPic_Poipole, + sPicTable_Poipole, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7095,7 +7095,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(7, 17, SHADOW_SIZE_M) FOOTPRINT(Naganadel) OVERWORLD( - gObjectEventPic_Naganadel, + sPicTable_Naganadel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7161,7 +7161,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(2, 15, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Stakataka) OVERWORLD( - gObjectEventPic_Stakataka, + sPicTable_Stakataka, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7227,7 +7227,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Blacephalon) OVERWORLD( - gObjectEventPic_Blacephalon, + sPicTable_Blacephalon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7292,7 +7292,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(0, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Zeraora) OVERWORLD( - gObjectEventPic_Zeraora, + sPicTable_Zeraora, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7358,7 +7358,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(-1, 2, SHADOW_SIZE_S) FOOTPRINT(Meltan) OVERWORLD( - gObjectEventPic_Meltan, + sPicTable_Meltan, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7422,7 +7422,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = SHADOW(3, 10, SHADOW_SIZE_L) FOOTPRINT(Melmetal) OVERWORLD( - gObjectEventPic_Melmetal, + sPicTable_Melmetal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, diff --git a/src/data/pokemon/species_info/gen_8_families.h b/src/data/pokemon/species_info/gen_8_families.h index 9898b4da9d..ee3a17dfe9 100644 --- a/src/data/pokemon/species_info/gen_8_families.h +++ b/src/data/pokemon/species_info/gen_8_families.h @@ -54,7 +54,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Grookey) OVERWORLD( - gObjectEventPic_Grookey, + sPicTable_Grookey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -117,7 +117,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(5, 6, SHADOW_SIZE_M) FOOTPRINT(Thwackey) OVERWORLD( - gObjectEventPic_Thwackey, + sPicTable_Thwackey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -179,7 +179,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 8, SHADOW_SIZE_L) FOOTPRINT(Rillaboom) OVERWORLD( - gObjectEventPic_Rillaboom, + sPicTable_Rillaboom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -302,7 +302,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, 6, SHADOW_SIZE_S) FOOTPRINT(Scorbunny) OVERWORLD( - gObjectEventPic_Scorbunny, + sPicTable_Scorbunny, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -365,7 +365,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-4, 5, SHADOW_SIZE_S) FOOTPRINT(Raboot) OVERWORLD( - gObjectEventPic_Raboot, + sPicTable_Raboot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -428,7 +428,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Cinderace) OVERWORLD( - gObjectEventPic_Cinderace, + sPicTable_Cinderace, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -553,7 +553,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-3, 3, SHADOW_SIZE_S) FOOTPRINT(Sobble) OVERWORLD( - gObjectEventPic_Sobble, + sPicTable_Sobble, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -616,7 +616,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 5, SHADOW_SIZE_M) FOOTPRINT(Drizzile) OVERWORLD( - gObjectEventPic_Drizzile, + sPicTable_Drizzile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -679,7 +679,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-5, 12, SHADOW_SIZE_S) FOOTPRINT(Inteleon) OVERWORLD( - gObjectEventPic_Inteleon, + sPicTable_Inteleon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -803,7 +803,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-7, 5, SHADOW_SIZE_S) FOOTPRINT(Skwovet) OVERWORLD( - gObjectEventPic_Skwovet, + sPicTable_Skwovet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -868,7 +868,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-11, 10, SHADOW_SIZE_M) FOOTPRINT(Greedent) OVERWORLD( - gObjectEventPic_Greedent, + sPicTable_Greedent, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -940,7 +940,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Rookidee) OVERWORLD( - gObjectEventPic_Rookidee, + sPicTable_Rookidee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1013,7 +1013,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 16, SHADOW_SIZE_S) FOOTPRINT(Corvisquire) OVERWORLD( - gObjectEventPic_Corvisquire, + sPicTable_Corvisquire, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1080,7 +1080,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, 9, SHADOW_SIZE_L) FOOTPRINT(Corviknight) OVERWORLD( - gObjectEventPic_Corviknight, + sPicTable_Corviknight, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1203,7 +1203,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 1, SHADOW_SIZE_S) FOOTPRINT(Blipbug) OVERWORLD( - gObjectEventPic_Blipbug, + sPicTable_Blipbug, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1269,7 +1269,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, 0, SHADOW_SIZE_M) FOOTPRINT(Dottler) OVERWORLD( - gObjectEventPic_Dottler, + sPicTable_Dottler, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1334,7 +1334,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 15, SHADOW_SIZE_M) FOOTPRINT(Orbeetle) OVERWORLD( - gObjectEventPic_Orbeetle, + sPicTable_Orbeetle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1459,7 +1459,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 4, SHADOW_SIZE_M) FOOTPRINT(Nickit) OVERWORLD( - gObjectEventPic_Nickit, + sPicTable_Nickit, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1523,7 +1523,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-9, 7, SHADOW_SIZE_M) FOOTPRINT(Thievul) OVERWORLD( - gObjectEventPic_Thievul, + sPicTable_Thievul, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1587,7 +1587,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Gossifleur) OVERWORLD( - gObjectEventPic_Gossifleur, + sPicTable_Gossifleur, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1651,7 +1651,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-2, 8, SHADOW_SIZE_S) FOOTPRINT(Eldegoss) OVERWORLD( - gObjectEventPic_Eldegoss, + sPicTable_Eldegoss, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1715,7 +1715,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Wooloo) OVERWORLD( - gObjectEventPic_Wooloo, + sPicTable_Wooloo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1779,7 +1779,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 8, SHADOW_SIZE_M) FOOTPRINT(Dubwool) OVERWORLD( - gObjectEventPic_Dubwool, + sPicTable_Dubwool, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1846,7 +1846,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(3, 1, SHADOW_SIZE_S) FOOTPRINT(Chewtle) OVERWORLD( - gObjectEventPic_Chewtle, + sPicTable_Chewtle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1913,7 +1913,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-2, 4, SHADOW_SIZE_L) FOOTPRINT(Drednaw) OVERWORLD( - gObjectEventPic_Drednaw, + sPicTable_Drednaw, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2037,7 +2037,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, 2, SHADOW_SIZE_M) FOOTPRINT(Yamper) OVERWORLD( - gObjectEventPic_Yamper, + sPicTable_Yamper, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2101,7 +2101,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Boltund) OVERWORLD( - gObjectEventPic_Boltund, + sPicTable_Boltund, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2165,7 +2165,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, -3, SHADOW_SIZE_S) FOOTPRINT(Rolycoly) OVERWORLD( - gObjectEventPic_Rolycoly, + sPicTable_Rolycoly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2228,7 +2228,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Carkol) OVERWORLD( - gObjectEventPic_Carkol, + sPicTable_Carkol, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2291,7 +2291,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(1, 12, SHADOW_SIZE_L) FOOTPRINT(Coalossal) OVERWORLD( - gObjectEventPic_Coalossal, + sPicTable_Coalossal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2415,7 +2415,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Applin) OVERWORLD( - gObjectEventPic_Applin, + sPicTable_Applin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2482,7 +2482,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-6, 11, SHADOW_SIZE_S) FOOTPRINT(Flapple) OVERWORLD( - gObjectEventPic_Flapple, + sPicTable_Flapple, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2603,7 +2603,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(5, 6, SHADOW_SIZE_L) FOOTPRINT(Appletun) OVERWORLD( - gObjectEventPic_Appletun, + sPicTable_Appletun, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2725,7 +2725,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-4, 8, SHADOW_SIZE_S) FOOTPRINT(Dipplin) OVERWORLD( - gObjectEventPic_Dipplin, + sPicTable_Dipplin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2788,7 +2788,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(1, 12, SHADOW_SIZE_L) FOOTPRINT(Hydrapple) OVERWORLD( - gObjectEventPic_Hydrapple, + sPicTable_Hydrapple, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2852,7 +2852,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(3, 1, SHADOW_SIZE_M) FOOTPRINT(Silicobra) OVERWORLD( - gObjectEventPic_Silicobra, + sPicTable_Silicobra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2916,7 +2916,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, -1, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Sandaconda) OVERWORLD( - gObjectEventPic_Sandaconda, + sPicTable_Sandaconda, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3039,7 +3039,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(5, 14, SHADOW_SIZE_M) FOOTPRINT(Cramorant) OVERWORLD( - gObjectEventPic_Cramorant, + sPicTable_Cramorant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3218,7 +3218,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, -5, SHADOW_SIZE_S) FOOTPRINT(Arrokuda) OVERWORLD( - gObjectEventPic_Arrokuda, + sPicTable_Arrokuda, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3282,7 +3282,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(4, 5, SHADOW_SIZE_M) FOOTPRINT(Barraskewda) OVERWORLD( - gObjectEventPic_Barraskewda, + sPicTable_Barraskewda, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3346,7 +3346,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-2, 1, SHADOW_SIZE_M) FOOTPRINT(Toxel) OVERWORLD( - gObjectEventPic_Toxel, + sPicTable_Toxel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3411,7 +3411,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-6, 13, SHADOW_SIZE_M) FOOTPRINT(Toxtricity) OVERWORLD( - gObjectEventPic_ToxtricityAmped, + sPicTable_ToxtricityAmped, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3528,7 +3528,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Toxtricity) OVERWORLD( - gObjectEventPic_ToxtricityLowKey, + sPicTable_ToxtricityLowKey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3651,7 +3651,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(6, -4, SHADOW_SIZE_S) FOOTPRINT(Sizzlipede) OVERWORLD( - gObjectEventPic_Sizzlipede, + sPicTable_Sizzlipede, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3719,7 +3719,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-3, 7, SHADOW_SIZE_M) FOOTPRINT(Centiskorch) OVERWORLD( - gObjectEventPic_Centiskorch, + sPicTable_Centiskorch, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3843,7 +3843,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(1, -2, SHADOW_SIZE_S) FOOTPRINT(Clobbopus) OVERWORLD( - gObjectEventPic_Clobbopus, + sPicTable_Clobbopus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3906,7 +3906,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(4, 9, SHADOW_SIZE_M) FOOTPRINT(Grapploct) OVERWORLD( - gObjectEventPic_Grapploct, + sPicTable_Grapploct, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3970,7 +3970,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(3, 3, SHADOW_SIZE_S) FOOTPRINT(Sinistea) OVERWORLD( - gObjectEventPic_Sinistea, + sPicTable_Sinistea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4035,7 +4035,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(3, 4, SHADOW_SIZE_S) FOOTPRINT(Sinistea) OVERWORLD( - gObjectEventPic_Sinistea, + sPicTable_Sinistea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4099,7 +4099,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Polteageist) OVERWORLD( - gObjectEventPic_Polteageist, + sPicTable_Polteageist, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4163,7 +4163,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 11, SHADOW_SIZE_S) FOOTPRINT(Polteageist) OVERWORLD( - gObjectEventPic_Polteageist, + sPicTable_Polteageist, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4228,7 +4228,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 1, SHADOW_SIZE_M) FOOTPRINT(Hatenna) OVERWORLD( - gObjectEventPic_Hatenna, + sPicTable_Hatenna, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4291,7 +4291,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Hattrem) OVERWORLD( - gObjectEventPic_Hattrem, + sPicTable_Hattrem, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4353,7 +4353,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(6, 13, SHADOW_SIZE_S) FOOTPRINT(Hatterene) OVERWORLD( - gObjectEventPic_Hatterene, + sPicTable_Hatterene, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4477,7 +4477,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Impidimp) OVERWORLD( - gObjectEventPic_Impidimp, + sPicTable_Impidimp, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4540,7 +4540,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Morgrem) OVERWORLD( - gObjectEventPic_Morgrem, + sPicTable_Morgrem, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4603,7 +4603,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Grimmsnarl) OVERWORLD( - gObjectEventPic_Grimmsnarl, + sPicTable_Grimmsnarl, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4727,7 +4727,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Milcery) OVERWORLD( - gObjectEventPic_Milcery, + sPicTable_Milcery, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4798,7 +4798,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 5, SHADOW_SIZE_S) \ FOOTPRINT(Alcremie) \ OVERWORLD( \ - gObjectEventPic_AlcremieStrawberry, /*Alcremie ##sweet*/ \ + sPicTable_AlcremieStrawberry, /*Alcremie ##sweet*/ \ SIZE_32x32, \ SHADOW_SIZE_M, \ TRACKS_FOOT, \ @@ -4968,7 +4968,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-7, 5, SHADOW_SIZE_S) FOOTPRINT(Falinks) OVERWORLD( - gObjectEventPic_Falinks, + sPicTable_Falinks, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5031,7 +5031,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, -4, SHADOW_SIZE_S) FOOTPRINT(Pincurchin) OVERWORLD( - gObjectEventPic_Pincurchin, + sPicTable_Pincurchin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5097,7 +5097,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-2, -7, SHADOW_SIZE_S) FOOTPRINT(Snom) OVERWORLD( - gObjectEventPic_Snom, + sPicTable_Snom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5162,7 +5162,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-7, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Frosmoth) OVERWORLD( - gObjectEventPic_Frosmoth, + sPicTable_Frosmoth, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5226,7 +5226,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 10, SHADOW_SIZE_L) FOOTPRINT(Stonjourner) OVERWORLD( - gObjectEventPic_Stonjourner, + sPicTable_Stonjourner, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5291,7 +5291,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Eiscue) OVERWORLD( - gObjectEventPic_EiscueIce, + sPicTable_EiscueIce, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5414,7 +5414,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 4, SHADOW_SIZE_S) FOOTPRINT(Indeedee) OVERWORLD( - gObjectEventPic_IndeedeeM, + sPicTable_IndeedeeM, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5477,7 +5477,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 4, SHADOW_SIZE_S) FOOTPRINT(Indeedee) OVERWORLD( - gObjectEventPic_IndeedeeF, + sPicTable_IndeedeeF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5543,7 +5543,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Morpeko) OVERWORLD( - gObjectEventPic_MorpekoFullBelly, + sPicTable_MorpekoFullBelly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5667,7 +5667,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(5, 2, SHADOW_SIZE_M) FOOTPRINT(Cufant) OVERWORLD( - gObjectEventPic_Cufant, + sPicTable_Cufant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5731,7 +5731,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(6, 7, SHADOW_SIZE_L) FOOTPRINT(Copperajah) OVERWORLD( - gObjectEventPic_Copperajah, + sPicTable_Copperajah, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5856,7 +5856,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-4, 10, SHADOW_SIZE_L) FOOTPRINT(Dracozolt) OVERWORLD( - gObjectEventPic_Dracozolt, + sPicTable_Dracozolt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5919,7 +5919,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Arctozolt) OVERWORLD( - gObjectEventPic_Arctozolt, + sPicTable_Arctozolt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5983,7 +5983,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Dracovish) OVERWORLD( - gObjectEventPic_Dracovish, + sPicTable_Dracovish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6047,7 +6047,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 11, SHADOW_SIZE_L) FOOTPRINT(Arctovish) OVERWORLD( - gObjectEventPic_Arctovish, + sPicTable_Arctovish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6114,7 +6114,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Duraludon) OVERWORLD( - gObjectEventPic_Duraludon, + sPicTable_Duraludon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6240,7 +6240,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(4, 14, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Archaludon) OVERWORLD( - gObjectEventPic_Archaludon, + sPicTable_Archaludon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6306,7 +6306,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Dreepy) OVERWORLD( - gObjectEventPic_Dreepy, + sPicTable_Dreepy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6370,7 +6370,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 9, SHADOW_SIZE_M) FOOTPRINT(Drakloak) OVERWORLD( - gObjectEventPic_Drakloak, + sPicTable_Drakloak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6434,7 +6434,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Dragapult) OVERWORLD( - gObjectEventPic_Dragapult, + sPicTable_Dragapult, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6497,7 +6497,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, 9, SHADOW_SIZE_L) FOOTPRINT(Zacian) OVERWORLD( - gObjectEventPic_ZacianHero, + sPicTable_ZacianHero, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6564,7 +6564,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-3, 12, SHADOW_SIZE_L) FOOTPRINT(Zacian) OVERWORLD( - gObjectEventPic_ZacianCrowned, + sPicTable_ZacianCrowned, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6633,7 +6633,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, 12, SHADOW_SIZE_L) FOOTPRINT(Zamazenta) OVERWORLD( - gObjectEventPic_ZamazentaHero, + sPicTable_ZamazentaHero, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6700,7 +6700,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 12, SHADOW_SIZE_L) FOOTPRINT(Zamazenta) OVERWORLD( - gObjectEventPic_ZamazentaCrowned, + sPicTable_ZamazentaCrowned, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6770,7 +6770,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(Eternatus) OVERWORLD( - gObjectEventPic_Eternatus, + sPicTable_Eternatus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6895,7 +6895,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Kubfu) OVERWORLD( - gObjectEventPic_Kubfu, + sPicTable_Kubfu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6963,7 +6963,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(Urshifu) OVERWORLD( - gObjectEventPic_Urshifu, + sPicTable_Urshifu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7088,7 +7088,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(4, 14, SHADOW_SIZE_M) FOOTPRINT(Urshifu) OVERWORLD( - gObjectEventPic_Urshifu, + sPicTable_Urshifu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7216,7 +7216,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(5, 11, SHADOW_SIZE_L) FOOTPRINT(Zarude) OVERWORLD( - gObjectEventPic_Zarude, + sPicTable_Zarude, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7341,7 +7341,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-3, 14, SHADOW_SIZE_S) FOOTPRINT(Regieleki) OVERWORLD( - gObjectEventPic_Regieleki, + sPicTable_Regieleki, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7408,7 +7408,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Regidrago) OVERWORLD( - gObjectEventPic_Regidrago, + sPicTable_Regidrago, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7473,7 +7473,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-5, 11, SHADOW_SIZE_L) FOOTPRINT(Glastrier) OVERWORLD( - gObjectEventPic_Glastrier, + sPicTable_Glastrier, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7539,7 +7539,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-6, 12, SHADOW_SIZE_L) FOOTPRINT(Spectrier) OVERWORLD( - gObjectEventPic_Spectrier, + sPicTable_Spectrier, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7605,7 +7605,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Calyrex) OVERWORLD( - gObjectEventPic_Calyrex, + sPicTable_Calyrex, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7672,7 +7672,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-5, 11, SHADOW_SIZE_L) FOOTPRINT(Calyrex) OVERWORLD( - gObjectEventPic_CalyrexIce, + sPicTable_CalyrexIce, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7739,7 +7739,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-5, 12, SHADOW_SIZE_L) FOOTPRINT(Calyrex) OVERWORLD( - gObjectEventPic_CalyrexShadow, + sPicTable_CalyrexShadow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7810,7 +7810,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(-3, 19, SHADOW_SIZE_M) FOOTPRINT(Enamorus) OVERWORLD( - gObjectEventPic_EnamorusIncarnate, + sPicTable_EnamorusIncarnate, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, @@ -7876,7 +7876,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = SHADOW(2, 8, SHADOW_SIZE_L) FOOTPRINT(Enamorus) OVERWORLD( - gObjectEventPic_EnamorusTherian, + sPicTable_EnamorusTherian, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, diff --git a/src/data/pokemon/species_info/gen_9_families.h b/src/data/pokemon/species_info/gen_9_families.h index 020ec03ac0..f4f76eec33 100644 --- a/src/data/pokemon/species_info/gen_9_families.h +++ b/src/data/pokemon/species_info/gen_9_families.h @@ -54,7 +54,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Sprigatito) OVERWORLD( - gObjectEventPic_Sprigatito, + sPicTable_Sprigatito, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -118,7 +118,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-3, 11, SHADOW_SIZE_M) FOOTPRINT(Floragato) OVERWORLD( - gObjectEventPic_Floragato, + sPicTable_Floragato, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -181,7 +181,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-3, 14, SHADOW_SIZE_S) FOOTPRINT(Meowscarada) OVERWORLD( - gObjectEventPic_Meowscarada, + sPicTable_Meowscarada, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -245,7 +245,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-3, 5, SHADOW_SIZE_S) FOOTPRINT(Fuecoco) OVERWORLD( - gObjectEventPic_Fuecoco, + sPicTable_Fuecoco, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -309,7 +309,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 8, SHADOW_SIZE_M) FOOTPRINT(Crocalor) OVERWORLD( - gObjectEventPic_Crocalor, + sPicTable_Crocalor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -372,7 +372,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(6, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Skeledirge) OVERWORLD( - gObjectEventPic_Skeledirge, + sPicTable_Skeledirge, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -436,7 +436,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Quaxly) OVERWORLD( - gObjectEventPic_Quaxly, + sPicTable_Quaxly, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -500,7 +500,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 10, SHADOW_SIZE_S) FOOTPRINT(Quaxwell) OVERWORLD( - gObjectEventPic_Quaxwell, + sPicTable_Quaxwell, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -563,7 +563,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-7, 13, SHADOW_SIZE_M) FOOTPRINT(Quaquaval) OVERWORLD( - gObjectEventPic_Quaquaval, + sPicTable_Quaquaval, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -627,7 +627,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Lechonk) OVERWORLD( - gObjectEventPic_Lechonk, + sPicTable_Lechonk, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -691,7 +691,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 6, SHADOW_SIZE_M) FOOTPRINT(Oinkologne) OVERWORLD( - gObjectEventPic_OinkologneM, + sPicTable_OinkologneM, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -754,7 +754,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(3, 7, SHADOW_SIZE_M) FOOTPRINT(Oinkologne) OVERWORLD( - gObjectEventPic_OinkologneF, + sPicTable_OinkologneF, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -819,7 +819,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 2, SHADOW_SIZE_M) FOOTPRINT(Tarountula) OVERWORLD( - gObjectEventPic_Tarountula, + sPicTable_Tarountula, SIZE_32x32, SHADOW_SIZE_S, TRACKS_BUG, @@ -883,7 +883,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(6, 8, SHADOW_SIZE_L) FOOTPRINT(Spidops) OVERWORLD( - gObjectEventPic_Spidops, + sPicTable_Spidops, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -947,7 +947,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 3, SHADOW_SIZE_M) FOOTPRINT(Nymble) OVERWORLD( - gObjectEventPic_Nymble, + sPicTable_Nymble, SIZE_32x32, SHADOW_SIZE_S, TRACKS_BUG, @@ -1011,7 +1011,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 11, SHADOW_SIZE_M) FOOTPRINT(Lokix) OVERWORLD( - gObjectEventPic_Lokix, + sPicTable_Lokix, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1075,7 +1075,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 4, SHADOW_SIZE_M) FOOTPRINT(Pawmi) OVERWORLD( - gObjectEventPic_Pawmi, + sPicTable_Pawmi, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -1139,7 +1139,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-3, 10, SHADOW_SIZE_S) FOOTPRINT(Pawmo) OVERWORLD( - gObjectEventPic_Pawmo, + sPicTable_Pawmo, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -1202,7 +1202,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 11, SHADOW_SIZE_M) FOOTPRINT(Pawmot) OVERWORLD( - gObjectEventPic_Pawmot, + sPicTable_Pawmot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1266,7 +1266,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Tandemaus) OVERWORLD( - gObjectEventPic_Tandemaus, + sPicTable_Tandemaus, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -1331,7 +1331,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(4, -1, SHADOW_SIZE_L) FOOTPRINT(MausholdThree) OVERWORLD( - gObjectEventPic_MausholdThree, + sPicTable_MausholdThree, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -1393,7 +1393,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, -1, SHADOW_SIZE_L) FOOTPRINT(MausholdFour) OVERWORLD( - gObjectEventPic_MausholdFour, + sPicTable_MausholdFour, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -1458,7 +1458,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(4, 0, SHADOW_SIZE_S) FOOTPRINT(Fidough) OVERWORLD( - gObjectEventPic_Fidough, + sPicTable_Fidough, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -1522,7 +1522,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 7, SHADOW_SIZE_L) FOOTPRINT(Dachsbun) OVERWORLD( - gObjectEventPic_Dachsbun, + sPicTable_Dachsbun, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1586,7 +1586,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, -2, SHADOW_SIZE_S) FOOTPRINT(Smoliv) OVERWORLD( - gObjectEventPic_Smoliv, + sPicTable_Smoliv, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -1650,7 +1650,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 9, SHADOW_SIZE_M) FOOTPRINT(Dolliv) OVERWORLD( - gObjectEventPic_Dolliv, + sPicTable_Dolliv, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -1713,7 +1713,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 13, SHADOW_SIZE_L) FOOTPRINT(Arboliva) OVERWORLD( - gObjectEventPic_Arboliva, + sPicTable_Arboliva, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -1777,7 +1777,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Squawkabilly) OVERWORLD( - gObjectEventPic_SquawkabillyGreen, + sPicTable_SquawkabillyGreen, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, @@ -1841,7 +1841,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Squawkabilly) OVERWORLD( - gObjectEventPic_SquawkabillyBlue, + sPicTable_SquawkabillyBlue, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, @@ -1905,7 +1905,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Squawkabilly) OVERWORLD( - gObjectEventPic_SquawkabillyYellow, + sPicTable_SquawkabillyYellow, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, @@ -1969,7 +1969,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Squawkabilly) OVERWORLD( - gObjectEventPic_SquawkabillyWhite, + sPicTable_SquawkabillyWhite, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, @@ -2035,7 +2035,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Nacli) OVERWORLD( - gObjectEventPic_Nacli, + sPicTable_Nacli, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -2099,7 +2099,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 5, SHADOW_SIZE_L) FOOTPRINT(Naclstack) OVERWORLD( - gObjectEventPic_Naclstack, + sPicTable_Naclstack, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2162,7 +2162,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Garganacl) OVERWORLD( - gObjectEventPic_Garganacl, + sPicTable_Garganacl, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2226,7 +2226,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Charcadet) OVERWORLD( - gObjectEventPic_Charcadet, + sPicTable_Charcadet, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -2291,7 +2291,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(Armarouge) OVERWORLD( - gObjectEventPic_Armarouge, + sPicTable_Armarouge, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2353,7 +2353,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(9, 14, SHADOW_SIZE_L) FOOTPRINT(Ceruledge) OVERWORLD( - gObjectEventPic_Ceruledge, + sPicTable_Ceruledge, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2418,7 +2418,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 19, SHADOW_SIZE_S) FOOTPRINT(Tadbulb) OVERWORLD( - gObjectEventPic_Tadbulb, + sPicTable_Tadbulb, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, @@ -2482,7 +2482,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Bellibolt) OVERWORLD( - gObjectEventPic_Bellibolt, + sPicTable_Bellibolt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2546,7 +2546,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-3, 0, SHADOW_SIZE_S) FOOTPRINT(Wattrel) OVERWORLD( - gObjectEventPic_Wattrel, + sPicTable_Wattrel, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, @@ -2610,7 +2610,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-6, 6, SHADOW_SIZE_M) FOOTPRINT(Kilowattrel) OVERWORLD( - gObjectEventPic_Kilowattrel, + sPicTable_Kilowattrel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -2674,7 +2674,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 5, SHADOW_SIZE_L) FOOTPRINT(Maschiff) OVERWORLD( - gObjectEventPic_Maschiff, + sPicTable_Maschiff, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -2738,7 +2738,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 5, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Mabosstiff) OVERWORLD( - gObjectEventPic_Mabosstiff, + sPicTable_Mabosstiff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2802,7 +2802,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, -6, SHADOW_SIZE_S) FOOTPRINT(Shroodle) OVERWORLD( - gObjectEventPic_Shroodle, + sPicTable_Shroodle, SIZE_32x32, SHADOW_SIZE_S, TRACKS_BUG, @@ -2866,7 +2866,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Grafaiai) OVERWORLD( - gObjectEventPic_Grafaiai, + sPicTable_Grafaiai, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -2930,7 +2930,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Bramblin) OVERWORLD( - gObjectEventPic_Bramblin, + sPicTable_Bramblin, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, @@ -2994,7 +2994,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 6, SHADOW_SIZE_M) FOOTPRINT(Brambleghast) OVERWORLD( - gObjectEventPic_Brambleghast, + sPicTable_Brambleghast, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -3060,7 +3060,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 10, SHADOW_SIZE_M) FOOTPRINT(Toedscool) OVERWORLD( - gObjectEventPic_Toedscool, + sPicTable_Toedscool, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -3126,7 +3126,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 8, SHADOW_SIZE_L) FOOTPRINT(Toedscruel) OVERWORLD( - gObjectEventPic_Toedscruel, + sPicTable_Toedscruel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3190,7 +3190,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 0, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Klawf) OVERWORLD( - gObjectEventPic_Klawf, + sPicTable_Klawf, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3255,7 +3255,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Capsakid) OVERWORLD( - gObjectEventPic_Capsakid, + sPicTable_Capsakid, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -3319,7 +3319,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(6, 11, SHADOW_SIZE_M) FOOTPRINT(Scovillain) OVERWORLD( - gObjectEventPic_Scovillain, + sPicTable_Scovillain, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3383,7 +3383,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(4, -3, SHADOW_SIZE_L) FOOTPRINT(Rellor) OVERWORLD( - gObjectEventPic_Rellor, + sPicTable_Rellor, SIZE_32x32, SHADOW_SIZE_S, TRACKS_BUG, @@ -3447,7 +3447,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Rabsca) OVERWORLD( - gObjectEventPic_Rabsca, + sPicTable_Rabsca, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, @@ -3511,7 +3511,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Flittle) OVERWORLD( - gObjectEventPic_Flittle, + sPicTable_Flittle, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, @@ -3575,7 +3575,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-5, 10, SHADOW_SIZE_M) FOOTPRINT(Espathra) OVERWORLD( - gObjectEventPic_Espathra, + sPicTable_Espathra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3639,7 +3639,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Tinkatink) OVERWORLD( - gObjectEventPic_Tinkatink, + sPicTable_Tinkatink, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -3703,7 +3703,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-4, 5, SHADOW_SIZE_L) FOOTPRINT(Tinkatuff) OVERWORLD( - gObjectEventPic_Tinkatuff, + sPicTable_Tinkatuff, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -3766,7 +3766,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-5, 15, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Tinkaton) OVERWORLD( - gObjectEventPic_Tinkaton, + sPicTable_Tinkaton, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -3829,7 +3829,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = NO_SHADOW FOOTPRINT(Wiglett) OVERWORLD( - gObjectEventPic_Wiglett, + sPicTable_Wiglett, SIZE_32x32, SHADOW_SIZE_S, TRACKS_SLITHER, @@ -3892,7 +3892,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = NO_SHADOW FOOTPRINT(Wugtrio) OVERWORLD( - gObjectEventPic_Wugtrio, + sPicTable_Wugtrio, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -3957,7 +3957,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 18, SHADOW_SIZE_M) FOOTPRINT(Bombirdier) OVERWORLD( - gObjectEventPic_Bombirdier, + sPicTable_Bombirdier, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -4021,7 +4021,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Finizen) OVERWORLD( - gObjectEventPic_Finizen, + sPicTable_Finizen, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, @@ -4085,7 +4085,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Palafin) OVERWORLD( - gObjectEventPic_PalafinZero, + sPicTable_PalafinZero, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, @@ -4149,7 +4149,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 13, SHADOW_SIZE_M) FOOTPRINT(Palafin) OVERWORLD( - gObjectEventPic_PalafinHero, + sPicTable_PalafinHero, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -4215,7 +4215,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 0, SHADOW_SIZE_M) FOOTPRINT(Varoom) OVERWORLD( - gObjectEventPic_Varoom, + sPicTable_Varoom, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, @@ -4279,7 +4279,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Revavroom) OVERWORLD( - gObjectEventPic_Revavroom, + sPicTable_Revavroom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -4343,7 +4343,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 9, SHADOW_SIZE_M) FOOTPRINT(Cyclizar) OVERWORLD( - gObjectEventPic_Cyclizar, + sPicTable_Cyclizar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4408,7 +4408,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(6, 10, SHADOW_SIZE_L) FOOTPRINT(Orthworm) OVERWORLD( - gObjectEventPic_Orthworm, + sPicTable_Orthworm, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -4474,7 +4474,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 6, SHADOW_SIZE_S) FOOTPRINT(Glimmet) OVERWORLD( - gObjectEventPic_Glimmet, + sPicTable_Glimmet, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, @@ -4539,7 +4539,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-3, 17, SHADOW_SIZE_M) FOOTPRINT(Glimmora) OVERWORLD( - gObjectEventPic_Glimmora, + sPicTable_Glimmora, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -4603,7 +4603,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(3, 2, SHADOW_SIZE_M) FOOTPRINT(Greavard) OVERWORLD( - gObjectEventPic_Greavard, + sPicTable_Greavard, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -4667,7 +4667,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(4, 6, SHADOW_SIZE_L) FOOTPRINT(Houndstone) OVERWORLD( - gObjectEventPic_Houndstone, + sPicTable_Houndstone, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4731,7 +4731,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Flamigo) OVERWORLD( - gObjectEventPic_Flamigo, + sPicTable_Flamigo, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -4796,7 +4796,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 0, SHADOW_SIZE_M) FOOTPRINT(Cetoddle) OVERWORLD( - gObjectEventPic_Cetoddle, + sPicTable_Cetoddle, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -4860,7 +4860,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Cetitan) OVERWORLD( - gObjectEventPic_Cetitan, + sPicTable_Cetitan, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -4925,7 +4925,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Veluza) OVERWORLD( - gObjectEventPic_Veluza, + sPicTable_Veluza, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, @@ -4991,7 +4991,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Dondozo) OVERWORLD( - gObjectEventPic_Dondozo, + sPicTable_Dondozo, SIZE_64x64, SHADOW_SIZE_L, TRACKS_NONE, @@ -5056,7 +5056,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, -1, SHADOW_SIZE_S) FOOTPRINT(Tatsugiri) OVERWORLD( - gObjectEventPic_TatsugiriCurly, + sPicTable_TatsugiriCurly, SIZE_32x32, SHADOW_SIZE_S, TRACKS_SLITHER, @@ -5119,7 +5119,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, -1, SHADOW_SIZE_S) FOOTPRINT(Tatsugiri) OVERWORLD( - gObjectEventPic_TatsugiriDroopy, + sPicTable_TatsugiriDroopy, SIZE_32x32, SHADOW_SIZE_S, TRACKS_SLITHER, @@ -5182,7 +5182,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, -1, SHADOW_SIZE_S) FOOTPRINT(Tatsugiri) OVERWORLD( - gObjectEventPic_TatsugiriStretchy, + sPicTable_TatsugiriStretchy, SIZE_32x32, SHADOW_SIZE_S, TRACKS_SLITHER, @@ -5249,7 +5249,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(3, 6, SHADOW_SIZE_L) FOOTPRINT(GreatTusk) OVERWORLD( - gObjectEventPic_GreatTusk, + sPicTable_GreatTusk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5315,7 +5315,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(ScreamTail) OVERWORLD( - gObjectEventPic_ScreamTail, + sPicTable_ScreamTail, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5381,7 +5381,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 7, SHADOW_SIZE_L) FOOTPRINT(BruteBonnet) OVERWORLD( - gObjectEventPic_BruteBonnet, + sPicTable_BruteBonnet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5450,7 +5450,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 20, SHADOW_SIZE_S) FOOTPRINT(FlutterMane) OVERWORLD( - gObjectEventPic_FlutterMane, + sPicTable_FlutterMane, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -5515,7 +5515,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-5, 13, SHADOW_SIZE_M) FOOTPRINT(SlitherWing) OVERWORLD( - gObjectEventPic_SlitherWing, + sPicTable_SlitherWing, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -5581,7 +5581,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(SandyShocks) OVERWORLD( - gObjectEventPic_SandyShocks, + sPicTable_SandyShocks, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5647,7 +5647,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(4, 3, SHADOW_SIZE_L) FOOTPRINT(IronTreads) OVERWORLD( - gObjectEventPic_IronTreads, + sPicTable_IronTreads, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5713,7 +5713,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 6, SHADOW_SIZE_M) FOOTPRINT(IronBundle) OVERWORLD( - gObjectEventPic_IronBundle, + sPicTable_IronBundle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5779,7 +5779,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(IronHands) OVERWORLD( - gObjectEventPic_IronHands, + sPicTable_IronHands, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5846,7 +5846,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 15, SHADOW_SIZE_M) FOOTPRINT(IronJugulis) OVERWORLD( - gObjectEventPic_IronJugulis, + sPicTable_IronJugulis, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -5913,7 +5913,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-4, 14, SHADOW_SIZE_M) FOOTPRINT(IronMoth) OVERWORLD( - gObjectEventPic_IronMoth, + sPicTable_IronMoth, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -5979,7 +5979,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-9, 12, SHADOW_SIZE_L) FOOTPRINT(IronThorns) OVERWORLD( - gObjectEventPic_IronThorns, + sPicTable_IronThorns, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6044,7 +6044,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Frigibax) OVERWORLD( - gObjectEventPic_Frigibax, + sPicTable_Frigibax, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -6108,7 +6108,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(4, 8, SHADOW_SIZE_M) FOOTPRINT(Arctibax) OVERWORLD( - gObjectEventPic_Arctibax, + sPicTable_Arctibax, SIZE_32x32, SHADOW_SIZE_S, TRACKS_FOOT, @@ -6171,7 +6171,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(5, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Baxcalibur) OVERWORLD( - gObjectEventPic_Baxcalibur, + sPicTable_Baxcalibur, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6235,7 +6235,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(GimmighoulChest) OVERWORLD( - gObjectEventPic_GimmighoulChest, + sPicTable_GimmighoulChest, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, @@ -6354,7 +6354,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(3, 13, SHADOW_SIZE_M) FOOTPRINT(Gholdengo) OVERWORLD( - gObjectEventPic_Gholdengo, + sPicTable_Gholdengo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -6418,7 +6418,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(WoChien) OVERWORLD( - gObjectEventPic_WoChien, + sPicTable_WoChien, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER, @@ -6484,7 +6484,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-4, 8, SHADOW_SIZE_L) FOOTPRINT(ChienPao) OVERWORLD( - gObjectEventPic_ChienPao, + sPicTable_ChienPao, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6550,7 +6550,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(12, 13, SHADOW_SIZE_L) FOOTPRINT(TingLu) OVERWORLD( - gObjectEventPic_TingLu, + sPicTable_TingLu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6617,7 +6617,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 16, SHADOW_SIZE_S) FOOTPRINT(ChiYu) OVERWORLD( - gObjectEventPic_ChiYu, + sPicTable_ChiYu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -6685,7 +6685,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(3, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(RoaringMoon) OVERWORLD( - gObjectEventPic_RoaringMoon, + sPicTable_RoaringMoon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6750,7 +6750,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 14, SHADOW_SIZE_L) FOOTPRINT(IronValiant) OVERWORLD( - gObjectEventPic_IronValiant, + sPicTable_IronValiant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -6815,7 +6815,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-3, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Koraidon) OVERWORLD( - gObjectEventPic_Koraidon, + sPicTable_Koraidon, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, @@ -6882,7 +6882,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(10, 14, SHADOW_SIZE_L) FOOTPRINT(Miraidon) OVERWORLD( - gObjectEventPic_Miraidon, + sPicTable_Miraidon, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE, @@ -6949,7 +6949,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(WalkingWake) OVERWORLD( - gObjectEventPic_WalkingWake, + sPicTable_WalkingWake, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7014,7 +7014,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(IronLeaves) OVERWORLD( - gObjectEventPic_IronLeaves, + sPicTable_IronLeaves, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7080,7 +7080,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 14, SHADOW_SIZE_S) FOOTPRINT(Poltchageist) OVERWORLD( - gObjectEventPic_Poltchageist, + sPicTable_Poltchageist, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, @@ -7144,7 +7144,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 14, SHADOW_SIZE_S) FOOTPRINT(Poltchageist) OVERWORLD( - gObjectEventPic_Poltchageist, + sPicTable_Poltchageist, SIZE_32x32, SHADOW_SIZE_S, TRACKS_NONE, @@ -7209,7 +7209,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 11, SHADOW_SIZE_M) FOOTPRINT(Sinistcha) OVERWORLD( - gObjectEventPic_Sinistcha, + sPicTable_Sinistcha, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -7272,7 +7272,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 11, SHADOW_SIZE_M) FOOTPRINT(Sinistcha) OVERWORLD( - gObjectEventPic_Sinistcha, + sPicTable_Sinistcha, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE, @@ -7337,7 +7337,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 11, SHADOW_SIZE_L) FOOTPRINT(Okidogi) OVERWORLD( - gObjectEventPic_Okidogi, + sPicTable_Okidogi, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7403,7 +7403,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(1, 8, SHADOW_SIZE_S) FOOTPRINT(Munkidori) OVERWORLD( - gObjectEventPic_Munkidori, + sPicTable_Munkidori, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7469,7 +7469,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-3, 10, SHADOW_SIZE_M) FOOTPRINT(Fezandipiti) OVERWORLD( - gObjectEventPic_Fezandipiti, + sPicTable_Fezandipiti, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7485,68 +7485,68 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = #endif //P_FAMILY_FEZANDIPITI #if P_FAMILY_OGERPON -#define OGERPON_SPECIES_INFO(Form1, Form2, type, ability, color, frontYOffset, backYOffset, iconpalette, isTeraform) \ - { \ - .baseHP = 80, \ - .baseAttack = 120, \ - .baseDefense = 84, \ - .baseSpeed = 110, \ - .baseSpAttack = 60, \ - .baseSpDefense = 96, \ - .types = MON_TYPES(TYPE_GRASS, type), \ - .forceTeraType = type, \ - .catchRate = 5, \ - .expYield = 275, \ - .evYield_Attack = 3, \ - .genderRatio = MON_FEMALE, \ - .eggCycles = 10, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_SLOW, \ - .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ - .abilities = { ability, ABILITY_NONE }, \ - .bodyColor = color, \ - .speciesName = _("Ogerpon"), \ - .cryId = CRY_OGERPON, \ - .natDexNum = NATIONAL_DEX_OGERPON, \ - .categoryName = _("Mask"), \ - .height = 12, \ - .weight = 398, \ - .description = gOgerpon##Form1##MaskPokedexText, \ - .pokemonScale = 356, \ - .pokemonOffset = 17, \ - .trainerScale = 256, \ - .trainerOffset = 0, \ - .frontPic = gMonFrontPic_Ogerpon##Form2, \ - .frontPicSize = MON_COORDS_SIZE(64, 64), \ - .frontPicYOffset = frontYOffset, \ - .frontAnimFrames = sAnims_SingleFramePlaceHolder, \ - /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ \ - .backPic = gMonBackPic_Ogerpon##Form2, \ - .backPicSize = MON_COORDS_SIZE(64, 64), \ - .backPicYOffset = backYOffset, \ - /*.backAnimId = BACK_ANIM_NONE,*/ \ - .palette = gMonPalette_Ogerpon##Form2, \ - .shinyPalette = gMonShinyPalette_Ogerpon##Form2, \ - .iconSprite = gMonIcon_Ogerpon##Form1, \ - .iconPalIndex = iconpalette, \ - SHADOW(7, 13, SHADOW_SIZE_L) \ - FOOTPRINT(Ogerpon) \ - OVERWORLD( \ - gObjectEventPic_Ogerpon##Form2, \ - SIZE_32x32, \ - SHADOW_SIZE_M, \ - TRACKS_FOOT, \ - sAnimTable_Following, \ - gOverworldPalette_Ogerpon##Form2, \ - gShinyOverworldPalette_Ogerpon##Form2 \ - ) \ - .levelUpLearnset = sOgerponLevelUpLearnset, \ - .teachableLearnset = sOgerponTeachableLearnset, \ - .formSpeciesIdTable = sOgerponFormSpeciesIdTable, \ - .formChangeTable = sOgerponFormChangeTable, \ - .isLegendary = TRUE, \ - .isTeraForm = isTeraform, \ - .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, \ +#define OGERPON_SPECIES_INFO(Form1, Form2, type, ability, color, frontYOffset, backYOffset, iconpalette, isTeraform) \ + { \ + .baseHP = 80, \ + .baseAttack = 120, \ + .baseDefense = 84, \ + .baseSpeed = 110, \ + .baseSpAttack = 60, \ + .baseSpDefense = 96, \ + .types = MON_TYPES(TYPE_GRASS, type), \ + .forceTeraType = type, \ + .catchRate = 5, \ + .expYield = 275, \ + .evYield_Attack = 3, \ + .genderRatio = MON_FEMALE, \ + .eggCycles = 10, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ + .abilities = { ability, ABILITY_NONE }, \ + .bodyColor = color, \ + .speciesName = _("Ogerpon"), \ + .cryId = CRY_OGERPON, \ + .natDexNum = NATIONAL_DEX_OGERPON, \ + .categoryName = _("Mask"), \ + .height = 12, \ + .weight = 398, \ + .description = gOgerpon##Form1##MaskPokedexText, \ + .pokemonScale = 356, \ + .pokemonOffset = 17, \ + .trainerScale = 256, \ + .trainerOffset = 0, \ + .frontPic = gMonFrontPic_Ogerpon##Form2, \ + .frontPicSize = MON_COORDS_SIZE(64, 64), \ + .frontPicYOffset = frontYOffset, \ + .frontAnimFrames = sAnims_SingleFramePlaceHolder, \ + /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ \ + .backPic = gMonBackPic_Ogerpon##Form2, \ + .backPicSize = MON_COORDS_SIZE(64, 64), \ + .backPicYOffset = backYOffset, \ + /*.backAnimId = BACK_ANIM_NONE,*/ \ + .palette = gMonPalette_Ogerpon##Form2, \ + .shinyPalette = gMonShinyPalette_Ogerpon##Form2, \ + .iconSprite = gMonIcon_Ogerpon##Form1, \ + .iconPalIndex = iconpalette, \ + SHADOW(7, 13, SHADOW_SIZE_L) \ + FOOTPRINT(Ogerpon) \ + OVERWORLD( \ + sPicTable_Ogerpon##Form2, \ + SIZE_32x32, \ + SHADOW_SIZE_M, \ + TRACKS_FOOT, \ + sAnimTable_Following, \ + gOverworldPalette_Ogerpon##Form2, \ + gShinyOverworldPalette_Ogerpon##Form2 \ + ) \ + .levelUpLearnset = sOgerponLevelUpLearnset, \ + .teachableLearnset = sOgerponTeachableLearnset, \ + .formSpeciesIdTable = sOgerponFormSpeciesIdTable, \ + .formChangeTable = sOgerponFormChangeTable, \ + .isLegendary = TRUE, \ + .isTeraForm = isTeraform, \ + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, \ } [SPECIES_OGERPON_TEAL] = OGERPON_SPECIES_INFO(Teal, Teal, TYPE_GRASS, ABILITY_DEFIANT, BODY_COLOR_GREEN, 1, 7, 1, FALSE), @@ -7614,7 +7614,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-1, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(GougingFire) OVERWORLD( - gObjectEventPic_GougingFire, + sPicTable_GougingFire, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7680,7 +7680,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(RagingBolt) OVERWORLD( - gObjectEventPic_RagingBolt, + sPicTable_RagingBolt, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7745,7 +7745,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(4, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(IronBoulder) OVERWORLD( - gObjectEventPic_IronBoulder, + sPicTable_IronBoulder, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7811,7 +7811,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(IronCrown) OVERWORLD( - gObjectEventPic_IronCrown, + sPicTable_IronCrown, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7878,7 +7878,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(3, 13, SHADOW_SIZE_L) FOOTPRINT(TerapagosNormal) OVERWORLD( - gObjectEventPic_TerapagosNormal, + sPicTable_TerapagosNormal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -7948,7 +7948,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(-4, 4, SHADOW_SIZE_L) FOOTPRINT(TerapagosTerastal) OVERWORLD( - gObjectEventPic_TerapagosTerastal, + sPicTable_TerapagosTerastal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, @@ -8077,7 +8077,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = SHADOW(2, 1, SHADOW_SIZE_L) FOOTPRINT(Pecharunt) OVERWORLD( - gObjectEventPic_Pecharunt, + sPicTable_Pecharunt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT, diff --git a/src/debug.c b/src/debug.c index 99f8975197..8a20e6b2b1 100644 --- a/src/debug.c +++ b/src/debug.c @@ -3439,7 +3439,7 @@ static void DebugAction_Give_Pokemon_ComplexCreateMon(u8 taskId) //https://githu //Moves for (i = 0; i < MAX_MON_MOVES; i++) { - if (moves[i] == MOVE_NONE || moves[i] == 0xFF || moves[i] >= MOVES_COUNT) + if (moves[i] == MOVE_NONE || moves[i] >= MOVES_COUNT) continue; SetMonMoveSlot(&mon, moves[i], i); diff --git a/src/event_data.c b/src/event_data.c index ccd0519c51..a8a05598a5 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -27,6 +27,13 @@ EWRAM_DATA u16 gSpecialVar_MonBoxPos = 0; EWRAM_DATA u16 gSpecialVar_Unused_0x8014 = 0; EWRAM_DATA static u8 sSpecialFlags[SPECIAL_FLAGS_SIZE] = {0}; +#if TESTING +#define TEST_FLAGS_SIZE 1 +#define TEST_VARS_SIZE 8 +EWRAM_DATA static u8 sTestFlags[TEST_FLAGS_SIZE] = {0}; +EWRAM_DATA static u16 sTestVars[TEST_VARS_SIZE] = {0}; +#endif // TESTING + extern u16 *const gSpecialVars[]; const u16 gBadgeFlags[NUM_BADGES] = @@ -179,6 +186,10 @@ u16 *GetVarPointer(u16 id) return NULL; else if (id < SPECIAL_VARS_START) return &gSaveBlock1Ptr->vars[id - VARS_START]; +#if TESTING + else if (id >= TESTING_VARS_START) + return &sTestVars[id - TESTING_VARS_START]; +#endif // TESTING else return gSpecialVars[id - SPECIAL_VARS_START]; } @@ -219,6 +230,10 @@ u8 *GetFlagPointer(u16 id) return NULL; else if (id < SPECIAL_FLAGS_START) return &gSaveBlock1Ptr->flags[id / 8]; +#if TESTING + else if (id >= TESTING_FLAGS_START) + return &sTestFlags[(id - TESTING_FLAGS_START) / 8]; +#endif // TESTING else return &sSpecialFlags[(id - SPECIAL_FLAGS_START) / 8]; } diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 4dcb1bc1a9..bb546e1fa9 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -381,7 +381,7 @@ static const bool8 sMovementTypeHasRange[NUM_MOVEMENT_TYPES] = { [MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS] = TRUE, }; -const u8 gInitialMovementTypeFacingDirections[] = { +const u8 gInitialMovementTypeFacingDirections[NUM_MOVEMENT_TYPES] = { [MOVEMENT_TYPE_NONE] = DIR_SOUTH, [MOVEMENT_TYPE_LOOK_AROUND] = DIR_SOUTH, [MOVEMENT_TYPE_WANDER_AROUND] = DIR_SOUTH, @@ -463,6 +463,7 @@ const u8 gInitialMovementTypeFacingDirections[] = { [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP] = DIR_NORTH, [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT] = DIR_WEST, [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT] = DIR_EAST, + [MOVEMENT_TYPE_FOLLOW_PLAYER] = DIR_SOUTH, }; #include "data/object_events/object_event_graphics_info_pointers.h" @@ -1925,6 +1926,14 @@ struct Pokemon *GetFirstLiveMon(void) u32 i; for (i = 0; i < PARTY_SIZE; i++) { + struct Pokemon *mon = &gPlayerParty[i]; + if ((OW_MON_ALLOWED_SPECIES && GetMonData(mon, MON_DATA_SPECIES_OR_EGG) != VarGet(OW_MON_ALLOWED_SPECIES)) + || (OW_MON_ALLOWED_MET_LVL && GetMonData(mon, MON_DATA_MET_LEVEL) != VarGet(OW_MON_ALLOWED_MET_LVL)) + || (OW_MON_ALLOWED_MET_LOC && GetMonData(mon, MON_DATA_MET_LOCATION) != VarGet(OW_MON_ALLOWED_MET_LOC))) + { + continue; + } + if (gPlayerParty[i].hp > 0 && !(gPlayerParty[i].box.isEgg || gPlayerParty[i].box.isBadEgg)) return &gPlayerParty[i]; } @@ -2179,6 +2188,7 @@ void UpdateFollowingPokemon(void) // 3. flag is set if (OW_POKEMON_OBJECT_EVENTS == FALSE || OW_FOLLOWERS_ENABLED == FALSE + || FlagGet(B_FLAG_FOLLOWERS_DISABLED) || !GetFollowerInfo(&species, &shiny, &female) || SpeciesToGraphicsInfo(species, shiny, female) == NULL || (gMapHeader.mapType == MAP_TYPE_INDOOR && SpeciesToGraphicsInfo(species, shiny, female)->oam->size > ST_OAM_SIZE_2) @@ -5423,6 +5433,7 @@ bool8 MovementType_FollowPlayer_Moving(struct ObjectEvent *objectEvent, struct S objectEvent->movementActionId = MOVEMENT_ACTION_NONE; sprite->sActionFuncId = 0; objectEvent->singleMovementActive = FALSE; + objectEvent->facingDirectionLocked = FALSE; if (sprite->sTypeFuncId) // restore nonzero state sprite->sTypeFuncId = 1; } @@ -5493,7 +5504,8 @@ bool8 FollowablePlayerMovement_Step(struct ObjectEvent *objectEvent, struct Spri { // Animate exiting pokeball // Player is jumping, but follower is invisible - if (PlayerGetCopyableMovement() == COPY_MOVE_JUMP2) + // don't emerge if player is jumping or moving via script + if (PlayerGetCopyableMovement() == COPY_MOVE_JUMP2 || ArePlayerFieldControlsLocked()) { sprite->sTypeFuncId = 0; // return to shadowing state return FALSE; @@ -5514,6 +5526,15 @@ bool8 FollowablePlayerMovement_Step(struct ObjectEvent *objectEvent, struct Spri // Follow player direction = GetDirectionToFace(x, y, targetX, targetY); + // During a script, if player sidesteps or backsteps, + // mirror player's direction instead + if (ArePlayerFieldControlsLocked() + && gObjectEvents[gPlayerAvatar.objectEventId].facingDirection != gObjectEvents[gPlayerAvatar.objectEventId].movementDirection) + { + direction = gObjectEvents[gPlayerAvatar.objectEventId].movementDirection; + objectEvent->facingDirectionLocked = TRUE; + } + MoveCoords(direction, &x, &y); GetCollisionAtCoords(objectEvent, x, y, direction); // Sets directionOverwrite for stairs if (GetLedgeJumpDirection(x, y, direction) != DIR_NONE) @@ -5521,53 +5542,28 @@ bool8 FollowablePlayerMovement_Step(struct ObjectEvent *objectEvent, struct Spri // InitJumpRegular will set the proper speed ObjectEventSetSingleMovement(objectEvent, sprite, GetJump2MovementAction(direction)); } - else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH)) + else if (playerAction >= MOVEMENT_ACTION_WALK_SLOW_DOWN && playerAction <= MOVEMENT_ACTION_WALK_SLOW_RIGHT) { - // Set follow speed according to player's speed - if (playerAction >= MOVEMENT_ACTION_RUN_DOWN_SLOW && playerAction <= MOVEMENT_ACTION_RUN_RIGHT_SLOW) + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH)) // on sideways stairs objectEvent->movementActionId = GetWalkNormalMovementAction(direction); else - objectEvent->movementActionId = GetWalkFastMovementAction(direction); - } - else if (PlayerGetCopyableMovement() == COPY_MOVE_JUMP2) - { - ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkSlowMovementAction(direction)); - } - else - { - if (playerAction >= MOVEMENT_ACTION_WALK_SLOW_DOWN && playerAction <= MOVEMENT_ACTION_WALK_SLOW_RIGHT) - { ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkSlowMovementAction(direction)); - } - else - { - objectEvent->movementActionId = GetWalkNormalMovementAction(direction); - if (OW_FOLLOWERS_BOBBING == TRUE) - sprite->y2 = -1; - } - } - sprite->sActionFuncId = 0; - if (GetLedgeJumpDirection(x, y, direction) != DIR_NONE) - { - // InitJumpRegular will set the proper speed - ObjectEventSetSingleMovement(objectEvent, sprite, GetJump2MovementAction(direction)); - } - else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH)) - { - // Set follow speed according to player's speed - ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkFastMovementAction(direction)); } else if (PlayerGetCopyableMovement() == COPY_MOVE_JUMP2) { - // If *player* jumps, make step take twice as long ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkSlowMovementAction(direction)); } + else if (gSprites[gPlayerAvatar.spriteId].data[4] == MOVE_SPEED_FAST_1) + { + objectEvent->movementActionId = GetWalkFastMovementAction(direction); + } else { - ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkNormalMovementAction(direction)); + objectEvent->movementActionId = GetWalkNormalMovementAction(direction); if (OW_FOLLOWERS_BOBBING == TRUE) sprite->y2 = -1; } + sprite->sActionFuncId = 0; objectEvent->singleMovementActive = TRUE; sprite->sTypeFuncId = 2; return TRUE; @@ -6231,13 +6227,19 @@ static bool8 IsMetatileDirectionallyImpassable(struct ObjectEvent *objectEvent, return FALSE; } -static bool8 DoesObjectCollideWithObjectAt(struct ObjectEvent *objectEvent, s16 x, s16 y) +u32 GetObjectObjectCollidesWith(struct ObjectEvent *objectEvent, s16 x, s16 y, bool32 addCoords) { u8 i; struct ObjectEvent *curObject; if (objectEvent->localId == OBJ_EVENT_ID_FOLLOWER) - return FALSE; // follower cannot collide with other objects, but they can collide with it + return OBJECT_EVENTS_COUNT; // follower cannot collide with other objects, but they can collide with it + + if (addCoords) + { + x += objectEvent->currentCoords.x; + y += objectEvent->currentCoords.y; + } for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { @@ -6248,11 +6250,16 @@ static bool8 DoesObjectCollideWithObjectAt(struct ObjectEvent *objectEvent, s16 if ((curObject->currentCoords.x == x && curObject->currentCoords.y == y) || (curObject->previousCoords.x == x && curObject->previousCoords.y == y)) { if (AreElevationsCompatible(objectEvent->currentElevation, curObject->currentElevation)) - return TRUE; + return i; } } } - return FALSE; + return OBJECT_EVENTS_COUNT; +} + +static bool8 DoesObjectCollideWithObjectAt(struct ObjectEvent *objectEvent, s16 x, s16 y) +{ + return (GetObjectObjectCollidesWith(objectEvent, x, y, FALSE) < OBJECT_EVENTS_COUNT); } bool8 IsBerryTreeSparkling(u8 localId, u8 mapNum, u8 mapGroup) @@ -6404,6 +6411,19 @@ static u8 TryUpdateMovementActionOnStairs(struct ObjectEvent *objectEvent, u8 mo } } +static const u8 sActionIdToCopyableMovement[] = { + [MOVEMENT_ACTION_FACE_DOWN ... MOVEMENT_ACTION_FACE_RIGHT] = COPY_MOVE_FACE, + [MOVEMENT_ACTION_WALK_SLOW_DOWN ... MOVEMENT_ACTION_WALK_NORMAL_RIGHT] = COPY_MOVE_WALK, + [MOVEMENT_ACTION_JUMP_2_DOWN ... MOVEMENT_ACTION_JUMP_2_RIGHT] = COPY_MOVE_JUMP2, + [MOVEMENT_ACTION_WALK_FAST_DOWN ... MOVEMENT_ACTION_WALK_FAST_RIGHT] = COPY_MOVE_WALK, + [MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN ... MOVEMENT_ACTION_PLAYER_RUN_RIGHT] = COPY_MOVE_WALK, + // Not a typo; follower needs to take an action with a duration == JUMP's, + // and JUMP2 here will lead to WALK_SLOW later + [MOVEMENT_ACTION_JUMP_DOWN ... MOVEMENT_ACTION_JUMP_RIGHT] = COPY_MOVE_JUMP2, + + [MOVEMENT_ACTION_NONE] = COPY_MOVE_NONE, +}; + bool8 ObjectEventSetHeldMovement(struct ObjectEvent *objectEvent, u8 movementActionId) { if (ObjectEventIsMovementOverridden(objectEvent)) @@ -6416,6 +6436,16 @@ bool8 ObjectEventSetHeldMovement(struct ObjectEvent *objectEvent, u8 movementAct objectEvent->heldMovementActive = TRUE; objectEvent->heldMovementFinished = FALSE; gSprites[objectEvent->spriteId].sActionFuncId = 0; + + // When player is moved via script, set copyable movement + // for any followers via a lookup table + if (ArePlayerFieldControlsLocked() + && objectEvent->isPlayer + && FlagGet(FLAG_SAFE_FOLLOWER_MOVEMENT)) + { + objectEvent->playerCopyableMovement = sActionIdToCopyableMovement[objectEvent->movementActionId]; + } + return FALSE; } @@ -6439,6 +6469,15 @@ void ObjectEventClearHeldMovement(struct ObjectEvent *objectEvent) objectEvent->heldMovementFinished = FALSE; gSprites[objectEvent->spriteId].sTypeFuncId = 0; gSprites[objectEvent->spriteId].sActionFuncId = 0; + + // When player is moved via script, set copyable movement + // for any followers via a lookup table + if (ArePlayerFieldControlsLocked() + && objectEvent->isPlayer + && FlagGet(FLAG_SAFE_FOLLOWER_MOVEMENT)) + { + objectEvent->playerCopyableMovement = sActionIdToCopyableMovement[objectEvent->movementActionId]; + } } u8 ObjectEventCheckHeldMovementStatus(struct ObjectEvent *objectEvent) diff --git a/src/field_message_box.c b/src/field_message_box.c index 47c728f74d..bf9ce1aa93 100755 --- a/src/field_message_box.c +++ b/src/field_message_box.c @@ -38,8 +38,6 @@ static void Task_DrawFieldMessage(u8 taskId) LoadMessageBoxAndBorderGfx(); task->tState++; break; - task->tState++; - break; case 1: DrawDialogueFrame(0, TRUE); task->tState++; diff --git a/src/item_use.c b/src/item_use.c index 64db57a16d..c609614292 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -1186,6 +1186,15 @@ void ItemUseInBattle_PartyMenuChooseMove(u8 taskId) ItemUseInBattle_ShowPartyMenu(taskId); } +static bool32 SelectedMonHasStatus2(u16 itemId) +{ + if (gPartyMenu.slotId == 0) + return gBattleMons[0].status2 & GetItemStatus2Mask(itemId); + else if (gBattleTypeFlags & (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI) && gPartyMenu.slotId == 1) + return gBattleMons[2].status2 & GetItemStatus2Mask(itemId); + return FALSE; +} + // Returns whether an item can be used in battle and sets the fail text. bool32 CannotUseItemsInBattle(u16 itemId, struct Pokemon *mon) { @@ -1258,13 +1267,13 @@ bool32 CannotUseItemsInBattle(u16 itemId, struct Pokemon *mon) break; case EFFECT_ITEM_CURE_STATUS: if (!((GetMonData(mon, MON_DATA_STATUS) & GetItemStatus1Mask(itemId)) - || (gPartyMenu.slotId == 0 && gBattleMons[gBattlerInMenuId].status2 & GetItemStatus2Mask(itemId)))) + || SelectedMonHasStatus2(itemId))) cannotUse = TRUE; break; case EFFECT_ITEM_HEAL_AND_CURE_STATUS: if ((hp == 0 || hp == GetMonData(mon, MON_DATA_MAX_HP)) && !((GetMonData(mon, MON_DATA_STATUS) & GetItemStatus1Mask(itemId)) - || (gPartyMenu.slotId == 0 && gBattleMons[gBattlerInMenuId].status2 & GetItemStatus2Mask(itemId)))) + || SelectedMonHasStatus2(itemId))) cannotUse = TRUE; break; case EFFECT_ITEM_REVIVE: diff --git a/src/overworld.c b/src/overworld.c index 05c04d0fba..3dcb26de87 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -73,6 +73,8 @@ #include "constants/trainer_hill.h" #include "constants/weather.h" +STATIC_ASSERT((B_FLAG_FOLLOWERS_DISABLED == 0 || OW_FOLLOWERS_ENABLED), FollowersFlagAssignedWithoutEnablingThem); + struct CableClubPlayer { u8 playerId; diff --git a/src/party_menu.c b/src/party_menu.c index 784f13acdd..5e79d74d45 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -7183,14 +7183,11 @@ static u8 GetPartyLayoutFromBattleType(void) void OpenPartyMenuInBattle(u8 partyAction) { - u8 partyMessage; - if (partyAction == PARTY_ACTION_SEND_MON_TO_BOX) - partyMessage = PARTY_MSG_CHOOSE_MON_FOR_BOX; + InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), partyAction, FALSE, PARTY_MSG_CHOOSE_MON_FOR_BOX, Task_HandleChooseMonInput, ReshowBlankBattleScreenAfterMenu); else - partyMessage = PARTY_MSG_CHOOSE_MON; - - InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), partyAction, FALSE, partyMessage, Task_HandleChooseMonInput, CB2_SetUpReshowBattleScreenAfterMenu); + InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), partyAction, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, CB2_SetUpReshowBattleScreenAfterMenu); + ReshowBattleScreenDummy(); UpdatePartyToBattleOrder(); } diff --git a/src/pokemon.c b/src/pokemon.c index 128f09f514..6bec95c307 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -37,7 +37,6 @@ #include "recorded_battle.h" #include "rtc.h" #include "sound.h" -#include "sprite.h" #include "string_util.h" #include "strings.h" #include "task.h" @@ -707,6 +706,7 @@ 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" @@ -2068,8 +2068,9 @@ void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move) u8 CountAliveMonsInBattle(u8 caseId, u32 battler) { - s32 i; - u8 retVal = 0; + u32 i; + u32 battlerSide; + u32 retVal = 0; switch (caseId) { @@ -2088,9 +2089,10 @@ u8 CountAliveMonsInBattle(u8 caseId, u32 battler) } break; case BATTLE_ALIVE_SIDE: + battlerSide = GetBattlerSide(battler); for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - if (GetBattlerSide(i) == GetBattlerSide(battler) && !(gAbsentBattlerFlags & (1u << i))) + if (GetBattlerSide(i) == battlerSide && !(gAbsentBattlerFlags & (1u << i))) retVal++; } break; @@ -6072,15 +6074,8 @@ const u8 *GetTrainerPartnerName(void) { if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) { - if (gPartnerTrainerId == TRAINER_PARTNER(PARTNER_STEVEN)) - { - return GetTrainerNameFromId(PARTNER_STEVEN); - } - else - { - GetFrontierTrainerName(gStringVar1, gPartnerTrainerId); - return gStringVar1; - } + GetFrontierTrainerName(gStringVar1, gPartnerTrainerId); + return gStringVar1; } else { @@ -7033,7 +7028,7 @@ u32 GetRegionalFormByRegion(u32 species, u32 region) { if (firstFoundSpecies == 0) firstFoundSpecies = formTable[formId]; - + if (IsSpeciesRegionalFormFromRegion(formTable[formId], region)) return formTable[formId]; } diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index 87f639194c..ba6f615595 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -18,9 +18,11 @@ // this file's functions static void CB2_ReshowBattleScreenAfterMenu(void); +static void CB2_ReshowBlankBattleScreenAfterMenu(void); static bool8 LoadBattlerSpriteGfx(u32 battler); static void CreateHealthboxSprite(u32 battler); static void ClearBattleBgCntBaseBlocks(void); +static void CreateCaughtMonSprite(void); void ReshowBattleScreenDummy(void) { @@ -168,6 +170,89 @@ static void CB2_ReshowBattleScreenAfterMenu(void) gBattleScripting.reshowMainState++; } +void ReshowBlankBattleScreenAfterMenu(void) +{ + gPaletteFade.bufferTransferDisabled = 1; + SetHBlankCallback(NULL); + SetVBlankCallback(NULL); + SetGpuReg(REG_OFFSET_MOSAIC, 0); + gBattleScripting.reshowMainState = 0; + gBattleScripting.reshowHelperState = 0; + SetMainCallback2(CB2_ReshowBlankBattleScreenAfterMenu); +} + +static void CB2_ReshowBlankBattleScreenAfterMenu(void) +{ + switch (gBattleScripting.reshowMainState) + { + case 0: + ScanlineEffect_Clear(); + BattleInitBgsAndWindows(); + SetBgAttribute(1, BG_ATTR_CHARBASEINDEX, 0); + SetBgAttribute(2, BG_ATTR_CHARBASEINDEX, 0); + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); + ResetPaletteFade(); + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + gBattle_BG2_X = 0; + gBattle_BG2_Y = 0; + gBattle_BG3_X = 255; + gBattle_BG3_Y = 0; + break; + case 1: + CpuFastFill(0, (void *)(VRAM), VRAM_SIZE); + break; + case 2: + LoadBattleTextboxAndBackground(); + break; + case 3: + ResetSpriteData(); + break; + case 4: + FreeAllSpritePalettes(); + gReservedSpritePaletteCount = MAX_BATTLERS_COUNT; + break; + case 5: + ClearSpritesHealthboxAnimData(); + break; + case 6: + if (!LoadBattlerSpriteGfx(0)) + gBattleScripting.reshowMainState--; + break; + case 7: + if (!LoadBattlerSpriteGfx(1)) + gBattleScripting.reshowMainState--; + break; + case 8: + if (!LoadBattlerSpriteGfx(2)) + gBattleScripting.reshowMainState--; + break; + case 9: + if (!LoadBattlerSpriteGfx(3)) + gBattleScripting.reshowMainState--; + break; + case 10: + if (gBattleScripting.monCaught) + CreateCaughtMonSprite(); // displays the caught mon for the switch into party feature + break; + default: + SetVBlankCallback(VBlankCB_Battle); + ClearBattleBgCntBaseBlocks(); + BeginHardwarePaletteFade(0xFF, 0, 0x10, 0, 1); + gPaletteFade.bufferTransferDisabled = 0; + SetMainCallback2(BattleMainCB2); + FillAroundBattleWindows(); + break; + } + + gBattleScripting.reshowMainState++; +} + static void ClearBattleBgCntBaseBlocks(void) { vBgCnt *regBgcnt1, *regBgcnt2; @@ -311,3 +396,17 @@ static void CreateHealthboxSprite(u32 battler) } } } + +static void CreateCaughtMonSprite(void) +{ + SetMultiuseSpriteTemplateToPokemon(GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_SPECIES), GetBattlerPosition(gBattlerTarget)); + gBattlerSpriteIds[gBattlerTarget] = CreateSprite(&gMultiuseSpriteTemplate, DISPLAY_WIDTH / 2, DISPLAY_HEIGHT / 2, GetBattlerSpriteSubpriority(gBattlerTarget)); + gSprites[gBattlerSpriteIds[gBattlerTarget]].oam.paletteNum = gBattlerTarget; + gSprites[gBattlerSpriteIds[gBattlerTarget]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[gBattlerTarget]].data[0] = gBattlerTarget; + gSprites[gBattlerSpriteIds[gBattlerTarget]].data[2] = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_SPECIES); + + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gBattlerTarget]], 0); + + gSprites[gBattlerSpriteIds[gBattlerTarget]].invisible = FALSE; +} diff --git a/src/scrcmd.c b/src/scrcmd.c index ae0ce76a6b..f988bff6ea 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1255,6 +1255,21 @@ bool8 ScrCmd_fadeinbgm(struct ScriptContext *ctx) return FALSE; } +struct ObjectEvent *ScriptHideFollower(void) +{ + struct ObjectEvent *obj = GetFollowerObject(); + + if (obj == NULL || obj->invisible) + return NULL; + + ClearObjectEventMovement(obj, &gSprites[obj->spriteId]); + gSprites[obj->spriteId].animCmdIndex = 0; // Reset start frame of animation + // Note: ScriptMovement_ returns TRUE on error + if (ScriptMovement_StartObjectMovementScript(obj->localId, obj->mapGroup, obj->mapNum, EnterPokeballMovement)) + return NULL; + return obj; +} + bool8 ScrCmd_applymovement(struct ScriptContext *ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); @@ -1274,17 +1289,11 @@ bool8 ScrCmd_applymovement(struct ScriptContext *ctx) gObjectEvents[GetObjectEventIdByLocalId(localId)].directionOverwrite = DIR_NONE; ScriptMovement_StartObjectMovementScript(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, movementScript); sMovingNpcId = localId; - objEvent = GetFollowerObject(); - // Force follower into pokeball if (localId != OBJ_EVENT_ID_FOLLOWER - && !FlagGet(FLAG_SAFE_FOLLOWER_MOVEMENT) - && (movementScript < Common_Movement_FollowerSafeStart || movementScript > Common_Movement_FollowerSafeEnd) - && (objEvent = GetFollowerObject()) - && !objEvent->invisible) + && !FlagGet(FLAG_SAFE_FOLLOWER_MOVEMENT) + && (movementScript < Common_Movement_FollowerSafeStart || movementScript > Common_Movement_FollowerSafeEnd)) { - ClearObjectEventMovement(objEvent, &gSprites[objEvent->spriteId]); - gSprites[objEvent->spriteId].animCmdIndex = 0; // Reset start frame of animation - ScriptMovement_StartObjectMovementScript(OBJ_EVENT_ID_FOLLOWER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, EnterPokeballMovement); + ScriptHideFollower(); } return FALSE; } @@ -1546,8 +1555,11 @@ bool8 ScrCmd_lockall(struct ScriptContext *ctx) } else { + struct ObjectEvent *followerObj = GetFollowerObject(); FreezeObjects_WaitForPlayer(); SetupNativeScript(ctx, IsFreezePlayerFinished); + if (FlagGet(FLAG_SAFE_FOLLOWER_MOVEMENT) && followerObj) // Unfreeze follower object (conditionally) + UnfreezeObjectEvent(followerObj); return TRUE; } } @@ -3100,6 +3112,28 @@ bool8 Scrcmd_getobjectfacingdirection(struct ScriptContext *ctx) return FALSE; } +bool8 ScrFunc_hidefollower(struct ScriptContext *ctx) +{ + bool16 wait = VarGet(ScriptReadHalfword(ctx)); + struct ObjectEvent *obj; + + if ((obj = ScriptHideFollower()) != NULL && wait) + { + sMovingNpcId = obj->localId; + sMovingNpcMapGroup = obj->mapGroup; + sMovingNpcMapNum = obj->mapNum; + SetupNativeScript(ctx, WaitForMovementFinish); + } + + // Just in case, prevent `applymovement` + // from hiding the follower again + if (obj) + FlagSet(FLAG_SAFE_FOLLOWER_MOVEMENT); + + // execute next script command with no delay + return TRUE; +} + void Script_EndTrainerCanSeeIf(struct ScriptContext *ctx) { u8 condition = ScriptReadByte(ctx); diff --git a/src/script.c b/src/script.c index 7111f3228d..3f0a005406 100644 --- a/src/script.c +++ b/src/script.c @@ -6,6 +6,7 @@ #include "trainer_see.h" #include "util.h" #include "constants/event_objects.h" +#include "constants/flags.h" #include "constants/map_scripts.h" #include "field_message_box.h" @@ -259,6 +260,8 @@ void ScriptContext_SetupScript(const u8 *ptr) InitScriptContext(&sGlobalScriptContext, gScriptCmdTable, gScriptCmdTableEnd); SetupBytecodeScript(&sGlobalScriptContext, ptr); LockPlayerFieldControls(); + if (OW_FOLLOWERS_SCRIPT_MOVEMENT) + FlagSet(FLAG_SAFE_FOLLOWER_MOVEMENT); sGlobalScriptContextStatus = CONTEXT_RUNNING; } diff --git a/src/script_movement.c b/src/script_movement.c index d67afd9972..80d9b323f6 100644 --- a/src/script_movement.c +++ b/src/script_movement.c @@ -1,6 +1,7 @@ #include "global.h" #include "script_movement.h" #include "event_object_movement.h" +#include "event_scripts.h" #include "task.h" #include "util.h" #include "constants/event_objects.h" @@ -205,13 +206,32 @@ static void ScriptMovement_MoveObjects(u8 taskId) } } +// from event_object_movement +#define sTypeFuncId data[1] +#define sTimer data[5] + static void ScriptMovement_TakeStep(u8 taskId, u8 moveScrId, u8 objEventId, const u8 *movementScript) { u8 nextMoveActionId; + struct ObjectEvent *obj = &gObjectEvents[objEventId]; - if (ObjectEventIsHeldMovementActive(&gObjectEvents[objEventId]) - && !ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId])) + if (ObjectEventIsHeldMovementActive(obj) && !ObjectEventClearHeldMovementIfFinished(obj)) + { + // If, while undergoing scripted movement, + // a non-player object collides with an active follower pokemon, + // put that follower into a pokeball + // (sTimer helps limit this expensive check to once per step) + if (OW_FOLLOWERS_SCRIPT_MOVEMENT && gSprites[obj->spriteId].sTimer == 1 + && (objEventId = GetObjectObjectCollidesWith(obj, 0, 0, TRUE)) < OBJECT_EVENTS_COUNT + // switch `obj` to follower + && ((obj = &gObjectEvents[objEventId])->movementType == MOVEMENT_TYPE_FOLLOW_PLAYER) + && gSprites[obj->spriteId].sTypeFuncId != 0) + { + ClearObjectEventMovement(obj, &gSprites[obj->spriteId]); + ScriptMovement_StartObjectMovementScript(obj->localId, obj->mapNum, obj->mapGroup, EnterPokeballMovement); + } return; + } nextMoveActionId = *movementScript; if (nextMoveActionId == MOVEMENT_ACTION_STEP_END) @@ -229,3 +249,5 @@ static void ScriptMovement_TakeStep(u8 taskId, u8 moveScrId, u8 objEventId, cons } } +#undef sTypeFuncId +#undef sTimer diff --git a/test/battle/ability/embody_aspect.c b/test/battle/ability/embody_aspect.c index fffc8cf423..22b28dea22 100644 --- a/test/battle/ability/embody_aspect.c +++ b/test/battle/ability/embody_aspect.c @@ -57,3 +57,26 @@ SINGLE_BATTLE_TEST("Embody Aspect activates when it's no longer effected by Neut MESSAGE("The opposing Ogerpon's Embody Aspect raised its Speed!"); } } + +SINGLE_BATTLE_TEST("Embody Aspect raises Speed only once per battle") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_OGERPON_TEAL_TERA) { Ability(ABILITY_EMBODY_ASPECT_TEAL_MASK); } + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { SWITCH(opponent, 1); } + TURN { SWITCH(opponent, 0); } + } SCENE { + ABILITY_POPUP(opponent, ABILITY_EMBODY_ASPECT_TEAL_MASK); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); + MESSAGE("The opposing Ogerpon's Embody Aspect raised its Speed!"); + NONE_OF { + ABILITY_POPUP(opponent, ABILITY_EMBODY_ASPECT_TEAL_MASK); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); + MESSAGE("The opposing Ogerpon's Embody Aspect raised its Speed!"); + } + } THEN { + EXPECT_EQ(opponent->statStages[STAT_SPEED], DEFAULT_STAT_STAGE); + } +} diff --git a/test/battle/ability/intimidate.c b/test/battle/ability/intimidate.c index 727a4086a7..61b53f42e1 100644 --- a/test/battle/ability/intimidate.c +++ b/test/battle/ability/intimidate.c @@ -375,3 +375,18 @@ DOUBLE_BATTLE_TEST("Intimidate will correctly decrease the attack of the second ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); } } + +SINGLE_BATTLE_TEST("Intimdate does not lose timing after mega evolution and switch out by a hit escape move") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_U_TURN].effect == EFFECT_HIT_ESCAPE); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_MANECTRIC) { Item(ITEM_MANECTITE); } + OPPONENT(SPECIES_ARBOK) { Ability(ABILITY_INTIMIDATE); } + } WHEN { + TURN { MOVE(opponent, MOVE_U_TURN, gimmick: GIMMICK_MEGA); SEND_OUT(opponent, 1); } + } SCENE { + ABILITY_POPUP(opponent, ABILITY_INTIMIDATE); + ABILITY_POPUP(opponent, ABILITY_INTIMIDATE); + } +} diff --git a/test/battle/ability/motor_drive.c b/test/battle/ability/motor_drive.c new file mode 100644 index 0000000000..83dc2a37e1 --- /dev/null +++ b/test/battle/ability/motor_drive.c @@ -0,0 +1,14 @@ +#include "global.h" +#include "test/battle.h" + +SINGLE_BATTLE_TEST("Motor Drive absorbs status moves") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_EMOLGA) { Ability(ABILITY_MOTOR_DRIVE); } + } WHEN { + TURN { MOVE(player, MOVE_THUNDER_WAVE); } + } SCENE { + ABILITY_POPUP(opponent, ABILITY_MOTOR_DRIVE); + } +} diff --git a/test/battle/ability/own_tempo.c b/test/battle/ability/own_tempo.c index e9abcf1cf4..a061f820ba 100644 --- a/test/battle/ability/own_tempo.c +++ b/test/battle/ability/own_tempo.c @@ -58,7 +58,6 @@ SINGLE_BATTLE_TEST("Own Tempo prevents confusion from moves by the user") SINGLE_BATTLE_TEST("Mold Breaker ignores Own Tempo") { - KNOWN_FAILING; // Ideally the func CanBeConfused should be split into AttackerCanBeConfused and TargetCanBeConfused or we do it in the same func but have a check for when battlerAtk == battlerDef GIVEN { ASSUME(GetMoveEffect(MOVE_CONFUSE_RAY) == EFFECT_CONFUSE); PLAYER(SPECIES_PINSIR) { Ability(ABILITY_MOLD_BREAKER); } @@ -66,16 +65,13 @@ SINGLE_BATTLE_TEST("Mold Breaker ignores Own Tempo") } WHEN { TURN { MOVE(player, MOVE_CONFUSE_RAY); } } SCENE { - NONE_OF { - ABILITY_POPUP(opponent, ABILITY_OWN_TEMPO); - MESSAGE("The opposing Slowpoke's Own Tempo prevents confusion!"); - } + ANIMATION(ANIM_TYPE_MOVE, MOVE_CONFUSE_RAY, player); + NOT MESSAGE("The opposing Slowpoke's Own Tempo prevents confusion!"); } } SINGLE_BATTLE_TEST("Mold Breaker does not prevent Own Tempo from curing confusion right after") { - KNOWN_FAILING; GIVEN { ASSUME(GetMoveEffect(MOVE_CONFUSE_RAY) == EFFECT_CONFUSE); PLAYER(SPECIES_PINSIR) { Ability(ABILITY_MOLD_BREAKER); }; diff --git a/test/battle/ability/pastel_veil.c b/test/battle/ability/pastel_veil.c index 686ca0ff85..5f6fa6b058 100644 --- a/test/battle/ability/pastel_veil.c +++ b/test/battle/ability/pastel_veil.c @@ -33,7 +33,6 @@ DOUBLE_BATTLE_TEST("Pastel Veil prevents Poison Sting poison on partner") SINGLE_BATTLE_TEST("Pastel Veil immediately cures Mold Breaker poison") { - KNOWN_FAILING; GIVEN { ASSUME(GetMoveEffect(MOVE_TOXIC) == EFFECT_TOXIC); PLAYER(SPECIES_PINSIR) { Ability(ABILITY_MOLD_BREAKER); } diff --git a/test/battle/ability/tera_shell.c b/test/battle/ability/tera_shell.c index ef2993a0e7..63dda3207a 100644 --- a/test/battle/ability/tera_shell.c +++ b/test/battle/ability/tera_shell.c @@ -97,3 +97,18 @@ DOUBLE_BATTLE_TEST("Tera Shell only makes the first hit against Terapagos from a NOT MESSAGE("It's not very effective…"); } } + +SINGLE_BATTLE_TEST("Tera Shell respects immunity") +{ + GIVEN { + PLAYER(SPECIES_TERAPAGOS_TERASTAL) { Ability(ABILITY_TERA_SHELL); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_SHADOW_BALL); } + } SCENE { + NONE_OF { + ABILITY_POPUP(player, ABILITY_TERA_SHELL); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SHADOW_BALL, opponent); + } + } +} diff --git a/test/battle/ai/ai.c b/test/battle/ai/ai.c index e9b5a2e51c..da77f828e4 100644 --- a/test/battle/ai/ai.c +++ b/test/battle/ai/ai.c @@ -831,3 +831,17 @@ AI_SINGLE_BATTLE_TEST("AI stays choice locked into moves in spite of the player' TURN { EXPECT_MOVE(opponent, aiMove); } } } + +AI_SINGLE_BATTLE_TEST("AI won't use Sucker Punch if it expects a move of the same priority bracket and the opponent is faster") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_QUICK_ATTACK].priority == 1); + ASSUME(gMovesInfo[MOVE_SUCKER_PUNCH].priority == 1); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); + PLAYER(SPECIES_WOBBUFFET) { Speed(300); Moves(MOVE_QUICK_ATTACK); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(100); Moves(MOVE_SUCKER_PUNCH, MOVE_TACKLE); } + } WHEN { + TURN { MOVE(player, MOVE_QUICK_ATTACK); EXPECT_MOVE(opponent, MOVE_SUCKER_PUNCH); } + TURN { MOVE(player, MOVE_QUICK_ATTACK); EXPECT_MOVE(opponent, MOVE_TACKLE); } + } +} diff --git a/test/battle/ai/ai_switching.c b/test/battle/ai/ai_switching.c index 227909e400..367afbc0f1 100644 --- a/test/battle/ai/ai_switching.c +++ b/test/battle/ai/ai_switching.c @@ -655,7 +655,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it has bee } } -AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it has been Yawn'd with more than 1/3 HP remaining") +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it has been Yawn'd with more than 1/3 HP remaining and it has a good switchin") { u32 hp; PARAMETRIZE { hp = 30; } @@ -665,8 +665,8 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it has bee ASSUME(GetMoveEffect(MOVE_YAWN) == EFFECT_YAWN); AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); PLAYER(SPECIES_SLAKOTH) { Moves(MOVE_TACKLE, MOVE_YAWN); } - OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); HP(hp); MaxHP(30); } - OPPONENT(SPECIES_ZIGZAGOON) { Moves(MOVE_TACKLE); } + OPPONENT(SPECIES_SLAKOTH) { Moves(MOVE_TACKLE); HP(hp); MaxHP(30); } + OPPONENT(SPECIES_SLAKOTH) { Moves(MOVE_HEADBUTT); } } WHEN { TURN { MOVE(player, MOVE_YAWN) ; EXPECT_MOVE(opponent, MOVE_TACKLE); } if (hp == 30) @@ -676,6 +676,23 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it has bee } } +AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will not switch out if it has been Yawn'd with more than 1/3 HP remaining and it does not have a good switchin") +{ + u32 hp; + PARAMETRIZE { hp = 30; } + PARAMETRIZE { hp = 10; } + GIVEN { + ASSUME(GetMoveEffect(MOVE_YAWN) == EFFECT_YAWN); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING); + PLAYER(SPECIES_SLAKOTH) { Moves(MOVE_TACKLE, MOVE_YAWN); } + OPPONENT(SPECIES_SLAKOTH) { Moves(MOVE_TACKLE); HP(hp); MaxHP(30); } + OPPONENT(SPECIES_SLAKOTH) { Level(1); Moves(MOVE_HEADBUTT); } + } WHEN { + TURN { MOVE(player, MOVE_YAWN) ; EXPECT_MOVE(opponent, MOVE_TACKLE); } + TURN { MOVE(player, MOVE_TACKLE) ; EXPECT_MOVE(opponent, MOVE_TACKLE); } + } +} + AI_DOUBLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it has been Yawn'd with more than 1/3 HP remaining (Doubles)") { u32 hp; @@ -1005,15 +1022,15 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI won't switch out if Yawn'd wi GIVEN { ASSUME(GetMoveEffect(MOVE_YAWN) == EFFECT_YAWN); AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | aceFlag | AI_FLAG_CHECK_VIABILITY | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_MON_CHOICES | AI_FLAG_SMART_SWITCHING); - PLAYER(SPECIES_SLOWKING) { Moves(MOVE_YAWN, MOVE_CONFUSION, MOVE_POWER_GEM, MOVE_WATER_PULSE); Item(ITEM_LEFTOVERS); } - OPPONENT(SPECIES_SCOLIPEDE) { Moves(MOVE_POISON_TAIL); } - OPPONENT(SPECIES_ABSOL) { Moves(MOVE_KNOCK_OFF, MOVE_CRUNCH); } + PLAYER(SPECIES_SLAKOTH) { Moves(MOVE_TACKLE, MOVE_YAWN); } + OPPONENT(SPECIES_SLAKOTH) { Moves(MOVE_TACKLE); } + OPPONENT(SPECIES_SLAKOTH) { Moves(MOVE_HEADBUTT); } } WHEN { - TURN { MOVE(player, MOVE_YAWN); EXPECT_MOVE(opponent, MOVE_POISON_TAIL); } + TURN { MOVE(player, MOVE_YAWN); EXPECT_MOVE(opponent, MOVE_TACKLE); } if (aceFlag) - TURN { MOVE(player, MOVE_POWER_GEM); EXPECT_MOVE(opponent, MOVE_POISON_TAIL); } + TURN { MOVE(player, MOVE_TACKLE); EXPECT_MOVE(opponent, MOVE_TACKLE); } else - TURN { MOVE(player, MOVE_POWER_GEM); EXPECT_SWITCH(opponent, 1); } + TURN { MOVE(player, MOVE_TACKLE); EXPECT_SWITCH(opponent, 1); } } } diff --git a/test/battle/hold_effect/air_balloon.c b/test/battle/hold_effect/air_balloon.c index 302a0e6397..cb06743e4c 100644 --- a/test/battle/hold_effect/air_balloon.c +++ b/test/battle/hold_effect/air_balloon.c @@ -105,7 +105,6 @@ SINGLE_BATTLE_TEST("Air Balloon pops before it can be stolen with Magician") SINGLE_BATTLE_TEST("Air Balloon pops before it can be stolen with Thief or Covet") { u32 move; - KNOWN_FAILING; PARAMETRIZE { move = MOVE_THIEF; } PARAMETRIZE { move = MOVE_COVET; } GIVEN { diff --git a/test/battle/hold_effect/jaboca_berry.c b/test/battle/hold_effect/jaboca_berry.c index 756b5adf3c..e446c4253d 100644 --- a/test/battle/hold_effect/jaboca_berry.c +++ b/test/battle/hold_effect/jaboca_berry.c @@ -54,7 +54,7 @@ SINGLE_BATTLE_TEST("Jaboca Berry tirggers before Bug Bite can steal it") HP_BAR(opponent); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); HP_BAR(player); - MESSAGE("Wyanut was hurt by the opposing Wobbuffet's Jaboca Berry!"); - NOT MESSAGE("Wynaut stole and ate the opposing its target's Jaboca Berry!"); + MESSAGE("Wynaut was hurt by the opposing Wobbuffet's Jaboca Berry!"); + NOT MESSAGE("Wynaut stole and ate the opposing Wobbuffet's Jaboca Berry!"); } } diff --git a/test/battle/hold_effect/shell_bell.c b/test/battle/hold_effect/shell_bell.c index b0ed83d540..f669c55081 100644 --- a/test/battle/hold_effect/shell_bell.c +++ b/test/battle/hold_effect/shell_bell.c @@ -198,5 +198,96 @@ SINGLE_BATTLE_TEST("Shell Bell does not activate on Future Sight if the original } } +DOUBLE_BATTLE_TEST("Shell Bell heals accumulated damage for spread moves") +{ + s16 opponentLeftDamage; + s16 opponentRightDamage; + s16 playerRightDamage; + s16 shellBellHeal; + + const u16 maxHp = 200; + const u16 initHp = 1; + GIVEN { + ASSUME(gMovesInfo[MOVE_DISCHARGE].target == MOVE_TARGET_FOES_AND_ALLY); + PLAYER(SPECIES_ARIADOS) { MaxHP(maxHp); HP(initHp); Item(ITEM_SHELL_BELL); } + PLAYER(SPECIES_WOBBUFFET) {} + OPPONENT(SPECIES_GYARADOS) {} + OPPONENT(SPECIES_CHANSEY) {} + } WHEN { + TURN { + MOVE(playerLeft, MOVE_DISCHARGE); + } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_DISCHARGE, playerLeft); + HP_BAR(opponentLeft, captureDamage: &opponentLeftDamage); + HP_BAR(playerRight, captureDamage: &playerRightDamage); + HP_BAR(opponentRight, captureDamage: &opponentRightDamage); + + HP_BAR(playerLeft, captureDamage: &shellBellHeal); + } THEN { + const s16 totalDamage = opponentLeftDamage + + playerRightDamage + opponentRightDamage; + EXPECT_EQ(shellBellHeal, -totalDamage / 8); + EXPECT_EQ(playerLeft->hp, initHp + (totalDamage / 8)); + } +} + +SINGLE_BATTLE_TEST("Shell Bell restores 1/8 HP at move end, one strike") +{ + const u16 maxHp = 200; + u16 hp, opponentHp; + u16 hpGainFromDamage, hpGainActual; + + PARAMETRIZE { hp = maxHp; opponentHp = maxHp; } + PARAMETRIZE { hp = maxHp - 1; opponentHp = maxHp; } + PARAMETRIZE { hp = maxHp / 2; opponentHp = maxHp; } + PARAMETRIZE { hp = maxHp; opponentHp = 24; } // dragon rage only does 24 dmg, only heal 3 HP instead of 5 + PARAMETRIZE { hp = maxHp - 1; opponentHp = 24; } // dragon rage only does 24 dmg, only heal 3 HP instead of 5 + PARAMETRIZE { hp = maxHp / 2; opponentHp = 24; } // dragon rage only does 24 dmg, only heal 3 HP instead of 5 + PARAMETRIZE { hp = maxHp; opponentHp = 1; } + PARAMETRIZE { hp = maxHp - 1; opponentHp = 1; } + PARAMETRIZE { hp = maxHp / 2; opponentHp = 1; } + + hpGainFromDamage = max(1, min(40, opponentHp) / 8); + hpGainActual = min(maxHp - hp, hpGainFromDamage); + + GIVEN { + ASSUME(GetMoveEffect(MOVE_DRAGON_RAGE) == EFFECT_FIXED_DAMAGE_ARG); + ASSUME(GetMoveFixedDamage(MOVE_DRAGON_RAGE) == 40); + PLAYER(SPECIES_WOBBUFFET) { MaxHP(maxHp); HP(hp); Item(ITEM_SHELL_BELL); } + OPPONENT(SPECIES_WOBBUFFET) { MaxHP(maxHp); HP(opponentHp); } + } WHEN { + TURN { MOVE(player, MOVE_DRAGON_RAGE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_RAGE, player); + HP_BAR(opponent); + if (hp < maxHp) { + HP_BAR(player, damage: -hpGainActual); + } else { + NOT HP_BAR(player); + } + } THEN { + EXPECT_EQ(player->hp, hp + hpGainActual); + } +} + +SINGLE_BATTLE_TEST("Shell Bell recovers only 1 damage if the move only did 1 damage") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { HP(1); Item(ITEM_SHELL_BELL); } + OPPONENT(SPECIES_WOBBUFFET) { HP(1); }; + } WHEN { + TURN { MOVE(player, MOVE_DRAGON_RAGE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_RAGE, player); + HP_BAR(opponent); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); + HP_BAR(player); + + } THEN { + EXPECT_EQ(player->hp, 2); + } +} + TO_DO_BATTLE_TEST("If a Pokémon steals a Shell Bell with Thief or Covet, it will recover HP for the use of that move that stole the Shell Bell") TO_DO_BATTLE_TEST("If a Pokémon steals a Shell Bell with Magician, it will recover HP for the use of that move that stole the Shell Bell") diff --git a/test/battle/move_effect/brick_break.c b/test/battle/move_effect/brick_break.c index a4aae1e683..05e22f42d9 100644 --- a/test/battle/move_effect/brick_break.c +++ b/test/battle/move_effect/brick_break.c @@ -4,119 +4,139 @@ ASSUMPTIONS { ASSUME(GetMoveEffect(MOVE_BRICK_BREAK) == EFFECT_BRICK_BREAK); + ASSUME(GetMoveEffect(MOVE_PSYCHIC_FANGS) == EFFECT_BRICK_BREAK); ASSUME(GetMoveEffect(MOVE_SNOWSCAPE) == EFFECT_SNOWSCAPE); ASSUME(GetMoveEffect(MOVE_LIGHT_SCREEN) == EFFECT_LIGHT_SCREEN); ASSUME(GetMoveEffect(MOVE_REFLECT) == EFFECT_REFLECT); ASSUME(GetMoveEffect(MOVE_AURORA_VEIL) == EFFECT_AURORA_VEIL); } -SINGLE_BATTLE_TEST("Brick Break removes Light Screen, Reflect and Aurora Veil from the target's side of the field") +SINGLE_BATTLE_TEST("Brick Break and Psychic Fangs remove Light Screen, Reflect and Aurora Veil from the target's side of the field") { - u16 move; + u32 move; + u32 breakingMove; - PARAMETRIZE { move = MOVE_LIGHT_SCREEN; } - PARAMETRIZE { move = MOVE_REFLECT; } - PARAMETRIZE { move = MOVE_AURORA_VEIL; } + PARAMETRIZE { move = MOVE_LIGHT_SCREEN; breakingMove = MOVE_BRICK_BREAK; } + PARAMETRIZE { move = MOVE_REFLECT; breakingMove = MOVE_BRICK_BREAK; } + PARAMETRIZE { move = MOVE_AURORA_VEIL; breakingMove = MOVE_BRICK_BREAK; } + PARAMETRIZE { move = MOVE_LIGHT_SCREEN; breakingMove = MOVE_PSYCHIC_FANGS; } + PARAMETRIZE { move = MOVE_REFLECT; breakingMove = MOVE_PSYCHIC_FANGS; } + PARAMETRIZE { move = MOVE_AURORA_VEIL; breakingMove = MOVE_PSYCHIC_FANGS; } GIVEN { PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(player, MOVE_SNOWSCAPE); } - TURN { MOVE(opponent, move); MOVE(player, MOVE_BRICK_BREAK); } + TURN { MOVE(opponent, move); MOVE(player, breakingMove); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SNOWSCAPE, player); ANIMATION(ANIM_TYPE_MOVE, move, opponent); - ANIMATION(ANIM_TYPE_MOVE, MOVE_BRICK_BREAK, player); + ANIMATION(ANIM_TYPE_MOVE, breakingMove, player); MESSAGE("The wall shattered!"); HP_BAR(opponent); } } -SINGLE_BATTLE_TEST("Brick Break doesn't remove Light Screen, Reflect and Aurora Veil if the target is immune") +SINGLE_BATTLE_TEST("Brick Break and Psychic Fangs don't remove Light Screen, Reflect and Aurora Veil if the target is immune") { - u16 move; + u32 move; + u32 breakingMove; - PARAMETRIZE { move = MOVE_LIGHT_SCREEN; } - PARAMETRIZE { move = MOVE_REFLECT; } - PARAMETRIZE { move = MOVE_AURORA_VEIL; } + PARAMETRIZE { move = MOVE_LIGHT_SCREEN; breakingMove = MOVE_BRICK_BREAK; } + PARAMETRIZE { move = MOVE_REFLECT; breakingMove = MOVE_BRICK_BREAK; } + PARAMETRIZE { move = MOVE_AURORA_VEIL; breakingMove = MOVE_BRICK_BREAK; } + PARAMETRIZE { move = MOVE_LIGHT_SCREEN; breakingMove = MOVE_PSYCHIC_FANGS; } + PARAMETRIZE { move = MOVE_REFLECT; breakingMove = MOVE_PSYCHIC_FANGS; } + PARAMETRIZE { move = MOVE_AURORA_VEIL; breakingMove = MOVE_PSYCHIC_FANGS; } - KNOWN_FAILING; GIVEN { PLAYER(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_GASTLY); + OPPONENT(SPECIES_SABLEYE); } WHEN { TURN { MOVE(player, MOVE_SNOWSCAPE); } - TURN { MOVE(opponent, move); MOVE(player, MOVE_BRICK_BREAK); } + TURN { MOVE(opponent, move); MOVE(player, breakingMove); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SNOWSCAPE, player); ANIMATION(ANIM_TYPE_MOVE, move, opponent); NONE_OF { - ANIMATION(ANIM_TYPE_MOVE, MOVE_BRICK_BREAK, player); + ANIMATION(ANIM_TYPE_MOVE, breakingMove, player); MESSAGE("The wall shattered!"); HP_BAR(opponent); } } } -SINGLE_BATTLE_TEST("Brick Break doesn't remove Light Screen, Reflect and Aurora Veil if the target Protected") +SINGLE_BATTLE_TEST("Brick Break and Psychic Fangs don't remove Light Screen, Reflect and Aurora Veil if the target Protected") { - u16 move; + u32 move; + u32 breakingMove; - PARAMETRIZE { move = MOVE_LIGHT_SCREEN; } - PARAMETRIZE { move = MOVE_REFLECT; } - PARAMETRIZE { move = MOVE_AURORA_VEIL; } + PARAMETRIZE { move = MOVE_LIGHT_SCREEN; breakingMove = MOVE_BRICK_BREAK; } + PARAMETRIZE { move = MOVE_REFLECT; breakingMove = MOVE_BRICK_BREAK; } + PARAMETRIZE { move = MOVE_AURORA_VEIL; breakingMove = MOVE_BRICK_BREAK; } + PARAMETRIZE { move = MOVE_LIGHT_SCREEN; breakingMove = MOVE_PSYCHIC_FANGS; } + PARAMETRIZE { move = MOVE_REFLECT; breakingMove = MOVE_PSYCHIC_FANGS; } + PARAMETRIZE { move = MOVE_AURORA_VEIL; breakingMove = MOVE_PSYCHIC_FANGS; } GIVEN { PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(player, MOVE_SNOWSCAPE); MOVE(opponent, move); } - TURN { MOVE(player, MOVE_BRICK_BREAK); MOVE(opponent, MOVE_PROTECT); } + TURN { MOVE(player, breakingMove); MOVE(opponent, MOVE_PROTECT); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SNOWSCAPE, player); ANIMATION(ANIM_TYPE_MOVE, move, opponent); ANIMATION(ANIM_TYPE_MOVE, MOVE_PROTECT, opponent); NONE_OF { - ANIMATION(ANIM_TYPE_MOVE, MOVE_BRICK_BREAK, player); + ANIMATION(ANIM_TYPE_MOVE, breakingMove, player); MESSAGE("The wall shattered!"); HP_BAR(opponent); } } } -SINGLE_BATTLE_TEST("Brick Break doesn't remove Light Screen, Reflect and Aurora Veil if it misses") +SINGLE_BATTLE_TEST("Brick Break and Psychic Fangs don't remove Light Screen, Reflect and Aurora Veil if it misses") { - u16 move; + u32 move; + u32 breakingMove; - PARAMETRIZE { move = MOVE_LIGHT_SCREEN; } - PARAMETRIZE { move = MOVE_REFLECT; } - PARAMETRIZE { move = MOVE_AURORA_VEIL; } + PARAMETRIZE { move = MOVE_LIGHT_SCREEN; breakingMove = MOVE_BRICK_BREAK; } + PARAMETRIZE { move = MOVE_REFLECT; breakingMove = MOVE_BRICK_BREAK; } + PARAMETRIZE { move = MOVE_AURORA_VEIL; breakingMove = MOVE_BRICK_BREAK; } + PARAMETRIZE { move = MOVE_LIGHT_SCREEN; breakingMove = MOVE_PSYCHIC_FANGS; } + PARAMETRIZE { move = MOVE_REFLECT; breakingMove = MOVE_PSYCHIC_FANGS; } + PARAMETRIZE { move = MOVE_AURORA_VEIL; breakingMove = MOVE_PSYCHIC_FANGS; } GIVEN { PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_BRIGHT_POWDER); } } WHEN { TURN { MOVE(player, MOVE_SNOWSCAPE); MOVE(opponent, move); } - TURN { MOVE(player, MOVE_BRICK_BREAK, hit: FALSE); } + TURN { MOVE(player, breakingMove, hit: FALSE); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SNOWSCAPE, player); ANIMATION(ANIM_TYPE_MOVE, move, opponent); NONE_OF { - ANIMATION(ANIM_TYPE_MOVE, MOVE_BRICK_BREAK, player); + ANIMATION(ANIM_TYPE_MOVE, breakingMove, player); MESSAGE("The wall shattered!"); HP_BAR(opponent); } } } -DOUBLE_BATTLE_TEST("Brick Break can remove Light Screen, Reflect and Aurora Veil on users side") +DOUBLE_BATTLE_TEST("Brick Break and Psychic Fangs can remove Light Screen, Reflect and Aurora Veil on users side") { - u16 move; + u32 move; + u32 breakingMove; - PARAMETRIZE { move = MOVE_LIGHT_SCREEN; } - PARAMETRIZE { move = MOVE_REFLECT; } - PARAMETRIZE { move = MOVE_AURORA_VEIL; } + PARAMETRIZE { move = MOVE_LIGHT_SCREEN; breakingMove = MOVE_BRICK_BREAK; } + PARAMETRIZE { move = MOVE_REFLECT; breakingMove = MOVE_BRICK_BREAK; } + PARAMETRIZE { move = MOVE_AURORA_VEIL; breakingMove = MOVE_BRICK_BREAK; } + PARAMETRIZE { move = MOVE_LIGHT_SCREEN; breakingMove = MOVE_PSYCHIC_FANGS; } + PARAMETRIZE { move = MOVE_REFLECT; breakingMove = MOVE_PSYCHIC_FANGS; } + PARAMETRIZE { move = MOVE_AURORA_VEIL; breakingMove = MOVE_PSYCHIC_FANGS; } GIVEN { PLAYER(SPECIES_WOBBUFFET); @@ -127,12 +147,12 @@ DOUBLE_BATTLE_TEST("Brick Break can remove Light Screen, Reflect and Aurora Veil TURN { MOVE(opponentLeft, MOVE_SNOWSCAPE); MOVE(playerLeft, move); - MOVE(playerRight, MOVE_BRICK_BREAK, target: playerLeft); + MOVE(playerRight, breakingMove, target: playerLeft); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_SNOWSCAPE, opponentLeft); ANIMATION(ANIM_TYPE_MOVE, move, playerLeft); - ANIMATION(ANIM_TYPE_MOVE, MOVE_BRICK_BREAK, playerRight); + ANIMATION(ANIM_TYPE_MOVE, breakingMove, playerRight); MESSAGE("The wall shattered!"); HP_BAR(playerLeft); } diff --git a/test/battle/move_effect/coaching.c b/test/battle/move_effect/coaching.c index 0cfc593d35..812063579d 100644 --- a/test/battle/move_effect/coaching.c +++ b/test/battle/move_effect/coaching.c @@ -58,7 +58,6 @@ DOUBLE_BATTLE_TEST("Coaching bypasses Crafty Shield") DOUBLE_BATTLE_TEST("Coaching fails if all allies are is semi-invulnerable") { - KNOWN_FAILING; // Coaching succeeds GIVEN { ASSUME(GetMoveEffect(MOVE_FLY) == EFFECT_SEMI_INVULNERABLE); PLAYER(SPECIES_WOBBUFFET); diff --git a/test/battle/move_effect/curse.c b/test/battle/move_effect/curse.c index 868608caa8..bb1de42fba 100644 --- a/test/battle/move_effect/curse.c +++ b/test/battle/move_effect/curse.c @@ -15,7 +15,9 @@ SINGLE_BATTLE_TEST("Curse lowers Speed, raises Attack, and raises Defense when u TURN { MOVE(player, MOVE_CURSE); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_CURSE, player); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Wobbuffet's Speed fell!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); MESSAGE("Wobbuffet's Attack rose!"); MESSAGE("Wobbuffet's Defense rose!"); } diff --git a/test/battle/move_effect/dream_eater.c b/test/battle/move_effect/dream_eater.c index b840e9860c..67b2ed5af5 100644 --- a/test/battle/move_effect/dream_eater.c +++ b/test/battle/move_effect/dream_eater.c @@ -55,6 +55,62 @@ SINGLE_BATTLE_TEST("Dream Eater fails if Heal Block applies") } } -TO_DO_BATTLE_TEST("Dream Eater works on targets with Comatose"); -TO_DO_BATTLE_TEST("Dream Eater fails if the target is behind a Substitute (Gen 1-4)"); -TO_DO_BATTLE_TEST("Dream Eater works if the target is behind a Substitute (Gen 5+)"); +SINGLE_BATTLE_TEST("Dream Eater works on targets with Comatose") +{ + s16 damage; + s16 healed; + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { HP(1); } + OPPONENT(SPECIES_KOMALA) { Ability(ABILITY_COMATOSE); } + } WHEN { + TURN { MOVE(player, MOVE_DREAM_EATER); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_DREAM_EATER, player); + HP_BAR(opponent, captureDamage: &damage); + HP_BAR(player, captureDamage: &healed); + } THEN { + EXPECT_MUL_EQ(damage, Q_4_12(-1.0/2.0), healed); + } +} + +#if B_UPDATED_MOVE_FLAGS < GEN_5 +SINGLE_BATTLE_TEST("Dream Eater fails if the target is behind a Substitute (Gen 1-4)") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_YAWN].effect == EFFECT_YAWN); + ASSUME(gMovesInfo[MOVE_SUBSTITUTE].effect == EFFECT_SUBSTITUTE); + ASSUME(!gMovesInfo[MOVE_DREAM_EATER].ignoresSubstitute); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_YAWN); MOVE(player, MOVE_SUBSTITUTE); } + TURN { } + TURN { MOVE(opponent, MOVE_DREAM_EATER); } + } SCENE { + MESSAGE("The opposing Wobbuffet used Dream Eater!"); + MESSAGE("Wobbuffet wasn't affected!"); + } +} +#else +SINGLE_BATTLE_TEST("Dream Eater works if the target is behind a Substitute (Gen 5+)") +{ + s16 damage; + s16 healed; + GIVEN { + ASSUME(gMovesInfo[MOVE_YAWN].effect == EFFECT_YAWN); + ASSUME(gMovesInfo[MOVE_SUBSTITUTE].effect == EFFECT_SUBSTITUTE); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET) { HP(1); } + } WHEN { + TURN { MOVE(opponent, MOVE_YAWN); MOVE(player, MOVE_SUBSTITUTE); } + TURN { } + TURN { MOVE(opponent, MOVE_DREAM_EATER); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_DREAM_EATER, opponent); + HP_BAR(player, captureDamage: &damage); + HP_BAR(opponent, captureDamage: &healed); + } THEN { + EXPECT_MUL_EQ(damage, Q_4_12(-1.0/2.0), healed); + } +} +#endif diff --git a/test/battle/move_effect/follow_me.c b/test/battle/move_effect/follow_me.c new file mode 100644 index 0000000000..fe7b96207d --- /dev/null +++ b/test/battle/move_effect/follow_me.c @@ -0,0 +1,71 @@ +#include "global.h" +#include "test/battle.h" + +ASSUMPTIONS +{ + ASSUME(gMovesInfo[MOVE_FOLLOW_ME].effect == EFFECT_FOLLOW_ME); + ASSUME(gMovesInfo[MOVE_SPOTLIGHT].effect == EFFECT_FOLLOW_ME); +} + +DOUBLE_BATTLE_TEST("Follow Me redirects single target moves used by opponents to user") +{ + struct BattlePokemon *moveUser = NULL; + struct BattlePokemon *partner = NULL; + PARAMETRIZE { moveUser = opponentLeft; partner = opponentRight; } + PARAMETRIZE { moveUser = opponentRight; partner = opponentLeft; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WYNAUT); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(playerLeft, MOVE_TACKLE, target: moveUser); + MOVE(playerRight, MOVE_TACKLE, target: partner); + MOVE(moveUser, MOVE_FOLLOW_ME); + MOVE(partner, MOVE_TACKLE, target: playerLeft); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FOLLOW_ME, moveUser); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerLeft); + HP_BAR(moveUser); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerRight); + HP_BAR(moveUser); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, partner); + HP_BAR(playerLeft); + } +} + +DOUBLE_BATTLE_TEST("Spotlight redirects single target moves used by the opposing side to Spotlight's target") +{ + struct BattlePokemon *moveTarget = NULL; + PARAMETRIZE { moveTarget = playerRight; } + PARAMETRIZE { moveTarget = opponentLeft; } + PARAMETRIZE { moveTarget = opponentRight; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WYNAUT); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(playerLeft, MOVE_SPOTLIGHT, target: moveTarget); + MOVE(playerRight, MOVE_TACKLE, target: opponentRight); + MOVE(opponentLeft, MOVE_TACKLE, target: playerLeft); + MOVE(opponentRight, MOVE_TACKLE, target: playerLeft); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SPOTLIGHT, playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerRight); + if (moveTarget != playerRight) + HP_BAR(moveTarget); + else + HP_BAR(opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentLeft); + if (moveTarget == playerRight) + HP_BAR(moveTarget); + else + HP_BAR(playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponentRight); + if (moveTarget == playerRight) + HP_BAR(moveTarget); + else + HP_BAR(playerLeft); + } +} diff --git a/test/battle/move_effect/instruct.c b/test/battle/move_effect/instruct.c index 28294dc3a5..85f56d4c4b 100644 --- a/test/battle/move_effect/instruct.c +++ b/test/battle/move_effect/instruct.c @@ -217,8 +217,11 @@ DOUBLE_BATTLE_TEST("Instruct-called moves keep their priority") } } -DOUBLE_BATTLE_TEST("Instructed move will be absorbed by Lightning Rod if it turns into an Electric Type move") +DOUBLE_BATTLE_TEST("Instructed move will be redirected and absorbed by Lightning Rod if it turns into an Electric Type move") { + struct BattlePokemon *moveTarget = NULL; + PARAMETRIZE { moveTarget = opponentLeft; } + PARAMETRIZE { moveTarget = opponentRight; } GIVEN { PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WYNAUT); @@ -226,7 +229,7 @@ DOUBLE_BATTLE_TEST("Instructed move will be absorbed by Lightning Rod if it turn OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { - MOVE(playerLeft, MOVE_TACKLE, target: opponentLeft); + MOVE(playerLeft, MOVE_TACKLE, target: moveTarget); MOVE(opponentLeft, MOVE_PLASMA_FISTS, target: playerLeft); MOVE(playerRight, MOVE_INSTRUCT, target: playerLeft); MOVE(opponentRight, MOVE_CELEBRATE); @@ -239,3 +242,65 @@ DOUBLE_BATTLE_TEST("Instructed move will be absorbed by Lightning Rod if it turn NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerLeft); } } + +DOUBLE_BATTLE_TEST("Instructed move will be redirected by Follow Me after instructed target loses Stalwart") +{ + struct BattlePokemon *moveTarget = NULL; + PARAMETRIZE { moveTarget = opponentLeft; } + PARAMETRIZE { moveTarget = opponentRight; } + GIVEN { + ASSUME(gMovesInfo[MOVE_FOLLOW_ME].effect == EFFECT_FOLLOW_ME); + ASSUME(gMovesInfo[MOVE_SKILL_SWAP].effect == EFFECT_SKILL_SWAP); + PLAYER(SPECIES_DURALUDON) { Ability(ABILITY_STALWART); } + PLAYER(SPECIES_DURALUDON) { Ability(ABILITY_STALWART); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { + MOVE(playerLeft, MOVE_TACKLE, target: moveTarget); + MOVE(opponentLeft, MOVE_FOLLOW_ME); + MOVE(opponentRight, MOVE_SKILL_SWAP, target: playerLeft); + MOVE(playerRight, MOVE_INSTRUCT, target: playerLeft); + } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FOLLOW_ME, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerLeft); + HP_BAR(moveTarget); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SKILL_SWAP, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_INSTRUCT, playerRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerLeft); + HP_BAR(opponentLeft); + } +} + +DOUBLE_BATTLE_TEST("Instructed move will be redirected by Rage Powder after instructed target loses Grass typing") +{ + struct BattlePokemon *moveTarget = NULL; + PARAMETRIZE { moveTarget = opponentLeft; } + PARAMETRIZE { moveTarget = opponentRight; } + GIVEN { + ASSUME(gMovesInfo[MOVE_RAGE_POWDER].effect == EFFECT_FOLLOW_ME); + ASSUME(gMovesInfo[MOVE_RAGE_POWDER].powderMove == TRUE); + ASSUME(gMovesInfo[MOVE_SOAK].effect == EFFECT_SOAK); + PLAYER(SPECIES_TREECKO); + PLAYER(SPECIES_SCEPTILE); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { + MOVE(playerLeft, MOVE_TACKLE, target: moveTarget); + MOVE(opponentLeft, MOVE_RAGE_POWDER); + MOVE(opponentRight, MOVE_SOAK, target: playerLeft); + MOVE(playerRight, MOVE_INSTRUCT, target: playerLeft); + } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_RAGE_POWDER, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerLeft); + HP_BAR(moveTarget); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SOAK, opponentRight); + MESSAGE("Treecko transformed into the Water type!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_INSTRUCT, playerRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerLeft); + HP_BAR(opponentLeft); + } +} diff --git a/test/battle/move_effect/raging_bull.c b/test/battle/move_effect/raging_bull.c index c75c977495..056a5093a8 100644 --- a/test/battle/move_effect/raging_bull.c +++ b/test/battle/move_effect/raging_bull.c @@ -41,7 +41,6 @@ SINGLE_BATTLE_TEST("Raging Bull doesn't remove Light Screen, Reflect and Aurora PARAMETRIZE { move = MOVE_REFLECT; } PARAMETRIZE { move = MOVE_AURORA_VEIL; } - KNOWN_FAILING; GIVEN { PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_GASTLY); diff --git a/test/battle/move_effect/reflect_type.c b/test/battle/move_effect/reflect_type.c index fc152fc27f..f3093ea4e3 100644 --- a/test/battle/move_effect/reflect_type.c +++ b/test/battle/move_effect/reflect_type.c @@ -1,9 +1,6 @@ #include "global.h" #include "test/battle.h" -TO_DO_BATTLE_TEST("Reflect Type fails if the user is Terastallized"); -TO_DO_BATTLE_TEST("Reflect Type succeeds against a Terastallized target and copies its Tera type"); - SINGLE_BATTLE_TEST("Reflect Type does not affect any of Arceus' forms") { u32 j; @@ -86,7 +83,7 @@ SINGLE_BATTLE_TEST("Reflect Type does not affect any of Silvally's forms") } } -SINGLE_BATTLE_TEST("Reflect Type does not affect Pokémon with no types") +SINGLE_BATTLE_TEST("Reflect Type fails if the target has no types") { GIVEN { ASSUME(gSpeciesInfo[SPECIES_ARCANINE].types[0] == TYPE_FIRE); @@ -151,7 +148,7 @@ SINGLE_BATTLE_TEST("Reflect Type copies a target's pure type") } } -SINGLE_BATTLE_TEST("Reflect Type defaults to Normal type for the user's types[0] and types[1] if the target only has a 3rd type") +SINGLE_BATTLE_TEST("Reflect Type defaults to Normal type for the user's 1st and 2nd types if the target only has a 3rd type") { GIVEN { ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].types[0] == TYPE_PSYCHIC); @@ -184,3 +181,38 @@ SINGLE_BATTLE_TEST("Reflect Type defaults to Normal type for the user's types[0] EXPECT_EQ(player->types[2], TYPE_GRASS); } } + +SINGLE_BATTLE_TEST("Reflect Type fails if the user is Terastallized") +{ + GIVEN { + PLAYER(SPECIES_ARCANINE) { TeraType(TYPE_NORMAL); } + OPPONENT(SPECIES_POLIWRATH); + } WHEN { + TURN { MOVE(player, MOVE_REFLECT_TYPE, gimmick: GIMMICK_TERA); } + } SCENE { + MESSAGE("Arcanine used Reflect Type!"); + MESSAGE("But it failed!"); + } THEN { + EXPECT_EQ(player->types[0], TYPE_FIRE); + EXPECT_EQ(player->types[1], TYPE_FIRE); + EXPECT_EQ(player->types[2], TYPE_MYSTERY); + } +} + +SINGLE_BATTLE_TEST("Reflect Type succeeds against a Terastallized target and copies its Tera type") +{ + GIVEN { + ASSUME(gSpeciesInfo[SPECIES_POLIWRATH].types[0] != TYPE_NORMAL); + ASSUME(gSpeciesInfo[SPECIES_POLIWRATH].types[1] != TYPE_NORMAL); + PLAYER(SPECIES_ARCANINE) { TeraType(TYPE_NORMAL); } + OPPONENT(SPECIES_POLIWRATH); + } WHEN { + TURN { MOVE(player, MOVE_TACKLE, gimmick: GIMMICK_TERA); MOVE(opponent, MOVE_REFLECT_TYPE); } + } SCENE { + MESSAGE("The opposing Poliwrath used Reflect Type!"); + } THEN { + EXPECT_EQ(opponent->types[0], TYPE_NORMAL); + EXPECT_EQ(opponent->types[1], TYPE_NORMAL); + EXPECT_EQ(opponent->types[2], TYPE_NORMAL); + } +} diff --git a/test/battle/move_effect/rototiller.c b/test/battle/move_effect/rototiller.c new file mode 100644 index 0000000000..32ae7da75f --- /dev/null +++ b/test/battle/move_effect/rototiller.c @@ -0,0 +1,98 @@ +#include "global.h" +#include "test/battle.h" + +ASSUMPTIONS +{ + ASSUME(gMovesInfo[MOVE_ROTOTILLER].effect == EFFECT_ROTOTILLER); +} + +DOUBLE_BATTLE_TEST("Rototiller boosts Attack and Special Attack of all Grass types on the field") +{ + GIVEN { + ASSUME(gSpeciesInfo[SPECIES_TANGELA].types[0] == TYPE_GRASS); + ASSUME(gSpeciesInfo[SPECIES_SNIVY].types[0] == TYPE_GRASS); + PLAYER(SPECIES_TANGELA); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_SNIVY); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerRight, MOVE_ROTOTILLER); MOVE(playerLeft, MOVE_CELEBRATE); MOVE(opponentLeft, MOVE_CELEBRATE); MOVE(opponentRight, MOVE_CELEBRATE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_ROTOTILLER, playerRight); + NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); + NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); + } THEN { + EXPECT_EQ(playerLeft->statStages[STAT_ATK], DEFAULT_STAT_STAGE + 1); + EXPECT_EQ(playerLeft->statStages[STAT_SPATK], DEFAULT_STAT_STAGE + 1); + EXPECT_EQ(opponentLeft->statStages[STAT_ATK], DEFAULT_STAT_STAGE + 1); + EXPECT_EQ(opponentLeft->statStages[STAT_SPATK], DEFAULT_STAT_STAGE + 1); + EXPECT_EQ(playerRight->statStages[STAT_ATK], DEFAULT_STAT_STAGE); + EXPECT_EQ(playerRight->statStages[STAT_SPATK], DEFAULT_STAT_STAGE); + EXPECT_EQ(opponentRight->statStages[STAT_ATK], DEFAULT_STAT_STAGE); + EXPECT_EQ(opponentRight->statStages[STAT_SPATK], DEFAULT_STAT_STAGE); + } +} + +SINGLE_BATTLE_TEST("Rototiller fails if there are no valid targets") +{ + GIVEN { + ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].types[0] != TYPE_GRASS); + ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].types[1] != TYPE_GRASS); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_ROTOTILLER); } + } SCENE { + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_ROTOTILLER, player); + MESSAGE("Wobbuffet used Rototiller!"); + MESSAGE("But it failed!"); + } +} + +SINGLE_BATTLE_TEST("Rototiller doesn't affect pokemon that are semi-invulnerable") +{ + GIVEN { + ASSUME(gSpeciesInfo[SPECIES_TANGELA].types[0] == TYPE_GRASS); + ASSUME(gMovesInfo[MOVE_DIG].effect == EFFECT_SEMI_INVULNERABLE); + PLAYER(SPECIES_TANGELA); + OPPONENT(SPECIES_TANGELA); + } WHEN { + TURN { MOVE(opponent, MOVE_DIG); MOVE(player, MOVE_ROTOTILLER); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_DIG, opponent); + ANIMATION(ANIM_TYPE_MOVE, MOVE_ROTOTILLER, player); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); + MESSAGE("It won't have any effect on the opposing Tangela!"); + } THEN { + EXPECT_EQ(player->statStages[STAT_ATK], DEFAULT_STAT_STAGE + 1); + EXPECT_EQ(player->statStages[STAT_SPATK], DEFAULT_STAT_STAGE + 1); + EXPECT_EQ(opponent->statStages[STAT_ATK], DEFAULT_STAT_STAGE); + EXPECT_EQ(opponent->statStages[STAT_SPATK], DEFAULT_STAT_STAGE); + } +} + +SINGLE_BATTLE_TEST("Rototiller fails if the only valid target is semi-invulnerable") +{ + GIVEN { + ASSUME(gSpeciesInfo[SPECIES_TANGELA].types[0] == TYPE_GRASS); + ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].types[0] != TYPE_GRASS); + ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].types[1] != TYPE_GRASS); + ASSUME(gMovesInfo[MOVE_DIG].effect == EFFECT_SEMI_INVULNERABLE); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_TANGELA); + } WHEN { + TURN { MOVE(opponent, MOVE_DIG); MOVE(player, MOVE_ROTOTILLER); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_DIG, opponent); + MESSAGE("Wobbuffet used Rototiller!"); + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_ROTOTILLER, player); + MESSAGE("But it failed!"); + } THEN { + EXPECT_EQ(player->statStages[STAT_ATK], DEFAULT_STAT_STAGE); + EXPECT_EQ(player->statStages[STAT_SPATK], DEFAULT_STAT_STAGE); + EXPECT_EQ(opponent->statStages[STAT_ATK], DEFAULT_STAT_STAGE); + EXPECT_EQ(opponent->statStages[STAT_SPATK], DEFAULT_STAT_STAGE); + } +} diff --git a/test/battle/move_effect/shed_tail.c b/test/battle/move_effect/shed_tail.c index 4667eab1ad..f4498c7e34 100644 --- a/test/battle/move_effect/shed_tail.c +++ b/test/battle/move_effect/shed_tail.c @@ -86,22 +86,22 @@ SINGLE_BATTLE_TEST("Shed Tail's HP cost doesn't trigger effects that trigger on } } -// Passes for some reason even though it seems there is some code missing -/* -AI_SINGLE_BATTLE_TEST("AI will use Shed Tail to pivot to another mon while in damage stalemate with player") +AI_SINGLE_BATTLE_TEST("AI will use Shed Tail to pivot to another mon while in damage stalemate with player rather than hard switching") { - KNOWN_FAILING; // missing AI code + u32 aiFlags; + PARAMETRIZE { aiFlags = 0; } + PARAMETRIZE { aiFlags = AI_FLAG_SMART_SWITCHING | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_MON_CHOICES; } GIVEN { - AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | aiFlags); PLAYER(SPECIES_WOBBUFFET) { Speed(100); Ability(ABILITY_RUN_AWAY); Moves(MOVE_TACKLE, MOVE_CELEBRATE); } OPPONENT(SPECIES_WOBBUFFET) { Speed(50); Ability(ABILITY_RUN_AWAY); Moves(MOVE_CONFUSION, MOVE_SHED_TAIL); } OPPONENT(SPECIES_SCIZOR) { Speed(101); Moves(MOVE_CELEBRATE, MOVE_X_SCISSOR); } } WHEN { - TURN { MOVE(player, MOVE_TACKLE); EXPECT_MOVE(opponent, MOVE_CONFUSION); } + if (aiFlags == 0) + TURN { MOVE(player, MOVE_TACKLE); EXPECT_MOVE(opponent, MOVE_CONFUSION); } TURN { MOVE(player, MOVE_TACKLE); EXPECT_MOVE(opponent, MOVE_SHED_TAIL); } } } -*/ SINGLE_BATTLE_TEST("Shed Tail creates a Substitute with 1/4 of user maximum health") { diff --git a/test/battle/move_effect/sleep_talk.c b/test/battle/move_effect/sleep_talk.c index 4ac89e69d8..b00f89e582 100644 --- a/test/battle/move_effect/sleep_talk.c +++ b/test/battle/move_effect/sleep_talk.c @@ -32,7 +32,6 @@ SINGLE_BATTLE_TEST("Sleep Talk fails if not asleep") } } - SINGLE_BATTLE_TEST("Sleep Talk works if user has Comatose") { @@ -91,3 +90,59 @@ SINGLE_BATTLE_TEST("Sleep Talk can use moves while choiced into Sleep Talk") ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE); } } + +SINGLE_BATTLE_TEST("Sleep Talk fails if user is taunted") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_TAUNT].effect == EFFECT_TAUNT); + ASSUME(gMovesInfo[MOVE_SLEEP_TALK].category == DAMAGE_CATEGORY_STATUS); + PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_SLEEP); Moves(MOVE_SLEEP_TALK, MOVE_TACKLE, MOVE_FLY, MOVE_DIG); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_TAUNT); MOVE(player, MOVE_SLEEP_TALK); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TAUNT, opponent); + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SLEEP_TALK, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); + } + } +} + +DOUBLE_BATTLE_TEST("Sleep Talk calls move and that move may be redirected by Lightning Rod") +{ + PASSES_RANDOMLY(1, 2, RNG_RANDOM_TARGET); + GIVEN { + ASSUME(gMovesInfo[MOVE_SPARK].type == TYPE_ELECTRIC); + PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_SLEEP); Moves(MOVE_SLEEP_TALK, MOVE_SPARK, MOVE_FLY, MOVE_DIG); } + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_RAICHU) { Ability(ABILITY_LIGHTNING_ROD); } + } WHEN { + TURN { MOVE(playerLeft, MOVE_SLEEP_TALK); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SLEEP_TALK, playerLeft); + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_SPARK, playerLeft); + MESSAGE("The opposing Raichu's Lightning Rod took the attack!"); + ABILITY_POPUP(opponentRight, ABILITY_LIGHTNING_ROD); + } +} + +DOUBLE_BATTLE_TEST("Sleep Talk calls move and that move may be redirected by Storm Drain") +{ + PASSES_RANDOMLY(1, 2, RNG_RANDOM_TARGET); + GIVEN { + ASSUME(gMovesInfo[MOVE_WATER_GUN].type == TYPE_WATER); + PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_SLEEP); Moves(MOVE_SLEEP_TALK, MOVE_WATER_GUN, MOVE_FLY, MOVE_DIG); } + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_GASTRODON) { Ability(ABILITY_STORM_DRAIN); } + } WHEN { + TURN { MOVE(playerLeft, MOVE_SLEEP_TALK); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SLEEP_TALK, playerLeft); + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_GUN, playerLeft); + MESSAGE("The opposing Gastrodon's Storm Drain took the attack!"); + ABILITY_POPUP(opponentRight, ABILITY_STORM_DRAIN); + } +} diff --git a/test/battle/move_effect/snore.c b/test/battle/move_effect/snore.c new file mode 100644 index 0000000000..d83e35b16c --- /dev/null +++ b/test/battle/move_effect/snore.c @@ -0,0 +1,59 @@ +#include "global.h" +#include "test/battle.h" + +ASSUMPTIONS +{ + ASSUME(gMovesInfo[MOVE_SNORE].effect == EFFECT_SNORE); +} + +SINGLE_BATTLE_TEST("Snore fails if not asleep") +{ + u32 status; + PARAMETRIZE { status = STATUS1_SLEEP; } + PARAMETRIZE { status = STATUS1_NONE; } + + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Status1(status); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_SNORE); } + } SCENE { + if (status == STATUS1_SLEEP) { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SNORE, player); + NOT MESSAGE("But it failed!"); + } + else { + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_SNORE, player); + MESSAGE("But it failed!"); + } + } +} + +SINGLE_BATTLE_TEST("Snore works if user has Comatose") +{ + + GIVEN { + PLAYER(SPECIES_KOMALA); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_SNORE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SNORE, player); + NOT MESSAGE("But it failed!"); + } +} + +SINGLE_BATTLE_TEST("Snore fails if user is throat chopped") +{ + GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_THROAT_CHOP, MOVE_EFFECT_THROAT_CHOP)); + ASSUME(gMovesInfo[MOVE_SNORE].soundMove == TRUE); + PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_SLEEP); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_THROAT_CHOP); MOVE(player, MOVE_SNORE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_THROAT_CHOP, opponent); + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_SNORE, player); + } +} diff --git a/test/battle/move_effect/two_turns_attack.c b/test/battle/move_effect/two_turns_attack.c index 200fc72d18..4dd79ade46 100644 --- a/test/battle/move_effect/two_turns_attack.c +++ b/test/battle/move_effect/two_turns_attack.c @@ -43,7 +43,6 @@ SINGLE_BATTLE_TEST("Razor Wind needs a charging turn") SINGLE_BATTLE_TEST("Razor Wind doesn't need to charge with Power Herb") { - KNOWN_FAILING; GIVEN { PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_POWER_HERB); } OPPONENT(SPECIES_WOBBUFFET); @@ -63,7 +62,6 @@ SINGLE_BATTLE_TEST("Razor Wind doesn't need to charge with Power Herb") MESSAGE("Wobbuffet became fully charged due to its Power Herb!"); if (B_UPDATED_MOVE_DATA < GEN_5) MESSAGE("Wobbuffet used Razor Wind!"); - // For some reason, this breaks with and only with Razor Wind... ANIMATION(ANIM_TYPE_MOVE, MOVE_RAZOR_WIND, player); HP_BAR(opponent); } diff --git a/test/battle/move_flags/recoil.c b/test/battle/move_flags/recoil.c index dede6289da..5a8f3be576 100644 --- a/test/battle/move_flags/recoil.c +++ b/test/battle/move_flags/recoil.c @@ -83,3 +83,22 @@ SINGLE_BATTLE_TEST("Flare Blitz deals 33% of recoil damage to the user and can b EXPECT_MUL_EQ(directDamage, UQ_4_12(0.33), recoilDamage); } } + +SINGLE_BATTLE_TEST("Flare Blitz is absorbed by Flash Fire and no recoil damage is dealt") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_FLARE_BLITZ].recoil > 0); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_VULPIX) { Ability(ABILITY_FLASH_FIRE); }; + } WHEN { + TURN { MOVE(opponent, MOVE_TACKLE); MOVE(player, MOVE_FLARE_BLITZ); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); + HP_BAR(player); + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FLARE_BLITZ, player); + HP_BAR(opponent); + HP_BAR(player); + } + } +} diff --git a/test/battle/status1/paralysis.c b/test/battle/status1/paralysis.c index 4caeb3c509..64ed27f361 100644 --- a/test/battle/status1/paralysis.c +++ b/test/battle/status1/paralysis.c @@ -62,3 +62,18 @@ AI_SINGLE_BATTLE_TEST("AI avoids Thunder Wave when it can not paralyse target") TURN { SCORE_EQ(opponent, MOVE_CELEBRATE, MOVE_THUNDER_WAVE); } // Both get -10 } } + +SINGLE_BATTLE_TEST("Thunder Wave doesn't affect Electric types in Gen6+") +{ + GIVEN { + ASSUME(gSpeciesInfo[SPECIES_PIKACHU].types[0] == TYPE_ELECTRIC); + ASSUME(B_PARALYZE_ELECTRIC >= GEN_6); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_PIKACHU); + } WHEN { + TURN { MOVE(player, MOVE_THUNDER_WAVE); } + } SCENE { + MESSAGE("Wobbuffet used Thunder Wave!"); + MESSAGE("It doesn't affect the opposing Pikachu…"); + } +} diff --git a/test/battle/trainer_control.h b/test/battle/trainer_control.h index 703a436274..62a8045694 100644 --- a/test/battle/trainer_control.h +++ b/test/battle/trainer_control.h @@ -704,3 +704,4 @@ }, }, }, + diff --git a/test/test_runner_battle.c b/test/test_runner_battle.c index 2b6f16246b..40e8b31f41 100644 --- a/test/test_runner_battle.c +++ b/test/test_runner_battle.c @@ -2043,7 +2043,7 @@ s32 MoveGetTarget(s32 battlerId, u32 moveId, struct MoveContext *ctx, u32 source { target = BATTLE_OPPOSITE(battlerId); } - else if (move->target == MOVE_TARGET_SELECTED) + else if (move->target == MOVE_TARGET_SELECTED || move->target == MOVE_TARGET_OPPONENT) { // In AI Doubles not specified target allows any target for EXPECT_MOVE. if (GetBattleTest()->type != BATTLE_TEST_AI_DOUBLES)