diff --git a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml index cdffd6838c..32a1ce2626 100644 --- a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml +++ b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml @@ -23,9 +23,10 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.8.3 (Latest release) + - 1.8.4 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.8.3 - 1.8.2 - 1.8.1 - 1.8.0 diff --git a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml index bf31df9931..3e21436c1a 100644 --- a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml +++ b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml @@ -23,10 +23,10 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.8.3 (Latest release) + - 1.8.4 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) - - 1.8.2 + - 1.8.3 - 1.8.1 - 1.8.0 - 1.7.4 diff --git a/.github/ISSUE_TEMPLATE/04_other_errors.yaml b/.github/ISSUE_TEMPLATE/04_other_errors.yaml index 6920d34a83..fcbf4b8884 100644 --- a/.github/ISSUE_TEMPLATE/04_other_errors.yaml +++ b/.github/ISSUE_TEMPLATE/04_other_errors.yaml @@ -23,10 +23,10 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.8.3 (Latest release) + - 1.8.4 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) - - 1.8.2 + - 1.8.3 - 1.8.1 - 1.8.0 - 1.7.4 diff --git a/CHANGELOG.md b/CHANGELOG.md index 8aeeac5dec..f513818cbb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Pokeemerald-Expansion Changelogs ## 1.8.x +- ### [Version 1.8.4](docs/changelogs/1.8.x/1.8.4.md) - Bugfix Release 🧹 - ### [Version 1.8.3](docs/changelogs/1.8.x/1.8.3.md) - Bugfix Release 🧹 - ### [Version 1.8.2](docs/changelogs/1.8.x/1.8.2.md) - Bugfix Release 🧹 - ### [Version 1.8.1](docs/changelogs/1.8.x/1.8.1.md) - HOTFIX Release 🔥 diff --git a/README.md b/README.md index 855ddc7b7f..c567cd72d0 100644 --- a/README.md +++ b/README.md @@ -170,7 +170,7 @@ With this, you'll get the latest version of pokeemerald-expansion, plus a couple - Check your current version. - You can check in the debug menu's `Utilities -> Expansion Version` option. - If the option is not available, you possibly have version 1.6.2 or older. In that case, please check the [changelogs](CHANGELOG.md) to determine your version based on the features available on your repository. -- Once you have your remote set up, run the command `git pull RHH expansion/X.Y.Z`, replacing X, Y and Z with the digits of the respective version you want to update to (eg, to update to 1.8.3, use `git pull RHH expansion/1.8.3`). +- Once you have your remote set up, run the command `git pull RHH expansion/X.Y.Z`, replacing X, Y and Z with the digits of the respective version you want to update to (eg, to update to 1.8.4, use `git pull RHH expansion/1.8.4`). - ***Important:*** If you are several versions behind, we recommend updating one minor version at a time, skipping directly to the latest patch version (eg, 1.5.3 -> 1.6.2 -> 1.7.4 and so on) - Alternatively, you can update to unreleased versions of the expansion. - ***master (stable):*** It contains unreleased **bugfixes** that will come in the next patch version. To merge, use `git pull RHH master`. diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc index 742cdb2f26..ecfea5c197 100644 --- a/asm/macros/battle_anim_script.inc +++ b/asm/macros/battle_anim_script.inc @@ -315,6 +315,19 @@ .Lsprite_\@_2: .endm +.macro createdragondartsprite anim_battler:req, subpriority_offset:req, argv:vararg + .byte 0x33 + .if \anim_battler == ANIM_TARGET + .byte ANIMSPRITE_IS_TARGET | (\subpriority_offset & 0x7F) + .else + .byte (\subpriority_offset & 0x7F) + .endif + .byte (.Lsprite_\@_2 - .Lsprite_\@_1) / 2 +.Lsprite_\@_1: + .2byte \argv +.Lsprite_\@_2: + .endm + @ useful macros .macro jumpreteq value:req, ptr:req jumpargeq ARG_RET_ID, \value, \ptr diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index f661ad9dc2..cb6e2ff6a3 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -856,8 +856,9 @@ .byte 0x99 .endm - .macro setfocusenergy + .macro setfocusenergy battler:req .byte 0x9a + .byte \battler .endm .macro transformdataexecution @@ -1388,9 +1389,10 @@ .4byte \jumpInstr .endm - .macro itemrestorehp jumpInstr:req + .macro itemrestorehp jumpInstr:req, restoreBattlerInstr:req callnative BS_ItemRestoreHP .4byte \jumpInstr + .4byte \restoreBattlerInstr .endm .macro itemcurestatus jumpInstr:req diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 13982a59f9..2bef0a0858 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -13865,10 +13865,12 @@ Move_MAGIC_POWDER:: end Move_DRAGON_DARTS:: + loadspritegfx ANIM_TAG_DREEPY_SHINY loadspritegfx ANIM_TAG_DREEPY + loadspritegfx ANIM_TAG_AIR_WAVE loadspritegfx ANIM_TAG_EXPLOSION playsewithpan SE_FALL, SOUND_PAN_ATTACKER - createsprite gDreepyMissileTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x19 + createdragondartsprite ANIM_TARGET, 2, 0x0, 0x0, 0x19 delay 0x19 playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 16, 1 diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 394ebd8e17..e03e8e2d20 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -121,7 +121,7 @@ BattleScript_EffectShedTail:: jumpifcantswitch SWITCH_IGNORE_ESCAPE_PREVENTION | BS_ATTACKER, BattleScript_ButItFailed setsubstitute jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_SUBSTITUTE_FAILED, BattleScript_SubstituteString - orword gHitMarker, HITMARKER_PASSIVE_DAMAGE + orword gHitMarker, HITMARKER_PASSIVE_DAMAGE attackanimation waitanimation healthbarupdate BS_ATTACKER @@ -3522,7 +3522,7 @@ BattleScript_EffectFocusEnergy:: attackstring ppreduce jumpifstatus2 BS_ATTACKER, STATUS2_FOCUS_ENERGY_ANY, BattleScript_ButItFailed - setfocusenergy + setfocusenergy BS_TARGET attackanimation waitanimation printfromtable gFocusEnergyUsedStringIds @@ -3821,7 +3821,7 @@ BattleScript_EffectSubstitute:: jumpifstatus2 BS_ATTACKER, STATUS2_SUBSTITUTE, BattleScript_AlreadyHasSubstitute setsubstitute jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_SUBSTITUTE_FAILED, BattleScript_SubstituteString - orword gHitMarker, HITMARKER_PASSIVE_DAMAGE + orword gHitMarker, HITMARKER_PASSIVE_DAMAGE attackanimation waitanimation healthbarupdate BS_ATTACKER @@ -7457,6 +7457,12 @@ BattleScript_TargetBurnHeal:: updatestatusicon BS_TARGET return +BattleScript_TargetPoisonHealed:: + printstring STRINGID_PASTELVEILENTERS + waitmessage B_WAIT_TIME_LONG + updatestatusicon BS_TARGET + return + BattleScript_MoveEffectSleep:: statusanimation BS_EFFECT_BATTLER printfromtable gFellAsleepStringIds @@ -7567,6 +7573,7 @@ BattleScript_MoveEffectConfusion:: BattleScript_MoveEffectRecoil:: jumpifmove MOVE_STRUGGLE, BattleScript_DoRecoil jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_RecoilEnd + jumpifability BS_ATTACKER, ABILITY_MAGIC_GUARD, BattleScript_RecoilEnd BattleScript_DoRecoil:: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE | HITMARKER_IGNORE_DISGUISE healthbarupdate BS_ATTACKER @@ -7825,6 +7832,12 @@ BattleScript_IntimidateLoop: jumpiftargetally BattleScript_IntimidateLoopIncrement jumpifabsent BS_TARGET, BattleScript_IntimidateLoopIncrement jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_IntimidateLoopIncrement +.if B_UPDATED_INTIMIDATE >= GEN_8 @These abilties specifically prevent just intimidate, without blocking stat decreases + jumpifability BS_TARGET, ABILITY_INNER_FOCUS, BattleScript_IntimidatePrevented + jumpifability BS_TARGET, ABILITY_SCRAPPY, BattleScript_IntimidatePrevented + jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_IntimidatePrevented + jumpifability BS_TARGET, ABILITY_OBLIVIOUS, BattleScript_IntimidatePrevented +.endif jumpifability BS_TARGET, ABILITY_GUARD_DOG, BattleScript_IntimidateInReverse BattleScript_IntimidateEffect: copybyte sBATTLER, gBattlerAttacker @@ -7849,6 +7862,12 @@ BattleScript_IntimidateEnd: pause B_WAIT_TIME_MED end3 +BattleScript_IntimidatePrevented: + copybyte sBATTLER, gBattlerTarget + call BattleScript_AbilityPopUp + printstring STRINGID_PKMNPREVENTSSTATLOSSWITH + goto BattleScript_IntimidateEffect_WaitString + BattleScript_IntimidateWontDecrease: printstring STRINGID_STATSWONTDECREASE goto BattleScript_IntimidateEffect_WaitString @@ -8196,7 +8215,6 @@ BattleScript_MoveStatDrain:: .endif BattleScript_MoveStatDrain_Cont: clearsemiinvulnerablebit - tryfaintmon BS_ATTACKER goto BattleScript_MoveEnd BattleScript_MonMadeMoveUseless_PPLoss:: @@ -8207,7 +8225,6 @@ BattleScript_MonMadeMoveUseless:: call BattleScript_AbilityPopUp printstring STRINGID_PKMNSXMADEYUSELESS waitmessage B_WAIT_TIME_LONG - tryfaintmon BS_ATTACKER orhalfword gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE goto BattleScript_MoveEnd @@ -8219,7 +8236,6 @@ BattleScript_FlashFireBoost:: call BattleScript_AbilityPopUp printfromtable gFlashFireStringIds waitmessage B_WAIT_TIME_LONG - tryfaintmon BS_ATTACKER goto BattleScript_MoveEnd BattleScript_AbilityPreventsPhasingOut:: diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s index db30a69322..3cee2d32ae 100644 --- a/data/battle_scripts_2.s +++ b/data/battle_scripts_2.s @@ -57,7 +57,11 @@ BattleScript_ItemRestoreHPRet: BattleScript_ItemRestoreHP:: call BattleScript_UseItemMessage - itemrestorehp BattleScript_ItemRestoreHPEnd + itemrestorehp BattleScript_ItemRestoreHPEnd, BattleScript_ItemRestoreHP_Battler + call BattleScript_ItemRestoreHP_Party + goto BattleScript_ItemRestoreHPEnd + +BattleScript_ItemRestoreHP_Battler:: call BattleScript_ItemRestoreHPRet BattleScript_ItemRestoreHPEnd: end @@ -67,7 +71,7 @@ BattleScript_ItemRestoreHP_Party:: bichalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT printstring STRINGID_ITEMRESTOREDSPECIESHEALTH waitmessage B_WAIT_TIME_LONG - end + return BattleScript_ItemRestoreHP_SendOutRevivedBattler: switchinanim BS_SCRIPTING, FALSE @@ -87,8 +91,13 @@ BattleScript_ItemCureStatusEnd: BattleScript_ItemHealAndCureStatus:: call BattleScript_UseItemMessage - itemrestorehp BattleScript_ItemCureStatusAfterItemMsg + itemrestorehp BattleScript_ItemCureStatusAfterItemMsg, BattleScript_ItemHealAndCureStatus_Battler + call BattleScript_ItemRestoreHP_Party + goto BattleScript_ItemHealAndCureStatusEnd + +BattleScript_ItemHealAndCureStatus_Battler:: call BattleScript_ItemRestoreHPRet +BattleScript_ItemHealAndCureStatusEnd:: goto BattleScript_ItemCureStatusAfterItemMsg BattleScript_ItemIncreaseStat:: @@ -113,7 +122,7 @@ BattleScript_ItemSetMist:: BattleScript_ItemSetFocusEnergy:: call BattleScript_UseItemMessage jumpifstatus2 BS_ATTACKER, STATUS2_FOCUS_ENERGY_ANY, BattleScript_ButItFailed - setfocusenergy + setfocusenergy BS_ATTACKER playmoveanimation BS_ATTACKER, MOVE_FOCUS_ENERGY waitanimation copybyte sBATTLER, gBattlerAttacker diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc index eb6a90abdf..77e795a0eb 100644 --- a/data/scripts/safari_zone.inc +++ b/data/scripts/safari_zone.inc @@ -53,6 +53,9 @@ SafariZone_EventScript_ChoosePokeblock:: special OpenPokeblockCaseOnFeeder waitstate goto_if_ne VAR_RESULT, 0xFFFF, SafariZone_EventScript_PokeblockPlaced +#ifdef BUGFIX + releaseall @ Only gets called from EventScript_PokeBlockFeeder which uses lockall. +#endif end SafariZone_EventScript_PokeblockPlaced:: diff --git a/docs/changelogs/1.8.x/1.8.0.md b/docs/changelogs/1.8.x/1.8.0.md index e1a50896e7..128fefed06 100644 --- a/docs/changelogs/1.8.x/1.8.0.md +++ b/docs/changelogs/1.8.x/1.8.0.md @@ -359,10 +359,10 @@ * Added missing `P_UPDATED_EVS` config that allows setting the EV yield changes across generations by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3993 * Added missing `P_UPDATED_EXP_YIELDS` config that allows setting the Experience yield changes across generations by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/3995 * Added evolution methods that require custom trackers (`MON_DATA_EVOLUTION_TRACKER`) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4087 - * `EVO_LEVEL_MOVE_TWENTY_TIMES`: + * `EVO_USE_MOVE_TWENTY_TIMES`: * Stantler can now evolve into Wyrdeer by using Psyshield Bash 20 times. * Primeape can now evolve into Annihilape by using Rage Fist 20 times. - * `EVO_LEVEL_RECOIL_DAMAGE_MALE`/`EVO_LEVEL_RECOIL_DAMAGE_FEMALE` + * `EVO_RECOIL_DAMAGE_MALE`/`EVO_RECOIL_DAMAGE_FEMALE` * White-Striped Basculin can now evolve into Basculegion when leveling up after receiving 294HP of recoil damage and being the corresponding gender. * Added missing Paldean Wooper icon by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4260 * Added missing data for placeholder Pokémon by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4281 @@ -495,7 +495,7 @@ * Aeroblast: Added Wind Move flag. * Ivy Cudgel's type now changes based on Ogerpon's form rather than held item by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/3865 * Renamed `healBlockBanned` flag to `healingMove` by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3981 -* Removed some hardcoded move IDs +* Removed some hardcoded move IDs * By @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/3982 * `MOVE_EXPLOSION`, `MOVE_SELF_DESTRUCT`, `MOVE_FRUSTRATION`, `MOVE_AURA_WHEEL`, `MOVE_PRESENT`, `MOVE_BLIZZARD`. * By @ZnogyroP in https://github.com/rh-hideout/pokeemerald-expansion/pull/4085 diff --git a/docs/changelogs/1.8.x/1.8.3.md b/docs/changelogs/1.8.x/1.8.3.md index 8449f56383..0113aff558 100644 --- a/docs/changelogs/1.8.x/1.8.3.md +++ b/docs/changelogs/1.8.x/1.8.3.md @@ -23,8 +23,8 @@ * Fixed Exp. Candies ignoring hard caps. * Fixed Pokémon gaining 1 experience if they are at the level cap. * Fixed evolution tracker issues by @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/4503 - * `EVO_LEVEL_MOVE_TWENTY_TIMES` no longer increases with every move. - * `EVO_LEVEL_RECOIL_DAMAGE_MALE/FEMALE` is no longer updated twice than intended. + * `EVO_USE_MOVE_TWENTY_TIMES` no longer increases with every move. + * `EVO_RECOIL_DAMAGE_MALE/FEMALE` is no longer updated twice than intended. ## ✨ Feature Branches ✨ ### ***TheXaman's HGSS Pokédex Plus***: diff --git a/docs/changelogs/1.8.x/1.8.4.md b/docs/changelogs/1.8.x/1.8.4.md new file mode 100644 index 0000000000..09daf973c7 --- /dev/null +++ b/docs/changelogs/1.8.x/1.8.4.md @@ -0,0 +1,174 @@ +# Version 1.8.4 + +```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 expansion/1.8.4`. +``` + +## 🌋 *IMPORTANT CHANGES* 🌋 +### ***[Reverted Guillotine feature branch](https://github.com/rh-hideout/pokeemerald-expansion/pull/4525)*** by @AsparagusEduardo: +* This was a runtime decapitalization branch introduced silently in version 1.8.0. We didn't properly announce as it was hastily merged and we were hoping that future versions of it would have fixed issues that we encountered after the merge. However, issues kept piling on and we felt the need to revert it as it was also silently breaking other features as well. +* ***We will work on an alternate decapitalization option in the future***. + +## 💥 *Softlock/Crash fixes* 💥 +* Fixed softlock caused by Destiny Bond triggering after Explosion by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4516 +* Fixed softlock caused by Future Sight trying to hit a fainted target by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4543 +* Fixed softlock caused by Galvanized Explosion being absorbed by Volt Absorb by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4601 +* Fixed softlock caused by Flinging a Razor Fang when the target had already moved by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4625 + +## 🧬 General 🧬 +### Fixed +* Fixed instances of Level Caps causing absurd amounts of Exp. by @Nopinou in https://github.com/rh-hideout/pokeemerald-expansion/pull/4505 +* Fixed `GetBoxMonData` evolution tracker reading garbage data if compiled with `agbcc` by @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/4510 +* Fixed potential Berry Tree mutation corruptions when compiling with `agbcc` by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4535 +* Added missing EOF newlines to `species_info` files by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4584 +* Fixed `EVO_MODE_BATTLE_SPECIAL` evolutions (only Sirfetch'd currently) triggering twice under certain situations by @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/4553 + * As a side effect, these evolutions no longer happen before other ones, instead being triggered in party order alongside `EVO_MODE_NORMAL`. + +## ✨ Feature Branches ✨ +### ***TheXaman's Debug Menu***: +#### Fixed +* Fixed abilities past ID 255 not being properly being given to Pokémon using the debug menu's Give Pokémon option by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4576 +### ***SBird/Karathan's Dynamic Multichoices***: +#### Changed +* Dynamic Multichoice no longer plays sound on init by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4480 +### ***TheXaman's HGSS Pokédex Plus***: +#### Fixed +* Multiple evolution page fixes by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4514 + * Fixed duplicate icons when 2 or more evolution methods share the same target species (eg. Magnezone evolution via Thunder Stone or Electromagnetic field). + * Fixed arrow not loading when there are multiple evolution methods to the same target species that hadn't been caught. + * Fixed wonky D-Pad inconsistency when scrolling down. + * Fixed regression from #3562 (1.7.0) that caused non-evolving Pokémon to not show their "X has no evolution" text. + * **Change from the original branch:** The message no longer shows for Pokémon that are part of an evolutionary family, even if they don't evolve themselves (eg. Venusaur). +* Added failsafe for Egg Groups without text defined by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4628 +### ***ghoulslash's Saveblock Cleansing***: +#### Changed +* Adjusted description of `FREE_MATCH_CALL` config to clarify that the VS Seeker also utilizes that data by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4590 + +## 🐉 Pokémon 🐉 +### Added +* Added missing Gen 9 and PLA footprints + update some footprints by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4621 + * Credits to Caruban for creating the sprites: eeveeexpo.com/resources/1101 https://eeveeexpo.com/resources/1101/ +### Changed +* Update various sprites to ones from PokeCommunity by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4554 +* Updated footprints to Gen 4/5 designs, being more accurate to their designs @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4621 + * Golem, Ludicolo, Shroomish and Mawile. + * Also updated Origin Giratina to have an empty footprint. +* Explicitly define Gengar's 3rd ability slot (Hidden Ability) by @lhearachel in https://github.com/rh-hideout/pokeemerald-expansion/pull/4633 +### Fixed +* Fixed animation errors by adding missing 2nd frames: + * Keldeo Resolute and Meloetta Pirouette by @TheJamesLJ in https://github.com/rh-hideout/pokeemerald-expansion/pull/4541 + * White-Striped Basculin and Neutral Xerneas @cafei-uh in https://github.com/rh-hideout/pokeemerald-expansion/pull/4552 + * Summer, Autumn and Winter Sawsbuck by @cafei-uh in https://github.com/rh-hideout/pokeemerald-expansion/pull/4592 +* Fixed Unown B-Z and Punctuation Marks entry animations by @cafei-uh in https://github.com/rh-hideout/pokeemerald-expansion/pull/4546 +* Fixed Iron Hands and Iron Bundle incorrect backsprite palettes @cafei-uh in https://github.com/rh-hideout/pokeemerald-expansion/pull/4552 +* Fixed transparent pixel in Mega Mewtwo Y's backsprite eye by @TheJamesLJ in https://github.com/rh-hideout/pokeemerald-expansion/pull/4541 +* Fixed floating Munkidori backsprite @cafei-uh in https://github.com/rh-hideout/pokeemerald-expansion/pull/4552 +* Fixed Salandit's sprite and palettes by @BlueAnthem37510 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4614 +* Fixed regression from #4230 (1.8.0) that caused Mr. Mime's typing to ignore `P_UPDATED_TYPES` by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/4547 +* Fixed silent Oricorio Pom-Pom cry by @cafei-uh in https://github.com/rh-hideout/pokeemerald-expansion/pull/4551 +* Fixed regression from #4360 (1.8.2) that caused Shaymin to changing form with the incorrect status + receiving damage upon form change by @TheJamesLJ in https://github.com/rh-hideout/pokeemerald-expansion/pull/4559 + +## ⚔️ Battle General ⚔️ ## +### Fixed +* Fixed Imposter and Transform causing the user to look shiny until screen is refreshed if they're not in the first party slot by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4486 +* Fixed regression in #4307 (1.8.2) that caused special battle types to not finish correctly by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4536 +* Fixed multiple Speed ignoring effects by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4613 + * Fixed Quick Draw always outspeeding Quick Claw and Custap Berry. + * Fixed Myceleum Might always outspeeding Stall. + +## 🤹 Moves 🤹 +### Changed +* Ported Explosion/Mind Blown/Steel Beam implementation from CFRU (with tweaks) by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4516 +### Fixed +* Fixes Thief and Covet used by an opponent not stealing items by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/4506 +* Fixed Substitute, Fillet Away, Shed Tail and Belly Drum missing their `HITMARKER_PASSIVE_DAMAGE`, which weretriggering effects where they shouldn't by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4533 + * Cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4629 +* Fixed Copycat issues by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/4549 + * Copycat can no longer call Z-Moves. + * 2-turn moves no longer play their animation twice when called by Copycat. +* Fixed Substitute issues by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4558 + * The following secondary effects no longer occur if the target is behind a Substitute. + * Knock Off + * Salt Cure + * Smack Down/Thousand Arrows + * Wake-Up Slap/Smelling Salts, including doubling in damage, unless they have the `ignoresSubstitute` like Sparkling Aria. +* Fixed move animations by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4560 + * Animations using `AnimTask_ShakeMonInPlace`: Last Resort,, Aqua Tail, Earth Power, Giga Impact, Zen Headbutt, Rock Climb, Stone Edge and Attack Order + * Animations using `AnimTask_HorizontalShake`: Sunsteel Strike and Chloroblast +* Fixed Future Sight/Doom Desire triggering Focus Sash but not consuming the item moves by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4625 + +## 🎭 Abilities 🎭 +### Fixed +* Fixed Gulp Missile not triggering before fainting by @BlueAnthem37510 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4502 +* Fixed Parental Bond converting Multi-Hit moves into in two-hit moves by @iriv24 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4570 +* Fixed Magic Guard not preventing recoil damage by @iriv24 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4578 +* Fixed Inner Focus, Scrappy, Oblivious and Own Temp granting immunity to all stat drops if the attacker has Intimidate by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4606 +* Fixed Moxie-like abilities not triggering when fainting the target with G-Max/Max Moves by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4625 + +## 🧶 Items 🧶 +### Added +* Added missing Stellar Tera Shard sprite by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4595 +### Fixed +* Fixed overflowing item descriptions for Dubious Disc and for Ice Beam and Blizzard TMs when `B_USE_FROSTBITE` is set to `TRUE` by @WillKolada in https://github.com/rh-hideout/pokeemerald-expansion/pull/4540 +* Fixed plural of "Exp. Candy XL" by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4574 +* Fixed Elixir only being usable if the first move was missing PP by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4594 +* Fixed Full Restore not curing statuses when used on party member that's not in battle by @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/4603 +* Fixed Sceptilite using Tyranitarite's palette by @BlueAnthem37510 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4614 +* Fixed Dire Hit being used on incorrect targets by @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/4626 + +## 🤖 Battle AI 🤖 +### Changed +* AI is now aware that Dynamaxed targets are immune to Heat Crash's effect by @WillKolada in https://github.com/rh-hideout/pokeemerald-expansion/pull/4521 +* AI now ignores resistances that don't actually apply when checking for bad moves by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4524 + * For example: Super Fang, Counter and Endeavor. +* Stat stage related AI improvements by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4548 + * Contrary is now properly checked. + * Some evasion and accuracy checks that were incorrectly handled are now fixed. +* Updated AI scores for Status moves that Dynamax Pokémon are immune to by @WillKolada in https://github.com/rh-hideout/pokeemerald-expansion/pull/4523 + * Roar, One-Hit KO moves, Disable, Encore, Torment, Destiny Bond, Skill Swap, Entrainment, Instruct and Skill Swappokeemerald-expansion/pull/4518 +### Fixed +* Various AI switching logic fixes by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4571 + * Weather-based healing was treated as damage + * Damage and healing from multiple sources overwrote each other + * Utility Umbrella and Magic Guard were ignored. + * Max G-Steelsurge was ignored. + * Sitrus Berry's Gen 4+ effect was ignored. + * Removed item ID hardcoding for confuse berries. +* Various AI switching logic fixes Part 2 by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4572 + * AI now calculates damage from the badly poisoned status. + * AI now removes weather damage from current AI instead of adding it. + * Cleanup for #4571 +* AI respects partner when using spread moves in double battles by @AlexOn1ine in https://github.com/rh-hideout/ +* Fixed AI not properly reading that Belch could be used after eating a berry by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4616 + +## 🧹 Other Cleanup 🧹 +### Fixed +* Fixed `BS_SetGlaiveRush` formatting by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4610 + +## 🧪 Test Runner 🧪 +### Added +* Added tests to verify Parental Bond doesn't affect `EFFECT_MULTI_HIT` moves by @iriv24 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4573 +* Added missing Move Effect TODO tests - Volume A by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4569 + * Handles all `EFFECTS_x` that start with A, other effects will follow. Once all TODO tests are added, tests can begin to be written to assure that all current functionalities are fully functional. +### Fixed +* Fixed incorrect Quick Claw test name by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4613 + +## 📦 Pret merges 📦 +* Pre-1.8.4 pret merge (2024/05/26) (v2) by @SBird1337 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4637 + * Fix poison projectile array being incorrectly combined into three separate arrays by @NTx86 in https://github.com/pret/pokeemerald/pull/1989 + * Fix hoenn pokedex palette being split in two by @NTx86 in https://github.com/pret/pokeemerald/pull/1990 + * Fix Pokeblock script missing a releaseall by @Jaizu in https://github.com/pret/pokeemerald/pull/1996 + * Fix Pokeblock script missing a releaseall by @Jaizu in https://github.com/pret/pokeemerald/pull/1996 + * Make AdjustFriendship more readable by @Jaizu in https://github.com/pret/pokeemerald/pull/1995 + * Move POKE_ICON_BASE_PAL_TAG to a header by @Sneed69 in https://github.com/pret/pokeemerald/pull/1998 + +## New Contributors +* @BlueAnthem37510 made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/4502 +* @TheJamesLJ made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/4541 +* @iriv24 made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/4570 + +**Full Changelog**: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.8.3...expansion/1.8.4 + + \ No newline at end of file diff --git a/graphics/battle_anims/sprites/dreepy_missile.pal b/graphics/battle_anims/sprites/dreepy_missile.pal new file mode 100644 index 0000000000..906cfa8a24 --- /dev/null +++ b/graphics/battle_anims/sprites/dreepy_missile.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +153 217 234 +254 87 103 +77 119 117 +62 67 67 +170 237 211 +138 189 179 +121 163 146 +77 119 117 +251 234 137 +195 97 109 +78 52 54 +222 214 198 +173 146 118 +151 135 135 +122 105 94 +0 4 1 diff --git a/graphics/battle_anims/sprites/dreepy_missile.png b/graphics/battle_anims/sprites/dreepy_missile.png index 73fe2d2f21..49333681cf 100644 Binary files a/graphics/battle_anims/sprites/dreepy_missile.png and b/graphics/battle_anims/sprites/dreepy_missile.png differ diff --git a/graphics/battle_anims/sprites/dreepy_missile_shiny.pal b/graphics/battle_anims/sprites/dreepy_missile_shiny.pal new file mode 100644 index 0000000000..718b2d2400 --- /dev/null +++ b/graphics/battle_anims/sprites/dreepy_missile_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +153 217 234 +222 223 109 +77 119 117 +62 67 67 +170 237 211 +138 189 179 +77 171 225 +53 110 226 +251 234 137 +195 97 109 +78 52 54 +222 214 198 +173 146 118 +151 135 135 +122 105 94 +0 4 1 diff --git a/graphics/items/icon_palettes/sceptilite.pal b/graphics/items/icon_palettes/sceptilite.pal index 579e9c4198..9c8978d4b5 100644 --- a/graphics/items/icon_palettes/sceptilite.pal +++ b/graphics/items/icon_palettes/sceptilite.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 255 0 128 -48 48 48 -80 96 80 -184 40 48 -248 32 32 -128 160 104 -168 192 160 -248 160 152 -192 96 64 -248 248 248 -64 64 64 -96 120 88 -192 208 120 -0 0 0 -0 0 0 -0 0 0 +115 57 41 +197 148 123 +255 255 255 +197 148 115 +82 131 74 +172 197 164 +189 115 82 +148 115 74 +65 106 65 +164 139 90 +115 189 115 +222 98 82 +41 74 41 +49 49 49 +189 246 213 diff --git a/graphics/items/icon_palettes/stellar_tera_shard.pal b/graphics/items/icon_palettes/stellar_tera_shard.pal new file mode 100644 index 0000000000..8afcf6cab2 --- /dev/null +++ b/graphics/items/icon_palettes/stellar_tera_shard.pal @@ -0,0 +1,18 @@ +JASC-PAL +0100 +15 +0 255 92 +147 87 0 +0 161 79 +0 0 0 +209 155 7 +57 67 189 +167 25 135 +217 120 165 +189 109 220 +167 219 139 +255 239 132 +246 240 183 +171 225 199 +137 195 227 +233 240 241 diff --git a/graphics/items/icons/sceptilite.png b/graphics/items/icons/sceptilite.png index ba61c74aac..d68d90aebd 100644 Binary files a/graphics/items/icons/sceptilite.png and b/graphics/items/icons/sceptilite.png differ diff --git a/graphics/items/icons/stellar_tera_shard.png b/graphics/items/icons/stellar_tera_shard.png new file mode 100644 index 0000000000..a4bdfa3f2c Binary files /dev/null and b/graphics/items/icons/stellar_tera_shard.png differ diff --git a/graphics/pokedex/bg_hoenn.pal b/graphics/pokedex/bg_hoenn.pal index 569c7821a9..01bd8a3a3d 100644 --- a/graphics/pokedex/bg_hoenn.pal +++ b/graphics/pokedex/bg_hoenn.pal @@ -1,6 +1,6 @@ JASC-PAL 0100 -48 +96 123 131 0 255 255 255 222 222 222 @@ -49,3 +49,51 @@ JASC-PAL 49 139 255 189 156 90 0 0 0 +123 131 0 +255 255 255 +255 238 0 +255 189 0 +255 115 0 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +238 246 57 +255 0 189 +49 213 74 +24 131 32 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +238 246 57 +189 0 0 +74 148 180 +8 90 131 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +238 246 57 +255 0 189 +180 205 246 +49 139 255 +189 156 90 +0 0 0 diff --git a/graphics/pokedex/caught_screen.pal b/graphics/pokedex/caught_screen.pal deleted file mode 100644 index 26da98a84c..0000000000 --- a/graphics/pokedex/caught_screen.pal +++ /dev/null @@ -1,51 +0,0 @@ -JASC-PAL -0100 -48 -123 131 0 -255 255 255 -255 238 0 -255 189 0 -255 115 0 -98 98 115 -41 57 65 -41 57 106 -0 0 41 -255 255 255 -238 246 57 -255 0 189 -49 213 74 -24 131 32 -189 156 90 -0 0 0 -123 131 0 -255 255 255 -197 32 32 -189 189 189 -164 164 164 -98 98 115 -41 57 65 -41 57 106 -0 0 41 -255 255 255 -238 246 57 -189 0 0 -74 148 180 -8 90 131 -189 156 90 -0 0 0 -123 131 0 -255 255 255 -197 32 32 -189 189 189 -164 164 164 -98 98 115 -41 57 65 -41 57 106 -0 0 41 -255 255 255 -238 246 57 -255 0 189 -180 205 246 -49 139 255 -189 156 90 -0 0 0 diff --git a/graphics/pokemon/annihilape/footprint.png b/graphics/pokemon/annihilape/footprint.png new file mode 100644 index 0000000000..e97bb4b618 Binary files /dev/null and b/graphics/pokemon/annihilape/footprint.png differ diff --git a/graphics/pokemon/arboliva/footprint.png b/graphics/pokemon/arboliva/footprint.png new file mode 100644 index 0000000000..a5932a9eae Binary files /dev/null and b/graphics/pokemon/arboliva/footprint.png differ diff --git a/graphics/pokemon/archaludon/footprint.png b/graphics/pokemon/archaludon/footprint.png new file mode 100644 index 0000000000..c526325d90 Binary files /dev/null and b/graphics/pokemon/archaludon/footprint.png differ diff --git a/graphics/pokemon/arctibax/footprint.png b/graphics/pokemon/arctibax/footprint.png new file mode 100644 index 0000000000..d2e07ad6fd Binary files /dev/null and b/graphics/pokemon/arctibax/footprint.png differ diff --git a/graphics/pokemon/armarouge/footprint.png b/graphics/pokemon/armarouge/footprint.png new file mode 100644 index 0000000000..f852f63d08 Binary files /dev/null and b/graphics/pokemon/armarouge/footprint.png differ diff --git a/graphics/pokemon/basculegion/footprint.png b/graphics/pokemon/basculegion/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/basculegion/footprint.png differ diff --git a/graphics/pokemon/baxcalibur/footprint.png b/graphics/pokemon/baxcalibur/footprint.png new file mode 100644 index 0000000000..10b05c8762 Binary files /dev/null and b/graphics/pokemon/baxcalibur/footprint.png differ diff --git a/graphics/pokemon/bellibolt/footprint.png b/graphics/pokemon/bellibolt/footprint.png new file mode 100644 index 0000000000..32c340152b Binary files /dev/null and b/graphics/pokemon/bellibolt/footprint.png differ diff --git a/graphics/pokemon/bombirdier/footprint.png b/graphics/pokemon/bombirdier/footprint.png new file mode 100644 index 0000000000..2389712efb Binary files /dev/null and b/graphics/pokemon/bombirdier/footprint.png differ diff --git a/graphics/pokemon/brambleghast/footprint.png b/graphics/pokemon/brambleghast/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/brambleghast/footprint.png differ diff --git a/graphics/pokemon/bramblin/footprint.png b/graphics/pokemon/bramblin/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/bramblin/footprint.png differ diff --git a/graphics/pokemon/brute_bonnet/footprint.png b/graphics/pokemon/brute_bonnet/footprint.png new file mode 100644 index 0000000000..5bafea5781 Binary files /dev/null and b/graphics/pokemon/brute_bonnet/footprint.png differ diff --git a/graphics/pokemon/capsakid/footprint.png b/graphics/pokemon/capsakid/footprint.png new file mode 100644 index 0000000000..9cdf12b7d9 Binary files /dev/null and b/graphics/pokemon/capsakid/footprint.png differ diff --git a/graphics/pokemon/ceruledge/footprint.png b/graphics/pokemon/ceruledge/footprint.png new file mode 100644 index 0000000000..cbad1d4a4c Binary files /dev/null and b/graphics/pokemon/ceruledge/footprint.png differ diff --git a/graphics/pokemon/cetitan/footprint.png b/graphics/pokemon/cetitan/footprint.png new file mode 100644 index 0000000000..791ae8ad23 Binary files /dev/null and b/graphics/pokemon/cetitan/footprint.png differ diff --git a/graphics/pokemon/cetoddle/footprint.png b/graphics/pokemon/cetoddle/footprint.png new file mode 100644 index 0000000000..ede12242e3 Binary files /dev/null and b/graphics/pokemon/cetoddle/footprint.png differ diff --git a/graphics/pokemon/charcadet/footprint.png b/graphics/pokemon/charcadet/footprint.png new file mode 100644 index 0000000000..e1c41f7938 Binary files /dev/null and b/graphics/pokemon/charcadet/footprint.png differ diff --git a/graphics/pokemon/chi_yu/footprint.png b/graphics/pokemon/chi_yu/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/chi_yu/footprint.png differ diff --git a/graphics/pokemon/chien_pao/footprint.png b/graphics/pokemon/chien_pao/footprint.png new file mode 100644 index 0000000000..d99c06cccc Binary files /dev/null and b/graphics/pokemon/chien_pao/footprint.png differ diff --git a/graphics/pokemon/clodsire/footprint.png b/graphics/pokemon/clodsire/footprint.png new file mode 100644 index 0000000000..1934312a41 Binary files /dev/null and b/graphics/pokemon/clodsire/footprint.png differ diff --git a/graphics/pokemon/crocalor/footprint.png b/graphics/pokemon/crocalor/footprint.png new file mode 100644 index 0000000000..b67e6334e5 Binary files /dev/null and b/graphics/pokemon/crocalor/footprint.png differ diff --git a/graphics/pokemon/cyclizar/footprint.png b/graphics/pokemon/cyclizar/footprint.png new file mode 100644 index 0000000000..fcb669eee3 Binary files /dev/null and b/graphics/pokemon/cyclizar/footprint.png differ diff --git a/graphics/pokemon/dachsbun/footprint.png b/graphics/pokemon/dachsbun/footprint.png new file mode 100644 index 0000000000..38c40c9b1f Binary files /dev/null and b/graphics/pokemon/dachsbun/footprint.png differ diff --git a/graphics/pokemon/dipplin/footprint.png b/graphics/pokemon/dipplin/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/dipplin/footprint.png differ diff --git a/graphics/pokemon/dolliv/footprint.png b/graphics/pokemon/dolliv/footprint.png new file mode 100644 index 0000000000..a406355176 Binary files /dev/null and b/graphics/pokemon/dolliv/footprint.png differ diff --git a/graphics/pokemon/dondozo/footprint.png b/graphics/pokemon/dondozo/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/dondozo/footprint.png differ diff --git a/graphics/pokemon/dudunsparce/footprint.png b/graphics/pokemon/dudunsparce/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/dudunsparce/footprint.png differ diff --git a/graphics/pokemon/enamorus/footprint.png b/graphics/pokemon/enamorus/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/enamorus/footprint.png differ diff --git a/graphics/pokemon/espathra/footprint.png b/graphics/pokemon/espathra/footprint.png new file mode 100644 index 0000000000..79ef25cf42 Binary files /dev/null and b/graphics/pokemon/espathra/footprint.png differ diff --git a/graphics/pokemon/farigiraf/footprint.png b/graphics/pokemon/farigiraf/footprint.png new file mode 100644 index 0000000000..a9377213fd Binary files /dev/null and b/graphics/pokemon/farigiraf/footprint.png differ diff --git a/graphics/pokemon/fezandipiti/footprint.png b/graphics/pokemon/fezandipiti/footprint.png new file mode 100644 index 0000000000..5e8437c6da Binary files /dev/null and b/graphics/pokemon/fezandipiti/footprint.png differ diff --git a/graphics/pokemon/fidough/footprint.png b/graphics/pokemon/fidough/footprint.png new file mode 100644 index 0000000000..218192e037 Binary files /dev/null and b/graphics/pokemon/fidough/footprint.png differ diff --git a/graphics/pokemon/finizen/footprint.png b/graphics/pokemon/finizen/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/finizen/footprint.png differ diff --git a/graphics/pokemon/flamigo/footprint.png b/graphics/pokemon/flamigo/footprint.png new file mode 100644 index 0000000000..dd0c280bfe Binary files /dev/null and b/graphics/pokemon/flamigo/footprint.png differ diff --git a/graphics/pokemon/flittle/footprint.png b/graphics/pokemon/flittle/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/flittle/footprint.png differ diff --git a/graphics/pokemon/floragato/footprint.png b/graphics/pokemon/floragato/footprint.png new file mode 100644 index 0000000000..058111ad28 Binary files /dev/null and b/graphics/pokemon/floragato/footprint.png differ diff --git a/graphics/pokemon/flutter_mane/footprint.png b/graphics/pokemon/flutter_mane/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/flutter_mane/footprint.png differ diff --git a/graphics/pokemon/frigibax/footprint.png b/graphics/pokemon/frigibax/footprint.png new file mode 100644 index 0000000000..9f1c1ac999 Binary files /dev/null and b/graphics/pokemon/frigibax/footprint.png differ diff --git a/graphics/pokemon/fuecoco/footprint.png b/graphics/pokemon/fuecoco/footprint.png new file mode 100644 index 0000000000..be38770a08 Binary files /dev/null and b/graphics/pokemon/fuecoco/footprint.png differ diff --git a/graphics/pokemon/garganacl/footprint.png b/graphics/pokemon/garganacl/footprint.png new file mode 100644 index 0000000000..d91f5eea5f Binary files /dev/null and b/graphics/pokemon/garganacl/footprint.png differ diff --git a/graphics/pokemon/gholdengo/footprint.png b/graphics/pokemon/gholdengo/footprint.png new file mode 100644 index 0000000000..00fa1399cb Binary files /dev/null and b/graphics/pokemon/gholdengo/footprint.png differ diff --git a/graphics/pokemon/gimmighoul/footprint.png b/graphics/pokemon/gimmighoul/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/gimmighoul/footprint.png differ diff --git a/graphics/pokemon/gimmighoul/roaming/footprint.png b/graphics/pokemon/gimmighoul/roaming/footprint.png new file mode 100644 index 0000000000..afbe34b847 Binary files /dev/null and b/graphics/pokemon/gimmighoul/roaming/footprint.png differ diff --git a/graphics/pokemon/giratina/origin/footprint.png b/graphics/pokemon/giratina/origin/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/giratina/origin/footprint.png differ diff --git a/graphics/pokemon/glimmet/footprint.png b/graphics/pokemon/glimmet/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/glimmet/footprint.png differ diff --git a/graphics/pokemon/glimmora/footprint.png b/graphics/pokemon/glimmora/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/glimmora/footprint.png differ diff --git a/graphics/pokemon/golem/footprint.png b/graphics/pokemon/golem/footprint.png index c9f6144429..0db6de32c7 100644 Binary files a/graphics/pokemon/golem/footprint.png and b/graphics/pokemon/golem/footprint.png differ diff --git a/graphics/pokemon/gouging_fire/footprint.png b/graphics/pokemon/gouging_fire/footprint.png new file mode 100644 index 0000000000..c8be58fdd1 Binary files /dev/null and b/graphics/pokemon/gouging_fire/footprint.png differ diff --git a/graphics/pokemon/grafaiai/footprint.png b/graphics/pokemon/grafaiai/footprint.png new file mode 100644 index 0000000000..073c30a370 Binary files /dev/null and b/graphics/pokemon/grafaiai/footprint.png differ diff --git a/graphics/pokemon/great_tusk/footprint.png b/graphics/pokemon/great_tusk/footprint.png new file mode 100644 index 0000000000..98bc6c9db4 Binary files /dev/null and b/graphics/pokemon/great_tusk/footprint.png differ diff --git a/graphics/pokemon/greavard/footprint.png b/graphics/pokemon/greavard/footprint.png new file mode 100644 index 0000000000..44323de9cd Binary files /dev/null and b/graphics/pokemon/greavard/footprint.png differ diff --git a/graphics/pokemon/houndstone/footprint.png b/graphics/pokemon/houndstone/footprint.png new file mode 100644 index 0000000000..c6c40f1b34 Binary files /dev/null and b/graphics/pokemon/houndstone/footprint.png differ diff --git a/graphics/pokemon/hydrapple/footprint.png b/graphics/pokemon/hydrapple/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/hydrapple/footprint.png differ diff --git a/graphics/pokemon/iron_boulder/footprint.png b/graphics/pokemon/iron_boulder/footprint.png new file mode 100644 index 0000000000..47710dbb18 Binary files /dev/null and b/graphics/pokemon/iron_boulder/footprint.png differ diff --git a/graphics/pokemon/iron_bundle/footprint.png b/graphics/pokemon/iron_bundle/footprint.png new file mode 100644 index 0000000000..f457d28252 Binary files /dev/null and b/graphics/pokemon/iron_bundle/footprint.png differ diff --git a/graphics/pokemon/iron_crown/footprint.png b/graphics/pokemon/iron_crown/footprint.png new file mode 100644 index 0000000000..a41a305317 Binary files /dev/null and b/graphics/pokemon/iron_crown/footprint.png differ diff --git a/graphics/pokemon/iron_hands/footprint.png b/graphics/pokemon/iron_hands/footprint.png new file mode 100644 index 0000000000..18671be158 Binary files /dev/null and b/graphics/pokemon/iron_hands/footprint.png differ diff --git a/graphics/pokemon/iron_jugulis/footprint.png b/graphics/pokemon/iron_jugulis/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/iron_jugulis/footprint.png differ diff --git a/graphics/pokemon/iron_leaves/footprint.png b/graphics/pokemon/iron_leaves/footprint.png new file mode 100644 index 0000000000..2850ad76c8 Binary files /dev/null and b/graphics/pokemon/iron_leaves/footprint.png differ diff --git a/graphics/pokemon/iron_moth/footprint.png b/graphics/pokemon/iron_moth/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/iron_moth/footprint.png differ diff --git a/graphics/pokemon/iron_thorns/footprint.png b/graphics/pokemon/iron_thorns/footprint.png new file mode 100644 index 0000000000..b1f2f978b3 Binary files /dev/null and b/graphics/pokemon/iron_thorns/footprint.png differ diff --git a/graphics/pokemon/iron_treads/footprint.png b/graphics/pokemon/iron_treads/footprint.png new file mode 100644 index 0000000000..b0b7534d3b Binary files /dev/null and b/graphics/pokemon/iron_treads/footprint.png differ diff --git a/graphics/pokemon/iron_valiant/footprint.png b/graphics/pokemon/iron_valiant/footprint.png new file mode 100644 index 0000000000..63d1f9d64a Binary files /dev/null and b/graphics/pokemon/iron_valiant/footprint.png differ diff --git a/graphics/pokemon/kilowattrel/footprint.png b/graphics/pokemon/kilowattrel/footprint.png new file mode 100644 index 0000000000..4240923c42 Binary files /dev/null and b/graphics/pokemon/kilowattrel/footprint.png differ diff --git a/graphics/pokemon/kingambit/footprint.png b/graphics/pokemon/kingambit/footprint.png new file mode 100644 index 0000000000..3d73465ed9 Binary files /dev/null and b/graphics/pokemon/kingambit/footprint.png differ diff --git a/graphics/pokemon/klawf/footprint.png b/graphics/pokemon/klawf/footprint.png new file mode 100644 index 0000000000..9a3814bedd Binary files /dev/null and b/graphics/pokemon/klawf/footprint.png differ diff --git a/graphics/pokemon/kleavor/footprint.png b/graphics/pokemon/kleavor/footprint.png new file mode 100644 index 0000000000..0c6a894993 Binary files /dev/null and b/graphics/pokemon/kleavor/footprint.png differ diff --git a/graphics/pokemon/koraidon/footprint.png b/graphics/pokemon/koraidon/footprint.png new file mode 100644 index 0000000000..10257b056e Binary files /dev/null and b/graphics/pokemon/koraidon/footprint.png differ diff --git a/graphics/pokemon/lechonk/footprint.png b/graphics/pokemon/lechonk/footprint.png new file mode 100644 index 0000000000..bf7b5845f8 Binary files /dev/null and b/graphics/pokemon/lechonk/footprint.png differ diff --git a/graphics/pokemon/lokix/footprint.png b/graphics/pokemon/lokix/footprint.png new file mode 100644 index 0000000000..dd2e7977ce Binary files /dev/null and b/graphics/pokemon/lokix/footprint.png differ diff --git a/graphics/pokemon/ludicolo/footprint.png b/graphics/pokemon/ludicolo/footprint.png index e5aa759abc..a85dc2742f 100644 Binary files a/graphics/pokemon/ludicolo/footprint.png and b/graphics/pokemon/ludicolo/footprint.png differ diff --git a/graphics/pokemon/mabosstiff/footprint.png b/graphics/pokemon/mabosstiff/footprint.png new file mode 100644 index 0000000000..31c2d2e5b1 Binary files /dev/null and b/graphics/pokemon/mabosstiff/footprint.png differ diff --git a/graphics/pokemon/maschiff/footprint.png b/graphics/pokemon/maschiff/footprint.png new file mode 100644 index 0000000000..64cbfc512a Binary files /dev/null and b/graphics/pokemon/maschiff/footprint.png differ diff --git a/graphics/pokemon/maushold/footprint.png b/graphics/pokemon/maushold/footprint.png new file mode 100644 index 0000000000..f35d7021d9 Binary files /dev/null and b/graphics/pokemon/maushold/footprint.png differ diff --git a/graphics/pokemon/maushold/four/footprint.png b/graphics/pokemon/maushold/four/footprint.png new file mode 100644 index 0000000000..020c31fdb4 Binary files /dev/null and b/graphics/pokemon/maushold/four/footprint.png differ diff --git a/graphics/pokemon/mawile/footprint.png b/graphics/pokemon/mawile/footprint.png index 2aa7148e79..3cd7a16a4c 100644 Binary files a/graphics/pokemon/mawile/footprint.png and b/graphics/pokemon/mawile/footprint.png differ diff --git a/graphics/pokemon/meowscarada/footprint.png b/graphics/pokemon/meowscarada/footprint.png new file mode 100644 index 0000000000..058111ad28 Binary files /dev/null and b/graphics/pokemon/meowscarada/footprint.png differ diff --git a/graphics/pokemon/miraidon/footprint.png b/graphics/pokemon/miraidon/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/miraidon/footprint.png differ diff --git a/graphics/pokemon/munkidori/footprint.png b/graphics/pokemon/munkidori/footprint.png new file mode 100644 index 0000000000..52b6602fcd Binary files /dev/null and b/graphics/pokemon/munkidori/footprint.png differ diff --git a/graphics/pokemon/nacli/footprint.png b/graphics/pokemon/nacli/footprint.png new file mode 100644 index 0000000000..d4703463c1 Binary files /dev/null and b/graphics/pokemon/nacli/footprint.png differ diff --git a/graphics/pokemon/naclstack/footprint.png b/graphics/pokemon/naclstack/footprint.png new file mode 100644 index 0000000000..14e4bcbc22 Binary files /dev/null and b/graphics/pokemon/naclstack/footprint.png differ diff --git a/graphics/pokemon/nymble/footprint.png b/graphics/pokemon/nymble/footprint.png new file mode 100644 index 0000000000..8c50a10c1e Binary files /dev/null and b/graphics/pokemon/nymble/footprint.png differ diff --git a/graphics/pokemon/ogerpon/footprint.png b/graphics/pokemon/ogerpon/footprint.png new file mode 100644 index 0000000000..3dc4bcbc9b Binary files /dev/null and b/graphics/pokemon/ogerpon/footprint.png differ diff --git a/graphics/pokemon/oinkologne/footprint.png b/graphics/pokemon/oinkologne/footprint.png new file mode 100644 index 0000000000..d52b365f1d Binary files /dev/null and b/graphics/pokemon/oinkologne/footprint.png differ diff --git a/graphics/pokemon/okidogi/footprint.png b/graphics/pokemon/okidogi/footprint.png new file mode 100644 index 0000000000..73f8f47a40 Binary files /dev/null and b/graphics/pokemon/okidogi/footprint.png differ diff --git a/graphics/pokemon/orthworm/footprint.png b/graphics/pokemon/orthworm/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/orthworm/footprint.png differ diff --git a/graphics/pokemon/overqwil/footprint.png b/graphics/pokemon/overqwil/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/overqwil/footprint.png differ diff --git a/graphics/pokemon/palafin/footprint.png b/graphics/pokemon/palafin/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/palafin/footprint.png differ diff --git a/graphics/pokemon/pawmi/footprint.png b/graphics/pokemon/pawmi/footprint.png new file mode 100644 index 0000000000..41a6a95d83 Binary files /dev/null and b/graphics/pokemon/pawmi/footprint.png differ diff --git a/graphics/pokemon/pawmo/footprint.png b/graphics/pokemon/pawmo/footprint.png new file mode 100644 index 0000000000..ba420dc472 Binary files /dev/null and b/graphics/pokemon/pawmo/footprint.png differ diff --git a/graphics/pokemon/pawmot/footprint.png b/graphics/pokemon/pawmot/footprint.png new file mode 100644 index 0000000000..62e330603c Binary files /dev/null and b/graphics/pokemon/pawmot/footprint.png differ diff --git a/graphics/pokemon/pecharunt/footprint.png b/graphics/pokemon/pecharunt/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/pecharunt/footprint.png differ diff --git a/graphics/pokemon/poltchageist/footprint.png b/graphics/pokemon/poltchageist/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/poltchageist/footprint.png differ diff --git a/graphics/pokemon/quaquaval/footprint.png b/graphics/pokemon/quaquaval/footprint.png new file mode 100644 index 0000000000..3fa649f999 Binary files /dev/null and b/graphics/pokemon/quaquaval/footprint.png differ diff --git a/graphics/pokemon/quaxly/footprint.png b/graphics/pokemon/quaxly/footprint.png new file mode 100644 index 0000000000..9f25aa9d23 Binary files /dev/null and b/graphics/pokemon/quaxly/footprint.png differ diff --git a/graphics/pokemon/quaxwell/footprint.png b/graphics/pokemon/quaxwell/footprint.png new file mode 100644 index 0000000000..b4c98450a6 Binary files /dev/null and b/graphics/pokemon/quaxwell/footprint.png differ diff --git a/graphics/pokemon/question_mark/footprint.png b/graphics/pokemon/question_mark/footprint.png index 8da752a46b..9a019bb167 100644 Binary files a/graphics/pokemon/question_mark/footprint.png and b/graphics/pokemon/question_mark/footprint.png differ diff --git a/graphics/pokemon/rabsca/footprint.png b/graphics/pokemon/rabsca/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/rabsca/footprint.png differ diff --git a/graphics/pokemon/raging_bolt/footprint.png b/graphics/pokemon/raging_bolt/footprint.png new file mode 100644 index 0000000000..07df1f47dd Binary files /dev/null and b/graphics/pokemon/raging_bolt/footprint.png differ diff --git a/graphics/pokemon/rellor/footprint.png b/graphics/pokemon/rellor/footprint.png new file mode 100644 index 0000000000..8512367993 Binary files /dev/null and b/graphics/pokemon/rellor/footprint.png differ diff --git a/graphics/pokemon/revavroom/footprint.png b/graphics/pokemon/revavroom/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/revavroom/footprint.png differ diff --git a/graphics/pokemon/roaring_moon/footprint.png b/graphics/pokemon/roaring_moon/footprint.png new file mode 100644 index 0000000000..37eaedcb45 Binary files /dev/null and b/graphics/pokemon/roaring_moon/footprint.png differ diff --git a/graphics/pokemon/salandit/anim_front.png b/graphics/pokemon/salandit/anim_front.png index 6bcd63d4d3..6197504ef2 100644 Binary files a/graphics/pokemon/salandit/anim_front.png and b/graphics/pokemon/salandit/anim_front.png differ diff --git a/graphics/pokemon/salandit/back.png b/graphics/pokemon/salandit/back.png index 461f7015a3..1563a0d0c1 100644 Binary files a/graphics/pokemon/salandit/back.png and b/graphics/pokemon/salandit/back.png differ diff --git a/graphics/pokemon/salandit/normal.pal b/graphics/pokemon/salandit/normal.pal index ba5c7e8bfe..02630e94b3 100644 --- a/graphics/pokemon/salandit/normal.pal +++ b/graphics/pokemon/salandit/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -40 32 32 -16 16 8 +37 34 33 +50 45 44 16 16 16 240 80 8 104 104 96 -40 32 24 -64 56 48 +55 50 50 +67 62 60 112 88 88 184 152 200 216 200 224 88 80 136 64 64 64 136 120 112 -0 0 0 -0 0 0 +255 255 255 +196 18 18 diff --git a/graphics/pokemon/salandit/shiny.pal b/graphics/pokemon/salandit/shiny.pal index 77e8261440..a24b6f5dfe 100644 --- a/graphics/pokemon/salandit/shiny.pal +++ b/graphics/pokemon/salandit/shiny.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 +37 34 33 112 96 96 -16 16 8 16 16 16 240 80 8 200 192 200 -40 32 24 -64 56 48 +55 50 50 +67 62 60 112 88 88 184 152 200 216 200 224 88 80 136 144 136 144 224 224 224 -0 0 0 -0 0 0 +255 255 255 +196 18 18 diff --git a/graphics/pokemon/sandy_shocks/footprint.png b/graphics/pokemon/sandy_shocks/footprint.png new file mode 100644 index 0000000000..a703fdf646 Binary files /dev/null and b/graphics/pokemon/sandy_shocks/footprint.png differ diff --git a/graphics/pokemon/sawsbuck/autumn/anim_front.png b/graphics/pokemon/sawsbuck/autumn/anim_front.png new file mode 100644 index 0000000000..91d0c0ef30 Binary files /dev/null and b/graphics/pokemon/sawsbuck/autumn/anim_front.png differ diff --git a/graphics/pokemon/sawsbuck/autumn/front.png b/graphics/pokemon/sawsbuck/autumn/front.png deleted file mode 100644 index 97c43db22c..0000000000 Binary files a/graphics/pokemon/sawsbuck/autumn/front.png and /dev/null differ diff --git a/graphics/pokemon/sawsbuck/summer/anim_front.png b/graphics/pokemon/sawsbuck/summer/anim_front.png new file mode 100644 index 0000000000..f54e11a79b Binary files /dev/null and b/graphics/pokemon/sawsbuck/summer/anim_front.png differ diff --git a/graphics/pokemon/sawsbuck/summer/front.png b/graphics/pokemon/sawsbuck/summer/front.png deleted file mode 100644 index 96a0c150c4..0000000000 Binary files a/graphics/pokemon/sawsbuck/summer/front.png and /dev/null differ diff --git a/graphics/pokemon/sawsbuck/winter/anim_front.png b/graphics/pokemon/sawsbuck/winter/anim_front.png new file mode 100644 index 0000000000..2682758814 Binary files /dev/null and b/graphics/pokemon/sawsbuck/winter/anim_front.png differ diff --git a/graphics/pokemon/sawsbuck/winter/front.png b/graphics/pokemon/sawsbuck/winter/front.png deleted file mode 100644 index d97aa2a90d..0000000000 Binary files a/graphics/pokemon/sawsbuck/winter/front.png and /dev/null differ diff --git a/graphics/pokemon/scovillain/footprint.png b/graphics/pokemon/scovillain/footprint.png new file mode 100644 index 0000000000..3a0f6e16af Binary files /dev/null and b/graphics/pokemon/scovillain/footprint.png differ diff --git a/graphics/pokemon/scream_tail/footprint.png b/graphics/pokemon/scream_tail/footprint.png new file mode 100644 index 0000000000..dbef95b02e Binary files /dev/null and b/graphics/pokemon/scream_tail/footprint.png differ diff --git a/graphics/pokemon/shroodle/footprint.png b/graphics/pokemon/shroodle/footprint.png new file mode 100644 index 0000000000..9cdf12b7d9 Binary files /dev/null and b/graphics/pokemon/shroodle/footprint.png differ diff --git a/graphics/pokemon/shroomish/footprint.png b/graphics/pokemon/shroomish/footprint.png index 1187f2d5e7..4cd1538b6d 100644 Binary files a/graphics/pokemon/shroomish/footprint.png and b/graphics/pokemon/shroomish/footprint.png differ diff --git a/graphics/pokemon/sinistcha/footprint.png b/graphics/pokemon/sinistcha/footprint.png new file mode 100644 index 0000000000..f6fbd6c15c Binary files /dev/null and b/graphics/pokemon/sinistcha/footprint.png differ diff --git a/graphics/pokemon/skeledirge/footprint.png b/graphics/pokemon/skeledirge/footprint.png new file mode 100644 index 0000000000..4f35da0fe0 Binary files /dev/null and b/graphics/pokemon/skeledirge/footprint.png differ diff --git a/graphics/pokemon/slither_wing/footprint.png b/graphics/pokemon/slither_wing/footprint.png new file mode 100644 index 0000000000..874f7e0ce9 Binary files /dev/null and b/graphics/pokemon/slither_wing/footprint.png differ diff --git a/graphics/pokemon/smoliv/footprint.png b/graphics/pokemon/smoliv/footprint.png new file mode 100644 index 0000000000..05c8160689 Binary files /dev/null and b/graphics/pokemon/smoliv/footprint.png differ diff --git a/graphics/pokemon/sneasler/footprint.png b/graphics/pokemon/sneasler/footprint.png new file mode 100644 index 0000000000..de724e5ffd Binary files /dev/null and b/graphics/pokemon/sneasler/footprint.png differ diff --git a/graphics/pokemon/spidops/footprint.png b/graphics/pokemon/spidops/footprint.png new file mode 100644 index 0000000000..a767aece51 Binary files /dev/null and b/graphics/pokemon/spidops/footprint.png differ diff --git a/graphics/pokemon/sprigatito/footprint.png b/graphics/pokemon/sprigatito/footprint.png new file mode 100644 index 0000000000..abc95f45cc Binary files /dev/null and b/graphics/pokemon/sprigatito/footprint.png differ diff --git a/graphics/pokemon/squawkabilly/footprint.png b/graphics/pokemon/squawkabilly/footprint.png new file mode 100644 index 0000000000..55c31ea4cd Binary files /dev/null and b/graphics/pokemon/squawkabilly/footprint.png differ diff --git a/graphics/pokemon/tadbulb/footprint.png b/graphics/pokemon/tadbulb/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/tadbulb/footprint.png differ diff --git a/graphics/pokemon/tandemaus/footprint.png b/graphics/pokemon/tandemaus/footprint.png new file mode 100644 index 0000000000..172901f83d Binary files /dev/null and b/graphics/pokemon/tandemaus/footprint.png differ diff --git a/graphics/pokemon/tarountula/footprint.png b/graphics/pokemon/tarountula/footprint.png new file mode 100644 index 0000000000..f6fbd6c15c Binary files /dev/null and b/graphics/pokemon/tarountula/footprint.png differ diff --git a/graphics/pokemon/tatsugiri/footprint.png b/graphics/pokemon/tatsugiri/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/tatsugiri/footprint.png differ diff --git a/graphics/pokemon/terapagos/footprint.png b/graphics/pokemon/terapagos/footprint.png new file mode 100644 index 0000000000..570798fc8f Binary files /dev/null and b/graphics/pokemon/terapagos/footprint.png differ diff --git a/graphics/pokemon/terapagos/stellar/footprint.png b/graphics/pokemon/terapagos/stellar/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/terapagos/stellar/footprint.png differ diff --git a/graphics/pokemon/terapagos/terastal/footprint.png b/graphics/pokemon/terapagos/terastal/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/terapagos/terastal/footprint.png differ diff --git a/graphics/pokemon/ting_lu/footprint.png b/graphics/pokemon/ting_lu/footprint.png new file mode 100644 index 0000000000..4990ad586f Binary files /dev/null and b/graphics/pokemon/ting_lu/footprint.png differ diff --git a/graphics/pokemon/tinkatink/footprint.png b/graphics/pokemon/tinkatink/footprint.png new file mode 100644 index 0000000000..9b369e78dc Binary files /dev/null and b/graphics/pokemon/tinkatink/footprint.png differ diff --git a/graphics/pokemon/tinkaton/footprint.png b/graphics/pokemon/tinkaton/footprint.png new file mode 100644 index 0000000000..08b25e2c6b Binary files /dev/null and b/graphics/pokemon/tinkaton/footprint.png differ diff --git a/graphics/pokemon/tinkatuff/footprint.png b/graphics/pokemon/tinkatuff/footprint.png new file mode 100644 index 0000000000..48f91a2703 Binary files /dev/null and b/graphics/pokemon/tinkatuff/footprint.png differ diff --git a/graphics/pokemon/toedscool/footprint.png b/graphics/pokemon/toedscool/footprint.png new file mode 100644 index 0000000000..62c7136a64 Binary files /dev/null and b/graphics/pokemon/toedscool/footprint.png differ diff --git a/graphics/pokemon/toedscruel/footprint.png b/graphics/pokemon/toedscruel/footprint.png new file mode 100644 index 0000000000..49599c8555 Binary files /dev/null and b/graphics/pokemon/toedscruel/footprint.png differ diff --git a/graphics/pokemon/ursaluna/footprint.png b/graphics/pokemon/ursaluna/footprint.png new file mode 100644 index 0000000000..2613a0290e Binary files /dev/null and b/graphics/pokemon/ursaluna/footprint.png differ diff --git a/graphics/pokemon/varoom/footprint.png b/graphics/pokemon/varoom/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/varoom/footprint.png differ diff --git a/graphics/pokemon/veluza/footprint.png b/graphics/pokemon/veluza/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/veluza/footprint.png differ diff --git a/graphics/pokemon/walking_wake/footprint.png b/graphics/pokemon/walking_wake/footprint.png new file mode 100644 index 0000000000..b359e266ea Binary files /dev/null and b/graphics/pokemon/walking_wake/footprint.png differ diff --git a/graphics/pokemon/wattrel/footprint.png b/graphics/pokemon/wattrel/footprint.png new file mode 100644 index 0000000000..71c5d0e921 Binary files /dev/null and b/graphics/pokemon/wattrel/footprint.png differ diff --git a/graphics/pokemon/wiglett/footprint.png b/graphics/pokemon/wiglett/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/wiglett/footprint.png differ diff --git a/graphics/pokemon/wo_chien/footprint.png b/graphics/pokemon/wo_chien/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/wo_chien/footprint.png differ diff --git a/graphics/pokemon/wugtrio/footprint.png b/graphics/pokemon/wugtrio/footprint.png new file mode 100644 index 0000000000..aa3e48b0e8 Binary files /dev/null and b/graphics/pokemon/wugtrio/footprint.png differ diff --git a/graphics/pokemon/wyrdeer/footprint.png b/graphics/pokemon/wyrdeer/footprint.png new file mode 100644 index 0000000000..2188abb4fc Binary files /dev/null and b/graphics/pokemon/wyrdeer/footprint.png differ diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index 03fa1e5f31..b6319b7f66 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -5,6 +5,13 @@ #define AI_STRIKES_FIRST(battlerAi, battlerDef, move)((AI_WhoStrikesFirst(battlerAi, battlerDef, move) == AI_IS_FASTER)) +enum +{ + DMG_ROLL_LOWEST, + DMG_ROLL_AVERAGE, + DMG_ROLL_HIGHEST, +}; + bool32 AI_RandLessThan(u32 val); bool32 IsAiVsAiBattle(void); bool32 BattlerHasAi(u32 battlerId); @@ -82,8 +89,8 @@ bool32 ShouldLowerEvasion(u32 battlerAtk, u32 battlerDef, u32 defAbility); bool32 IsAffectedByPowder(u32 battler, u32 ability, u32 holdEffect); bool32 MovesWithCategoryUnusable(u32 attacker, u32 target, u32 category); s32 AI_WhichMoveBetter(u32 move1, u32 move2, u32 battlerAtk, u32 battlerDef, s32 noOfHitsToKo); -s32 AI_CalcDamageSaveBattlers(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower); -s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower, u32 weather); +s32 AI_CalcDamageSaveBattlers(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower, u32 dmgRoll); +s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower, u32 weather, u32 dmgRoll); bool32 AI_IsDamagedByRecoil(u32 battler); u32 GetNoOfHitsToKO(u32 dmg, s32 hp); u32 GetNoOfHitsToKOBattlerDmg(u32 dmg, u32 battlerDef); @@ -187,7 +194,7 @@ void IncreaseSleepScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score); void IncreaseConfusionScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score); void IncreaseFrostbiteScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score); -s32 AI_CalcPartyMonDamage(u32 move, u32 battlerAtk, u32 battlerDef, struct BattlePokemon switchinCandidate, bool8 isPartyMonAttacker); +s32 AI_CalcPartyMonDamage(u32 move, u32 battlerAtk, u32 battlerDef, struct BattlePokemon switchinCandidate, bool32 isPartyMonAttacker, u32 dmgRoll); s32 AI_CheckMoveEffects(u32 battlerAtk, u32 battlerDef, u32 move, s32 score, struct AiLogicData *aiData, u32 predictedMove, bool32 isDoubleBattle); s32 AI_TryToClearStats(u32 battlerAtk, u32 battlerDef, bool32 isDoubleBattle); bool32 AI_ShouldCopyStatChanges(u32 battlerAtk, u32 battlerDef); diff --git a/include/battle_anim.h b/include/battle_anim.h index fafde10c5b..c17de9180c 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -537,6 +537,9 @@ extern const union AnimCmd *const gAnims_WillOWispOrb[]; extern const union AnimCmd *const gAnims_FirePlume[]; // battle_anim_dragon.c +extern const union AnimCmd *const gAnims_DreepyMissilePlayer[]; +extern const union AnimCmd *const gAnims_DreepyMissileOpponent[]; +extern const union AnimCmd *const gAnims_DreepyMissileOpponentNotDrag[]; extern const union AnimCmd *const gAnims_DragonBreathFire[]; extern const union AnimCmd *const gAnims_DragonRageFirePlume[]; extern const union AffineAnimCmd *const gAffineAnims_DragonRageFire[]; diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index fcf69e53dc..dc9a5c9290 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -59,7 +59,6 @@ u8 GetFirstFaintedPartyIndex(u8 battlerId); bool32 IsMoveAffectedByParentalBond(u32 move, u32 battler); extern void (* const gBattleScriptingCommandsTable[])(void); -extern const u8 gBattlePalaceNatureToMoveGroupLikelihood[NUM_NATURES][4]; extern const struct StatFractions gAccuracyStageRatios[]; #endif // GUARD_BATTLE_SCRIPT_COMMANDS_H diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 39ff811af9..93b9567f85 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -141,6 +141,7 @@ extern const u8 BattleScript_CurseTurnDmg[]; extern const u8 BattleScript_TargetPRLZHeal[]; extern const u8 BattleScript_TargetWokeUp[]; extern const u8 BattleScript_TargetBurnHeal[]; +extern const u8 BattleScript_TargetPoisonHealed[]; extern const u8 BattleScript_MoveEffectSleep[]; extern const u8 BattleScript_YawnMakesAsleep[]; extern const u8 BattleScript_MoveEffectPoison[]; @@ -503,7 +504,6 @@ extern const u8 BattleScript_TheRainbowDisappeared[]; extern const u8 BattleScript_HurtByTheSeaOfFire[]; extern const u8 BattleScript_TheSeaOfFireDisappeared[]; extern const u8 BattleScript_TheSwampDisappeared[]; -extern const u8 BattleScript_ItemRestoreHP_Party[]; extern const u8 BattleScript_EffectPsychicNoise[]; extern const u8 BattleScript_AromaVeilProtectsRet[]; extern const u8 BattleScript_LowerAtkSpAtk[]; diff --git a/include/battle_util.h b/include/battle_util.h index 445aec7ff2..a64269082f 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -20,26 +20,31 @@ #define MOVE_LIMITATION_PLACEHOLDER (1 << 15) #define MOVE_LIMITATIONS_ALL 0xFFFF -#define ABILITYEFFECT_ON_SWITCHIN 0 -#define ABILITYEFFECT_ENDTURN 1 -#define ABILITYEFFECT_MOVES_BLOCK 2 -#define ABILITYEFFECT_ABSORBING 3 -#define ABILITYEFFECT_MOVE_END_ATTACKER 4 -#define ABILITYEFFECT_MOVE_END 5 -#define ABILITYEFFECT_IMMUNITY 6 -#define ABILITYEFFECT_SYNCHRONIZE 7 -#define ABILITYEFFECT_ATK_SYNCHRONIZE 8 -#define ABILITYEFFECT_TRACE1 9 -#define ABILITYEFFECT_TRACE2 10 -#define ABILITYEFFECT_MOVE_END_OTHER 11 -#define ABILITYEFFECT_NEUTRALIZINGGAS 12 -#define ABILITYEFFECT_FIELD_SPORT 13 // Only used if B_SPORT_TURNS >= GEN_6 -#define ABILITYEFFECT_ON_WEATHER 14 -#define ABILITYEFFECT_ON_TERRAIN 15 -#define ABILITYEFFECT_SWITCH_IN_TERRAIN 16 -#define ABILITYEFFECT_SWITCH_IN_WEATHER 17 -#define ABILITYEFFECT_OPPORTUNIST 18 -#define ABILITYEFFECT_SWITCH_IN_STATUSES 19 +enum { + ABILITYEFFECT_ON_SWITCHIN, + ABILITYEFFECT_ENDTURN, + ABILITYEFFECT_MOVES_BLOCK, + ABILITYEFFECT_WOULD_BLOCK, // Checks immunity without triggering a script + ABILITYEFFECT_ABSORBING, + ABILITYEFFECT_WOULD_ABSORB, // Checks immunity without triggering a script + ABILITYEFFECT_MOVE_END_ATTACKER, + ABILITYEFFECT_MOVE_END, + ABILITYEFFECT_IMMUNITY, + ABILITYEFFECT_SYNCHRONIZE, + ABILITYEFFECT_ATK_SYNCHRONIZE, + ABILITYEFFECT_TRACE1, + ABILITYEFFECT_TRACE2, + ABILITYEFFECT_MOVE_END_OTHER, + ABILITYEFFECT_NEUTRALIZINGGAS, + ABILITYEFFECT_FIELD_SPORT, // Only used if B_SPORT_TURNS >= GEN_6 + ABILITYEFFECT_ON_WEATHER, + ABILITYEFFECT_ON_TERRAIN, + ABILITYEFFECT_SWITCH_IN_TERRAIN, + ABILITYEFFECT_SWITCH_IN_WEATHER, + ABILITYEFFECT_OPPORTUNIST, + ABILITYEFFECT_SWITCH_IN_STATUSES, +}; + // Special cases #define ABILITYEFFECT_MUD_SPORT 252 // Only used if B_SPORT_TURNS >= GEN_6 #define ABILITYEFFECT_WATER_SPORT 253 // Only used if B_SPORT_TURNS >= GEN_6 @@ -203,6 +208,7 @@ u8 GetBattleMoveCategory(u32 moveId); bool32 CanFling(u32 battler); bool32 IsTelekinesisBannedSpecies(u16 species); bool32 IsHealBlockPreventingMove(u32 battler, u32 move); +bool32 IsBelchPreventingMove(u32 battler, u32 move); bool32 HasEnoughHpToEatBerry(u32 battler, u32 hpFraction, u32 itemId); bool32 IsPartnerMonFromSameTrainer(u32 battler); u8 GetCategoryBasedOnStats(u32 battler); @@ -233,6 +239,8 @@ bool32 MoveHasAdditionalEffectWithChance(u32 move, u32 moveEffect, u32 chance); bool32 MoveHasAdditionalEffectSelf(u32 move, u32 moveEffect); bool32 MoveHasAdditionalEffectSelfArg(u32 move, u32 moveEffect, u32 argument); bool32 MoveHasChargeTurnAdditionalEffect(u32 move); +bool32 CanTargetPartner(u32 battlerAtk, u32 battlerDef); +bool32 TargetFullyImmuneToCurrMove(u32 BattlerAtk, u32 battlerDef); bool32 CanSleep(u32 battler); bool32 CanBePoisoned(u32 battlerAttacker, u32 battlerTarget); diff --git a/include/config/battle.h b/include/config/battle.h index 18379d4add..1a272f358f 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -154,6 +154,7 @@ #define B_X_ITEMS_BUFF GEN_LATEST // In Gen7+, the X Items raise a stat by 2 stages instead of 1. #define B_MENTAL_HERB GEN_LATEST // In Gen5+, the Mental Herb cures Taunt, Encore, Torment, Heal Block, and Disable in addition to Infatuation from before. #define B_TRAINERS_KNOCK_OFF_ITEMS TRUE // If TRUE, trainers can steal/swap your items (non-berries are restored after battle). In vanilla games trainers cannot steal items. +#define B_RETURN_STOLEN_NPC_ITEMS GEN_LATEST // In Gen5+, Thief and Covet no longer steal items from NPCs. #define B_RESTORE_HELD_BATTLE_ITEMS GEN_LATEST // In Gen9, all non-berry items are restored after battle. #define B_SOUL_DEW_BOOST GEN_LATEST // In Gens3-6, Soul Dew boosts Latis' Sp. Atk and Sp. Def. In Gen7+ it boosts the power of their Psychic and Dragon type moves instead. #define B_NET_BALL_MODIFIER GEN_LATEST // In Gen7+, Net Ball's catch multiplier is x5 instead of x3. diff --git a/include/config/pokemon.h b/include/config/pokemon.h index 32415e5247..18f9c28e45 100644 --- a/include/config/pokemon.h +++ b/include/config/pokemon.h @@ -45,6 +45,7 @@ #define P_EV_CAP GEN_LATEST // Since Gen 6, the max EVs per stat is 252 instead of 255. #define P_SHOW_TERA_TYPE GEN_8 // Since Gen 9, the Tera Type is shown on the summary screen. #define P_TM_LITERACY GEN_LATEST // Since Gen 6, TM illiterate Pokémon can learn TMs that teach moves that are in their level-up learnsets. +#define P_EGG_CYCLE_LENGTH GEN_LATEST // Since Gen 8, egg cycles take half as many steps as before. // Learnset helper toggles #define P_LEARNSET_HELPER_TEACHABLE TRUE // If TRUE, teachable_learnsets.h will be populated by tools/learnset_helpers/teachable.py using the included JSON files based on available TMs and tutors. diff --git a/include/config/save.h b/include/config/save.h index bf89bae9fb..11836396af 100644 --- a/include/config/save.h +++ b/include/config/save.h @@ -5,7 +5,7 @@ #define FREE_EXTRA_SEEN_FLAGS_SAVEBLOCK1 FALSE // Free up unused Pokédex seen flags (52 bytes). #define FREE_TRAINER_HILL FALSE // Frees up Trainer Hill data (28 bytes). #define FREE_MYSTERY_EVENT_BUFFERS FALSE // Frees up ramScript (1104 bytes). -#define FREE_MATCH_CALL FALSE // Frees up match call and rematch data. (104 bytes). +#define FREE_MATCH_CALL FALSE // Frees up match call and rematch / VS Seeker data. (104 bytes). #define FREE_UNION_ROOM_CHAT FALSE // Frees up union room chat (212 bytes). #define FREE_ENIGMA_BERRY FALSE // Frees up E-Reader Enigma Berry data (52 bytes). #define FREE_LINK_BATTLE_RECORDS FALSE // Frees up link battle record data (88 bytes). diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h index e42403e16a..db3051b257 100644 --- a/include/constants/battle_ai.h +++ b/include/constants/battle_ai.h @@ -46,8 +46,9 @@ #define AI_FLAG_ACE_POKEMON (1 << 16) // AI has an Ace Pokemon. The last Pokemon in the party will not be used until it's the last one remaining. #define AI_FLAG_OMNISCIENT (1 << 17) // AI has full knowledge of player moves, abilities, hold items #define AI_FLAG_SMART_MON_CHOICES (1 << 18) // AI will make smarter decisions when choosing which mon to send out mid-battle and after a KO, which are separate decisions. Automatically included by AI_FLAG_SMART_SWITCHING. +#define AI_FLAG_CONSERVATIVE (1 << 19) // AI assumes all moves will low roll damage -#define AI_FLAG_COUNT 19 +#define AI_FLAG_COUNT 20 // 'other' ai logic flags #define AI_FLAG_ROAMING (1 << 29) diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index bde2458508..613f39098f 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -407,6 +407,7 @@ #define ANIM_TAG_SYRUP_SPLAT_YELLOW (ANIM_SPRITES_START + 393) #define ANIM_TAG_TERA_CRYSTAL (ANIM_SPRITES_START + 394) #define ANIM_TAG_TERA_SHATTER (ANIM_SPRITES_START + 395) +#define ANIM_TAG_DREEPY_SHINY (ANIM_SPRITES_START + 396) // battlers #define ANIM_ATTACKER 0 diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 04ddb6d881..34a6d9bb4d 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -191,7 +191,6 @@ enum { EFFECT_ROUND, EFFECT_BRINE, EFFECT_RETALIATE, - EFFECT_BULLDOZE, EFFECT_FOUL_PLAY, EFFECT_PSYSHOCK, EFFECT_ROOST, @@ -353,6 +352,7 @@ enum { EFFECT_SPICY_EXTRACT, EFFECT_TERA_BLAST, EFFECT_TERA_STARSTORM, + EFFECT_DRAGON_DARTS, NUM_BATTLE_MOVE_EFFECTS, }; diff --git a/include/constants/battle_palace.h b/include/constants/battle_palace.h index 1d8c2f2dda..a594fcd5e2 100644 --- a/include/constants/battle_palace.h +++ b/include/constants/battle_palace.h @@ -21,9 +21,4 @@ #define PALACE_MOVE_GROUP_DEFENSE 1 #define PALACE_MOVE_GROUP_SUPPORT 2 -// In palace doubles battles Pokémon have a target preference depending on nature -#define PALACE_TARGET_STRONGER 0 -#define PALACE_TARGET_WEAKER 1 -#define PALACE_TARGET_RANDOM 2 - #endif //GUARD_CONSTANTS_BATTLE_PALACE_H diff --git a/include/constants/expansion.h b/include/constants/expansion.h index e1e228fd9b..43afdbe212 100644 --- a/include/constants/expansion.h +++ b/include/constants/expansion.h @@ -1,10 +1,10 @@ #ifndef GUARD_CONSTANTS_EXPANSION_H #define GUARD_CONSTANTS_EXPANSION_H -// 1.8.3 +// 1.8.4 #define EXPANSION_VERSION_MAJOR 1 #define EXPANSION_VERSION_MINOR 8 -#define EXPANSION_VERSION_PATCH 3 +#define EXPANSION_VERSION_PATCH 4 // FALSE if this this version of Expansion is not a tagged commit, i.e. // it contains unreleased changes. diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 343bf1a049..4bc1bd348e 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -292,10 +292,10 @@ #define EVO_MOVE_THREE_SEGMENT 44 // Pokémon levels up, knows specified move, has a personality value with a modulus of 1-99 #define EVO_LEVEL_FAMILY_OF_THREE 45 // Pokémon reaches the specified level with a personality value with a modulus of 0 #define EVO_LEVEL_FAMILY_OF_FOUR 46 // Pokémon reaches the specified level with a personality value with a modulus of 1-99 -#define EVO_LEVEL_MOVE_TWENTY_TIMES 47 // Pokémon levels up after having used a move for at least 20 times -#define EVO_LEVEL_RECOIL_DAMAGE_MALE 48 // Pokémon levels up after having suffered specified amount of non-fainting recoil damage as a male -#define EVO_LEVEL_RECOIL_DAMAGE_FEMALE 49 // Pokémon levels up after having suffered specified amount of non-fainting recoil damage as a female -#define EVO_LEVEL_ITEM_COUNT_999 50 // Pokémon levels up after trainer has collected 999 of a specific item +#define EVO_USE_MOVE_TWENTY_TIMES 47 // Pokémon levels up after having used a move for at least 20 times +#define EVO_RECOIL_DAMAGE_MALE 48 // Pokémon levels up after having suffered specified amount of non-fainting recoil damage as a male +#define EVO_RECOIL_DAMAGE_FEMALE 49 // Pokémon levels up after having suffered specified amount of non-fainting recoil damage as a female +#define EVO_ITEM_COUNT_999 50 // Pokémon levels up after trainer has collected 999 of a specific item // Evolution 'modes,' for GetEvolutionTargetSpecies #define EVO_MODE_NORMAL 0 diff --git a/include/constants/pokemon_icon.h b/include/constants/pokemon_icon.h new file mode 100644 index 0000000000..d57d5111a9 --- /dev/null +++ b/include/constants/pokemon_icon.h @@ -0,0 +1,6 @@ +#ifndef GUARD_CONSTANTS_POKEMON_ICON_H +#define GUARD_CONSTANTS_POKEMON_ICON_H + +#define POKE_ICON_BASE_PAL_TAG 56000 + +#endif // GUARD_CONSTANTS_POKEMON_ICON_H diff --git a/include/graphics.h b/include/graphics.h index e8054d08f6..488f9f5616 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -1681,6 +1681,9 @@ extern const u32 gItemIconPalette_DragonTeraShard[]; extern const u32 gItemIconPalette_SteelTeraShard[]; extern const u32 gItemIconPalette_FairyTeraShard[]; +extern const u32 gItemIcon_StellarTeraShard[]; +extern const u32 gItemIconPalette_StellarTeraShard[]; + extern const u32 gItemIcon_AdamantCrystal[]; extern const u32 gItemIconPalette_AdamantCrystal[]; extern const u32 gItemIcon_GriseousCore[]; @@ -2749,6 +2752,8 @@ extern const u32 gBattleAnimSpriteGfx_DragonPulseRing[]; extern const u32 gBattleAnimSpritePal_DragonPulseRing[]; extern const u32 gBattleAnimSpriteGfx_DreepyMissile[]; extern const u32 gBattleAnimSpritePal_DreepyMissile[]; +extern const u32 gBattleAnimSpriteGfx_DreepyMissileShiny[]; +extern const u32 gBattleAnimSpritePal_DreepyMissileShiny[]; extern const u32 gBattleAnimSpriteGfx_Drill[]; extern const u32 gBattleAnimSpritePal_Drill[]; extern const u32 gBattleAnimSpriteGfx_NewEmbers[]; diff --git a/include/item.h b/include/item.h index 88c9fe5e3f..0e2c7f8abe 100644 --- a/include/item.h +++ b/include/item.h @@ -23,6 +23,8 @@ struct Item u8 type; u8 battleUsage; u8 flingPower; + const u32 *iconPic; + const u32 *iconPalette; }; struct BagPocket diff --git a/include/item_icon.h b/include/item_icon.h index c93a519bb4..e64c2ad34a 100644 --- a/include/item_icon.h +++ b/include/item_icon.h @@ -11,6 +11,7 @@ void FreeItemIconTemporaryBuffers(void); void CopyItemIconPicTo4x4Buffer(const void *src, void *dest); u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, u16 itemId); u8 AddCustomItemIconSprite(const struct SpriteTemplate *customSpriteTemplate, u16 tilesTag, u16 paletteTag, u16 itemId); -const void *GetItemIconPicOrPalette(u16 itemId, u8 which); +const void *GetItemIconPic(u16 itemId); +const void *GetItemIconPalette(u16 itemId); #endif //GUARD_ITEM_ICON_H diff --git a/include/pokemon.h b/include/pokemon.h index 52338357c1..0691c6f734 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -444,6 +444,7 @@ struct SpeciesInfo /*0x8C*/ // Move Data /* 0x80 */ const struct LevelUpMove *levelUpLearnset; /* 0x84 */ const u16 *teachableLearnset; + const u16 *eggMoveLearnset; /* 0x88 */ const struct Evolution *evolutions; /* 0x84 */ const u16 *formSpeciesIdTable; /* 0x84 */ const struct FormChange *formChangeTable; @@ -565,6 +566,66 @@ struct Ability u8 failsOnImposter:1; // doesn't work on an Imposter mon; when can we actually use this? }; +enum { + AFFINE_NONE, + AFFINE_TURN_UP, + AFFINE_TURN_UP_AND_DOWN, + AFFINE_TURN_DOWN, + AFFINE_TURN_DOWN_SLOW, + AFFINE_TURN_DOWN_SLIGHT, + AFFINE_TURN_UP_HIGH, + AFFINE_UNUSED_1, + AFFINE_UNUSED_2, + AFFINE_UNUSED_3, + NUM_MON_AFFINES, +}; + +// The animation the Pokémon does during the feeding scene depends on their nature. +// The below values are offsets into sMonPokeblockAnims of the animation data for that nature. +#define ANIM_HARDY 0 +#define ANIM_LONELY (ANIM_HARDY + 3) +#define ANIM_BRAVE (ANIM_LONELY + 1) +#define ANIM_ADAMANT (ANIM_BRAVE + 1) +#define ANIM_NAUGHTY (ANIM_ADAMANT + 5) +#define ANIM_BOLD (ANIM_NAUGHTY + 3) +#define ANIM_DOCILE (ANIM_BOLD + 2) +#define ANIM_RELAXED (ANIM_DOCILE + 1) +#define ANIM_IMPISH (ANIM_RELAXED + 2) +#define ANIM_LAX (ANIM_IMPISH + 1) +#define ANIM_TIMID (ANIM_LAX + 1) +#define ANIM_HASTY (ANIM_TIMID + 5) +#define ANIM_SERIOUS (ANIM_HASTY + 2) +#define ANIM_JOLLY (ANIM_SERIOUS + 1) +#define ANIM_NAIVE (ANIM_JOLLY + 1) +#define ANIM_MODEST (ANIM_NAIVE + 4) +#define ANIM_MILD (ANIM_MODEST + 3) +#define ANIM_QUIET (ANIM_MILD + 1) +#define ANIM_BASHFUL (ANIM_QUIET + 2) +#define ANIM_RASH (ANIM_BASHFUL + 3) +#define ANIM_CALM (ANIM_RASH + 3) +#define ANIM_GENTLE (ANIM_CALM + 1) +#define ANIM_SASSY (ANIM_GENTLE + 1) +#define ANIM_CAREFUL (ANIM_SASSY + 1) +#define ANIM_QUIRKY (ANIM_CAREFUL + 5) + +// In palace double battles, Pokémon have a target preference depending on nature +#define PALACE_TARGET_STRONGER 0 +#define PALACE_TARGET_WEAKER 1 +#define PALACE_TARGET_RANDOM 2 + +struct NatureInfo +{ + const u8 *name; + u8 statUp; + u8 statDown; + u8 backAnim; + u8 pokeBlockAnim[2]; + u8 battlePalacePercents[4]; + u8 battlePalaceFlavorText; + u8 battlePalaceSmokescreen; + const u8 *natureGirlMessage; +}; + #define SPINDA_SPOT_WIDTH 16 #define SPINDA_SPOT_HEIGHT 16 @@ -630,9 +691,9 @@ extern const u8 gPPUpAddValues[]; extern const u8 gStatStageRatios[MAX_STAT_STAGE + 1][2]; extern const u16 gUnionRoomFacilityClasses[]; extern const struct SpriteTemplate gBattlerSpriteTemplates[]; -extern const s8 gNatureStatTable[][5]; extern const u32 sExpCandyExperienceTable[]; extern const struct Ability gAbilitiesInfo[]; +extern const struct NatureInfo gNaturesInfo[]; void ZeroBoxMonData(struct BoxPokemon *boxMon); void ZeroMonData(struct Pokemon *mon); @@ -715,6 +776,7 @@ u16 GetSpeciesHeight(u16 species); u16 GetSpeciesWeight(u16 species); const struct LevelUpMove *GetSpeciesLevelUpLearnset(u16 species); const u16 *GetSpeciesTeachableLearnset(u16 species); +const u16 *GetSpeciesEggMoves(u16 species); const struct Evolution *GetSpeciesEvolutions(u16 species); const u16 *GetSpeciesFormTable(u16 species); const struct FormChange *GetSpeciesFormChanges(u16 species); diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index f56c3aca64..3a1f5c38ab 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -7,7 +7,6 @@ extern u8 gLastViewedMonIndex; extern const u8 *const gMoveDescriptionPointers[]; extern const u8 gNotDoneYetDescription[]; -extern const u8 *const gNatureNamePointers[]; extern const struct SpriteTemplate gSpriteTemplate_MoveTypes; extern const struct CompressedSpriteSheet gSpriteSheet_MoveTypes; diff --git a/migration_scripts/convert_item_icons.py b/migration_scripts/convert_item_icons.py new file mode 100644 index 0000000000..abd2070fd1 --- /dev/null +++ b/migration_scripts/convert_item_icons.py @@ -0,0 +1,45 @@ +import glob +import re +import os + +if not os.path.exists("Makefile"): + print("Please run this script from your root folder.") + quit() + +# Read item_icon_table.h and extract the icon and palette information +for file in glob.glob('./src/data/item_icon_table.h'): + with open(file, 'r') as f: + icon_table_content = f.read() + +# Extract item icon and palette data from item_icon_table.h +icon_table_pattern = re.compile(r'\[(ITEM_[A-Z_0-9]+)\]\s*=\s*\{([^,]+),\s*([^}]+)\}', re.MULTILINE) +icon_table_data = {} +for match in icon_table_pattern.findall(icon_table_content): + if len(match) == 3: + item_name, icon_pic, icon_palette = match + icon_table_data[item_name] = (icon_pic, icon_palette) + +# Read items.h content +for file in glob.glob('./src/data/items.h'): + with open(file, 'r') as f: + items_content = f.read() + +# Modify items.h content +def add_icon_data(match): + item_name = match.group(1) + item_content = match.group(2) + if item_name in icon_table_data: + icon_pic, icon_palette = icon_table_data[item_name] + print(f"Updating {item_name}: adding iconPic = {icon_pic}, iconPalette = {icon_palette}") + return f'[{item_name}] =\n {{{item_content} .iconPic = {icon_pic},\n .iconPalette = {icon_palette},\n }},' + else: + return match.group(0) + +item_pattern = re.compile(r'\[(ITEM_[A-Z_0-9]+)\]\s*=\s*\{([\s\S]*?)\},', re.DOTALL) +modified_items_content = item_pattern.sub(add_icon_data, items_content) + +# Write the modified content back to items.h +for file in glob.glob('./src/data/items.h'): + with open(file, 'w') as f: + f.write(modified_items_content) + print("items.h has been updated") diff --git a/migration_scripts/egg_move_refactor.py b/migration_scripts/egg_move_refactor.py new file mode 100644 index 0000000000..498fa5da61 --- /dev/null +++ b/migration_scripts/egg_move_refactor.py @@ -0,0 +1,51 @@ +import re +import glob + +eggMoveSpecies = [] + +exceptions = [ # the following exceptions are hardcoded to streamline the process. you may need to manually check what happens in case you have added forms that work similar to these below + ["ShellosWestSea", "Shellos"], + ["OricorioBaile", "Oricorio"] +] + +# convert egg_moves.h to the new format +with open("src/data/pokemon/egg_moves.h", "r") as f: + data = f.read() + +data = re.sub(r"#define(.|\n)*const u16 gEggMoves\[\] = {", "static const u16 sNoneEggMoveLearnset[] = {\n MOVE_UNAVAILABLE,\n};\n", data) # remove and replace header +data = re.sub(r"\n EGG_MOVES_TERMINATOR\n};\n\n", "", data) # remove footer + +for mon in re.findall(r"egg_moves\((.*),", data): + monname = re.sub(r"_", " ", mon).title().replace(" ", "") + for x in exceptions: + if monname == x[0]: + monname = x[1] + # add it to the list for later + eggMoveSpecies.append(monname) + # regex the egg_moves.h file + data = re.sub(r" egg_moves\(" + mon + r",", "static const u16 s%sEggMoveLearnset[] = {" % monname, data) + +data = re.sub(r"\),\n", ",\n MOVE_UNAVAILABLE,\n};\n", data) # add terminator to each old macro + +data = re.sub(r" MOVE_", " MOVE_", data) # fix indentation + +with open("src/data/pokemon/egg_moves.h", "w") as f: + f.write(data) + +# update gBaseStats + +for file in glob.glob('./src/data/pokemon/species_info/gen_*_families.h'): + with open(file, "r") as f: + data = f.read() + + # go through all Pokemon with teachable learnsets that are also in the list, then assign egg moves to them + for mon in eggMoveSpecies: + # first do the plain replacements outside of macros + data = re.sub(r"\.teachableLearnset = s" + mon + r"sTeachableLearnset,\n", ".teachableLearnset = s%sTeachableLearnset,\n .eggMoveLearnset = s%sEggMoveLearnset,\n" % (mon, mon), data) + # check for macros (since they require \ at the end of the line and do those manually) + macrocheck = re.findall(r"\.teachableLearnset = s" + mon + r"TeachableLearnset,( *)\\\\", data) + if len(macrocheck) > 0: + data = re.sub(r"\.teachableLearnset = s" + mon + r"TeachableLearnset," + macrocheck[0] + r"\\\\", ".teachableLearnset = s%sTeachableLearnset,%s\\\\\n .eggMoveLearnset = s%sEggMoveLearnset,%s\\\\" % (mon, macrocheck[0], mon, " " * (len(macrocheck[0]) + 4)), data) + + with open(file, "w") as f: + f.write(data) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 3489cdfcbf..fda99dcafe 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -443,7 +443,7 @@ static void SetBattlerAiMovesData(struct AiLogicData *aiData, u32 battlerAtk, u3 // Simulate dmg for both ai controlled mons and for player controlled mons. for (battlerDef = 0; battlerDef < battlersCount; battlerDef++) { - if (battlerAtk == battlerDef) + if (battlerAtk == battlerDef || !IsBattlerAlive(battlerDef)) continue; SaveBattlerData(battlerDef); @@ -459,7 +459,12 @@ static void SetBattlerAiMovesData(struct AiLogicData *aiData, u32 battlerAtk, u3 //&& gMovesInfo[move].power != 0 /* we want to get effectiveness and accuracy of status moves */ && !(aiData->moveLimitations[battlerAtk] & gBitTable[i])) { - dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, TRUE, weather); + if (AI_THINKING_STRUCT->aiFlags[battlerAtk] & AI_FLAG_RISKY) + dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, TRUE, weather, DMG_ROLL_HIGHEST); + else if (AI_THINKING_STRUCT->aiFlags[battlerAtk] & AI_FLAG_CONSERVATIVE) + dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, TRUE, weather, DMG_ROLL_LOWEST); + else + dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, TRUE, weather, DMG_ROLL_AVERAGE); aiData->moveAccuracy[battlerAtk][battlerDef][i] = Ai_SetMoveAccuracy(aiData, battlerAtk, battlerDef, move); } aiData->simulatedDmg[battlerAtk][battlerDef][i] = dmg; @@ -3061,21 +3066,6 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) else if (IsAbilityOfRating(aiData->abilities[battlerAtk], 0) || IsAbilityOfRating(aiData->abilities[battlerDef], 10)) ADJUST_SCORE(DECENT_EFFECT); // we want to transfer our bad ability or take their awesome ability break; - case EFFECT_EARTHQUAKE: - case EFFECT_MAGNITUDE: - if (!IsBattlerGrounded(battlerAtkPartner) - || (IsBattlerGrounded(battlerAtkPartner) - && AI_WhoStrikesFirst(battlerAtk, battlerAtkPartner, move) == AI_IS_SLOWER - && IsUngroundingEffect(gMovesInfo[aiData->partnerMove].effect))) - ADJUST_SCORE(DECENT_EFFECT); - else if (IS_BATTLER_OF_TYPE(battlerAtkPartner, TYPE_FIRE) - || IS_BATTLER_OF_TYPE(battlerAtkPartner, TYPE_ELECTRIC) - || IS_BATTLER_OF_TYPE(battlerAtkPartner, TYPE_POISON) - || IS_BATTLER_OF_TYPE(battlerAtkPartner, TYPE_ROCK)) - ADJUST_SCORE(-10); // partner will be hit by earthquake and is weak to it - else if (IsBattlerAlive(battlerAtkPartner)) - ADJUST_SCORE(-3); - break; } // lightning rod, flash fire against enemy handled in AI_CheckBadMove @@ -3115,6 +3105,18 @@ static s32 CompareMoveAccuracies(u32 battlerAtk, u32 battlerDef, u32 moveSlot1, return 0; } +static inline bool32 ShouldUseSpreadDamageMove(u32 battlerAtk, u32 move, u32 moveIndex, u32 hitsToFaintOpposingBattler) +{ + u32 partnerBattler = BATTLE_PARTNER(battlerAtk); + u32 noOfHitsToFaintPartner = GetNoOfHitsToKOBattler(battlerAtk, partnerBattler, moveIndex); + return (IsDoubleBattle() + && noOfHitsToFaintPartner != 0 // Immunity check + && IsBattlerAlive(partnerBattler) + && gMovesInfo[move].target == MOVE_TARGET_FOES_AND_ALLY + && !(noOfHitsToFaintPartner < 4 && hitsToFaintOpposingBattler == 1) + && noOfHitsToFaintPartner < 7); +} + static s32 AI_CompareDamagingMoves(u32 battlerAtk, u32 battlerDef, u32 currId) { u32 i; @@ -3132,7 +3134,13 @@ static s32 AI_CompareDamagingMoves(u32 battlerAtk, u32 battlerDef, u32 currId) if (moves[i] != MOVE_NONE && gMovesInfo[moves[i]].power) { noOfHits[i] = GetNoOfHitsToKOBattler(battlerAtk, battlerDef, i); - if (noOfHits[i] < leastHits && noOfHits[i] != 0) + if (ShouldUseSpreadDamageMove(battlerAtk,moves[i], i, noOfHits[i])) + { + noOfHits[i] = -1; + viableMoveScores[i] = 0; + isTwoTurnNotSemiInvulnerableMove[i] = FALSE; + } + else if (noOfHits[i] < leastHits && noOfHits[i] != 0) { leastHits = noOfHits[i]; } diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 6e1cf45d64..2dac845c47 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -147,7 +147,7 @@ static bool32 HasBadOdds(u32 battler, bool32 emitResult) playerMove = gBattleMons[opposingBattler].moves[i]; if (playerMove != MOVE_NONE && gMovesInfo[playerMove].power != 0) { - damageTaken = AI_CalcDamage(playerMove, opposingBattler, battler, &effectiveness, FALSE, weather); + damageTaken = AI_CalcDamage(playerMove, opposingBattler, battler, &effectiveness, FALSE, weather, DMG_ROLL_HIGHEST); if (damageTaken > maxDamageTaken) maxDamageTaken = damageTaken; } @@ -1234,7 +1234,7 @@ static u32 GetBestMonDmg(struct Pokemon *party, int firstId, int lastId, u8 inva if (aiMove != MOVE_NONE && gMovesInfo[aiMove].power != 0) { aiMove = GetMonData(&party[i], MON_DATA_MOVE1 + j); - dmg = AI_CalcPartyMonDamage(aiMove, battler, opposingBattler, AI_DATA->switchinCandidate.battleMon, TRUE); + dmg = AI_CalcPartyMonDamage(aiMove, battler, opposingBattler, AI_DATA->switchinCandidate.battleMon, TRUE, DMG_ROLL_AVERAGE); if (bestDmg < dmg) { bestDmg = dmg; @@ -1326,12 +1326,11 @@ static u32 GetSwitchinHazardsDamage(u32 battler, struct BattlePokemon *battleMon // Gets damage / healing from weather static s32 GetSwitchinWeatherImpact(void) { - s32 weatherDamage = 0, maxHP = AI_DATA->switchinCandidate.battleMon.maxHP, ability = AI_DATA->switchinCandidate.battleMon.ability; + s32 weatherImpact = 0, maxHP = AI_DATA->switchinCandidate.battleMon.maxHP, ability = AI_DATA->switchinCandidate.battleMon.ability; u32 holdEffect = gItemsInfo[AI_DATA->switchinCandidate.battleMon.item].holdEffect; if (WEATHER_HAS_EFFECT) { - s32 weatherImpact = 0; // Damage if (holdEffect != HOLD_EFFECT_SAFETY_GOGGLES && ability != ABILITY_MAGIC_GUARD && ability != ABILITY_OVERCOAT) { @@ -1362,34 +1361,30 @@ static s32 GetSwitchinWeatherImpact(void) weatherImpact = 1; } - weatherDamage += weatherImpact; - // Healing if (gBattleWeather & B_WEATHER_RAIN && holdEffect != HOLD_EFFECT_UTILITY_UMBRELLA) { if (ability == ABILITY_DRY_SKIN) { - weatherImpact = maxHP / 8; + weatherImpact = -(maxHP / 8); if (weatherImpact == 0) - weatherImpact = 1; + weatherImpact = -1; } else if (ability == ABILITY_RAIN_DISH) { - weatherImpact = maxHP / 16; + weatherImpact = -(maxHP / 16); if (weatherImpact == 0) - weatherImpact = 1; + weatherImpact = -1; } } if (((gBattleWeather & B_WEATHER_HAIL) || (gBattleWeather & B_WEATHER_SNOW)) && ability == ABILITY_ICE_BODY) { - weatherImpact = maxHP / 16; + weatherImpact = -(maxHP / 16); if (weatherImpact == 0) - weatherImpact = 1; + weatherImpact = -1; } - - weatherDamage -= weatherImpact; } - return weatherDamage; + return weatherImpact; } // Gets one turn of recurring healing @@ -1499,6 +1494,7 @@ static u32 GetSwitchinStatusDamage(u32 battler) { if ((status & STATUS1_TOXIC_COUNTER) != STATUS1_TOXIC_TURN(15)) // not 16 turns AI_DATA->switchinCandidate.battleMon.status1 += STATUS1_TOXIC_TURN(1); + statusDamage = maxHP / 16; statusDamage *= AI_DATA->switchinCandidate.battleMon.status1 & STATUS1_TOXIC_COUNTER >> 8; if (statusDamage == 0) statusDamage = 1; @@ -1566,7 +1562,7 @@ static u32 GetSwitchinHitsToKO(s32 damageTaken, u32 battler) // If mon is still alive, apply weather impact first, as it might KO the mon before it can heal with its item (order is weather -> item -> status) if (currentHP != 0) - currentHP = currentHP + weatherImpact; + currentHP = currentHP - weatherImpact; // Check if we're at a single use healing item threshold if (AI_DATA->switchinCandidate.battleMon.ability != ABILITY_KLUTZ && usedSingleUseHealingItem == FALSE @@ -1687,7 +1683,7 @@ static s32 GetMaxDamagePlayerCouldDealToSwitchin(u32 battler, u32 opposingBattle playerMove = gBattleMons[opposingBattler].moves[i]; if (playerMove != MOVE_NONE && gMovesInfo[playerMove].power != 0) { - damageTaken = AI_CalcPartyMonDamage(playerMove, opposingBattler, battler, battleMon, FALSE); + damageTaken = AI_CalcPartyMonDamage(playerMove, opposingBattler, battler, battleMon, FALSE, DMG_ROLL_HIGHEST); if (damageTaken > maxDamageTaken) maxDamageTaken = damageTaken; } @@ -1779,7 +1775,7 @@ static u32 GetBestMonIntegrated(struct Pokemon *party, int firstId, int lastId, // Only do damage calc if switching after KO, don't need it otherwise and saves ~0.02s per turn if (isSwitchAfterKO && aiMove != MOVE_NONE && gMovesInfo[aiMove].power != 0) - damageDealt = AI_CalcPartyMonDamage(aiMove, battler, opposingBattler, AI_DATA->switchinCandidate.battleMon, TRUE); + damageDealt = AI_CalcPartyMonDamage(aiMove, battler, opposingBattler, AI_DATA->switchinCandidate.battleMon, TRUE, DMG_ROLL_AVERAGE); // Check for Baton Pass; hitsToKO requirements mean mon can boost and BP without dying whether it's slower or not if (aiMove == MOVE_BATON_PASS && ((hitsToKO > hitsToKOThreshold + 1 && AI_DATA->switchinCandidate.battleMon.speed < playerMonSpeed) || (hitsToKO > hitsToKOThreshold && AI_DATA->switchinCandidate.battleMon.speed > playerMonSpeed))) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index d752e1f6a2..6afc4b65ae 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -354,14 +354,14 @@ bool32 MovesWithCategoryUnusable(u32 attacker, u32 target, u32 category) } // To save computation time this function has 2 variants. One saves, sets and restores battlers, while the other doesn't. -s32 AI_CalcDamageSaveBattlers(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower) +s32 AI_CalcDamageSaveBattlers(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower, u32 dmgRoll) { s32 dmg = 0; SaveBattlerData(battlerAtk); SaveBattlerData(battlerDef); SetBattlerData(battlerAtk); SetBattlerData(battlerDef); - dmg = AI_CalcDamage(move, battlerAtk, battlerDef, typeEffectiveness, considerZPower, AI_GetWeather(AI_DATA)); + dmg = AI_CalcDamage(move, battlerAtk, battlerDef, typeEffectiveness, considerZPower, AI_GetWeather(AI_DATA), dmgRoll); RestoreBattlerData(battlerAtk); RestoreBattlerData(battlerDef); return dmg; @@ -374,19 +374,34 @@ static inline s32 LowestRollDmg(s32 dmg) return dmg; } +static inline s32 HighestRollDmg(s32 dmg) +{ + return dmg; +} + +static inline s32 AverageRollDmg(s32 dmg) +{ + dmg = ((HighestRollDmg(dmg) + LowestRollDmg(dmg)) * 100) / 2; + dmg /= 100; + return dmg; +} + bool32 IsDamageMoveUnusable(u32 move, u32 battlerAtk, u32 battlerDef) { s32 moveType; struct AiLogicData *aiData = AI_DATA; u32 battlerDefAbility; + GET_MOVE_TYPE(move, moveType); if (DoesBattlerIgnoreAbilityChecks(aiData->abilities[battlerAtk], move)) battlerDefAbility = ABILITY_NONE; else battlerDefAbility = aiData->abilities[battlerDef]; - SetTypeBeforeUsingMove(move, battlerAtk); - GET_MOVE_TYPE(move, moveType); + // Battler doesn't see partners Ability for some reason. + // This is a small hack to avoid the issue but should be investigated + if (battlerDef == BATTLE_PARTNER(battlerAtk)) + battlerDefAbility = GetBattlerAbility(battlerDef); switch (battlerDefAbility) { @@ -431,7 +446,7 @@ bool32 IsDamageMoveUnusable(u32 move, u32 battlerAtk, u32 battlerDef) return TRUE; break; case EFFECT_BELCH: - if (ItemId_GetPocket(GetUsedHeldItem(battlerAtk)) != POCKET_BERRIES) + if (IsBelchPreventingMove(battlerAtk, move)) return TRUE; break; case EFFECT_LAST_RESORT: @@ -456,7 +471,7 @@ bool32 IsDamageMoveUnusable(u32 move, u32 battlerAtk, u32 battlerDef) return FALSE; } -s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower, u32 weather) +s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower, u32 weather, u32 dmgRoll) { s32 dmg, moveType; uq4_12_t effectivenessMultiplier; @@ -491,14 +506,13 @@ s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectivenes gBattleStruct->dynamicMoveType = 0; - SetTypeBeforeUsingMove(move, battlerAtk); GET_MOVE_TYPE(move, moveType); + effectivenessMultiplier = CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, aiData->abilities[battlerDef], FALSE); if (gMovesInfo[move].power) isDamageMoveUnusable = IsDamageMoveUnusable(move, battlerAtk, battlerDef); - effectivenessMultiplier = CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, aiData->abilities[battlerDef], FALSE); if (gMovesInfo[move].power && !isDamageMoveUnusable) { s32 critChanceIndex, normalDmg, fixedBasePower, n; @@ -532,11 +546,21 @@ s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectivenes aiData->abilities[battlerAtk], aiData->abilities[battlerDef]); u32 critChance = GetCritHitChance(critChanceIndex); // With critChance getting closer to 1, dmg gets closer to critDmg. - dmg = LowestRollDmg((critDmg + normalDmg * (critChance - 1)) / (critChance)); + if (dmgRoll == DMG_ROLL_AVERAGE) + dmg = AverageRollDmg((critDmg + normalDmg * (critChance - 1)) / (critChance)); + else if (dmgRoll == DMG_ROLL_HIGHEST) + dmg = HighestRollDmg((critDmg + normalDmg * (critChance - 1)) / (critChance)); + else + dmg = LowestRollDmg((critDmg + normalDmg * (critChance - 1)) / (critChance)); // Default to lowest roll } else { - dmg = LowestRollDmg(normalDmg); + if (dmgRoll == DMG_ROLL_AVERAGE) + dmg = AverageRollDmg(normalDmg); + else if (dmgRoll == DMG_ROLL_HIGHEST) + dmg = HighestRollDmg(normalDmg); + else + dmg = LowestRollDmg(normalDmg); // Default to lowest roll } if (!gBattleStruct->zmove.active) @@ -552,9 +576,14 @@ s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectivenes dmg = gMovesInfo[move].argument * (aiData->abilities[battlerAtk] == ABILITY_PARENTAL_BOND ? 2 : 1); break; case EFFECT_MULTI_HIT: - dmg *= (aiData->abilities[battlerAtk] == ABILITY_SKILL_LINK - && !(move == MOVE_WATER_SHURIKEN && gBattleMons[battlerAtk].species == SPECIES_GRENINJA_ASH) - ? 5 : 3); + if (move == MOVE_WATER_SHURIKEN && gBattleMons[battlerAtk].species == SPECIES_GRENINJA_ASH) + dmg *= 3; + else if (aiData->abilities[battlerAtk] == ABILITY_SKILL_LINK) + dmg *= 5; + else if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_LOADED_DICE) + dmg *= 4; + else + dmg *= 3; break; case EFFECT_ENDEAVOR: // If target has less HP than user, Endeavor does no damage @@ -3279,24 +3308,28 @@ void FreeRestoreBattleMons(struct BattlePokemon *savedBattleMons) } // party logic -s32 AI_CalcPartyMonDamage(u32 move, u32 battlerAtk, u32 battlerDef, struct BattlePokemon switchinCandidate, bool8 isPartyMonAttacker) +s32 AI_CalcPartyMonDamage(u32 move, u32 battlerAtk, u32 battlerDef, struct BattlePokemon switchinCandidate, bool32 isPartyMonAttacker, u32 dmgRoll) { s32 dmg; u8 effectiveness; struct BattlePokemon *savedBattleMons = AllocSaveBattleMons(); - + if (isPartyMonAttacker) { gBattleMons[battlerAtk] = switchinCandidate; + AI_THINKING_STRUCT->saved[battlerDef].saved = TRUE; SetBattlerData(battlerDef); // set known opposing battler data + AI_THINKING_STRUCT->saved[battlerDef].saved = FALSE; } else { gBattleMons[battlerDef] = switchinCandidate; + AI_THINKING_STRUCT->saved[battlerAtk].saved = TRUE; SetBattlerData(battlerAtk); // set known opposing battler data + AI_THINKING_STRUCT->saved[battlerAtk].saved = FALSE; } - - dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, FALSE, AI_GetWeather(AI_DATA)); + + dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, FALSE, AI_GetWeather(AI_DATA), dmgRoll); // restores original gBattleMon struct FreeRestoreBattleMons(savedBattleMons); return dmg; @@ -3740,7 +3773,7 @@ bool32 ShouldUseZMove(u32 battlerAtk, u32 battlerDef, u32 chosenMove) else if (!IS_MOVE_STATUS(chosenMove) && IS_MOVE_STATUS(gBattleStruct->zmove.chosenZMove)) return FALSE; - if (!IS_MOVE_STATUS(chosenMove) && AI_CalcDamageSaveBattlers(chosenMove, battlerAtk, battlerDef, &effectiveness, FALSE) >= gBattleMons[battlerDef].hp) + if (!IS_MOVE_STATUS(chosenMove) && AI_CalcDamageSaveBattlers(chosenMove, battlerAtk, battlerDef, &effectiveness, FALSE, DMG_ROLL_AVERAGE) >= gBattleMons[battlerDef].hp) return FALSE; // don't waste damaging z move if can otherwise faint target return TRUE; diff --git a/src/battle_anim.c b/src/battle_anim.c index deb56db036..d944aac562 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -85,6 +85,7 @@ static void Cmd_stopsound(void); static void Cmd_createvisualtaskontargets(void); static void Cmd_createspriteontargets(void); static void Cmd_createspriteontargets_onpos(void); +static void Cmd_createdragondartsprite(void); static void RunAnimScriptCommand(void); static void Task_UpdateMonBg(u8 taskId); static void FlipBattlerBgTiles(void); @@ -176,6 +177,7 @@ static void (* const sScriptCmdTable[])(void) = Cmd_createvisualtaskontargets, // 0x30 Cmd_createspriteontargets, // 0x31 Cmd_createspriteontargets_onpos, // 0x32 + Cmd_createdragondartsprite, // 0x33 }; void ClearBattleAnimationVars(void) @@ -2133,3 +2135,62 @@ static void Cmd_stopsound(void) m4aMPlayStop(&gMPlayInfo_SE2); sBattleAnimScriptPtr++; } + +static void Cmd_createdragondartsprite(void) +{ + s32 i; + struct SpriteTemplate template; + u8 argVar; + u8 argsCount; + s16 subpriority; + struct Pokemon *party = GetBattlerParty(gBattleAnimAttacker); + + sBattleAnimScriptPtr++; + + argVar = sBattleAnimScriptPtr[0]; + sBattleAnimScriptPtr++; + argsCount = sBattleAnimScriptPtr[0]; + sBattleAnimScriptPtr++; + + for (i = 0; i < argsCount; i++) + { + gBattleAnimArgs[i] = T1_READ_16(sBattleAnimScriptPtr); + sBattleAnimScriptPtr += 2; + } + + subpriority = GetSubpriorityForMoveAnim(argVar); + + if (GetMonData(&party[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES) == SPECIES_DRAGAPULT) + { + template.tileTag = ANIM_TAG_DREEPY; + if (IsMonShiny(&party[gBattlerPartyIndexes[gBattleAnimAttacker]]) == TRUE) + template.paletteTag = ANIM_TAG_DREEPY_SHINY; + else + template.paletteTag = ANIM_TAG_DREEPY; + template.oam = &gOamData_AffineOff_ObjNormal_32x32; + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) + template.anims = gAnims_DreepyMissileOpponent; + else + template.anims = gAnims_DreepyMissilePlayer; + } + else + { + template.tileTag = ANIM_TAG_AIR_WAVE; + template.paletteTag = ANIM_TAG_DREEPY; + template.oam = &gOamData_AffineOff_ObjNormal_32x16; + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) + template.anims = gAnims_DreepyMissileOpponentNotDrag; + else + template.anims = gAnims_DreepyMissilePlayer; + } + + template.images = NULL; + template.affineAnims = gDummySpriteAffineAnimTable; + template.callback = AnimShadowBall; + + if (CreateSpriteAndAnimate(&template, + GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2), + GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET), + subpriority) != MAX_SPRITES) // Don't increment the task count if the sprite couldn't be created(i.e. there are too many created sprites atm). + gAnimVisualTaskCount++; +} diff --git a/src/battle_anim_dragon.c b/src/battle_anim_dragon.c index 1398d899b3..4191c42585 100644 --- a/src/battle_anim_dragon.c +++ b/src/battle_anim_dragon.c @@ -42,6 +42,39 @@ const struct SpriteTemplate gOutrageFlameSpriteTemplate = .callback = AnimOutrageFlame, }; +static const union AnimCmd sAnim_DreepyMissileOpponent_0[] = +{ + ANIMCMD_FRAME(0, 0, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gAnims_DreepyMissileOpponent[] = +{ + sAnim_DreepyMissileOpponent_0, +}; + +static const union AnimCmd sAnim_DreepyMissilePlayer_0[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END, +}; + +const union AnimCmd *const gAnims_DreepyMissilePlayer[] = +{ + sAnim_DreepyMissilePlayer_0, +}; + +static const union AnimCmd sAnim_DreepyMissileNotDrag_0[] = +{ + ANIMCMD_FRAME(0, 0, .hFlip = TRUE, .vFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gAnims_DreepyMissileOpponentNotDrag[] = +{ + sAnim_DreepyMissileNotDrag_0, +}; + static const union AnimCmd sAnim_DragonBreathFire_0[] = { ANIMCMD_FRAME(16, 3), diff --git a/src/battle_anim_new.c b/src/battle_anim_new.c index 9b25909ddd..98af6c22ba 100644 --- a/src/battle_anim_new.c +++ b/src/battle_anim_new.c @@ -3712,12 +3712,42 @@ const struct SpriteTemplate gMagicPowderBluePowderTemplate = }; //dreepy missile -const struct SpriteTemplate gDreepyMissileTemplate = +const struct SpriteTemplate gDreepyMissilePlayerTemplate = { .tileTag = ANIM_TAG_DREEPY, .paletteTag = ANIM_TAG_DREEPY, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gDummySpriteAnimTable, + .anims = gAnims_DreepyMissilePlayer, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimShadowBall +}; +const struct SpriteTemplate gDreepyMissileOpponentTemplate = +{ + .tileTag = ANIM_TAG_DREEPY, + .paletteTag = ANIM_TAG_DREEPY, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gAnims_DreepyMissileOpponent, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimShadowBall +}; +const struct SpriteTemplate gDreepyMissilePlayerShinyTemplate = +{ + .tileTag = ANIM_TAG_DREEPY, + .paletteTag = ANIM_TAG_DREEPY_SHINY, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gAnims_DreepyMissilePlayer, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimShadowBall +}; +const struct SpriteTemplate gDreepyMissileOpponentShinyTemplate = +{ + .tileTag = ANIM_TAG_DREEPY, + .paletteTag = ANIM_TAG_DREEPY_SHINY, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gAnims_DreepyMissileOpponent, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimShadowBall @@ -3950,7 +3980,7 @@ const struct SpriteTemplate gAppleAcidDripTemplate = .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, .oam = &gOamData_AffineDouble_ObjNormal_16x16, - .anims = gAnims_AcidPoisonDroplet, + .anims = &gAnims_PoisonProjectile[1], .images = NULL, .affineAnims = gAffineAnims_Droplet, .callback = SpriteCB_AcidDripSingleTarget diff --git a/src/battle_anim_poison.c b/src/battle_anim_poison.c index 0ed4e43090..dfaa32cc5e 100644 --- a/src/battle_anim_poison.c +++ b/src/battle_anim_poison.c @@ -62,15 +62,7 @@ static const union AnimCmd sAnim_SludgeBombHit[] = const union AnimCmd *const gAnims_PoisonProjectile[] = { sAnim_PoisonProjectile, -}; - -const union AnimCmd *const gAnims_AcidPoisonDroplet[] = -{ sAnim_AcidPoisonDroplet, -}; - -static const union AnimCmd *const sAnims_SludgeBombHit[] = -{ sAnim_SludgeBombHit, }; @@ -125,7 +117,7 @@ const struct SpriteTemplate gSludgeBombHitParticleSpriteTemplate = .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, .oam = &gOamData_AffineNormal_ObjNormal_16x16, - .anims = sAnims_SludgeBombHit, + .anims = &gAnims_PoisonProjectile[2], .images = NULL, .affineAnims = sAffineAnims_SludgeBombHit, .callback = AnimSludgeBombHitParticle, @@ -148,7 +140,7 @@ const struct SpriteTemplate gAcidPoisonDropletSpriteTemplate = .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, .oam = &gOamData_AffineDouble_ObjNormal_16x16, - .anims = gAnims_AcidPoisonDroplet, + .anims = &gAnims_PoisonProjectile[1], .images = NULL, .affineAnims = gAffineAnims_Droplet, .callback = AnimAcidPoisonDroplet, @@ -193,7 +185,7 @@ const struct SpriteTemplate gGreenPoisonDrip = .tileTag = ANIM_TAG_GREEN_POISON_BUBBLE, .paletteTag = ANIM_TAG_GREEN_POISON_BUBBLE, .oam = &gOamData_AffineDouble_ObjNormal_16x16, - .anims = gAnims_AcidPoisonDroplet, + .anims = &gAnims_PoisonProjectile[1], .images = NULL, .affineAnims = gAffineAnims_Droplet, .callback = AnimAcidPoisonDroplet, diff --git a/src/battle_anim_smokescreen.c b/src/battle_anim_smokescreen.c index e395be5f84..3b05ef6280 100644 --- a/src/battle_anim_smokescreen.c +++ b/src/battle_anim_smokescreen.c @@ -17,35 +17,6 @@ static void SpriteCB_SmokescreenImpact(struct Sprite *); // The below data for smokescreen starts and ends with some data that belongs to battle_gfx_sfx_util.c -const u8 gBattlePalaceNatureToMoveTarget[NUM_NATURES] = -{ - [NATURE_HARDY] = PALACE_TARGET_STRONGER, - [NATURE_LONELY] = PALACE_TARGET_STRONGER, - [NATURE_BRAVE] = PALACE_TARGET_WEAKER, - [NATURE_ADAMANT] = PALACE_TARGET_STRONGER, - [NATURE_NAUGHTY] = PALACE_TARGET_WEAKER, - [NATURE_BOLD] = PALACE_TARGET_WEAKER, - [NATURE_DOCILE] = PALACE_TARGET_RANDOM, - [NATURE_RELAXED] = PALACE_TARGET_STRONGER, - [NATURE_IMPISH] = PALACE_TARGET_STRONGER, - [NATURE_LAX] = PALACE_TARGET_STRONGER, - [NATURE_TIMID] = PALACE_TARGET_WEAKER, - [NATURE_HASTY] = PALACE_TARGET_WEAKER, - [NATURE_SERIOUS] = PALACE_TARGET_WEAKER, - [NATURE_JOLLY] = PALACE_TARGET_STRONGER, - [NATURE_NAIVE] = PALACE_TARGET_RANDOM, - [NATURE_MODEST] = PALACE_TARGET_WEAKER, - [NATURE_MILD] = PALACE_TARGET_STRONGER, - [NATURE_QUIET] = PALACE_TARGET_WEAKER, - [NATURE_BASHFUL] = PALACE_TARGET_WEAKER, - [NATURE_RASH] = PALACE_TARGET_STRONGER, - [NATURE_CALM] = PALACE_TARGET_STRONGER, - [NATURE_GENTLE] = PALACE_TARGET_STRONGER, - [NATURE_SASSY] = PALACE_TARGET_WEAKER, - [NATURE_CAREFUL] = PALACE_TARGET_WEAKER, - [NATURE_QUIRKY] = PALACE_TARGET_STRONGER, -}; - static const struct CompressedSpriteSheet sSmokescreenImpactSpriteSheet = { .data = gSmokescreenImpactTiles, .size = 0x180, .tag = TAG_SMOKESCREEN diff --git a/src/battle_dome.c b/src/battle_dome.c index ca105beb17..67b9a1e293 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -4410,11 +4410,15 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId) else nature = gSaveBlock2Ptr->frontier.domePlayerPartyData[i].nature; - if (gNatureStatTable[nature][j] > 0) + if (gNaturesInfo[nature].statUp == gNaturesInfo[nature].statDown) + { + allocatedArray[j + NUM_STATS + 1] += allocatedArray[j + 1]; + } + else if (gNaturesInfo[nature].statUp == j + 1) { allocatedArray[j + NUM_STATS + 1] += (allocatedArray[j + 1] * 110) / 100; } - else if (gNatureStatTable[nature][j] < 0) + else if (gNaturesInfo[nature].statDown == j + 1) { allocatedArray[j + NUM_STATS + 1] += (allocatedArray[j + 1] * 90) / 100; allocatedArray[j + NUM_STATS + NUM_NATURE_STATS + 2]++; @@ -4447,11 +4451,16 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId) for (j = 0; j < NUM_NATURE_STATS; j++) { nature = gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].nature; - if (gNatureStatTable[nature][j] > 0) + + if (gNaturesInfo[nature].statUp == gNaturesInfo[nature].statDown) + { + allocatedArray[j + NUM_STATS + 1] += allocatedArray[j + 1]; + } + else if (gNaturesInfo[nature].statUp == j + 1) { allocatedArray[j + NUM_STATS + 1] += (allocatedArray[j + 1] * 110) / 100; } - else if (gNatureStatTable[nature][j] < 0) + else if (gNaturesInfo[nature].statDown == j + 1) { allocatedArray[j + NUM_STATS + 1] += (allocatedArray[j + 1] * 90) / 100; allocatedArray[j + NUM_STATS + NUM_NATURE_STATS + 2]++; diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 6f6ef8a9d6..2bf3a5e910 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -28,7 +28,6 @@ #include "constants/battle_move_effects.h" -extern const u8 gBattlePalaceNatureToMoveTarget[]; extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; @@ -138,7 +137,7 @@ u16 ChooseMoveAndTargetInBattlePalace(u32 battler) // Otherwise use move from "Support" group for (; i < maxGroupNum; i++) { - if (gBattlePalaceNatureToMoveGroupLikelihood[GetNatureFromPersonality(gBattleMons[battler].personality)][i] > percent) + if (gNaturesInfo[GetNatureFromPersonality(gBattleMons[battler].personality)].battlePalacePercents[i] > percent) break; } selectedGroup = i - minGroupNum; @@ -328,7 +327,7 @@ static u16 GetBattlePalaceTarget(u32 battler) if (gBattleMons[opposing1].hp == gBattleMons[opposing2].hp) return (BATTLE_OPPOSITE(battler & BIT_SIDE) + (Random() & 2)) << 8; - switch (gBattlePalaceNatureToMoveTarget[GetNatureFromPersonality(gBattleMons[battler].personality)]) + switch (gNaturesInfo[GetNatureFromPersonality(gBattleMons[battler].personality)].battlePalaceSmokescreen) { case PALACE_TARGET_STRONGER: if (gBattleMons[opposing1].hp > gBattleMons[opposing2].hp) diff --git a/src/battle_interface.c b/src/battle_interface.c index 4ae7726d14..bf148fc0d0 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -1253,7 +1253,7 @@ static void PrintSafariMonInfo(u8 healthboxSpriteId, struct Pokemon *mon) barFontGfx = &gMonSpritesGfxPtr->barFontGfx[0x520 + (GetBattlerPosition(gSprites[healthboxSpriteId].hMain_Battler) * 384)]; var = 5; nature = GetNature(mon); - StringCopy(&text[6], gNatureNamePointers[nature]); + StringCopy(&text[6], gNaturesInfo[nature].name); RenderTextHandleBold(barFontGfx, FONT_BOLD, text); for (j = 6, i = 0; i < var; i++, j++) diff --git a/src/battle_main.c b/src/battle_main.c index 6d31fd776d..2993147e3c 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -115,7 +115,6 @@ static void HandleEndTurn_MonFled(void); static void HandleEndTurn_FinishBattle(void); static void SpriteCB_UnusedBattleInit(struct Sprite *sprite); static void SpriteCB_UnusedBattleInit_Main(struct Sprite *sprite); -static void TrySpecialEvolution(void); static u32 Crc32B (const u8 *data, u32 size); static u32 GeneratePartyHash(const struct Trainer *trainer, u32 i); @@ -5144,29 +5143,25 @@ s32 GetWhichBattlerFasterArgs(u32 battler1, u32 battler2, bool32 ignoreChosenMov if (priority1 == priority2) { - // QUICK CLAW / CUSTAP - always first - // LAGGING TAIL - always last - // STALL - always last + // Quick Claw / Quick Draw / Custap Berry - always first + // Stall / Mycelium Might - last but before Lagging Tail + // Lagging Tail - always last + bool32 battler1HasQuickEffect = gProtectStructs[battler1].quickDraw || gProtectStructs[battler1].usedCustapBerry; + bool32 battler2HasQuickEffect = gProtectStructs[battler2].quickDraw || gProtectStructs[battler2].usedCustapBerry; + bool32 battler1HasStallingAbility = ability1 == ABILITY_STALL || (ability1 == ABILITY_MYCELIUM_MIGHT && IS_MOVE_STATUS(gChosenMoveByBattler[battler1])); + bool32 battler2HasStallingAbility = ability2 == ABILITY_STALL || (ability2 == ABILITY_MYCELIUM_MIGHT && IS_MOVE_STATUS(gChosenMoveByBattler[battler2])); - if (gProtectStructs[battler1].quickDraw && !gProtectStructs[battler2].quickDraw) + if (battler1HasQuickEffect && !battler2HasQuickEffect) strikesFirst = 1; - else if (!gProtectStructs[battler1].quickDraw && gProtectStructs[battler2].quickDraw) - strikesFirst = -1; - else if (gProtectStructs[battler1].usedCustapBerry && !gProtectStructs[battler2].usedCustapBerry) - strikesFirst = 1; - else if (gProtectStructs[battler2].usedCustapBerry && !gProtectStructs[battler1].usedCustapBerry) + else if (battler2HasQuickEffect && !battler1HasQuickEffect) strikesFirst = -1; else if (holdEffectBattler1 == HOLD_EFFECT_LAGGING_TAIL && holdEffectBattler2 != HOLD_EFFECT_LAGGING_TAIL) strikesFirst = -1; else if (holdEffectBattler2 == HOLD_EFFECT_LAGGING_TAIL && holdEffectBattler1 != HOLD_EFFECT_LAGGING_TAIL) strikesFirst = 1; - else if (ability1 == ABILITY_STALL && ability2 != ABILITY_STALL) + else if (battler1HasStallingAbility && !battler2HasStallingAbility) strikesFirst = -1; - else if (ability2 == ABILITY_STALL && ability1 != ABILITY_STALL) - strikesFirst = 1; - else if (ability1 == ABILITY_MYCELIUM_MIGHT && ability2 != ABILITY_MYCELIUM_MIGHT && IS_MOVE_STATUS(gChosenMoveByBattler[battler1])) - strikesFirst = -1; - else if (ability2 == ABILITY_MYCELIUM_MIGHT && ability1 != ABILITY_MYCELIUM_MIGHT && IS_MOVE_STATUS(gChosenMoveByBattler[battler2])) + else if (battler2HasStallingAbility && !battler1HasStallingAbility) strikesFirst = 1; else { @@ -5892,7 +5887,7 @@ static void FreeResetData_ReturnToOvOrDoEvolutions(void) || gBattleOutcome == B_OUTCOME_WON || gBattleOutcome == B_OUTCOME_CAUGHT)) { - gBattleMainFunc = TrySpecialEvolution; + gBattleMainFunc = TryEvolvePokemon; } else { @@ -5910,68 +5905,48 @@ static void FreeResetData_ReturnToOvOrDoEvolutions(void) } } -static void TrySpecialEvolution(void) // Attempts to perform non-level related battle evolutions (not the script command). +static void TryEvolvePokemon(void) { s32 i; for (i = 0; i < PARTY_SIZE; i++) { - u16 species = GetEvolutionTargetSpecies(&gPlayerParty[i], EVO_MODE_BATTLE_SPECIAL, i, NULL); - if (species != SPECIES_NONE && !(sTriedEvolving & gBitTable[i])) + if (!(sTriedEvolving & gBitTable[i])) { + u16 species = GetEvolutionTargetSpecies(&gPlayerParty[i], EVO_MODE_BATTLE_SPECIAL, i, NULL); + bool32 evoModeNormal = TRUE; sTriedEvolving |= gBitTable[i]; - FreeAllWindowBuffers(); - gBattleMainFunc = WaitForEvoSceneToFinish; - EvolutionScene(&gPlayerParty[i], species, TRUE, i); - return; - } - } - sTriedEvolving = 0; - gBattleMainFunc = TryEvolvePokemon; -} -static void TryEvolvePokemon(void) -{ - s32 i; + if (species == SPECIES_NONE && (gLeveledUpInBattle & gBitTable[i])) + { + gLeveledUpInBattle &= ~(gBitTable[i]); + species = GetEvolutionTargetSpecies(&gPlayerParty[i], EVO_MODE_NORMAL, gLeveledUpInBattle, NULL); + } - while (gLeveledUpInBattle != 0) - { - for (i = 0; i < PARTY_SIZE; i++) - { - if (gLeveledUpInBattle & gBitTable[i]) + if (species == SPECIES_NONE) { - u16 species; - u8 levelUpBits = gLeveledUpInBattle; - bool32 evoModeNormal = TRUE; + species = GetEvolutionTargetSpecies(&gPlayerParty[i], EVO_MODE_CANT_STOP, ITEM_NONE, NULL); + evoModeNormal = FALSE; + } - levelUpBits &= ~(gBitTable[i]); - gLeveledUpInBattle = levelUpBits; - - species = GetEvolutionTargetSpecies(&gPlayerParty[i], EVO_MODE_NORMAL, ITEM_NONE, NULL); - if (species == SPECIES_NONE) - { - species = GetEvolutionTargetSpecies(&gPlayerParty[i], EVO_MODE_CANT_STOP, ITEM_NONE, NULL); - evoModeNormal = FALSE; - } - - if (species != SPECIES_NONE) - { - FreeAllWindowBuffers(); - gBattleMainFunc = WaitForEvoSceneToFinish; - EvolutionScene(&gPlayerParty[i], species, evoModeNormal, i); - return; - } + if (species != SPECIES_NONE) + { + FreeAllWindowBuffers(); + gBattleMainFunc = WaitForEvoSceneToFinish; + EvolutionScene(&gPlayerParty[i], species, evoModeNormal, i); + return; } } } - + sTriedEvolving = 0; + gLeveledUpInBattle = 0; gBattleMainFunc = ReturnFromBattleToOverworld; } static void WaitForEvoSceneToFinish(void) { if (gMain.callback2 == BattleMainCB2) - gBattleMainFunc = TrySpecialEvolution; + gBattleMainFunc = TryEvolvePokemon; } static void ReturnFromBattleToOverworld(void) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index f7a58fae02..31601e5d92 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -332,10 +332,11 @@ static bool32 ChangeOrderTargetAfterAttacker(void); void ApplyExperienceMultipliers(s32 *expAmount, u8 expGetterMonId, u8 faintedBattler); static void RemoveAllWeather(void); static void RemoveAllTerrains(void); -static bool8 CanAbilityPreventStatLoss(u16 abilityDef, bool8 isIntimidate); +static bool8 CanAbilityPreventStatLoss(u16 abilityDef); 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 Cmd_attackcanceler(void); static void Cmd_accuracycheck(void); @@ -1098,72 +1099,6 @@ static const u8 sTerrainToType[BATTLE_TERRAIN_COUNT] = [BATTLE_TERRAIN_PLAIN] = (B_CAMOUFLAGE_TYPES >= GEN_4 ? TYPE_GROUND : TYPE_NORMAL), }; -// In Battle Palace, moves are chosen based on the pokemons nature rather than by the player -// Moves are grouped into "Attack", "Defense", or "Support" (see PALACE_MOVE_GROUP_*) -// Each nature has a certain percent chance of selecting a move from a particular group -// and a separate percent chance for each group when at or below 50% HP -// The table below doesn't list percentages for Support because you can subtract the other two -// Support percentages are listed in comments off to the side instead -#define PALACE_STYLE(atk, def, atkLow, defLow) {atk, atk + def, atkLow, atkLow + defLow} - -const ALIGNED(4) u8 gBattlePalaceNatureToMoveGroupLikelihood[NUM_NATURES][4] = -{ - [NATURE_HARDY] = PALACE_STYLE(61, 7, 61, 7), // 32% support >= 50% HP, 32% support < 50% HP - [NATURE_LONELY] = PALACE_STYLE(20, 25, 84, 8), // 55%, 8% - [NATURE_BRAVE] = PALACE_STYLE(70, 15, 32, 60), // 15%, 8% - [NATURE_ADAMANT] = PALACE_STYLE(38, 31, 70, 15), // 31%, 15% - [NATURE_NAUGHTY] = PALACE_STYLE(20, 70, 70, 22), // 10%, 8% - [NATURE_BOLD] = PALACE_STYLE(30, 20, 32, 58), // 50%, 10% - [NATURE_DOCILE] = PALACE_STYLE(56, 22, 56, 22), // 22%, 22% - [NATURE_RELAXED] = PALACE_STYLE(25, 15, 75, 15), // 60%, 10% - [NATURE_IMPISH] = PALACE_STYLE(69, 6, 28, 55), // 25%, 17% - [NATURE_LAX] = PALACE_STYLE(35, 10, 29, 6), // 55%, 65% - [NATURE_TIMID] = PALACE_STYLE(62, 10, 30, 20), // 28%, 50% - [NATURE_HASTY] = PALACE_STYLE(58, 37, 88, 6), // 5%, 6% - [NATURE_SERIOUS] = PALACE_STYLE(34, 11, 29, 11), // 55%, 60% - [NATURE_JOLLY] = PALACE_STYLE(35, 5, 35, 60), // 60%, 5% - [NATURE_NAIVE] = PALACE_STYLE(56, 22, 56, 22), // 22%, 22% - [NATURE_MODEST] = PALACE_STYLE(35, 45, 34, 60), // 20%, 6% - [NATURE_MILD] = PALACE_STYLE(44, 50, 34, 6), // 6%, 60% - [NATURE_QUIET] = PALACE_STYLE(56, 22, 56, 22), // 22%, 22% - [NATURE_BASHFUL] = PALACE_STYLE(30, 58, 30, 58), // 12%, 12% - [NATURE_RASH] = PALACE_STYLE(30, 13, 27, 6), // 57%, 67% - [NATURE_CALM] = PALACE_STYLE(40, 50, 25, 62), // 10%, 13% - [NATURE_GENTLE] = PALACE_STYLE(18, 70, 90, 5), // 12%, 5% - [NATURE_SASSY] = PALACE_STYLE(88, 6, 22, 20), // 6%, 58% - [NATURE_CAREFUL] = PALACE_STYLE(42, 50, 42, 5), // 8%, 53% - [NATURE_QUIRKY] = PALACE_STYLE(56, 22, 56, 22) // 22%, 22% -}; - -static const u8 sBattlePalaceNatureToFlavorTextId[NUM_NATURES] = -{ - [NATURE_HARDY] = B_MSG_EAGER_FOR_MORE, - [NATURE_LONELY] = B_MSG_GLINT_IN_EYE, - [NATURE_BRAVE] = B_MSG_GETTING_IN_POS, - [NATURE_ADAMANT] = B_MSG_GLINT_IN_EYE, - [NATURE_NAUGHTY] = B_MSG_GLINT_IN_EYE, - [NATURE_BOLD] = B_MSG_GETTING_IN_POS, - [NATURE_DOCILE] = B_MSG_EAGER_FOR_MORE, - [NATURE_RELAXED] = B_MSG_GLINT_IN_EYE, - [NATURE_IMPISH] = B_MSG_GETTING_IN_POS, - [NATURE_LAX] = B_MSG_GROWL_DEEPLY, - [NATURE_TIMID] = B_MSG_GROWL_DEEPLY, - [NATURE_HASTY] = B_MSG_GLINT_IN_EYE, - [NATURE_SERIOUS] = B_MSG_EAGER_FOR_MORE, - [NATURE_JOLLY] = B_MSG_GETTING_IN_POS, - [NATURE_NAIVE] = B_MSG_EAGER_FOR_MORE, - [NATURE_MODEST] = B_MSG_GETTING_IN_POS, - [NATURE_MILD] = B_MSG_GROWL_DEEPLY, - [NATURE_QUIET] = B_MSG_EAGER_FOR_MORE, - [NATURE_BASHFUL] = B_MSG_EAGER_FOR_MORE, - [NATURE_RASH] = B_MSG_GROWL_DEEPLY, - [NATURE_CALM] = B_MSG_GETTING_IN_POS, - [NATURE_GENTLE] = B_MSG_GLINT_IN_EYE, - [NATURE_SASSY] = B_MSG_GROWL_DEEPLY, - [NATURE_CAREFUL] = B_MSG_GROWL_DEEPLY, - [NATURE_QUIRKY] = B_MSG_EAGER_FOR_MORE, -}; - static bool32 NoTargetPresent(u8 battler, u32 move) { if (!IsBattlerAlive(gBattlerTarget)) @@ -1749,11 +1684,9 @@ u32 GetTotalAccuracy(u32 battlerAtk, u32 battlerDef, u32 move, u32 atkAbility, u return calc; } -static void Cmd_accuracycheck(void) +static void AccuracyCheck(bool32 recalcDragonDarts, const u8 *nextInstr, const u8 *failInstr, u16 move) { - CMD_ARGS(const u8 *failInstr, u16 move); - - u32 type, move = cmd->move; + u32 type; u32 moveTarget = GetBattlerMoveTargetType(gBattlerAttacker, move); u32 abilityAtk = GetBattlerAbility(gBattlerAttacker); u32 abilityDef = GetBattlerAbility(gBattlerTarget); @@ -1765,11 +1698,11 @@ static void Cmd_accuracycheck(void) if (move == NO_ACC_CALC_CHECK_LOCK_ON) { if (gStatuses3[gBattlerTarget] & STATUS3_ALWAYS_HITS && gDisableStructs[gBattlerTarget].battlerWithSureHit == gBattlerAttacker) - gBattlescriptCurrInstr = cmd->nextInstr; + gBattlescriptCurrInstr = nextInstr; else if (gStatuses3[gBattlerTarget] & (STATUS3_SEMI_INVULNERABLE)) - gBattlescriptCurrInstr = cmd->failInstr; + gBattlescriptCurrInstr = failInstr; else if (!JumpIfMoveAffectedByProtect(gCurrentMove)) - gBattlescriptCurrInstr = cmd->nextInstr; + gBattlescriptCurrInstr = nextInstr; } else if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_2ND_HIT || (gSpecialStatuses[gBattlerAttacker].multiHitOn @@ -1777,7 +1710,7 @@ static void Cmd_accuracycheck(void) || !(gMovesInfo[move].effect == EFFECT_TRIPLE_KICK || gMovesInfo[move].effect == EFFECT_POPULATION_BOMB)))) { // No acc checks for second hit of Parental Bond or multi hit moves, except Triple Kick/Triple Axel/Population Bomb - gBattlescriptCurrInstr = cmd->nextInstr; + gBattlescriptCurrInstr = nextInstr; } else { @@ -1805,6 +1738,18 @@ static void Cmd_accuracycheck(void) if (holdEffectAtk == HOLD_EFFECT_BLUNDER_POLICY) gBattleStruct->blunderPolicy = TRUE; // Only activates from missing through acc/evasion checks + if (gMovesInfo[gCurrentMove].effect == EFFECT_DRAGON_DARTS + && !recalcDragonDarts // So we don't jump back and forth between targets + && CanTargetPartner(gBattlerAttacker, gBattlerTarget) + && !TargetFullyImmuneToCurrMove(gBattlerAttacker, BATTLE_PARTNER(gBattlerTarget))) + { + // Smart target to partner if miss + gBattlerTarget = BATTLE_PARTNER(gBattlerTarget); + gMoveResultFlags &= ~MOVE_RESULT_MISSED; + AccuracyCheck(TRUE, nextInstr, failInstr, move); + return; + } + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && (moveTarget == MOVE_TARGET_BOTH || moveTarget == MOVE_TARGET_FOES_AND_ALLY)) gBattleCommunication[MISS_TYPE] = B_MSG_AVOIDED_ATK; @@ -1818,6 +1763,16 @@ static void Cmd_accuracycheck(void) } } +static void Cmd_accuracycheck(void) +{ + CMD_ARGS(const u8 *failInstr, u16 move); + + // The main body of this function has been moved to AccuracyCheck() to accomodate + // Dragon Darts' multiple accuracy checks on a single attack; + // each dart can try to re-target once after missing. + AccuracyCheck(FALSE, cmd->nextInstr, cmd->failInstr, cmd->move); +} + static void Cmd_attackstring(void) { CMD_ARGS(); @@ -2091,6 +2046,9 @@ static void Cmd_adjustdamage(void) { gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; gLastUsedItem = gBattleMons[gBattlerTarget].item; + gSpecialStatuses[gBattlerTarget].focusBanded = FALSE; + gSpecialStatuses[gBattlerTarget].focusSashed = FALSE; + } else if (gSpecialStatuses[gBattlerTarget].sturdied) { @@ -2181,6 +2139,7 @@ static void Cmd_multihitresultmessage(void) if (gSpecialStatuses[gBattlerTarget].berryReduced && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { + gBattleStruct->ateBerry[gBattlerTarget & BIT_SIDE] |= gBitTable[gBattlerPartyIndexes[gBattlerTarget]]; gSpecialStatuses[gBattlerTarget].berryReduced = FALSE; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_PrintBerryReduceString; @@ -2641,6 +2600,7 @@ static void Cmd_resultmessage(void) if (gSpecialStatuses[gBattlerTarget].berryReduced && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { + gBattleStruct->ateBerry[gBattlerTarget & BIT_SIDE] |= gBitTable[gBattlerPartyIndexes[gBattlerTarget]]; gSpecialStatuses[gBattlerTarget].berryReduced = FALSE; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_PrintBerryReduceString; @@ -3210,6 +3170,10 @@ void SetMoveEffect(bool32 primary, bool32 certain) { gBattleMons[gEffectBattler].status2 |= sStatusFlagsForMoveEffects[gBattleScripting.moveEffect]; gBattlescriptCurrInstr++; + } + else + { + gBattlescriptCurrInstr++; } break; case MOVE_EFFECT_UPROAR: @@ -5410,7 +5374,6 @@ static void Cmd_moveend(void) u16 *choicedMoveAtk = NULL; u32 endMode, endState; u32 originallyUsedMove; - u8 currBattler, liveBattlerCount; if (gChosenMove == MOVE_UNAVAILABLE) originallyUsedMove = MOVE_NONE; @@ -5721,28 +5684,19 @@ static void Cmd_moveend(void) gBattlescriptCurrInstr = BattleScript_TargetWokeUp; break; case STATUS1_BURN: - // Checks to see if Sparkling Aria should cure a Shield Dust pokemon - if (gBattleMons[gBattlerTarget].ability == ABILITY_SHIELD_DUST || gBattleMons[gBattlerTarget].item == ITEM_COVERT_CLOAK) - { - liveBattlerCount = 0; - for (currBattler = 0; currBattler < gBattlersCount; currBattler++) - { - if (gBattleMons[currBattler].hp != 0) - { - liveBattlerCount++; - } - } - if (liveBattlerCount > 2) - { - gBattlescriptCurrInstr = BattleScript_TargetBurnHeal; - } - break; - } - else - { - gBattlescriptCurrInstr = BattleScript_TargetBurnHeal; - break; - } + gBattlescriptCurrInstr = BattleScript_TargetBurnHeal; + break; + case STATUS1_FREEZE: + gBattlescriptCurrInstr = BattleScript_FrostbiteHealedViaFireMove; + break; + case STATUS1_FROSTBITE: + gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove; + break; + case STATUS1_POISON: + case STATUS1_TOXIC_POISON: + case STATUS1_PSN_ANY: + gBattlescriptCurrInstr = BattleScript_TargetPoisonHealed; + break; } } break; // MOVE_EFFECT_REMOVE_STATUS @@ -6027,10 +5981,11 @@ static void Cmd_moveend(void) } else { - if (gCurrentMove == MOVE_DRAGON_DARTS) - { - // TODO - } + if (gMovesInfo[gCurrentMove].effect == EFFECT_DRAGON_DARTS + && gBattleStruct->moveTarget[gBattlerAttacker] == gBattlerTarget // Haven't already changed targets + && CanTargetPartner(gBattlerAttacker, gBattlerTarget) + && !TargetFullyImmuneToCurrMove(gBattlerAttacker, BATTLE_PARTNER(gBattlerTarget))) + gBattlerTarget = BATTLE_PARTNER(gBattlerTarget); // Target the partner in doubles for second hit. if (gBattleMons[gBattlerAttacker].hp && gBattleMons[gBattlerTarget].hp @@ -6356,7 +6311,7 @@ static void Cmd_moveend(void) case MOVEEND_SET_EVOLUTION_TRACKER: // If the Pokémon needs to keep track of move usage for its evolutions, do it if (originallyUsedMove != MOVE_NONE) - TryUpdateEvolutionTracker(EVO_LEVEL_MOVE_TWENTY_TIMES, 1, originallyUsedMove); + TryUpdateEvolutionTracker(EVO_USE_MOVE_TWENTY_TIMES, 1, originallyUsedMove); gBattleScripting.moveendState++; break; case MOVEEND_CLEAR_BITS: // Clear/Set bits for things like using a move for all targets and all hits. @@ -8421,7 +8376,7 @@ static bool32 HasAttackerFaintedTarget(void) && gBattleStruct->moveTarget[gBattlerAttacker] == gBattlerTarget && gBattlerTarget != gBattlerAttacker && gCurrentTurnActionNumber == GetBattlerTurnOrderNum(gBattlerAttacker) - && (gChosenMove == gChosenMoveByBattler[gBattlerAttacker] || gChosenMove == gBattleMons[gBattlerAttacker].moves[gChosenMovePos])) + && (gChosenMove == gChosenMoveByBattler[gBattlerAttacker] || gChosenMove == gBattleMons[gBattlerAttacker].moves[gChosenMovePos] || gChosenMove == GetMaxMove(gBattlerAttacker, gChosenMoveByBattler[gBattlerAttacker]))) return TRUE; else return FALSE; @@ -9236,7 +9191,7 @@ static void Cmd_various(void) { gBattleStruct->palaceFlags |= gBitTable[battler]; gBattleCommunication[0] = TRUE; - gBattleCommunication[MULTISTRING_CHOOSER] = sBattlePalaceNatureToFlavorTextId[GetNatureFromPersonality(gBattleMons[battler].personality)]; + gBattleCommunication[MULTISTRING_CHOOSER] = gNaturesInfo[GetNatureFromPersonality(gBattleMons[battler].personality)].battlePalaceFlavorText; } break; } @@ -9532,6 +9487,7 @@ static void Cmd_various(void) case VARIOUS_TRY_ACTIVATE_BEAST_BOOST: { VARIOUS_ARGS(); + i = GetHighestStatId(battler); if (GetBattlerAbility(battler) == ABILITY_BEAST_BOOST && HasAttackerFaintedTarget() @@ -11635,8 +11591,7 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr gBattlescriptCurrInstr = BattleScript_ButItFailed; return STAT_CHANGE_DIDNT_WORK; } - else if ((battlerHoldEffect == HOLD_EFFECT_CLEAR_AMULET - || CanAbilityPreventStatLoss(battlerAbility, GetBattlerAbility(gBattlerAttacker) == ABILITY_INTIMIDATE)) + else if ((battlerHoldEffect == HOLD_EFFECT_CLEAR_AMULET || CanAbilityPreventStatLoss(battlerAbility)) && (!affectsUser || mirrorArmored) && !certain && gCurrentMove != MOVE_CURSE) { if (flags == STAT_CHANGE_ALLOW_PTR) @@ -12540,22 +12495,23 @@ static void Cmd_setmist(void) static void Cmd_setfocusenergy(void) { - CMD_ARGS(); + CMD_ARGS(u8 battler); + u8 battler = GetBattlerForBattleScript(cmd->battler); - if ((gMovesInfo[gCurrentMove].effect == EFFECT_DRAGON_CHEER && (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE) || (gAbsentBattlerFlags & gBitTable[gBattlerTarget]))) - || gBattleMons[gBattlerTarget].status2 & STATUS2_FOCUS_ENERGY_ANY) + if ((gMovesInfo[gCurrentMove].effect == EFFECT_DRAGON_CHEER && (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE) || (gAbsentBattlerFlags & gBitTable[battler]))) + || gBattleMons[battler].status2 & STATUS2_FOCUS_ENERGY_ANY) { gMoveResultFlags |= MOVE_RESULT_FAILED; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_FOCUS_ENERGY_FAILED; } - else if (gMovesInfo[gCurrentMove].effect == EFFECT_DRAGON_CHEER && !IS_BATTLER_OF_TYPE(gBattlerTarget, TYPE_DRAGON)) + else if (gMovesInfo[gCurrentMove].effect == EFFECT_DRAGON_CHEER && !IS_BATTLER_OF_TYPE(battler, TYPE_DRAGON)) { - gBattleMons[gBattlerTarget].status2 |= STATUS2_DRAGON_CHEER; + gBattleMons[battler].status2 |= STATUS2_DRAGON_CHEER; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_GETTING_PUMPED; } else { - gBattleMons[gBattlerTarget].status2 |= STATUS2_FOCUS_ENERGY; + gBattleMons[battler].status2 |= STATUS2_FOCUS_ENERGY; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_GETTING_PUMPED; } gBattlescriptCurrInstr = cmd->nextInstr; @@ -15861,7 +15817,7 @@ static bool8 IsFinalStrikeEffect(u16 move) return FALSE; } -static bool8 CanAbilityPreventStatLoss(u16 abilityDef, bool8 byIntimidate) +static bool8 CanAbilityPreventStatLoss(u16 abilityDef) { switch (abilityDef) { @@ -15869,13 +15825,6 @@ static bool8 CanAbilityPreventStatLoss(u16 abilityDef, bool8 byIntimidate) case ABILITY_FULL_METAL_BODY: case ABILITY_WHITE_SMOKE: return TRUE; - case ABILITY_INNER_FOCUS: - case ABILITY_SCRAPPY: - case ABILITY_OWN_TEMPO: - case ABILITY_OBLIVIOUS: - if (byIntimidate && (B_UPDATED_INTIMIDATE >= GEN_8)) - return TRUE; - break; } return FALSE; } @@ -16065,7 +16014,7 @@ void ApplyExperienceMultipliers(s32 *expAmount, u8 expGetterMonId, u8 faintedBat void BS_ItemRestoreHP(void) { - NATIVE_ARGS(const u8 *alreadyMaxHpInstr); + NATIVE_ARGS(const u8 *alreadyMaxHpInstr, const u8 *restoreBattlerInstr); u16 healAmount; u32 battler = MAX_BATTLERS_COUNT; u32 healParam = ItemId_GetEffect(gLastUsedItem)[6]; @@ -16118,7 +16067,7 @@ void BS_ItemRestoreHP(void) if (battler != MAX_BATTLERS_COUNT && hp != 0) { gBattleMoveDamage = -healAmount; - gBattlescriptCurrInstr = cmd->nextInstr; + gBattlescriptCurrInstr = cmd->restoreBattlerInstr; } else { @@ -16131,7 +16080,7 @@ void BS_ItemRestoreHP(void) gAbsentBattlerFlags &= ~gBitTable[battler]; gBattleCommunication[MULTIUSE_STATE] = TRUE; } - gBattlescriptCurrInstr = BattleScript_ItemRestoreHP_Party; + gBattlescriptCurrInstr = cmd->nextInstr; } } } @@ -16501,9 +16450,7 @@ void BS_TrySetOctolock(void) void BS_SetGlaiveRush(void) { NATIVE_ARGS(); - gStatuses4[gBattlerAttacker] |= STATUS4_GLAIVE_RUSH; - gBattlescriptCurrInstr = cmd->nextInstr; } @@ -16848,12 +16795,12 @@ static void TryUpdateEvolutionTracker(u32 evolutionMethod, u32 upAmount, u16 use // Reset progress if you faint for the recoil method. switch (evolutionMethod) { - case EVO_LEVEL_MOVE_TWENTY_TIMES: + case EVO_USE_MOVE_TWENTY_TIMES: if (evolutions[i].param == usedMove) SetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]], MON_DATA_EVOLUTION_TRACKER, &val); break; - case EVO_LEVEL_RECOIL_DAMAGE_MALE: - case EVO_LEVEL_RECOIL_DAMAGE_FEMALE: + case EVO_RECOIL_DAMAGE_MALE: + case EVO_RECOIL_DAMAGE_FEMALE: if (gBattleMons[gBattlerAttacker].hp == 0) val = 0; SetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]], MON_DATA_EVOLUTION_TRACKER, &val); @@ -16873,10 +16820,10 @@ void BS_TryUpdateRecoilTracker(void) switch(gender) { case MON_MALE: - TryUpdateEvolutionTracker(EVO_LEVEL_RECOIL_DAMAGE_MALE, gBattleMoveDamage, MOVE_NONE); + TryUpdateEvolutionTracker(EVO_RECOIL_DAMAGE_MALE, gBattleMoveDamage, MOVE_NONE); break; case MON_FEMALE: - TryUpdateEvolutionTracker(EVO_LEVEL_RECOIL_DAMAGE_FEMALE, gBattleMoveDamage, MOVE_NONE); + TryUpdateEvolutionTracker(EVO_RECOIL_DAMAGE_FEMALE, gBattleMoveDamage, MOVE_NONE); break; } diff --git a/src/battle_util.c b/src/battle_util.c index c24d3cd817..5b93c63717 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1272,7 +1272,7 @@ bool32 IsHealBlockPreventingMove(u32 battler, u32 move) return gMovesInfo[move].healingMove; } -static bool32 IsBelchPreventingMove(u32 battler, u32 move) +bool32 IsBelchPreventingMove(u32 battler, u32 move) { if (gMovesInfo[move].effect != EFFECT_BELCH) return FALSE; @@ -3629,6 +3629,11 @@ u8 AtkCanceller_UnableToUseMove(u32 moveType) { gMultiHitCounter = gMovesInfo[gCurrentMove].strikeCount; PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 3, 0) + + if (gMovesInfo[gCurrentMove].effect == EFFECT_DRAGON_DARTS + && CanTargetPartner(gBattlerAttacker, gBattlerTarget) + && TargetFullyImmuneToCurrMove(gBattlerAttacker, gBattlerTarget)) + gBattlerTarget = BATTLE_PARTNER(gBattlerTarget); } } else if (B_BEAT_UP >= GEN_5 && gMovesInfo[gCurrentMove].effect == EFFECT_BEAT_UP) @@ -4275,7 +4280,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 BattleScriptPushCursorAndCallback(BattleScript_OverworldWeatherStarts); } break; - case ABILITYEFFECT_ON_SWITCHIN: // 0 + case ABILITYEFFECT_ON_SWITCHIN: gBattleScripting.battler = battler; switch (gLastUsedAbility) { @@ -4845,7 +4850,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 break; } break; - case ABILITYEFFECT_ENDTURN: // 1 + case ABILITYEFFECT_ENDTURN: if (IsBattlerAlive(battler)) { gBattlerAttacker = battler; @@ -5036,18 +5041,20 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 } } break; - case ABILITYEFFECT_MOVES_BLOCK: // 2 + case ABILITYEFFECT_MOVES_BLOCK: + case ABILITYEFFECT_WOULD_BLOCK: { u16 moveTarget = GetBattlerMoveTargetType(battler, move); u16 battlerAbility = GetBattlerAbility(battler); u16 targetAbility = GetBattlerAbility(gBattlerTarget); + const u8 * battleScriptBlocksMove = NULL; if ((gLastUsedAbility == ABILITY_SOUNDPROOF && gMovesInfo[move].soundMove && !(moveTarget & MOVE_TARGET_USER)) || (gLastUsedAbility == ABILITY_BULLETPROOF && gMovesInfo[move].ballisticMove)) { if (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS) gHitMarker |= HITMARKER_NO_PPDEDUCT; - gBattlescriptCurrInstr = BattleScript_SoundproofProtected; + battleScriptBlocksMove = BattleScript_SoundproofProtected; effect = 1; } else if ((gLastUsedAbility == ABILITY_DAZZLING || gLastUsedAbility == ABILITY_QUEENLY_MAJESTY || gLastUsedAbility == ABILITY_ARMOR_TAIL || IsBattlerAlive(battler ^= BIT_FLANK)) @@ -5057,7 +5064,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 { if (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS) gHitMarker |= HITMARKER_NO_PPDEDUCT; - gBattlescriptCurrInstr = BattleScript_DazzlingProtected; + battleScriptBlocksMove = BattleScript_DazzlingProtected; effect = 1; } else if (GetChosenMovePriority(gBattlerAttacker) > 0 @@ -5067,7 +5074,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE) || !(moveTarget & (MOVE_TARGET_BOTH | MOVE_TARGET_FOES_AND_ALLY))) CancelMultiTurnMoves(gBattlerAttacker); // Don't cancel moves that can hit two targets bc one target might not be protected gBattleScripting.battler = gBattlerAbility = gBattlerTarget; - gBattlescriptCurrInstr = BattleScript_DarkTypePreventsPrankster; + battleScriptBlocksMove = BattleScript_DarkTypePreventsPrankster; effect = 1; } else if (GetBattlerAbility(gBattlerTarget) == ABILITY_GOOD_AS_GOLD @@ -5076,12 +5083,24 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 && !(moveTarget & MOVE_TARGET_OPPONENTS_FIELD) && !(moveTarget & MOVE_TARGET_ALL_BATTLERS)) { - gBattlescriptCurrInstr = BattleScript_GoodAsGoldActivates; + battleScriptBlocksMove = BattleScript_GoodAsGoldActivates; effect = 1; } + if (caseID == ABILITYEFFECT_WOULD_BLOCK) + { + if (effect && gLastUsedAbility != 0xFFFF) + RecordAbilityBattle(battler, gLastUsedAbility); + + return effect; + } + else if (effect) + { + gBattlescriptCurrInstr = battleScriptBlocksMove; + } break; } - case ABILITYEFFECT_ABSORBING: // 3 + case ABILITYEFFECT_ABSORBING: + case ABILITYEFFECT_WOULD_ABSORB: if (move != MOVE_NONE) { u8 statId = 0; @@ -5114,31 +5133,8 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 effect = 2, statId = STAT_ATK; break; case ABILITY_FLASH_FIRE: - if (moveType == TYPE_FIRE - && (B_FLASH_FIRE_FROZEN >= GEN_5 || !(gBattleMons[battler].status1 & STATUS1_FREEZE))) - { - if (!(gBattleResources->flags->flags[battler] & RESOURCE_FLAG_FLASH_FIRE)) - { - gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_FLASH_FIRE_BOOST; - if (gProtectStructs[gBattlerAttacker].notFirstStrike) - gBattlescriptCurrInstr = BattleScript_FlashFireBoost; - else - gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; - - gBattleResources->flags->flags[battler] |= RESOURCE_FLAG_FLASH_FIRE; - effect = 3; - } - else - { - gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_FLASH_FIRE_NO_BOOST; - if (gProtectStructs[gBattlerAttacker].notFirstStrike) - gBattlescriptCurrInstr = BattleScript_FlashFireBoost; - else - gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; - - effect = 3; - } - } + if (moveType == TYPE_FIRE && (B_FLASH_FIRE_FROZEN >= GEN_5 || !(gBattleMons[battler].status1 & STATUS1_FREEZE))) + effect = 3; break; case ABILITY_WELL_BAKED_BODY: if (moveType == TYPE_FIRE) @@ -5153,8 +5149,14 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 effect = 1; break; } + if (caseID == ABILITYEFFECT_WOULD_ABSORB) + { + if (effect && gLastUsedAbility != 0xFFFF) + RecordAbilityBattle(battler, gLastUsedAbility); - if (effect == 1) // Drain Hp ability. + return effect; + } + else if (effect == 1) // Drain Hp ability. { if (BATTLER_MAX_HP(battler) || (B_HEAL_BLOCKING >= GEN_5 && gStatuses3[battler] & STATUS3_HEAL_BLOCK)) { @@ -5197,6 +5199,26 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); } } + else if (effect == 3) + { + if (!(gBattleResources->flags->flags[battler] & RESOURCE_FLAG_FLASH_FIRE)) + { + gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_FLASH_FIRE_BOOST; + if (gProtectStructs[gBattlerAttacker].notFirstStrike) + gBattlescriptCurrInstr = BattleScript_FlashFireBoost; + else + gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; + gBattleResources->flags->flags[battler] |= RESOURCE_FLAG_FLASH_FIRE; + } + else + { + gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_FLASH_FIRE_NO_BOOST; + if (gProtectStructs[gBattlerAttacker].notFirstStrike) + gBattlescriptCurrInstr = BattleScript_FlashFireBoost; + else + gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; + } + } if (effect) gMultiHitCounter = 0; // Prevent multi-hit moves from hitting more than once after move has been absorbed. @@ -5876,7 +5898,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 } } break; - case ABILITYEFFECT_IMMUNITY: // 5 + case ABILITYEFFECT_IMMUNITY: for (battler = 0; battler < gBattlersCount; battler++) { switch (GetBattlerAbility(battler)) @@ -5989,7 +6011,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 } } break; - case ABILITYEFFECT_ATK_SYNCHRONIZE: // 8 + case ABILITYEFFECT_ATK_SYNCHRONIZE: if (gLastUsedAbility == ABILITY_SYNCHRONIZE && (gHitMarker & HITMARKER_SYNCHRONISE_EFFECT)) { gHitMarker &= ~HITMARKER_SYNCHRONISE_EFFECT; @@ -8702,7 +8724,7 @@ static inline u32 CalcMoveBasePower(u32 move, u32 battlerAtk, u32 battlerDef, u3 if (gMultiHitCounter == 0) // Calc damage with max BP for move consideration basePower *= 6; else - basePower *= (4 - gMultiHitCounter); + basePower *= 1 + gMovesInfo[move].strikeCount - gMultiHitCounter; break; case EFFECT_SPIT_UP: basePower = 100 * gDisableStructs[battlerAtk].stockpileCounter; @@ -8945,7 +8967,6 @@ static inline u32 CalcMoveBasePowerAfterModifiers(u32 move, u32 battlerAtk, u32 if (gBattleStruct->lastMoveFailed & gBitTable[battlerAtk]) modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; - case EFFECT_BULLDOZE: case EFFECT_MAGNITUDE: case EFFECT_EARTHQUAKE: if (gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN && !(gStatuses3[battlerDef] & STATUS3_SEMI_INVULNERABLE)) @@ -11023,15 +11044,22 @@ void SortBattlersBySpeed(u8 *battlers, bool32 slowToFast) void TryRestoreHeldItems(void) { u32 i; - u16 lostItem = ITEM_NONE; + bool32 returnNPCItems = B_RETURN_STOLEN_NPC_ITEMS >= GEN_5 && gBattleTypeFlags & BATTLE_TYPE_TRAINER; for (i = 0; i < PARTY_SIZE; i++) { - if (B_RESTORE_HELD_BATTLE_ITEMS >= GEN_9 || gBattleStruct->itemLost[i].stolen) + // Check if held items should be restored after battle based on generation + if (B_RESTORE_HELD_BATTLE_ITEMS >= GEN_9 || gBattleStruct->itemLost[i].stolen || returnNPCItems) { - lostItem = gBattleStruct->itemLost[i].originalItem; - if (lostItem != ITEM_NONE && ItemId_GetPocket(lostItem) != POCKET_BERRIES) - SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &lostItem); // Restore stolen non-berry items + u16 lostItem = gBattleStruct->itemLost[i].originalItem; + + // Check if the lost item is a berry and the mon is not holding it + if (ItemId_GetPocket(lostItem) == POCKET_BERRIES && GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM) != lostItem) + lostItem = ITEM_NONE; + + // Check if the lost item should be restored + if ((lostItem != ITEM_NONE || returnNPCItems) && ItemId_GetPocket(lostItem) != POCKET_BERRIES) + SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &lostItem); } } } @@ -11537,3 +11565,27 @@ void RemoveBattlerType(u32 battler, u8 type) *(u8 *)(&gBattleMons[battler].type1 + i) = TYPE_MYSTERY; } } + +bool32 CanTargetPartner(u32 battlerAtk, u32 battlerDef) +{ + return (gBattleTypeFlags & BATTLE_TYPE_DOUBLE + && IsBattlerAlive(BATTLE_PARTNER(battlerDef)) + && battlerDef != BATTLE_PARTNER(battlerAtk)); +} + +static inline bool32 DoesCurrentTargetHaveAbilityImmunity(void) +{ + return (AbilityBattleEffects(ABILITYEFFECT_WOULD_BLOCK, gBattlerTarget, 0, 0, 0) + || AbilityBattleEffects(ABILITYEFFECT_WOULD_ABSORB, gBattlerTarget, 0, 0, 0)); +} + +bool32 TargetFullyImmuneToCurrMove(u32 BattlerAtk, u32 battlerDef) +{ + u32 moveType = 0; + GET_MOVE_TYPE(gCurrentMove, moveType); + + return ((CalcTypeEffectivenessMultiplier(gCurrentMove, moveType, BattlerAtk, battlerDef, GetBattlerAbility(battlerDef), FALSE) == UQ_4_12(0.0)) + || IsBattlerProtected(battlerDef, gCurrentMove) + || IsSemiInvulnerable(battlerDef, gCurrentMove) + || DoesCurrentTargetHaveAbilityImmunity()); +} diff --git a/src/data/battle_anim.h b/src/data/battle_anim.h index 6b29a7c9ef..485519cdc5 100644 --- a/src/data/battle_anim.h +++ b/src/data/battle_anim.h @@ -1456,6 +1456,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] = {gBattleAnimSpriteGfx_SyrupSplat, 0x400, ANIM_TAG_SYRUP_SPLAT_YELLOW}, {gBattleAnimSpriteGfx_TeraCrystal, 0x800, ANIM_TAG_TERA_CRYSTAL}, {gBattleAnimSpriteGfx_TeraShatter, 0x0180, ANIM_TAG_TERA_SHATTER}, + {gBattleAnimSpriteGfx_DreepyMissile, 0x200, ANIM_TAG_DREEPY_SHINY}, }; const struct CompressedSpritePalette gBattleAnimPaletteTable[] = @@ -1913,6 +1914,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] = {gBattleAnimSpritePal_SyrupYellow, ANIM_TAG_SYRUP_SPLAT_YELLOW}, {gBattleAnimSpritePal_TeraCrystal, ANIM_TAG_TERA_CRYSTAL}, {gBattleAnimSpritePal_TeraShatter, ANIM_TAG_TERA_SHATTER}, + {gBattleAnimSpritePal_DreepyMissileShiny, ANIM_TAG_DREEPY_SHINY}, }; const struct BattleAnimBackground gBattleAnimBackgroundTable[] = diff --git a/src/data/battle_move_effects.h b/src/data/battle_move_effects.h index 1f474206cc..6f503e4f42 100644 --- a/src/data/battle_move_effects.h +++ b/src/data/battle_move_effects.h @@ -1228,12 +1228,6 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = .battleTvScore = 0, // TODO: Assign points }, - [EFFECT_BULLDOZE] = - { - .battleScript = BattleScript_EffectHit, - .battleTvScore = 0, // TODO: Assign points - }, - [EFFECT_FOUL_PLAY] = { .battleScript = BattleScript_EffectHit, @@ -2249,4 +2243,10 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = .battleScript = BattleScript_EffectPhotonGeyser, .battleTvScore = 0, // TODO: Assign points }, + + [EFFECT_DRAGON_DARTS] = + { + .battleScript = BattleScript_EffectHit, + .battleTvScore = 0, // TODO: Assign points + }, }; diff --git a/src/data/graphics/items.h b/src/data/graphics/items.h index 6506ba402e..45e3ec0e2c 100644 --- a/src/data/graphics/items.h +++ b/src/data/graphics/items.h @@ -2025,6 +2025,9 @@ const u32 gItemIconPalette_DragonTeraShard[] = INCBIN_U32("graphics/items/icon_p const u32 gItemIconPalette_SteelTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/steel_tera_shard.gbapal.lz"); const u32 gItemIconPalette_FairyTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/fairy_tera_shard.gbapal.lz"); +const u32 gItemIcon_StellarTeraShard[] = INCBIN_U32("graphics/items/icons/stellar_tera_shard.4bpp.lz"); +const u32 gItemIconPalette_StellarTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/stellar_tera_shard.gbapal.lz"); + // Mochi const u32 gItemIcon_Mochi[] = INCBIN_U32("graphics/items/icons/mochi.4bpp.lz"); diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index b9e5fe7cde..1eeb4c0987 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -1590,7 +1590,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Annihilape[] = INCBIN_U32("graphics/pokemon/annihilape/shiny.gbapal.lz"); const u8 gMonIcon_Annihilape[] = INCBIN_U8("graphics/pokemon/annihilape/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Annihilape[] = INCBIN_U8("graphics/pokemon/annihilape/footprint.1bpp"); + const u8 gMonFootprint_Annihilape[] = INCBIN_U8("graphics/pokemon/annihilape/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Annihilape[] = INCBIN_COMP("graphics/pokemon/annihilape/follower.4bpp"); @@ -3464,7 +3464,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Kleavor[] = INCBIN_U32("graphics/pokemon/kleavor/shiny.gbapal.lz"); const u8 gMonIcon_Kleavor[] = INCBIN_U8("graphics/pokemon/kleavor/icon.4bpp"); #if P_FOOTPRINTS - //const u8 gMonFootprint_Kleavor[] = INCBIN_U8("graphics/pokemon/kleavor/footprint.1bpp"); + const u8 gMonFootprint_Kleavor[] = INCBIN_U8("graphics/pokemon/kleavor/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED const u32 gObjectEventPic_Kleavor[] = INCBIN_COMP("graphics/pokemon/kleavor/follower.4bpp"); @@ -5206,7 +5206,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Clodsire[] = INCBIN_U32("graphics/pokemon/clodsire/shiny.gbapal.lz"); const u8 gMonIcon_Clodsire[] = INCBIN_U8("graphics/pokemon/clodsire/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Clodsire[] = INCBIN_U8("graphics/pokemon/clodsire/footprint.1bpp"); + const u8 gMonFootprint_Clodsire[] = INCBIN_U8("graphics/pokemon/clodsire/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Clodsire[] = INCBIN_COMP("graphics/pokemon/clodsire/follower.4bpp"); @@ -5517,7 +5517,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Farigiraf[] = INCBIN_U32("graphics/pokemon/farigiraf/shiny.gbapal.lz"); const u8 gMonIcon_Farigiraf[] = INCBIN_U8("graphics/pokemon/farigiraf/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Farigiraf[] = INCBIN_U8("graphics/pokemon/farigiraf/footprint.1bpp"); + const u8 gMonFootprint_Farigiraf[] = INCBIN_U8("graphics/pokemon/farigiraf/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Farigiraf[] = INCBIN_COMP("graphics/pokemon/farigiraf/follower.4bpp"); @@ -5585,7 +5585,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Dudunsparce[] = INCBIN_U32("graphics/pokemon/dudunsparce/shiny.gbapal.lz"); const u8 gMonIcon_Dudunsparce[] = INCBIN_U8("graphics/pokemon/dudunsparce/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Dudunsparce[] = INCBIN_U8("graphics/pokemon/dudunsparce/footprint.1bpp"); + const u8 gMonFootprint_Dudunsparce[] = INCBIN_U8("graphics/pokemon/dudunsparce/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Dudunsparce[] = INCBIN_COMP("graphics/pokemon/dudunsparce/follower.4bpp"); @@ -5713,7 +5713,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Overqwil[] = INCBIN_U32("graphics/pokemon/overqwil/shiny.gbapal.lz"); const u8 gMonIcon_Overqwil[] = INCBIN_U8("graphics/pokemon/overqwil/icon.4bpp"); #if P_FOOTPRINTS - //const u8 gMonFootprint_Overqwil[] = INCBIN_U8("graphics/pokemon/overqwil/footprint.1bpp"); + const u8 gMonFootprint_Overqwil[] = INCBIN_U8("graphics/pokemon/overqwil/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED const u32 gObjectEventPic_Overqwil[] = INCBIN_COMP("graphics/pokemon/overqwil/follower.4bpp"); @@ -5843,7 +5843,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Sneasler[] = INCBIN_U32("graphics/pokemon/sneasler/shiny.gbapal.lz"); const u8 gMonIcon_Sneasler[] = INCBIN_U8("graphics/pokemon/sneasler/icon.4bpp"); #if P_FOOTPRINTS - //const u8 gMonFootprint_Sneasler[] = INCBIN_U8("graphics/pokemon/sneasler/footprint.1bpp"); + const u8 gMonFootprint_Sneasler[] = INCBIN_U8("graphics/pokemon/sneasler/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED const u32 gObjectEventPic_Sneasler[] = INCBIN_COMP("graphics/pokemon/sneasler/follower.4bpp"); @@ -5898,7 +5898,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Ursaluna[] = INCBIN_U32("graphics/pokemon/ursaluna/shiny.gbapal.lz"); const u8 gMonIcon_Ursaluna[] = INCBIN_U8("graphics/pokemon/ursaluna/icon.4bpp"); #if P_FOOTPRINTS - //const u8 gMonFootprint_Ursaluna[] = INCBIN_U8("graphics/pokemon/ursaluna/footprint.1bpp"); + const u8 gMonFootprint_Ursaluna[] = INCBIN_U8("graphics/pokemon/ursaluna/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED const u32 gObjectEventPic_Ursaluna[] = INCBIN_COMP("graphics/pokemon/ursaluna/follower.4bpp"); @@ -6285,7 +6285,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Wyrdeer[] = INCBIN_U32("graphics/pokemon/wyrdeer/shiny.gbapal.lz"); const u8 gMonIcon_Wyrdeer[] = INCBIN_U8("graphics/pokemon/wyrdeer/icon.4bpp"); #if P_FOOTPRINTS - //const u8 gMonFootprint_Wyrdeer[] = INCBIN_U8("graphics/pokemon/wyrdeer/footprint.1bpp"); + const u8 gMonFootprint_Wyrdeer[] = INCBIN_U8("graphics/pokemon/wyrdeer/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED const u32 gObjectEventPic_Wyrdeer[] = INCBIN_COMP("graphics/pokemon/wyrdeer/follower.4bpp"); @@ -10913,7 +10913,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_GiratinaAltered[] = INCBIN_U32("graphics/pokemon/giratina/shiny.gbapal.lz"); const u8 gMonIcon_GiratinaAltered[] = INCBIN_U8("graphics/pokemon/giratina/icon.4bpp"); #if P_FOOTPRINTS - const u8 gMonFootprint_Giratina[] = INCBIN_U8("graphics/pokemon/giratina/footprint.1bpp"); + const u8 gMonFootprint_GiratinaAltered[] = INCBIN_U8("graphics/pokemon/giratina/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_GiratinaAltered[] = INCBIN_COMP("graphics/pokemon/giratina/follower.4bpp"); @@ -10928,6 +10928,9 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonBackPic_GiratinaOrigin[] = INCBIN_U32("graphics/pokemon/giratina/origin/back.4bpp.lz"); const u32 gMonShinyPalette_GiratinaOrigin[] = INCBIN_U32("graphics/pokemon/giratina/origin/shiny.gbapal.lz"); const u8 gMonIcon_GiratinaOrigin[] = INCBIN_U8("graphics/pokemon/giratina/origin/icon.4bpp"); +#if P_FOOTPRINTS + const u8 gMonFootprint_GiratinaOrigin[] = INCBIN_U8("graphics/pokemon/giratina/origin/footprint.1bpp"); +#endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_GiratinaOrigin[] = INCBIN_COMP("graphics/pokemon/giratina/origin/follower.4bpp"); #if OW_FOLLOWERS_SHARE_PALETTE == FALSE @@ -12226,7 +12229,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_BasculegionMale[] = INCBIN_U32("graphics/pokemon/basculegion/shiny.gbapal.lz"); const u8 gMonIcon_BasculegionMale[] = INCBIN_U8("graphics/pokemon/basculegion/icon.4bpp"); #if P_FOOTPRINTS - //const u8 gMonFootprint_Basculegion[] = INCBIN_U8("graphics/pokemon/basculegion/footprint.1bpp"); + const u8 gMonFootprint_Basculegion[] = INCBIN_U8("graphics/pokemon/basculegion/footprint.1bpp"); #endif //P_FOOTPRINTS const u32 gMonFrontPic_BasculegionFemale[] = INCBIN_U32("graphics/pokemon/basculegion/female/front.4bpp.lz"); @@ -13001,19 +13004,19 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u8 gMonFootprint_Sawsbuck[] = INCBIN_U8("graphics/pokemon/sawsbuck/footprint.1bpp"); #endif //P_FOOTPRINTS - const u32 gMonFrontPic_SawsbuckSummer[] = INCBIN_U32("graphics/pokemon/sawsbuck/summer/front.4bpp.lz"); + const u32 gMonFrontPic_SawsbuckSummer[] = INCBIN_U32("graphics/pokemon/sawsbuck/summer/anim_front.4bpp.lz"); const u32 gMonPalette_SawsbuckSummer[] = INCBIN_U32("graphics/pokemon/sawsbuck/summer/normal.gbapal.lz"); const u32 gMonBackPic_SawsbuckSummer[] = INCBIN_U32("graphics/pokemon/sawsbuck/summer/back.4bpp.lz"); const u32 gMonShinyPalette_SawsbuckSummer[] = INCBIN_U32("graphics/pokemon/sawsbuck/summer/shiny.gbapal.lz"); const u8 gMonIcon_SawsbuckSummer[] = INCBIN_U8("graphics/pokemon/sawsbuck/summer/icon.4bpp"); - const u32 gMonFrontPic_SawsbuckAutumn[] = INCBIN_U32("graphics/pokemon/sawsbuck/autumn/front.4bpp.lz"); + const u32 gMonFrontPic_SawsbuckAutumn[] = INCBIN_U32("graphics/pokemon/sawsbuck/autumn/anim_front.4bpp.lz"); const u32 gMonPalette_SawsbuckAutumn[] = INCBIN_U32("graphics/pokemon/sawsbuck/autumn/normal.gbapal.lz"); const u32 gMonBackPic_SawsbuckAutumn[] = INCBIN_U32("graphics/pokemon/sawsbuck/autumn/back.4bpp.lz"); const u32 gMonShinyPalette_SawsbuckAutumn[] = INCBIN_U32("graphics/pokemon/sawsbuck/autumn/shiny.gbapal.lz"); const u8 gMonIcon_SawsbuckAutumn[] = INCBIN_U8("graphics/pokemon/sawsbuck/autumn/icon.4bpp"); - const u32 gMonFrontPic_SawsbuckWinter[] = INCBIN_U32("graphics/pokemon/sawsbuck/winter/front.4bpp.lz"); + const u32 gMonFrontPic_SawsbuckWinter[] = INCBIN_U32("graphics/pokemon/sawsbuck/winter/anim_front.4bpp.lz"); const u32 gMonPalette_SawsbuckWinter[] = INCBIN_U32("graphics/pokemon/sawsbuck/winter/normal.gbapal.lz"); const u32 gMonBackPic_SawsbuckWinter[] = INCBIN_U32("graphics/pokemon/sawsbuck/winter/back.4bpp.lz"); const u32 gMonShinyPalette_SawsbuckWinter[] = INCBIN_U32("graphics/pokemon/sawsbuck/winter/shiny.gbapal.lz"); @@ -13748,7 +13751,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Kingambit[] = INCBIN_U32("graphics/pokemon/kingambit/shiny.gbapal.lz"); const u8 gMonIcon_Kingambit[] = INCBIN_U8("graphics/pokemon/kingambit/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Kingambit[] = INCBIN_U8("graphics/pokemon/kingambit/footprint.1bpp"); + const u8 gMonFootprint_Kingambit[] = INCBIN_U8("graphics/pokemon/kingambit/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Kingambit[] = INCBIN_COMP("graphics/pokemon/kingambit/follower.4bpp"); @@ -14171,7 +14174,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_EnamorusIncarnate[] = INCBIN_U32("graphics/pokemon/enamorus/shiny.gbapal.lz"); const u8 gMonIcon_EnamorusIncarnate[] = INCBIN_U8("graphics/pokemon/enamorus/icon.4bpp"); #if P_FOOTPRINTS - //const u8 gMonFootprint_Enamorus[] = INCBIN_U8("graphics/pokemon/enamorus/footprint.1bpp"); + const u8 gMonFootprint_Enamorus[] = INCBIN_U8("graphics/pokemon/enamorus/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_EnamorusIncarnate[] = INCBIN_COMP("graphics/pokemon/enamorus/follower.4bpp"); @@ -18557,7 +18560,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Dipplin[] = INCBIN_U32("graphics/pokemon/dipplin/shiny.gbapal.lz"); const u8 gMonIcon_Dipplin[] = INCBIN_U8("graphics/pokemon/dipplin/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Dipplin[] = INCBIN_U8("graphics/pokemon/dipplin/footprint.1bpp"); + const u8 gMonFootprint_Dipplin[] = INCBIN_U8("graphics/pokemon/dipplin/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Dipplin[] = INCBIN_COMP("graphics/pokemon/dipplin/follower.4bpp"); @@ -18573,7 +18576,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Hydrapple[] = INCBIN_U32("graphics/pokemon/hydrapple/shiny.gbapal.lz"); const u8 gMonIcon_Hydrapple[] = INCBIN_U8("graphics/pokemon/hydrapple/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Hydrapple[] = INCBIN_U8("graphics/pokemon/hydrapple/footprint.1bpp"); + const u8 gMonFootprint_Hydrapple[] = INCBIN_U8("graphics/pokemon/hydrapple/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Hydrapple[] = INCBIN_COMP("graphics/pokemon/hydrapple/follower.4bpp"); @@ -19511,7 +19514,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Archaludon[] = INCBIN_U32("graphics/pokemon/archaludon/shiny.gbapal.lz"); const u8 gMonIcon_Archaludon[] = INCBIN_U8("graphics/pokemon/archaludon/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Archaludon[] = INCBIN_U8("graphics/pokemon/archaludon/footprint.1bpp"); + const u8 gMonFootprint_Archaludon[] = INCBIN_U8("graphics/pokemon/archaludon/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Archaludon[] = INCBIN_COMP("graphics/pokemon/archaludon/follower.4bpp"); @@ -19882,7 +19885,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Sprigatito[] = INCBIN_U32("graphics/pokemon/sprigatito/shiny.gbapal.lz"); const u8 gMonIcon_Sprigatito[] = INCBIN_U8("graphics/pokemon/sprigatito/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Sprigatito[] = INCBIN_U8("graphics/pokemon/sprigatito/footprint.1bpp"); + const u8 gMonFootprint_Sprigatito[] = INCBIN_U8("graphics/pokemon/sprigatito/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Sprigatito[] = INCBIN_COMP("graphics/pokemon/sprigatito/follower.4bpp"); @@ -19898,7 +19901,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Floragato[] = INCBIN_U32("graphics/pokemon/floragato/shiny.gbapal.lz"); const u8 gMonIcon_Floragato[] = INCBIN_U8("graphics/pokemon/floragato/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Floragato[] = INCBIN_U8("graphics/pokemon/floragato/footprint.1bpp"); + const u8 gMonFootprint_Floragato[] = INCBIN_U8("graphics/pokemon/floragato/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Floragato[] = INCBIN_COMP("graphics/pokemon/floragato/follower.4bpp"); @@ -19914,7 +19917,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Meowscarada[] = INCBIN_U32("graphics/pokemon/meowscarada/shiny.gbapal.lz"); const u8 gMonIcon_Meowscarada[] = INCBIN_U8("graphics/pokemon/meowscarada/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Meowscarada[] = INCBIN_U8("graphics/pokemon/meowscarada/footprint.1bpp"); + const u8 gMonFootprint_Meowscarada[] = INCBIN_U8("graphics/pokemon/meowscarada/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Meowscarada[] = INCBIN_COMP("graphics/pokemon/meowscarada/follower.4bpp"); @@ -19932,7 +19935,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Fuecoco[] = INCBIN_U32("graphics/pokemon/fuecoco/shiny.gbapal.lz"); const u8 gMonIcon_Fuecoco[] = INCBIN_U8("graphics/pokemon/fuecoco/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Fuecoco[] = INCBIN_U8("graphics/pokemon/fuecoco/footprint.1bpp"); + const u8 gMonFootprint_Fuecoco[] = INCBIN_U8("graphics/pokemon/fuecoco/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Fuecoco[] = INCBIN_COMP("graphics/pokemon/fuecoco/follower.4bpp"); @@ -19948,7 +19951,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Crocalor[] = INCBIN_U32("graphics/pokemon/crocalor/shiny.gbapal.lz"); const u8 gMonIcon_Crocalor[] = INCBIN_U8("graphics/pokemon/crocalor/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Crocalor[] = INCBIN_U8("graphics/pokemon/crocalor/footprint.1bpp"); + const u8 gMonFootprint_Crocalor[] = INCBIN_U8("graphics/pokemon/crocalor/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Crocalor[] = INCBIN_COMP("graphics/pokemon/crocalor/follower.4bpp"); @@ -19964,7 +19967,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Skeledirge[] = INCBIN_U32("graphics/pokemon/skeledirge/shiny.gbapal.lz"); const u8 gMonIcon_Skeledirge[] = INCBIN_U8("graphics/pokemon/skeledirge/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Skeledirge[] = INCBIN_U8("graphics/pokemon/skeledirge/footprint.1bpp"); + const u8 gMonFootprint_Skeledirge[] = INCBIN_U8("graphics/pokemon/skeledirge/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Skeledirge[] = INCBIN_COMP("graphics/pokemon/skeledirge/follower.4bpp"); @@ -19982,7 +19985,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Quaxly[] = INCBIN_U32("graphics/pokemon/quaxly/shiny.gbapal.lz"); const u8 gMonIcon_Quaxly[] = INCBIN_U8("graphics/pokemon/quaxly/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Quaxly[] = INCBIN_U8("graphics/pokemon/quaxly/footprint.1bpp"); + const u8 gMonFootprint_Quaxly[] = INCBIN_U8("graphics/pokemon/quaxly/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Quaxly[] = INCBIN_COMP("graphics/pokemon/quaxly/follower.4bpp"); @@ -19998,7 +20001,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Quaxwell[] = INCBIN_U32("graphics/pokemon/quaxwell/shiny.gbapal.lz"); const u8 gMonIcon_Quaxwell[] = INCBIN_U8("graphics/pokemon/quaxwell/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Quaxwell[] = INCBIN_U8("graphics/pokemon/quaxwell/footprint.1bpp"); + const u8 gMonFootprint_Quaxwell[] = INCBIN_U8("graphics/pokemon/quaxwell/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Quaxwell[] = INCBIN_COMP("graphics/pokemon/quaxwell/follower.4bpp"); @@ -20014,7 +20017,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Quaquaval[] = INCBIN_U32("graphics/pokemon/quaquaval/shiny.gbapal.lz"); const u8 gMonIcon_Quaquaval[] = INCBIN_U8("graphics/pokemon/quaquaval/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Quaquaval[] = INCBIN_U8("graphics/pokemon/quaquaval/footprint.1bpp"); + const u8 gMonFootprint_Quaquaval[] = INCBIN_U8("graphics/pokemon/quaquaval/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Quaquaval[] = INCBIN_COMP("graphics/pokemon/quaquaval/follower.4bpp"); @@ -20032,7 +20035,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Lechonk[] = INCBIN_U32("graphics/pokemon/lechonk/shiny.gbapal.lz"); const u8 gMonIcon_Lechonk[] = INCBIN_U8("graphics/pokemon/lechonk/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Lechonk[] = INCBIN_U8("graphics/pokemon/lechonk/footprint.1bpp"); + const u8 gMonFootprint_Lechonk[] = INCBIN_U8("graphics/pokemon/lechonk/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Lechonk[] = INCBIN_COMP("graphics/pokemon/lechonk/follower.4bpp"); @@ -20048,7 +20051,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_OinkologneMale[] = INCBIN_U32("graphics/pokemon/oinkologne/shiny.gbapal.lz"); const u8 gMonIcon_OinkologneMale[] = INCBIN_U8("graphics/pokemon/oinkologne/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Oinkologne[] = INCBIN_U8("graphics/pokemon/oinkologne/footprint.1bpp"); + const u8 gMonFootprint_Oinkologne[] = INCBIN_U8("graphics/pokemon/oinkologne/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_OinkologneMale[] = INCBIN_COMP("graphics/pokemon/oinkologne/follower.4bpp"); @@ -20079,7 +20082,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Tarountula[] = INCBIN_U32("graphics/pokemon/tarountula/shiny.gbapal.lz"); const u8 gMonIcon_Tarountula[] = INCBIN_U8("graphics/pokemon/tarountula/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Tarountula[] = INCBIN_U8("graphics/pokemon/tarountula/footprint.1bpp"); + const u8 gMonFootprint_Tarountula[] = INCBIN_U8("graphics/pokemon/tarountula/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Tarountula[] = INCBIN_COMP("graphics/pokemon/tarountula/follower.4bpp"); @@ -20095,7 +20098,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Spidops[] = INCBIN_U32("graphics/pokemon/spidops/shiny.gbapal.lz"); const u8 gMonIcon_Spidops[] = INCBIN_U8("graphics/pokemon/spidops/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Spidops[] = INCBIN_U8("graphics/pokemon/spidops/footprint.1bpp"); + const u8 gMonFootprint_Spidops[] = INCBIN_U8("graphics/pokemon/spidops/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Spidops[] = INCBIN_COMP("graphics/pokemon/spidops/follower.4bpp"); @@ -20113,7 +20116,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Nymble[] = INCBIN_U32("graphics/pokemon/nymble/shiny.gbapal.lz"); const u8 gMonIcon_Nymble[] = INCBIN_U8("graphics/pokemon/nymble/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Nymble[] = INCBIN_U8("graphics/pokemon/nymble/footprint.1bpp"); + const u8 gMonFootprint_Nymble[] = INCBIN_U8("graphics/pokemon/nymble/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Nymble[] = INCBIN_COMP("graphics/pokemon/nymble/follower.4bpp"); @@ -20129,7 +20132,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Lokix[] = INCBIN_U32("graphics/pokemon/lokix/shiny.gbapal.lz"); const u8 gMonIcon_Lokix[] = INCBIN_U8("graphics/pokemon/lokix/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Lokix[] = INCBIN_U8("graphics/pokemon/lokix/footprint.1bpp"); + const u8 gMonFootprint_Lokix[] = INCBIN_U8("graphics/pokemon/lokix/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Lokix[] = INCBIN_COMP("graphics/pokemon/lokix/follower.4bpp"); @@ -20147,7 +20150,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Pawmi[] = INCBIN_U32("graphics/pokemon/pawmi/shiny.gbapal.lz"); const u8 gMonIcon_Pawmi[] = INCBIN_U8("graphics/pokemon/pawmi/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Pawmi[] = INCBIN_U8("graphics/pokemon/pawmi/footprint.1bpp"); + const u8 gMonFootprint_Pawmi[] = INCBIN_U8("graphics/pokemon/pawmi/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Pawmi[] = INCBIN_COMP("graphics/pokemon/pawmi/follower.4bpp"); @@ -20163,7 +20166,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Pawmo[] = INCBIN_U32("graphics/pokemon/pawmo/shiny.gbapal.lz"); const u8 gMonIcon_Pawmo[] = INCBIN_U8("graphics/pokemon/pawmo/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Pawmo[] = INCBIN_U8("graphics/pokemon/pawmo/footprint.1bpp"); + const u8 gMonFootprint_Pawmo[] = INCBIN_U8("graphics/pokemon/pawmo/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Pawmo[] = INCBIN_COMP("graphics/pokemon/pawmo/follower.4bpp"); @@ -20179,7 +20182,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Pawmot[] = INCBIN_U32("graphics/pokemon/pawmot/shiny.gbapal.lz"); const u8 gMonIcon_Pawmot[] = INCBIN_U8("graphics/pokemon/pawmot/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Pawmot[] = INCBIN_U8("graphics/pokemon/pawmot/footprint.1bpp"); + const u8 gMonFootprint_Pawmot[] = INCBIN_U8("graphics/pokemon/pawmot/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Pawmot[] = INCBIN_COMP("graphics/pokemon/pawmot/follower.4bpp"); @@ -20197,7 +20200,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Tandemaus[] = INCBIN_U32("graphics/pokemon/tandemaus/shiny.gbapal.lz"); const u8 gMonIcon_Tandemaus[] = INCBIN_U8("graphics/pokemon/tandemaus/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Tandemaus[] = INCBIN_U8("graphics/pokemon/tandemaus/footprint.1bpp"); + const u8 gMonFootprint_Tandemaus[] = INCBIN_U8("graphics/pokemon/tandemaus/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Tandemaus[] = INCBIN_COMP("graphics/pokemon/tandemaus/follower.4bpp"); @@ -20209,13 +20212,13 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonPalette_Maushold[] = INCBIN_U32("graphics/pokemon/maushold/normal.gbapal.lz"); const u32 gMonShinyPalette_Maushold[] = INCBIN_U32("graphics/pokemon/maushold/shiny.gbapal.lz"); -#if P_FOOTPRINTS - // const u8 gMonFootprint_Maushold[] = INCBIN_U8("graphics/pokemon/maushold/footprint.1bpp"); -#endif //P_FOOTPRINTS const u32 gMonFrontPic_MausholdFamilyOfThree[] = INCBIN_U32("graphics/pokemon/maushold/front.4bpp.lz"); const u32 gMonBackPic_MausholdFamilyOfThree[] = INCBIN_U32("graphics/pokemon/maushold/back.4bpp.lz"); const u8 gMonIcon_MausholdFamilyOfThree[] = INCBIN_U8("graphics/pokemon/maushold/icon.4bpp"); +#if P_FOOTPRINTS + const u8 gMonFootprint_MausholdFamilyOfThree[] = INCBIN_U8("graphics/pokemon/maushold/footprint.1bpp"); +#endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_MausholdFamilyOfThree[] = INCBIN_COMP("graphics/pokemon/maushold/follower.4bpp"); #if OW_FOLLOWERS_SHARE_PALETTE == FALSE @@ -20227,6 +20230,9 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonFrontPic_MausholdFamilyOfFour[] = INCBIN_U32("graphics/pokemon/maushold/four/front.4bpp.lz"); const u32 gMonBackPic_MausholdFamilyOfFour[] = INCBIN_U32("graphics/pokemon/maushold/four/back.4bpp.lz"); const u8 gMonIcon_MausholdFamilyOfFour[] = INCBIN_U8("graphics/pokemon/maushold/four/icon.4bpp"); +#if P_FOOTPRINTS + const u8 gMonFootprint_MausholdFamilyOfFour[] = INCBIN_U8("graphics/pokemon/maushold/four/footprint.1bpp"); +#endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_MausholdFamilyOfFour[] = INCBIN_COMP("graphics/pokemon/maushold/four/follower.4bpp"); #if OW_FOLLOWERS_SHARE_PALETTE == FALSE @@ -20243,7 +20249,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Fidough[] = INCBIN_U32("graphics/pokemon/fidough/shiny.gbapal.lz"); const u8 gMonIcon_Fidough[] = INCBIN_U8("graphics/pokemon/fidough/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Fidough[] = INCBIN_U8("graphics/pokemon/fidough/footprint.1bpp"); + const u8 gMonFootprint_Fidough[] = INCBIN_U8("graphics/pokemon/fidough/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Fidough[] = INCBIN_COMP("graphics/pokemon/fidough/follower.4bpp"); @@ -20259,7 +20265,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Dachsbun[] = INCBIN_U32("graphics/pokemon/dachsbun/shiny.gbapal.lz"); const u8 gMonIcon_Dachsbun[] = INCBIN_U8("graphics/pokemon/dachsbun/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Dachsbun[] = INCBIN_U8("graphics/pokemon/dachsbun/footprint.1bpp"); + const u8 gMonFootprint_Dachsbun[] = INCBIN_U8("graphics/pokemon/dachsbun/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Dachsbun[] = INCBIN_COMP("graphics/pokemon/dachsbun/follower.4bpp"); @@ -20277,7 +20283,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Smoliv[] = INCBIN_U32("graphics/pokemon/smoliv/shiny.gbapal.lz"); const u8 gMonIcon_Smoliv[] = INCBIN_U8("graphics/pokemon/smoliv/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Smoliv[] = INCBIN_U8("graphics/pokemon/smoliv/footprint.1bpp"); + const u8 gMonFootprint_Smoliv[] = INCBIN_U8("graphics/pokemon/smoliv/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Smoliv[] = INCBIN_COMP("graphics/pokemon/smoliv/follower.4bpp"); @@ -20293,7 +20299,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Dolliv[] = INCBIN_U32("graphics/pokemon/dolliv/shiny.gbapal.lz"); const u8 gMonIcon_Dolliv[] = INCBIN_U8("graphics/pokemon/dolliv/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Dolliv[] = INCBIN_U8("graphics/pokemon/dolliv/footprint.1bpp"); + const u8 gMonFootprint_Dolliv[] = INCBIN_U8("graphics/pokemon/dolliv/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Dolliv[] = INCBIN_COMP("graphics/pokemon/dolliv/follower.4bpp"); @@ -20309,7 +20315,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Arboliva[] = INCBIN_U32("graphics/pokemon/arboliva/shiny.gbapal.lz"); const u8 gMonIcon_Arboliva[] = INCBIN_U8("graphics/pokemon/arboliva/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Arboliva[] = INCBIN_U8("graphics/pokemon/arboliva/footprint.1bpp"); + const u8 gMonFootprint_Arboliva[] = INCBIN_U8("graphics/pokemon/arboliva/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Arboliva[] = INCBIN_COMP("graphics/pokemon/arboliva/follower.4bpp"); @@ -20324,7 +20330,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonFrontPic_Squawkabilly[] = INCBIN_U32("graphics/pokemon/squawkabilly/front.4bpp.lz"); const u32 gMonBackPic_Squawkabilly[] = INCBIN_U32("graphics/pokemon/squawkabilly/back.4bpp.lz"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Squawkabilly[] = INCBIN_U8("graphics/pokemon/squawkabilly/footprint.1bpp"); + const u8 gMonFootprint_Squawkabilly[] = INCBIN_U8("graphics/pokemon/squawkabilly/footprint.1bpp"); #endif //P_FOOTPRINTS const u32 gMonPalette_SquawkabillyGreenPlumage[] = INCBIN_U32("graphics/pokemon/squawkabilly/normal.gbapal.lz"); @@ -20379,7 +20385,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Nacli[] = INCBIN_U32("graphics/pokemon/nacli/shiny.gbapal.lz"); const u8 gMonIcon_Nacli[] = INCBIN_U8("graphics/pokemon/nacli/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Nacli[] = INCBIN_U8("graphics/pokemon/nacli/footprint.1bpp"); + const u8 gMonFootprint_Nacli[] = INCBIN_U8("graphics/pokemon/nacli/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Nacli[] = INCBIN_COMP("graphics/pokemon/nacli/follower.4bpp"); @@ -20395,7 +20401,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Naclstack[] = INCBIN_U32("graphics/pokemon/naclstack/shiny.gbapal.lz"); const u8 gMonIcon_Naclstack[] = INCBIN_U8("graphics/pokemon/naclstack/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Naclstack[] = INCBIN_U8("graphics/pokemon/naclstack/footprint.1bpp"); + const u8 gMonFootprint_Naclstack[] = INCBIN_U8("graphics/pokemon/naclstack/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Naclstack[] = INCBIN_COMP("graphics/pokemon/naclstack/follower.4bpp"); @@ -20411,7 +20417,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Garganacl[] = INCBIN_U32("graphics/pokemon/garganacl/shiny.gbapal.lz"); const u8 gMonIcon_Garganacl[] = INCBIN_U8("graphics/pokemon/garganacl/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Garganacl[] = INCBIN_U8("graphics/pokemon/garganacl/footprint.1bpp"); + const u8 gMonFootprint_Garganacl[] = INCBIN_U8("graphics/pokemon/garganacl/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Garganacl[] = INCBIN_COMP("graphics/pokemon/garganacl/follower.4bpp"); @@ -20429,7 +20435,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Charcadet[] = INCBIN_U32("graphics/pokemon/charcadet/shiny.gbapal.lz"); const u8 gMonIcon_Charcadet[] = INCBIN_U8("graphics/pokemon/charcadet/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Charcadet[] = INCBIN_U8("graphics/pokemon/charcadet/footprint.1bpp"); + const u8 gMonFootprint_Charcadet[] = INCBIN_U8("graphics/pokemon/charcadet/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Charcadet[] = INCBIN_COMP("graphics/pokemon/charcadet/follower.4bpp"); @@ -20445,7 +20451,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Armarouge[] = INCBIN_U32("graphics/pokemon/armarouge/shiny.gbapal.lz"); const u8 gMonIcon_Armarouge[] = INCBIN_U8("graphics/pokemon/armarouge/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Armarouge[] = INCBIN_U8("graphics/pokemon/armarouge/footprint.1bpp"); + const u8 gMonFootprint_Armarouge[] = INCBIN_U8("graphics/pokemon/armarouge/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Armarouge[] = INCBIN_COMP("graphics/pokemon/armarouge/follower.4bpp"); @@ -20461,7 +20467,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Ceruledge[] = INCBIN_U32("graphics/pokemon/ceruledge/shiny.gbapal.lz"); const u8 gMonIcon_Ceruledge[] = INCBIN_U8("graphics/pokemon/ceruledge/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Ceruledge[] = INCBIN_U8("graphics/pokemon/ceruledge/footprint.1bpp"); + const u8 gMonFootprint_Ceruledge[] = INCBIN_U8("graphics/pokemon/ceruledge/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Ceruledge[] = INCBIN_COMP("graphics/pokemon/ceruledge/follower.4bpp"); @@ -20479,7 +20485,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Tadbulb[] = INCBIN_U32("graphics/pokemon/tadbulb/shiny.gbapal.lz"); const u8 gMonIcon_Tadbulb[] = INCBIN_U8("graphics/pokemon/tadbulb/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Tadbulb[] = INCBIN_U8("graphics/pokemon/tadbulb/footprint.1bpp"); + const u8 gMonFootprint_Tadbulb[] = INCBIN_U8("graphics/pokemon/tadbulb/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Tadbulb[] = INCBIN_COMP("graphics/pokemon/tadbulb/follower.4bpp"); @@ -20495,7 +20501,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Bellibolt[] = INCBIN_U32("graphics/pokemon/bellibolt/shiny.gbapal.lz"); const u8 gMonIcon_Bellibolt[] = INCBIN_U8("graphics/pokemon/bellibolt/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Bellibolt[] = INCBIN_U8("graphics/pokemon/bellibolt/footprint.1bpp"); + const u8 gMonFootprint_Bellibolt[] = INCBIN_U8("graphics/pokemon/bellibolt/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Bellibolt[] = INCBIN_COMP("graphics/pokemon/bellibolt/follower.4bpp"); @@ -20513,7 +20519,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Wattrel[] = INCBIN_U32("graphics/pokemon/wattrel/shiny.gbapal.lz"); const u8 gMonIcon_Wattrel[] = INCBIN_U8("graphics/pokemon/wattrel/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Wattrel[] = INCBIN_U8("graphics/pokemon/wattrel/footprint.1bpp"); + const u8 gMonFootprint_Wattrel[] = INCBIN_U8("graphics/pokemon/wattrel/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Wattrel[] = INCBIN_COMP("graphics/pokemon/wattrel/follower.4bpp"); @@ -20529,7 +20535,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Kilowattrel[] = INCBIN_U32("graphics/pokemon/kilowattrel/shiny.gbapal.lz"); const u8 gMonIcon_Kilowattrel[] = INCBIN_U8("graphics/pokemon/kilowattrel/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Kilowattrel[] = INCBIN_U8("graphics/pokemon/kilowattrel/footprint.1bpp"); + const u8 gMonFootprint_Kilowattrel[] = INCBIN_U8("graphics/pokemon/kilowattrel/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Kilowattrel[] = INCBIN_COMP("graphics/pokemon/kilowattrel/follower.4bpp"); @@ -20547,7 +20553,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Maschiff[] = INCBIN_U32("graphics/pokemon/maschiff/shiny.gbapal.lz"); const u8 gMonIcon_Maschiff[] = INCBIN_U8("graphics/pokemon/maschiff/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Maschiff[] = INCBIN_U8("graphics/pokemon/maschiff/footprint.1bpp"); + const u8 gMonFootprint_Maschiff[] = INCBIN_U8("graphics/pokemon/maschiff/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Maschiff[] = INCBIN_COMP("graphics/pokemon/maschiff/follower.4bpp"); @@ -20563,7 +20569,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Mabosstiff[] = INCBIN_U32("graphics/pokemon/mabosstiff/shiny.gbapal.lz"); const u8 gMonIcon_Mabosstiff[] = INCBIN_U8("graphics/pokemon/mabosstiff/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Mabosstiff[] = INCBIN_U8("graphics/pokemon/mabosstiff/footprint.1bpp"); + const u8 gMonFootprint_Mabosstiff[] = INCBIN_U8("graphics/pokemon/mabosstiff/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Mabosstiff[] = INCBIN_COMP("graphics/pokemon/mabosstiff/follower.4bpp"); @@ -20581,7 +20587,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Shroodle[] = INCBIN_U32("graphics/pokemon/shroodle/shiny.gbapal.lz"); const u8 gMonIcon_Shroodle[] = INCBIN_U8("graphics/pokemon/shroodle/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Shroodle[] = INCBIN_U8("graphics/pokemon/shroodle/footprint.1bpp"); + const u8 gMonFootprint_Shroodle[] = INCBIN_U8("graphics/pokemon/shroodle/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Shroodle[] = INCBIN_COMP("graphics/pokemon/shroodle/follower.4bpp"); @@ -20597,7 +20603,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Grafaiai[] = INCBIN_U32("graphics/pokemon/grafaiai/shiny.gbapal.lz"); const u8 gMonIcon_Grafaiai[] = INCBIN_U8("graphics/pokemon/grafaiai/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Grafaiai[] = INCBIN_U8("graphics/pokemon/grafaiai/footprint.1bpp"); + const u8 gMonFootprint_Grafaiai[] = INCBIN_U8("graphics/pokemon/grafaiai/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Grafaiai[] = INCBIN_COMP("graphics/pokemon/grafaiai/follower.4bpp"); @@ -20615,7 +20621,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Bramblin[] = INCBIN_U32("graphics/pokemon/bramblin/shiny.gbapal.lz"); const u8 gMonIcon_Bramblin[] = INCBIN_U8("graphics/pokemon/bramblin/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Bramblin[] = INCBIN_U8("graphics/pokemon/bramblin/footprint.1bpp"); + const u8 gMonFootprint_Bramblin[] = INCBIN_U8("graphics/pokemon/bramblin/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Bramblin[] = INCBIN_COMP("graphics/pokemon/bramblin/follower.4bpp"); @@ -20631,7 +20637,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Brambleghast[] = INCBIN_U32("graphics/pokemon/brambleghast/shiny.gbapal.lz"); const u8 gMonIcon_Brambleghast[] = INCBIN_U8("graphics/pokemon/brambleghast/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Brambleghast[] = INCBIN_U8("graphics/pokemon/brambleghast/footprint.1bpp"); + const u8 gMonFootprint_Brambleghast[] = INCBIN_U8("graphics/pokemon/brambleghast/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Brambleghast[] = INCBIN_COMP("graphics/pokemon/brambleghast/follower.4bpp"); @@ -20649,7 +20655,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Toedscool[] = INCBIN_U32("graphics/pokemon/toedscool/shiny.gbapal.lz"); const u8 gMonIcon_Toedscool[] = INCBIN_U8("graphics/pokemon/toedscool/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Toedscool[] = INCBIN_U8("graphics/pokemon/toedscool/footprint.1bpp"); + const u8 gMonFootprint_Toedscool[] = INCBIN_U8("graphics/pokemon/toedscool/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Toedscool[] = INCBIN_COMP("graphics/pokemon/toedscool/follower.4bpp"); @@ -20665,7 +20671,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Toedscruel[] = INCBIN_U32("graphics/pokemon/toedscruel/shiny.gbapal.lz"); const u8 gMonIcon_Toedscruel[] = INCBIN_U8("graphics/pokemon/toedscruel/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Toedscruel[] = INCBIN_U8("graphics/pokemon/toedscruel/footprint.1bpp"); + const u8 gMonFootprint_Toedscruel[] = INCBIN_U8("graphics/pokemon/toedscruel/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Toedscruel[] = INCBIN_COMP("graphics/pokemon/toedscruel/follower.4bpp"); @@ -20683,7 +20689,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Klawf[] = INCBIN_U32("graphics/pokemon/klawf/shiny.gbapal.lz"); const u8 gMonIcon_Klawf[] = INCBIN_U8("graphics/pokemon/klawf/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Klawf[] = INCBIN_U8("graphics/pokemon/klawf/footprint.1bpp"); + const u8 gMonFootprint_Klawf[] = INCBIN_U8("graphics/pokemon/klawf/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Klawf[] = INCBIN_COMP("graphics/pokemon/klawf/follower.4bpp"); @@ -20701,7 +20707,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Capsakid[] = INCBIN_U32("graphics/pokemon/capsakid/shiny.gbapal.lz"); const u8 gMonIcon_Capsakid[] = INCBIN_U8("graphics/pokemon/capsakid/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Capsakid[] = INCBIN_U8("graphics/pokemon/capsakid/footprint.1bpp"); + const u8 gMonFootprint_Capsakid[] = INCBIN_U8("graphics/pokemon/capsakid/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Capsakid[] = INCBIN_COMP("graphics/pokemon/capsakid/follower.4bpp"); @@ -20717,7 +20723,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Scovillain[] = INCBIN_U32("graphics/pokemon/scovillain/shiny.gbapal.lz"); const u8 gMonIcon_Scovillain[] = INCBIN_U8("graphics/pokemon/scovillain/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Scovillain[] = INCBIN_U8("graphics/pokemon/scovillain/footprint.1bpp"); + const u8 gMonFootprint_Scovillain[] = INCBIN_U8("graphics/pokemon/scovillain/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Scovillain[] = INCBIN_COMP("graphics/pokemon/scovillain/follower.4bpp"); @@ -20735,7 +20741,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Rellor[] = INCBIN_U32("graphics/pokemon/rellor/shiny.gbapal.lz"); const u8 gMonIcon_Rellor[] = INCBIN_U8("graphics/pokemon/rellor/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Rellor[] = INCBIN_U8("graphics/pokemon/rellor/footprint.1bpp"); + const u8 gMonFootprint_Rellor[] = INCBIN_U8("graphics/pokemon/rellor/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Rellor[] = INCBIN_COMP("graphics/pokemon/rellor/follower.4bpp"); @@ -20751,7 +20757,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Rabsca[] = INCBIN_U32("graphics/pokemon/rabsca/shiny.gbapal.lz"); const u8 gMonIcon_Rabsca[] = INCBIN_U8("graphics/pokemon/rabsca/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Rabsca[] = INCBIN_U8("graphics/pokemon/rabsca/footprint.1bpp"); + const u8 gMonFootprint_Rabsca[] = INCBIN_U8("graphics/pokemon/rabsca/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Rabsca[] = INCBIN_COMP("graphics/pokemon/rabsca/follower.4bpp"); @@ -20769,7 +20775,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Flittle[] = INCBIN_U32("graphics/pokemon/flittle/shiny.gbapal.lz"); const u8 gMonIcon_Flittle[] = INCBIN_U8("graphics/pokemon/flittle/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Flittle[] = INCBIN_U8("graphics/pokemon/flittle/footprint.1bpp"); + const u8 gMonFootprint_Flittle[] = INCBIN_U8("graphics/pokemon/flittle/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Flittle[] = INCBIN_COMP("graphics/pokemon/flittle/follower.4bpp"); @@ -20785,7 +20791,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Espathra[] = INCBIN_U32("graphics/pokemon/espathra/shiny.gbapal.lz"); const u8 gMonIcon_Espathra[] = INCBIN_U8("graphics/pokemon/espathra/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Espathra[] = INCBIN_U8("graphics/pokemon/espathra/footprint.1bpp"); + const u8 gMonFootprint_Espathra[] = INCBIN_U8("graphics/pokemon/espathra/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Espathra[] = INCBIN_COMP("graphics/pokemon/espathra/follower.4bpp"); @@ -20803,7 +20809,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Tinkatink[] = INCBIN_U32("graphics/pokemon/tinkatink/shiny.gbapal.lz"); const u8 gMonIcon_Tinkatink[] = INCBIN_U8("graphics/pokemon/tinkatink/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Tinkatink[] = INCBIN_U8("graphics/pokemon/tinkatink/footprint.1bpp"); + const u8 gMonFootprint_Tinkatink[] = INCBIN_U8("graphics/pokemon/tinkatink/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Tinkatink[] = INCBIN_COMP("graphics/pokemon/tinkatink/follower.4bpp"); @@ -20819,7 +20825,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Tinkatuff[] = INCBIN_U32("graphics/pokemon/tinkatuff/shiny.gbapal.lz"); const u8 gMonIcon_Tinkatuff[] = INCBIN_U8("graphics/pokemon/tinkatuff/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Tinkatuff[] = INCBIN_U8("graphics/pokemon/tinkatuff/footprint.1bpp"); + const u8 gMonFootprint_Tinkatuff[] = INCBIN_U8("graphics/pokemon/tinkatuff/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Tinkatuff[] = INCBIN_COMP("graphics/pokemon/tinkatuff/follower.4bpp"); @@ -20835,7 +20841,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Tinkaton[] = INCBIN_U32("graphics/pokemon/tinkaton/shiny.gbapal.lz"); const u8 gMonIcon_Tinkaton[] = INCBIN_U8("graphics/pokemon/tinkaton/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Tinkaton[] = INCBIN_U8("graphics/pokemon/tinkaton/footprint.1bpp"); + const u8 gMonFootprint_Tinkaton[] = INCBIN_U8("graphics/pokemon/tinkaton/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Tinkaton[] = INCBIN_COMP("graphics/pokemon/tinkaton/follower.4bpp"); @@ -20853,7 +20859,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Wiglett[] = INCBIN_U32("graphics/pokemon/wiglett/shiny.gbapal.lz"); const u8 gMonIcon_Wiglett[] = INCBIN_U8("graphics/pokemon/wiglett/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Wiglett[] = INCBIN_U8("graphics/pokemon/wiglett/footprint.1bpp"); + const u8 gMonFootprint_Wiglett[] = INCBIN_U8("graphics/pokemon/wiglett/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Wiglett[] = INCBIN_COMP("graphics/pokemon/wiglett/follower.4bpp"); @@ -20869,7 +20875,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Wugtrio[] = INCBIN_U32("graphics/pokemon/wugtrio/shiny.gbapal.lz"); const u8 gMonIcon_Wugtrio[] = INCBIN_U8("graphics/pokemon/wugtrio/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Wugtrio[] = INCBIN_U8("graphics/pokemon/wugtrio/footprint.1bpp"); + const u8 gMonFootprint_Wugtrio[] = INCBIN_U8("graphics/pokemon/wugtrio/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Wugtrio[] = INCBIN_COMP("graphics/pokemon/wugtrio/follower.4bpp"); @@ -20887,7 +20893,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Bombirdier[] = INCBIN_U32("graphics/pokemon/bombirdier/shiny.gbapal.lz"); const u8 gMonIcon_Bombirdier[] = INCBIN_U8("graphics/pokemon/bombirdier/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Bombirdier[] = INCBIN_U8("graphics/pokemon/bombirdier/footprint.1bpp"); + const u8 gMonFootprint_Bombirdier[] = INCBIN_U8("graphics/pokemon/bombirdier/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Bombirdier[] = INCBIN_COMP("graphics/pokemon/bombirdier/follower.4bpp"); @@ -20905,7 +20911,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Finizen[] = INCBIN_U32("graphics/pokemon/finizen/shiny.gbapal.lz"); const u8 gMonIcon_Finizen[] = INCBIN_U8("graphics/pokemon/finizen/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Finizen[] = INCBIN_U8("graphics/pokemon/finizen/footprint.1bpp"); + const u8 gMonFootprint_Finizen[] = INCBIN_U8("graphics/pokemon/finizen/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Finizen[] = INCBIN_COMP("graphics/pokemon/finizen/follower.4bpp"); @@ -20921,7 +20927,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_PalafinZero[] = INCBIN_U32("graphics/pokemon/palafin/shiny.gbapal.lz"); const u8 gMonIcon_PalafinZero[] = INCBIN_U8("graphics/pokemon/palafin/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Palafin[] = INCBIN_U8("graphics/pokemon/palafin/footprint.1bpp"); + const u8 gMonFootprint_Palafin[] = INCBIN_U8("graphics/pokemon/palafin/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_PalafinZero[] = INCBIN_COMP("graphics/pokemon/palafin/follower.4bpp"); @@ -20952,7 +20958,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Varoom[] = INCBIN_U32("graphics/pokemon/varoom/shiny.gbapal.lz"); const u8 gMonIcon_Varoom[] = INCBIN_U8("graphics/pokemon/varoom/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Varoom[] = INCBIN_U8("graphics/pokemon/varoom/footprint.1bpp"); + const u8 gMonFootprint_Varoom[] = INCBIN_U8("graphics/pokemon/varoom/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Varoom[] = INCBIN_COMP("graphics/pokemon/varoom/follower.4bpp"); @@ -20968,7 +20974,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Revavroom[] = INCBIN_U32("graphics/pokemon/revavroom/shiny.gbapal.lz"); const u8 gMonIcon_Revavroom[] = INCBIN_U8("graphics/pokemon/revavroom/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Revavroom[] = INCBIN_U8("graphics/pokemon/revavroom/footprint.1bpp"); + const u8 gMonFootprint_Revavroom[] = INCBIN_U8("graphics/pokemon/revavroom/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Revavroom[] = INCBIN_COMP("graphics/pokemon/revavroom/follower.4bpp"); @@ -20986,7 +20992,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Cyclizar[] = INCBIN_U32("graphics/pokemon/cyclizar/shiny.gbapal.lz"); const u8 gMonIcon_Cyclizar[] = INCBIN_U8("graphics/pokemon/cyclizar/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Cyclizar[] = INCBIN_U8("graphics/pokemon/cyclizar/footprint.1bpp"); + const u8 gMonFootprint_Cyclizar[] = INCBIN_U8("graphics/pokemon/cyclizar/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Cyclizar[] = INCBIN_COMP("graphics/pokemon/cyclizar/follower.4bpp"); @@ -21004,7 +21010,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Orthworm[] = INCBIN_U32("graphics/pokemon/orthworm/shiny.gbapal.lz"); const u8 gMonIcon_Orthworm[] = INCBIN_U8("graphics/pokemon/orthworm/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Orthworm[] = INCBIN_U8("graphics/pokemon/orthworm/footprint.1bpp"); + const u8 gMonFootprint_Orthworm[] = INCBIN_U8("graphics/pokemon/orthworm/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Orthworm[] = INCBIN_COMP("graphics/pokemon/orthworm/follower.4bpp"); @@ -21022,7 +21028,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Glimmet[] = INCBIN_U32("graphics/pokemon/glimmet/shiny.gbapal.lz"); const u8 gMonIcon_Glimmet[] = INCBIN_U8("graphics/pokemon/glimmet/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Glimmet[] = INCBIN_U8("graphics/pokemon/glimmet/footprint.1bpp"); + const u8 gMonFootprint_Glimmet[] = INCBIN_U8("graphics/pokemon/glimmet/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Glimmet[] = INCBIN_COMP("graphics/pokemon/glimmet/follower.4bpp"); @@ -21038,7 +21044,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Glimmora[] = INCBIN_U32("graphics/pokemon/glimmora/shiny.gbapal.lz"); const u8 gMonIcon_Glimmora[] = INCBIN_U8("graphics/pokemon/glimmora/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Glimmora[] = INCBIN_U8("graphics/pokemon/glimmora/footprint.1bpp"); + const u8 gMonFootprint_Glimmora[] = INCBIN_U8("graphics/pokemon/glimmora/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Glimmora[] = INCBIN_COMP("graphics/pokemon/glimmora/follower.4bpp"); @@ -21056,7 +21062,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Greavard[] = INCBIN_U32("graphics/pokemon/greavard/shiny.gbapal.lz"); const u8 gMonIcon_Greavard[] = INCBIN_U8("graphics/pokemon/greavard/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Greavard[] = INCBIN_U8("graphics/pokemon/greavard/footprint.1bpp"); + const u8 gMonFootprint_Greavard[] = INCBIN_U8("graphics/pokemon/greavard/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Greavard[] = INCBIN_COMP("graphics/pokemon/greavard/follower.4bpp"); @@ -21072,7 +21078,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Houndstone[] = INCBIN_U32("graphics/pokemon/houndstone/shiny.gbapal.lz"); const u8 gMonIcon_Houndstone[] = INCBIN_U8("graphics/pokemon/houndstone/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Houndstone[] = INCBIN_U8("graphics/pokemon/houndstone/footprint.1bpp"); + const u8 gMonFootprint_Houndstone[] = INCBIN_U8("graphics/pokemon/houndstone/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Houndstone[] = INCBIN_COMP("graphics/pokemon/houndstone/follower.4bpp"); @@ -21090,7 +21096,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Flamigo[] = INCBIN_U32("graphics/pokemon/flamigo/shiny.gbapal.lz"); const u8 gMonIcon_Flamigo[] = INCBIN_U8("graphics/pokemon/flamigo/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Flamigo[] = INCBIN_U8("graphics/pokemon/flamigo/footprint.1bpp"); + const u8 gMonFootprint_Flamigo[] = INCBIN_U8("graphics/pokemon/flamigo/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Flamigo[] = INCBIN_COMP("graphics/pokemon/flamigo/follower.4bpp"); @@ -21108,7 +21114,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Cetoddle[] = INCBIN_U32("graphics/pokemon/cetoddle/shiny.gbapal.lz"); const u8 gMonIcon_Cetoddle[] = INCBIN_U8("graphics/pokemon/cetoddle/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Cetoddle[] = INCBIN_U8("graphics/pokemon/cetoddle/footprint.1bpp"); + const u8 gMonFootprint_Cetoddle[] = INCBIN_U8("graphics/pokemon/cetoddle/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Cetoddle[] = INCBIN_COMP("graphics/pokemon/cetoddle/follower.4bpp"); @@ -21124,7 +21130,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Cetitan[] = INCBIN_U32("graphics/pokemon/cetitan/shiny.gbapal.lz"); const u8 gMonIcon_Cetitan[] = INCBIN_U8("graphics/pokemon/cetitan/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Cetitan[] = INCBIN_U8("graphics/pokemon/cetitan/footprint.1bpp"); + const u8 gMonFootprint_Cetitan[] = INCBIN_U8("graphics/pokemon/cetitan/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Cetitan[] = INCBIN_COMP("graphics/pokemon/cetitan/follower.4bpp"); @@ -21142,7 +21148,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Veluza[] = INCBIN_U32("graphics/pokemon/veluza/shiny.gbapal.lz"); const u8 gMonIcon_Veluza[] = INCBIN_U8("graphics/pokemon/veluza/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Veluza[] = INCBIN_U8("graphics/pokemon/veluza/footprint.1bpp"); + const u8 gMonFootprint_Veluza[] = INCBIN_U8("graphics/pokemon/veluza/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Veluza[] = INCBIN_COMP("graphics/pokemon/veluza/follower.4bpp"); @@ -21160,7 +21166,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Dondozo[] = INCBIN_U32("graphics/pokemon/dondozo/shiny.gbapal.lz"); const u8 gMonIcon_Dondozo[] = INCBIN_U8("graphics/pokemon/dondozo/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Dondozo[] = INCBIN_U8("graphics/pokemon/dondozo/footprint.1bpp"); + const u8 gMonFootprint_Dondozo[] = INCBIN_U8("graphics/pokemon/dondozo/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Dondozo[] = INCBIN_COMP("graphics/pokemon/dondozo/follower.4bpp"); @@ -21178,7 +21184,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_TatsugiriCurly[] = INCBIN_U32("graphics/pokemon/tatsugiri/shiny.gbapal.lz"); const u8 gMonIcon_TatsugiriCurly[] = INCBIN_U8("graphics/pokemon/tatsugiri/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Tatsugiri[] = INCBIN_U8("graphics/pokemon/tatsugiri/footprint.1bpp"); + const u8 gMonFootprint_Tatsugiri[] = INCBIN_U8("graphics/pokemon/tatsugiri/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_TatsugiriCurly[] = INCBIN_COMP("graphics/pokemon/tatsugiri/curly/follower.4bpp"); @@ -21222,7 +21228,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_GreatTusk[] = INCBIN_U32("graphics/pokemon/great_tusk/shiny.gbapal.lz"); const u8 gMonIcon_GreatTusk[] = INCBIN_U8("graphics/pokemon/great_tusk/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_GreatTusk[] = INCBIN_U8("graphics/pokemon/great_tusk/footprint.1bpp"); + const u8 gMonFootprint_GreatTusk[] = INCBIN_U8("graphics/pokemon/great_tusk/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_GreatTusk[] = INCBIN_COMP("graphics/pokemon/great_tusk/follower.4bpp"); @@ -21240,7 +21246,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_ScreamTail[] = INCBIN_U32("graphics/pokemon/scream_tail/shiny.gbapal.lz"); const u8 gMonIcon_ScreamTail[] = INCBIN_U8("graphics/pokemon/scream_tail/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_ScreamTail[] = INCBIN_U8("graphics/pokemon/scream_tail/footprint.1bpp"); + const u8 gMonFootprint_ScreamTail[] = INCBIN_U8("graphics/pokemon/scream_tail/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_ScreamTail[] = INCBIN_COMP("graphics/pokemon/scream_tail/follower.4bpp"); @@ -21258,7 +21264,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_BruteBonnet[] = INCBIN_U32("graphics/pokemon/brute_bonnet/shiny.gbapal.lz"); const u8 gMonIcon_BruteBonnet[] = INCBIN_U8("graphics/pokemon/brute_bonnet/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_BruteBonnet[] = INCBIN_U8("graphics/pokemon/brute_bonnet/footprint.1bpp"); + const u8 gMonFootprint_BruteBonnet[] = INCBIN_U8("graphics/pokemon/brute_bonnet/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_BruteBonnet[] = INCBIN_COMP("graphics/pokemon/brute_bonnet/follower.4bpp"); @@ -21276,7 +21282,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_FlutterMane[] = INCBIN_U32("graphics/pokemon/flutter_mane/shiny.gbapal.lz"); const u8 gMonIcon_FlutterMane[] = INCBIN_U8("graphics/pokemon/flutter_mane/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_FlutterMane[] = INCBIN_U8("graphics/pokemon/flutter_mane/footprint.1bpp"); + const u8 gMonFootprint_FlutterMane[] = INCBIN_U8("graphics/pokemon/flutter_mane/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_FlutterMane[] = INCBIN_COMP("graphics/pokemon/flutter_mane/follower.4bpp"); @@ -21294,7 +21300,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_SlitherWing[] = INCBIN_U32("graphics/pokemon/slither_wing/shiny.gbapal.lz"); const u8 gMonIcon_SlitherWing[] = INCBIN_U8("graphics/pokemon/slither_wing/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_SlitherWing[] = INCBIN_U8("graphics/pokemon/slither_wing/footprint.1bpp"); + const u8 gMonFootprint_SlitherWing[] = INCBIN_U8("graphics/pokemon/slither_wing/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_SlitherWing[] = INCBIN_COMP("graphics/pokemon/slither_wing/follower.4bpp"); @@ -21312,7 +21318,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_SandyShocks[] = INCBIN_U32("graphics/pokemon/sandy_shocks/shiny.gbapal.lz"); const u8 gMonIcon_SandyShocks[] = INCBIN_U8("graphics/pokemon/sandy_shocks/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_SandyShocks[] = INCBIN_U8("graphics/pokemon/sandy_shocks/footprint.1bpp"); + const u8 gMonFootprint_SandyShocks[] = INCBIN_U8("graphics/pokemon/sandy_shocks/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_SandyShocks[] = INCBIN_COMP("graphics/pokemon/sandy_shocks/follower.4bpp"); @@ -21330,7 +21336,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_IronTreads[] = INCBIN_U32("graphics/pokemon/iron_treads/shiny.gbapal.lz"); const u8 gMonIcon_IronTreads[] = INCBIN_U8("graphics/pokemon/iron_treads/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_IronTreads[] = INCBIN_U8("graphics/pokemon/iron_treads/footprint.1bpp"); + const u8 gMonFootprint_IronTreads[] = INCBIN_U8("graphics/pokemon/iron_treads/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_IronTreads[] = INCBIN_COMP("graphics/pokemon/iron_treads/follower.4bpp"); @@ -21348,7 +21354,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_IronBundle[] = INCBIN_U32("graphics/pokemon/iron_bundle/shiny.gbapal.lz"); const u8 gMonIcon_IronBundle[] = INCBIN_U8("graphics/pokemon/iron_bundle/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_IronBundle[] = INCBIN_U8("graphics/pokemon/iron_bundle/footprint.1bpp"); + const u8 gMonFootprint_IronBundle[] = INCBIN_U8("graphics/pokemon/iron_bundle/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_IronBundle[] = INCBIN_COMP("graphics/pokemon/iron_bundle/follower.4bpp"); @@ -21366,7 +21372,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_IronHands[] = INCBIN_U32("graphics/pokemon/iron_hands/shiny.gbapal.lz"); const u8 gMonIcon_IronHands[] = INCBIN_U8("graphics/pokemon/iron_hands/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_IronHands[] = INCBIN_U8("graphics/pokemon/iron_hands/footprint.1bpp"); + const u8 gMonFootprint_IronHands[] = INCBIN_U8("graphics/pokemon/iron_hands/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_IronHands[] = INCBIN_COMP("graphics/pokemon/iron_hands/follower.4bpp"); @@ -21384,7 +21390,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_IronJugulis[] = INCBIN_U32("graphics/pokemon/iron_jugulis/shiny.gbapal.lz"); const u8 gMonIcon_IronJugulis[] = INCBIN_U8("graphics/pokemon/iron_jugulis/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_IronJugulis[] = INCBIN_U8("graphics/pokemon/iron_jugulis/footprint.1bpp"); + const u8 gMonFootprint_IronJugulis[] = INCBIN_U8("graphics/pokemon/iron_jugulis/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_IronJugulis[] = INCBIN_COMP("graphics/pokemon/iron_jugulis/follower.4bpp"); @@ -21402,7 +21408,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_IronMoth[] = INCBIN_U32("graphics/pokemon/iron_moth/shiny.gbapal.lz"); const u8 gMonIcon_IronMoth[] = INCBIN_U8("graphics/pokemon/iron_moth/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_IronMoth[] = INCBIN_U8("graphics/pokemon/iron_moth/footprint.1bpp"); + const u8 gMonFootprint_IronMoth[] = INCBIN_U8("graphics/pokemon/iron_moth/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_IronMoth[] = INCBIN_COMP("graphics/pokemon/iron_moth/follower.4bpp"); @@ -21420,7 +21426,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_IronThorns[] = INCBIN_U32("graphics/pokemon/iron_thorns/shiny.gbapal.lz"); const u8 gMonIcon_IronThorns[] = INCBIN_U8("graphics/pokemon/iron_thorns/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_IronThorns[] = INCBIN_U8("graphics/pokemon/iron_thorns/footprint.1bpp"); + const u8 gMonFootprint_IronThorns[] = INCBIN_U8("graphics/pokemon/iron_thorns/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_IronThorns[] = INCBIN_COMP("graphics/pokemon/iron_thorns/follower.4bpp"); @@ -21438,7 +21444,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Frigibax[] = INCBIN_U32("graphics/pokemon/frigibax/shiny.gbapal.lz"); const u8 gMonIcon_Frigibax[] = INCBIN_U8("graphics/pokemon/frigibax/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Frigibax[] = INCBIN_U8("graphics/pokemon/frigibax/footprint.1bpp"); + const u8 gMonFootprint_Frigibax[] = INCBIN_U8("graphics/pokemon/frigibax/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Frigibax[] = INCBIN_COMP("graphics/pokemon/frigibax/follower.4bpp"); @@ -21454,7 +21460,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Arctibax[] = INCBIN_U32("graphics/pokemon/arctibax/shiny.gbapal.lz"); const u8 gMonIcon_Arctibax[] = INCBIN_U8("graphics/pokemon/arctibax/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Arctibax[] = INCBIN_U8("graphics/pokemon/arctibax/footprint.1bpp"); + const u8 gMonFootprint_Arctibax[] = INCBIN_U8("graphics/pokemon/arctibax/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Arctibax[] = INCBIN_COMP("graphics/pokemon/arctibax/follower.4bpp"); @@ -21470,7 +21476,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Baxcalibur[] = INCBIN_U32("graphics/pokemon/baxcalibur/shiny.gbapal.lz"); const u8 gMonIcon_Baxcalibur[] = INCBIN_U8("graphics/pokemon/baxcalibur/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Baxcalibur[] = INCBIN_U8("graphics/pokemon/baxcalibur/footprint.1bpp"); + const u8 gMonFootprint_Baxcalibur[] = INCBIN_U8("graphics/pokemon/baxcalibur/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Baxcalibur[] = INCBIN_COMP("graphics/pokemon/baxcalibur/follower.4bpp"); @@ -21488,7 +21494,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_GimmighoulChest[] = INCBIN_U32("graphics/pokemon/gimmighoul/shiny.gbapal.lz"); const u8 gMonIcon_GimmighoulChest[] = INCBIN_U8("graphics/pokemon/gimmighoul/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Gimmighoul[] = INCBIN_U8("graphics/pokemon/gimmighoul/footprint.1bpp"); + const u8 gMonFootprint_GimmighoulChest[] = INCBIN_U8("graphics/pokemon/gimmighoul/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_GimmighoulChest[] = INCBIN_COMP("graphics/pokemon/gimmighoul/follower.4bpp"); @@ -21503,6 +21509,9 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonBackPic_GimmighoulRoaming[] = INCBIN_U32("graphics/pokemon/gimmighoul/roaming/back.4bpp.lz"); const u32 gMonShinyPalette_GimmighoulRoaming[] = INCBIN_U32("graphics/pokemon/gimmighoul/roaming/shiny.gbapal.lz"); const u8 gMonIcon_GimmighoulRoaming[] = INCBIN_U8("graphics/pokemon/gimmighoul/roaming/icon.4bpp"); +#if P_FOOTPRINTS + const u8 gMonFootprint_GimmighoulRoaming[] = INCBIN_U8("graphics/pokemon/gimmighoul/roaming/footprint.1bpp"); +#endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_GimmighoulRoaming[] = INCBIN_COMP("graphics/pokemon/gimmighoul/roaming/follower.4bpp"); #if OW_FOLLOWERS_SHARE_PALETTE == FALSE @@ -21517,7 +21526,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Gholdengo[] = INCBIN_U32("graphics/pokemon/gholdengo/shiny.gbapal.lz"); const u8 gMonIcon_Gholdengo[] = INCBIN_U8("graphics/pokemon/gholdengo/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Gholdengo[] = INCBIN_U8("graphics/pokemon/gholdengo/footprint.1bpp"); + const u8 gMonFootprint_Gholdengo[] = INCBIN_U8("graphics/pokemon/gholdengo/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Gholdengo[] = INCBIN_COMP("graphics/pokemon/gholdengo/follower.4bpp"); @@ -21535,7 +21544,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_WoChien[] = INCBIN_U32("graphics/pokemon/wo_chien/shiny.gbapal.lz"); const u8 gMonIcon_WoChien[] = INCBIN_U8("graphics/pokemon/wo_chien/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_WoChien[] = INCBIN_U8("graphics/pokemon/wo_chien/footprint.1bpp"); + const u8 gMonFootprint_WoChien[] = INCBIN_U8("graphics/pokemon/wo_chien/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_WoChien[] = INCBIN_COMP("graphics/pokemon/wo_chien/follower.4bpp"); @@ -21553,7 +21562,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_ChienPao[] = INCBIN_U32("graphics/pokemon/chien_pao/shiny.gbapal.lz"); const u8 gMonIcon_ChienPao[] = INCBIN_U8("graphics/pokemon/chien_pao/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_ChienPao[] = INCBIN_U8("graphics/pokemon/chien_pao/footprint.1bpp"); + const u8 gMonFootprint_ChienPao[] = INCBIN_U8("graphics/pokemon/chien_pao/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_ChienPao[] = INCBIN_COMP("graphics/pokemon/chien_pao/follower.4bpp"); @@ -21571,7 +21580,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_TingLu[] = INCBIN_U32("graphics/pokemon/ting_lu/shiny.gbapal.lz"); const u8 gMonIcon_TingLu[] = INCBIN_U8("graphics/pokemon/ting_lu/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_TingLu[] = INCBIN_U8("graphics/pokemon/ting_lu/footprint.1bpp"); + const u8 gMonFootprint_TingLu[] = INCBIN_U8("graphics/pokemon/ting_lu/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_TingLu[] = INCBIN_COMP("graphics/pokemon/ting_lu/follower.4bpp"); @@ -21589,7 +21598,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_ChiYu[] = INCBIN_U32("graphics/pokemon/chi_yu/shiny.gbapal.lz"); const u8 gMonIcon_ChiYu[] = INCBIN_U8("graphics/pokemon/chi_yu/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_ChiYu[] = INCBIN_U8("graphics/pokemon/chi_yu/footprint.1bpp"); + const u8 gMonFootprint_ChiYu[] = INCBIN_U8("graphics/pokemon/chi_yu/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_ChiYu[] = INCBIN_COMP("graphics/pokemon/chi_yu/follower.4bpp"); @@ -21607,7 +21616,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_RoaringMoon[] = INCBIN_U32("graphics/pokemon/roaring_moon/shiny.gbapal.lz"); const u8 gMonIcon_RoaringMoon[] = INCBIN_U8("graphics/pokemon/roaring_moon/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_RoaringMoon[] = INCBIN_U8("graphics/pokemon/roaring_moon/footprint.1bpp"); + const u8 gMonFootprint_RoaringMoon[] = INCBIN_U8("graphics/pokemon/roaring_moon/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_RoaringMoon[] = INCBIN_COMP("graphics/pokemon/roaring_moon/follower.4bpp"); @@ -21625,7 +21634,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_IronValiant[] = INCBIN_U32("graphics/pokemon/iron_valiant/shiny.gbapal.lz"); const u8 gMonIcon_IronValiant[] = INCBIN_U8("graphics/pokemon/iron_valiant/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_IronValiant[] = INCBIN_U8("graphics/pokemon/iron_valiant/footprint.1bpp"); + const u8 gMonFootprint_IronValiant[] = INCBIN_U8("graphics/pokemon/iron_valiant/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_IronValiant[] = INCBIN_COMP("graphics/pokemon/iron_valiant/follower.4bpp"); @@ -21643,7 +21652,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Koraidon[] = INCBIN_U32("graphics/pokemon/koraidon/shiny.gbapal.lz"); const u8 gMonIcon_Koraidon[] = INCBIN_U8("graphics/pokemon/koraidon/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Koraidon[] = INCBIN_U8("graphics/pokemon/koraidon/footprint.1bpp"); + const u8 gMonFootprint_Koraidon[] = INCBIN_U8("graphics/pokemon/koraidon/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Koraidon[] = INCBIN_COMP("graphics/pokemon/koraidon/follower.4bpp"); @@ -21661,7 +21670,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Miraidon[] = INCBIN_U32("graphics/pokemon/miraidon/shiny.gbapal.lz"); const u8 gMonIcon_Miraidon[] = INCBIN_U8("graphics/pokemon/miraidon/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Miraidon[] = INCBIN_U8("graphics/pokemon/miraidon/footprint.1bpp"); + const u8 gMonFootprint_Miraidon[] = INCBIN_U8("graphics/pokemon/miraidon/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Miraidon[] = INCBIN_COMP("graphics/pokemon/miraidon/follower.4bpp"); @@ -21679,7 +21688,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_WalkingWake[] = INCBIN_U32("graphics/pokemon/walking_wake/shiny.gbapal.lz"); const u8 gMonIcon_WalkingWake[] = INCBIN_U8("graphics/pokemon/walking_wake/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_WalkingWake[] = INCBIN_U8("graphics/pokemon/walking_wake/footprint.1bpp"); + const u8 gMonFootprint_WalkingWake[] = INCBIN_U8("graphics/pokemon/walking_wake/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_WalkingWake[] = INCBIN_COMP("graphics/pokemon/walking_wake/follower.4bpp"); @@ -21697,7 +21706,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_IronLeaves[] = INCBIN_U32("graphics/pokemon/iron_leaves/shiny.gbapal.lz"); const u8 gMonIcon_IronLeaves[] = INCBIN_U8("graphics/pokemon/iron_leaves/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_IronLeaves[] = INCBIN_U8("graphics/pokemon/iron_leaves/footprint.1bpp"); + const u8 gMonFootprint_IronLeaves[] = INCBIN_U8("graphics/pokemon/iron_leaves/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_IronLeaves[] = INCBIN_COMP("graphics/pokemon/iron_leaves/follower.4bpp"); @@ -21715,7 +21724,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Poltchageist[] = INCBIN_U32("graphics/pokemon/poltchageist/shiny.gbapal.lz"); const u8 gMonIcon_Poltchageist[] = INCBIN_U8("graphics/pokemon/poltchageist/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Poltchageist[] = INCBIN_U8("graphics/pokemon/poltchageist/footprint.1bpp"); + const u8 gMonFootprint_Poltchageist[] = INCBIN_U8("graphics/pokemon/poltchageist/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Poltchageist[] = INCBIN_COMP("graphics/pokemon/poltchageist/follower.4bpp"); @@ -21731,7 +21740,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Sinistcha[] = INCBIN_U32("graphics/pokemon/sinistcha/shiny.gbapal.lz"); const u8 gMonIcon_Sinistcha[] = INCBIN_U8("graphics/pokemon/sinistcha/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Sinistcha[] = INCBIN_U8("graphics/pokemon/sinistcha/footprint.1bpp"); + const u8 gMonFootprint_Sinistcha[] = INCBIN_U8("graphics/pokemon/sinistcha/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Sinistcha[] = INCBIN_COMP("graphics/pokemon/sinistcha/follower.4bpp"); @@ -21749,7 +21758,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Okidogi[] = INCBIN_U32("graphics/pokemon/okidogi/shiny.gbapal.lz"); const u8 gMonIcon_Okidogi[] = INCBIN_U8("graphics/pokemon/okidogi/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Okidogi[] = INCBIN_U8("graphics/pokemon/okidogi/footprint.1bpp"); + const u8 gMonFootprint_Okidogi[] = INCBIN_U8("graphics/pokemon/okidogi/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Okidogi[] = INCBIN_COMP("graphics/pokemon/okidogi/follower.4bpp"); @@ -21767,7 +21776,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Munkidori[] = INCBIN_U32("graphics/pokemon/munkidori/shiny.gbapal.lz"); const u8 gMonIcon_Munkidori[] = INCBIN_U8("graphics/pokemon/munkidori/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Munkidori[] = INCBIN_U8("graphics/pokemon/munkidori/footprint.1bpp"); + const u8 gMonFootprint_Munkidori[] = INCBIN_U8("graphics/pokemon/munkidori/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Munkidori[] = INCBIN_COMP("graphics/pokemon/munkidori/follower.4bpp"); @@ -21785,7 +21794,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Fezandipiti[] = INCBIN_U32("graphics/pokemon/fezandipiti/shiny.gbapal.lz"); const u8 gMonIcon_Fezandipiti[] = INCBIN_U8("graphics/pokemon/fezandipiti/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Fezandipiti[] = INCBIN_U8("graphics/pokemon/fezandipiti/footprint.1bpp"); + const u8 gMonFootprint_Fezandipiti[] = INCBIN_U8("graphics/pokemon/fezandipiti/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Fezandipiti[] = INCBIN_COMP("graphics/pokemon/fezandipiti/follower.4bpp"); @@ -21803,7 +21812,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_OgerponTealMask[] = INCBIN_U32("graphics/pokemon/ogerpon/shiny.gbapal.lz"); const u8 gMonIcon_OgerponTealMask[] = INCBIN_U8("graphics/pokemon/ogerpon/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Ogerpon[] = INCBIN_U8("graphics/pokemon/ogerpon/footprint.1bpp"); + const u8 gMonFootprint_Ogerpon[] = INCBIN_U8("graphics/pokemon/ogerpon/footprint.1bpp"); #endif //P_FOOTPRINTS const u32 gMonFrontPic_OgerponWellspringMask[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/front.4bpp.lz"); @@ -21859,7 +21868,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_GougingFire[] = INCBIN_U32("graphics/pokemon/gouging_fire/shiny.gbapal.lz"); const u8 gMonIcon_GougingFire[] = INCBIN_U8("graphics/pokemon/gouging_fire/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_GougingFire[] = INCBIN_U8("graphics/pokemon/gouging_fire/footprint.1bpp"); + const u8 gMonFootprint_GougingFire[] = INCBIN_U8("graphics/pokemon/gouging_fire/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_GougingFire[] = INCBIN_COMP("graphics/pokemon/gouging_fire/follower.4bpp"); @@ -21877,7 +21886,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_RagingBolt[] = INCBIN_U32("graphics/pokemon/raging_bolt/shiny.gbapal.lz"); const u8 gMonIcon_RagingBolt[] = INCBIN_U8("graphics/pokemon/raging_bolt/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_RagingBolt[] = INCBIN_U8("graphics/pokemon/raging_bolt/footprint.1bpp"); + const u8 gMonFootprint_RagingBolt[] = INCBIN_U8("graphics/pokemon/raging_bolt/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_RagingBolt[] = INCBIN_COMP("graphics/pokemon/raging_bolt/follower.4bpp"); @@ -21895,7 +21904,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_IronBoulder[] = INCBIN_U32("graphics/pokemon/iron_boulder/shiny.gbapal.lz"); const u8 gMonIcon_IronBoulder[] = INCBIN_U8("graphics/pokemon/iron_boulder/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_IronBoulder[] = INCBIN_U8("graphics/pokemon/iron_boulder/footprint.1bpp"); + const u8 gMonFootprint_IronBoulder[] = INCBIN_U8("graphics/pokemon/iron_boulder/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_IronBoulder[] = INCBIN_COMP("graphics/pokemon/iron_boulder/follower.4bpp"); @@ -21913,7 +21922,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_IronCrown[] = INCBIN_U32("graphics/pokemon/iron_crown/shiny.gbapal.lz"); const u8 gMonIcon_IronCrown[] = INCBIN_U8("graphics/pokemon/iron_crown/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_IronCrown[] = INCBIN_U8("graphics/pokemon/iron_crown/footprint.1bpp"); + const u8 gMonFootprint_IronCrown[] = INCBIN_U8("graphics/pokemon/iron_crown/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_IronCrown[] = INCBIN_COMP("graphics/pokemon/iron_crown/follower.4bpp"); @@ -21931,7 +21940,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ // const u32 gMonShinyPalette_TerapagosNormal[] = INCBIN_U32("graphics/pokemon/terapagos/shiny.gbapal.lz"); const u8 gMonIcon_TerapagosNormal[] = INCBIN_U8("graphics/pokemon/terapagos/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Terapagos[] = INCBIN_U8("graphics/pokemon/terapagos/footprint.1bpp"); + const u8 gMonFootprint_TerapagosNormal[] = INCBIN_U8("graphics/pokemon/terapagos/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_TerapagosNormal[] = INCBIN_COMP("graphics/pokemon/terapagos/follower.4bpp"); @@ -21946,6 +21955,9 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ // const u32 gMonBackPic_TerapagosTerastal[] = INCBIN_U32("graphics/pokemon/terapagos/terastal/back.4bpp.lz"); // const u32 gMonShinyPalette_TerapagosTerastal[] = INCBIN_U32("graphics/pokemon/terapagos/terastal/shiny.gbapal.lz"); const u8 gMonIcon_TerapagosTerastal[] = INCBIN_U8("graphics/pokemon/terapagos/terastal/icon.4bpp"); +#if P_FOOTPRINTS + const u8 gMonFootprint_TerapagosTerastal[] = INCBIN_U8("graphics/pokemon/terapagos/terastal/footprint.1bpp"); +#endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_TerapagosTerastal[] = INCBIN_COMP("graphics/pokemon/terapagos/terastal/follower.4bpp"); #if OW_FOLLOWERS_SHARE_PALETTE == FALSE @@ -21959,6 +21971,9 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ // const u32 gMonBackPic_TerapagosStellar[] = INCBIN_U32("graphics/pokemon/terapagos/stellar/back.4bpp.lz"); // const u32 gMonShinyPalette_TerapagosStellar[] = INCBIN_U32("graphics/pokemon/terapagos/stellar/shiny.gbapal.lz"); const u8 gMonIcon_TerapagosStellar[] = INCBIN_U8("graphics/pokemon/terapagos/stellar/icon.4bpp"); +#if P_FOOTPRINTS + const u8 gMonFootprint_TerapagosStellar[] = INCBIN_U8("graphics/pokemon/terapagos/stellar/footprint.1bpp"); +#endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_TerapagosStellar[] = INCBIN_COMP("graphics/pokemon/terapagos/stellar/follower.4bpp"); #if OW_FOLLOWERS_SHARE_PALETTE == FALSE @@ -21975,7 +21990,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_Pecharunt[] = INCBIN_U32("graphics/pokemon/pecharunt/shiny.gbapal.lz"); const u8 gMonIcon_Pecharunt[] = INCBIN_U8("graphics/pokemon/pecharunt/icon.4bpp"); #if P_FOOTPRINTS - // const u8 gMonFootprint_Pecharunt[] = INCBIN_U8("graphics/pokemon/pecharunt/footprint.1bpp"); + const u8 gMonFootprint_Pecharunt[] = INCBIN_U8("graphics/pokemon/pecharunt/footprint.1bpp"); #endif //P_FOOTPRINTS #if OW_FOLLOWERS_ENABLED // const u32 gObjectEventPic_Pecharunt[] = INCBIN_COMP("graphics/pokemon/pecharunt/follower.4bpp"); diff --git a/src/data/item_icon_table.h b/src/data/item_icon_table.h index d4d4a19c58..e69de29bb2 100644 --- a/src/data/item_icon_table.h +++ b/src/data/item_icon_table.h @@ -1,769 +0,0 @@ -const u32 *const gItemIconTable[ITEMS_COUNT + 1][2] = -{ - [ITEM_NONE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, - // Poké Balls - [ITEM_POKE_BALL] = {gItemIcon_PokeBall, gItemIconPalette_PokeBall}, - [ITEM_GREAT_BALL] = {gItemIcon_GreatBall, gItemIconPalette_GreatBall}, - [ITEM_ULTRA_BALL] = {gItemIcon_UltraBall, gItemIconPalette_UltraBall}, - [ITEM_MASTER_BALL] = {gItemIcon_MasterBall, gItemIconPalette_MasterBall}, - [ITEM_PREMIER_BALL] = {gItemIcon_PremierBall, gItemIconPalette_LuxuryBall}, - [ITEM_HEAL_BALL] = {gItemIcon_HealBall, gItemIconPalette_HealBall}, - [ITEM_NET_BALL] = {gItemIcon_NetBall, gItemIconPalette_NetBall}, - [ITEM_NEST_BALL] = {gItemIcon_NestBall, gItemIconPalette_NestBall}, - [ITEM_DIVE_BALL] = {gItemIcon_DiveBall, gItemIconPalette_DiveBall}, - [ITEM_DUSK_BALL] = {gItemIcon_DuskBall, gItemIconPalette_DuskBall}, - [ITEM_TIMER_BALL] = {gItemIcon_TimerBall, gItemIconPalette_RepeatBall}, - [ITEM_QUICK_BALL] = {gItemIcon_QuickBall, gItemIconPalette_QuickBall}, - [ITEM_REPEAT_BALL] = {gItemIcon_RepeatBall, gItemIconPalette_RepeatBall}, - [ITEM_LUXURY_BALL] = {gItemIcon_LuxuryBall, gItemIconPalette_LuxuryBall}, - [ITEM_LEVEL_BALL] = {gItemIcon_LevelBall, gItemIconPalette_LevelBall}, - [ITEM_LURE_BALL] = {gItemIcon_LureBall, gItemIconPalette_LureBall}, - [ITEM_MOON_BALL] = {gItemIcon_MoonBall, gItemIconPalette_MoonBall}, - [ITEM_FRIEND_BALL] = {gItemIcon_FriendBall, gItemIconPalette_FriendBall}, - [ITEM_LOVE_BALL] = {gItemIcon_LoveBall, gItemIconPalette_LoveBall}, - [ITEM_FAST_BALL] = {gItemIcon_FastBall, gItemIconPalette_FastBall}, - [ITEM_HEAVY_BALL] = {gItemIcon_HeavyBall, gItemIconPalette_HeavyBall}, - [ITEM_DREAM_BALL] = {gItemIcon_DreamBall, gItemIconPalette_DreamBall}, - [ITEM_SAFARI_BALL] = {gItemIcon_SafariBall, gItemIconPalette_SafariBall}, - [ITEM_SPORT_BALL] = {gItemIcon_SportBall, gItemIconPalette_SportBall}, - [ITEM_PARK_BALL] = {gItemIcon_ParkBall, gItemIconPalette_ParkBall}, - [ITEM_BEAST_BALL] = {gItemIcon_BeastBall, gItemIconPalette_BeastBall}, - [ITEM_CHERISH_BALL] = {gItemIcon_CherishBall, gItemIconPalette_CherishBall}, - // Medicine - [ITEM_POTION] = {gItemIcon_Potion, gItemIconPalette_Potion}, - [ITEM_SUPER_POTION] = {gItemIcon_Potion, gItemIconPalette_SuperPotion}, - [ITEM_HYPER_POTION] = {gItemIcon_Potion, gItemIconPalette_HyperPotion}, - [ITEM_MAX_POTION] = {gItemIcon_LargePotion, gItemIconPalette_MaxPotion}, - [ITEM_FULL_RESTORE] = {gItemIcon_LargePotion, gItemIconPalette_FullRestore}, - [ITEM_REVIVE] = {gItemIcon_Revive, gItemIconPalette_Revive}, - [ITEM_MAX_REVIVE] = {gItemIcon_MaxRevive, gItemIconPalette_Revive}, - [ITEM_FRESH_WATER] = {gItemIcon_FreshWater, gItemIconPalette_FreshWater}, - [ITEM_SODA_POP] = {gItemIcon_SodaPop, gItemIconPalette_SodaPop}, - [ITEM_LEMONADE] = {gItemIcon_Lemonade, gItemIconPalette_Lemonade}, - [ITEM_MOOMOO_MILK] = {gItemIcon_MoomooMilk, gItemIconPalette_MoomooMilk}, - [ITEM_ENERGY_POWDER] = {gItemIcon_Powder, gItemIconPalette_EnergyPowder}, - [ITEM_ENERGY_ROOT] = {gItemIcon_EnergyRoot, gItemIconPalette_EnergyRoot}, - [ITEM_HEAL_POWDER] = {gItemIcon_Powder, gItemIconPalette_HealPowder}, - [ITEM_REVIVAL_HERB] = {gItemIcon_RevivalHerb, gItemIconPalette_RevivalHerb}, - [ITEM_ANTIDOTE] = {gItemIcon_Antidote, gItemIconPalette_Antidote}, - [ITEM_PARALYZE_HEAL] = {gItemIcon_StatusHeal, gItemIconPalette_ParalyzeHeal}, - [ITEM_BURN_HEAL] = {gItemIcon_StatusHeal, gItemIconPalette_BurnHeal}, - [ITEM_ICE_HEAL] = {gItemIcon_StatusHeal, gItemIconPalette_IceHeal}, - [ITEM_AWAKENING] = {gItemIcon_StatusHeal, gItemIconPalette_Awakening}, - [ITEM_FULL_HEAL] = {gItemIcon_FullHeal, gItemIconPalette_FullHeal}, - [ITEM_ETHER] = {gItemIcon_Ether, gItemIconPalette_Ether}, - [ITEM_MAX_ETHER] = {gItemIcon_Ether, gItemIconPalette_MaxEther}, - [ITEM_ELIXIR] = {gItemIcon_Ether, gItemIconPalette_Elixir}, - [ITEM_MAX_ELIXIR] = {gItemIcon_Ether, gItemIconPalette_MaxElixir}, - [ITEM_BERRY_JUICE] = {gItemIcon_BerryJuice, gItemIconPalette_BerryJuice}, - [ITEM_SACRED_ASH] = {gItemIcon_SacredAsh, gItemIconPalette_SacredAsh}, - [ITEM_SWEET_HEART] = {gItemIcon_SweetHeart, gItemIconPalette_SweetHeart}, - [ITEM_MAX_HONEY] = {gItemIcon_MaxHoney, gItemIconPalette_MaxHoney}, - // Regional Specialties - [ITEM_PEWTER_CRUNCHIES] = {gItemIcon_PewterCrunchies, gItemIconPalette_PewterCrunchies}, - [ITEM_RAGE_CANDY_BAR] = {gItemIcon_RageCandyBar, gItemIconPalette_RageCandyBar}, - [ITEM_LAVA_COOKIE] = {gItemIcon_LavaCookie, gItemIconPalette_LavaCookieAndLetter}, - [ITEM_OLD_GATEAU] = {gItemIcon_OldGateau, gItemIconPalette_OldGateau}, - [ITEM_CASTELIACONE] = {gItemIcon_Casteliacone, gItemIconPalette_Casteliacone}, - [ITEM_LUMIOSE_GALETTE] = {gItemIcon_LumioseGalette, gItemIconPalette_LumioseGalette}, - [ITEM_SHALOUR_SABLE] = {gItemIcon_ShalourSable, gItemIconPalette_ShalourSable}, - [ITEM_BIG_MALASADA] = {gItemIcon_BigMalasada, gItemIconPalette_BigMalasada}, - // Vitamins - [ITEM_HP_UP] = {gItemIcon_HPUp, gItemIconPalette_HPUp}, - [ITEM_PROTEIN] = {gItemIcon_Vitamin, gItemIconPalette_Protein}, - [ITEM_IRON] = {gItemIcon_Vitamin, gItemIconPalette_Iron}, - [ITEM_CALCIUM] = {gItemIcon_Vitamin, gItemIconPalette_Calcium}, - [ITEM_ZINC] = {gItemIcon_Vitamin, gItemIconPalette_Zinc}, - [ITEM_CARBOS] = {gItemIcon_Vitamin, gItemIconPalette_Carbos}, - [ITEM_PP_UP] = {gItemIcon_PPUp, gItemIconPalette_PPUp}, - [ITEM_PP_MAX] = {gItemIcon_PPMax, gItemIconPalette_PPMax}, - // EV Feathers - [ITEM_HEALTH_FEATHER] = {gItemIcon_HealthFeather, gItemIconPalette_HealthFeather}, - [ITEM_MUSCLE_FEATHER] = {gItemIcon_MuscleFeather, gItemIconPalette_MuscleFeather}, - [ITEM_RESIST_FEATHER] = {gItemIcon_ResistFeather, gItemIconPalette_ResistFeather}, - [ITEM_GENIUS_FEATHER] = {gItemIcon_GeniusFeather, gItemIconPalette_GeniusFeather}, - [ITEM_CLEVER_FEATHER] = {gItemIcon_CleverFeather, gItemIconPalette_CleverFeather}, - [ITEM_SWIFT_FEATHER] = {gItemIcon_SwiftFeather, gItemIconPalette_SwiftFeather}, - // Ability Modifiers - [ITEM_ABILITY_CAPSULE] = {gItemIcon_AbilityCapsule, gItemIconPalette_AbilityCapsule}, - [ITEM_ABILITY_PATCH] = {gItemIcon_AbilityPatch, gItemIconPalette_AbilityPatch}, - // Mints - [ITEM_LONELY_MINT] = {gItemIcon_Mint, gItemIconPalette_RedMint}, - [ITEM_ADAMANT_MINT] = {gItemIcon_Mint, gItemIconPalette_RedMint}, - [ITEM_NAUGHTY_MINT] = {gItemIcon_Mint, gItemIconPalette_RedMint}, - [ITEM_BRAVE_MINT] = {gItemIcon_Mint, gItemIconPalette_RedMint}, - [ITEM_BOLD_MINT] = {gItemIcon_Mint, gItemIconPalette_BlueMint}, - [ITEM_IMPISH_MINT] = {gItemIcon_Mint, gItemIconPalette_BlueMint}, - [ITEM_LAX_MINT] = {gItemIcon_Mint, gItemIconPalette_BlueMint}, - [ITEM_RELAXED_MINT] = {gItemIcon_Mint, gItemIconPalette_BlueMint}, - [ITEM_MODEST_MINT] = {gItemIcon_Mint, gItemIconPalette_LightBlueMint}, - [ITEM_MILD_MINT] = {gItemIcon_Mint, gItemIconPalette_LightBlueMint}, - [ITEM_RASH_MINT] = {gItemIcon_Mint, gItemIconPalette_LightBlueMint}, - [ITEM_QUIET_MINT] = {gItemIcon_Mint, gItemIconPalette_LightBlueMint}, - [ITEM_CALM_MINT] = {gItemIcon_Mint, gItemIconPalette_PinkMint}, - [ITEM_GENTLE_MINT] = {gItemIcon_Mint, gItemIconPalette_PinkMint}, - [ITEM_CAREFUL_MINT] = {gItemIcon_Mint, gItemIconPalette_PinkMint}, - [ITEM_SASSY_MINT] = {gItemIcon_Mint, gItemIconPalette_PinkMint}, - [ITEM_TIMID_MINT] = {gItemIcon_Mint, gItemIconPalette_GreenMint}, - [ITEM_HASTY_MINT] = {gItemIcon_Mint, gItemIconPalette_GreenMint}, - [ITEM_JOLLY_MINT] = {gItemIcon_Mint, gItemIconPalette_GreenMint}, - [ITEM_NAIVE_MINT] = {gItemIcon_Mint, gItemIconPalette_GreenMint}, - [ITEM_SERIOUS_MINT] = {gItemIcon_Mint, gItemIconPalette_YellowMint}, - // Candy - [ITEM_RARE_CANDY] = {gItemIcon_RareCandy, gItemIconPalette_RareCandy}, - [ITEM_EXP_CANDY_XS] = {gItemIcon_ExpCandyXS, gItemIconPalette_ExpCandies}, - [ITEM_EXP_CANDY_S] = {gItemIcon_ExpCandyS, gItemIconPalette_ExpCandies}, - [ITEM_EXP_CANDY_M] = {gItemIcon_ExpCandyM, gItemIconPalette_ExpCandies}, - [ITEM_EXP_CANDY_L] = {gItemIcon_ExpCandyL, gItemIconPalette_ExpCandies}, - [ITEM_EXP_CANDY_XL] = {gItemIcon_ExpCandyXL, gItemIconPalette_ExpCandies}, - [ITEM_DYNAMAX_CANDY] = {gItemIcon_DynamaxCandy, gItemIconPalette_DynamaxCandy}, - // Medicinal Flutes - [ITEM_BLUE_FLUTE] = {gItemIcon_Flute, gItemIconPalette_BlueFlute}, - [ITEM_YELLOW_FLUTE] = {gItemIcon_Flute, gItemIconPalette_YellowFlute}, - [ITEM_RED_FLUTE] = {gItemIcon_Flute, gItemIconPalette_RedFlute}, - // Encounter-modifying Flutes - [ITEM_BLACK_FLUTE] = {gItemIcon_Flute, gItemIconPalette_BlackFlute}, - [ITEM_WHITE_FLUTE] = {gItemIcon_Flute, gItemIconPalette_WhiteFlute}, - // Encounter Modifiers - [ITEM_REPEL] = {gItemIcon_Repel, gItemIconPalette_Repel}, - [ITEM_SUPER_REPEL] = {gItemIcon_Repel, gItemIconPalette_SuperRepel}, - [ITEM_MAX_REPEL] = {gItemIcon_Repel, gItemIconPalette_MaxRepel}, - [ITEM_LURE] = {gItemIcon_Lure, gItemIconPalette_Lure}, - [ITEM_SUPER_LURE] = {gItemIcon_Lure, gItemIconPalette_SuperLure}, - [ITEM_MAX_LURE] = {gItemIcon_Lure, gItemIconPalette_MaxLure}, - [ITEM_ESCAPE_ROPE] = {gItemIcon_EscapeRope, gItemIconPalette_EscapeRope}, - // X Items - [ITEM_X_ATTACK] = {gItemIcon_BattleStatItem, gItemIconPalette_XAttack}, - [ITEM_X_DEFENSE] = {gItemIcon_BattleStatItem, gItemIconPalette_XDefend}, - [ITEM_X_SP_ATK] = {gItemIcon_BattleStatItem, gItemIconPalette_XSpecial}, - [ITEM_X_SP_DEF] = {gItemIcon_XSpecialDefense, gItemIconPalette_XSpecialDefense}, - [ITEM_X_SPEED] = {gItemIcon_BattleStatItem, gItemIconPalette_XSpeed}, - [ITEM_X_ACCURACY] = {gItemIcon_BattleStatItem, gItemIconPalette_XAccuracy}, - [ITEM_DIRE_HIT] = {gItemIcon_BattleStatItem, gItemIconPalette_DireHit}, - [ITEM_GUARD_SPEC] = {gItemIcon_BattleStatItem, gItemIconPalette_GuardSpec}, - // Escape Items - [ITEM_POKE_DOLL] = {gItemIcon_PokeDoll, gItemIconPalette_PokeDoll}, - [ITEM_FLUFFY_TAIL] = {gItemIcon_FluffyTail, gItemIconPalette_FluffyTail}, - [ITEM_POKE_TOY] = {gItemIcon_PokeToy, gItemIconPalette_PokeToy}, - [ITEM_MAX_MUSHROOMS] = {gItemIcon_MaxMushrooms, gItemIconPalette_MaxMushrooms}, - // Treasures - [ITEM_BOTTLE_CAP] = {gItemIcon_BottleCap, gItemIconPalette_BottleCap}, - [ITEM_GOLD_BOTTLE_CAP] = {gItemIcon_BottleCap, gItemIconPalette_GoldBottleCap}, - [ITEM_NUGGET] = {gItemIcon_Nugget, gItemIconPalette_Nugget}, - [ITEM_BIG_NUGGET] = {gItemIcon_BigNugget, gItemIconPalette_BigNugget}, - [ITEM_TINY_MUSHROOM] = {gItemIcon_TinyMushroom, gItemIconPalette_Mushroom}, - [ITEM_BIG_MUSHROOM] = {gItemIcon_BigMushroom, gItemIconPalette_Mushroom}, - [ITEM_BALM_MUSHROOM] = {gItemIcon_BalmMushroom, gItemIconPalette_BalmMushroom}, - [ITEM_PEARL] = {gItemIcon_Pearl, gItemIconPalette_Pearl}, - [ITEM_BIG_PEARL] = {gItemIcon_BigPearl, gItemIconPalette_Pearl}, - [ITEM_PEARL_STRING] = {gItemIcon_PearlString, gItemIconPalette_PearlString}, - [ITEM_STARDUST] = {gItemIcon_Stardust, gItemIconPalette_Star}, - [ITEM_STAR_PIECE] = {gItemIcon_StarPiece, gItemIconPalette_Star}, - [ITEM_COMET_SHARD] = {gItemIcon_CometShard, gItemIconPalette_CometShard}, - [ITEM_SHOAL_SALT] = {gItemIcon_Powder, gItemIconPalette_ShoalSalt}, - [ITEM_SHOAL_SHELL] = {gItemIcon_ShoalShell, gItemIconPalette_Shell}, - [ITEM_RED_SHARD] = {gItemIcon_Shard, gItemIconPalette_RedShard}, - [ITEM_BLUE_SHARD] = {gItemIcon_Shard, gItemIconPalette_BlueShard}, - [ITEM_YELLOW_SHARD] = {gItemIcon_Shard, gItemIconPalette_YellowShard}, - [ITEM_GREEN_SHARD] = {gItemIcon_Shard, gItemIconPalette_GreenShard}, - [ITEM_HEART_SCALE] = {gItemIcon_HeartScale, gItemIconPalette_HeartScale}, - [ITEM_HONEY] = {gItemIcon_Honey, gItemIconPalette_Honey}, - [ITEM_RARE_BONE] = {gItemIcon_RareBone, gItemIconPalette_RareBone}, - [ITEM_ODD_KEYSTONE] = {gItemIcon_OddKeystone, gItemIconPalette_OddKeystone}, - [ITEM_PRETTY_FEATHER] = {gItemIcon_PrettyFeather, gItemIconPalette_PrettyFeather}, - [ITEM_RELIC_COPPER] = {gItemIcon_RelicCoin, gItemIconPalette_RelicCopper}, - [ITEM_RELIC_SILVER] = {gItemIcon_RelicCoin, gItemIconPalette_RelicSilver}, - [ITEM_RELIC_GOLD] = {gItemIcon_RelicCoin, gItemIconPalette_RelicGold}, - [ITEM_RELIC_VASE] = {gItemIcon_RelicVase, gItemIconPalette_Relics}, - [ITEM_RELIC_BAND] = {gItemIcon_RelicBand, gItemIconPalette_Relics}, - [ITEM_RELIC_STATUE] = {gItemIcon_RelicStatue, gItemIconPalette_Relics}, - [ITEM_RELIC_CROWN] = {gItemIcon_RelicCrown, gItemIconPalette_Relics}, - [ITEM_STRANGE_SOUVENIR] = {gItemIcon_StrangeSouvenir, gItemIconPalette_StrangeSouvenir}, - // Fossils - [ITEM_HELIX_FOSSIL] = {gItemIcon_HelixFossil, gItemIconPalette_KantoFossil}, - [ITEM_DOME_FOSSIL] = {gItemIcon_DomeFossil, gItemIconPalette_KantoFossil}, - [ITEM_OLD_AMBER] = {gItemIcon_OldAmber, gItemIconPalette_OldAmber}, - [ITEM_ROOT_FOSSIL] = {gItemIcon_RootFossil, gItemIconPalette_HoennFossil}, - [ITEM_CLAW_FOSSIL] = {gItemIcon_ClawFossil, gItemIconPalette_HoennFossil}, - [ITEM_ARMOR_FOSSIL] = {gItemIcon_ArmorFossil, gItemIconPalette_ArmorFossil}, - [ITEM_SKULL_FOSSIL] = {gItemIcon_SkullFossil, gItemIconPalette_SkullFossil}, - [ITEM_COVER_FOSSIL] = {gItemIcon_CoverFossil, gItemIconPalette_CoverFossil}, - [ITEM_PLUME_FOSSIL] = {gItemIcon_PlumeFossil, gItemIconPalette_PlumeFossil}, - [ITEM_JAW_FOSSIL] = {gItemIcon_JawFossil, gItemIconPalette_JawFossil}, - [ITEM_SAIL_FOSSIL] = {gItemIcon_SailFossil, gItemIconPalette_SailFossil}, - [ITEM_FOSSILIZED_BIRD] = {gItemIcon_FossilizedBird, gItemIconPalette_FossilizedBird}, - [ITEM_FOSSILIZED_FISH] = {gItemIcon_FossilizedFish, gItemIconPalette_FossilizedFish}, - [ITEM_FOSSILIZED_DRAKE] = {gItemIcon_FossilizedDrake, gItemIconPalette_FossilizedDrake}, - [ITEM_FOSSILIZED_DINO] = {gItemIcon_FossilizedDino, gItemIconPalette_FossilizedDino}, - // Mulch - [ITEM_GROWTH_MULCH] = {gItemIcon_Mulch, gItemIconPalette_GrowthMulch}, - [ITEM_DAMP_MULCH] = {gItemIcon_Mulch, gItemIconPalette_DampMulch}, - [ITEM_STABLE_MULCH] = {gItemIcon_StableMulch, gItemIconPalette_StableMulch}, - [ITEM_GOOEY_MULCH] = {gItemIcon_Mulch, gItemIconPalette_GooeyMulch}, - [ITEM_RICH_MULCH] = {gItemIcon_Mulch, gItemIconPalette_RichMulch}, - [ITEM_SURPRISE_MULCH] = {gItemIcon_Mulch, gItemIconPalette_SurpriseMulch}, - [ITEM_BOOST_MULCH] = {gItemIcon_Mulch, gItemIconPalette_BoostMulch}, - [ITEM_AMAZE_MULCH] = {gItemIcon_Mulch, gItemIconPalette_AmazeMulch}, - // Apricorns - [ITEM_RED_APRICORN] = {gItemIcon_RedApricorn, gItemIconPalette_RedApricorn}, - [ITEM_BLUE_APRICORN] = {gItemIcon_BlueApricorn, gItemIconPalette_BlueApricorn}, - [ITEM_YELLOW_APRICORN] = {gItemIcon_YellowApricorn, gItemIconPalette_YellowApricorn}, - [ITEM_GREEN_APRICORN] = {gItemIcon_GreenApricorn, gItemIconPalette_GreenApricorn}, - [ITEM_PINK_APRICORN] = {gItemIcon_PinkApricorn, gItemIconPalette_PinkApricorn}, - [ITEM_WHITE_APRICORN] = {gItemIcon_WhiteApricorn, gItemIconPalette_WhiteApricorn}, - [ITEM_BLACK_APRICORN] = {gItemIcon_BlackApricorn, gItemIconPalette_BlackApricorn}, - [ITEM_WISHING_PIECE] = {gItemIcon_WishingPiece, gItemIconPalette_WishingPiece}, - [ITEM_GALARICA_TWIG] = {gItemIcon_GalaricaTwig, gItemIconPalette_GalaricaItem}, - [ITEM_ARMORITE_ORE] = {gItemIcon_ArmoriteOre, gItemIconPalette_ArmoriteOre}, - [ITEM_DYNITE_ORE] = {gItemIcon_DyniteOre, gItemIconPalette_DyniteOre}, - // Mail - [ITEM_ORANGE_MAIL] = {gItemIcon_OrangeMail, gItemIconPalette_OrangeMail}, - [ITEM_HARBOR_MAIL] = {gItemIcon_HarborMail, gItemIconPalette_HarborMail}, - [ITEM_GLITTER_MAIL] = {gItemIcon_GlitterMail, gItemIconPalette_GlitterMail}, - [ITEM_MECH_MAIL] = {gItemIcon_MechMail, gItemIconPalette_MechMail}, - [ITEM_WOOD_MAIL] = {gItemIcon_WoodMail, gItemIconPalette_WoodMail}, - [ITEM_WAVE_MAIL] = {gItemIcon_WaveMail, gItemIconPalette_WaveMail}, - [ITEM_BEAD_MAIL] = {gItemIcon_BeadMail, gItemIconPalette_BeadMail}, - [ITEM_SHADOW_MAIL] = {gItemIcon_ShadowMail, gItemIconPalette_ShadowMail}, - [ITEM_TROPIC_MAIL] = {gItemIcon_TropicMail, gItemIconPalette_TropicMail}, - [ITEM_DREAM_MAIL] = {gItemIcon_DreamMail, gItemIconPalette_DreamMail}, - [ITEM_FAB_MAIL] = {gItemIcon_FabMail, gItemIconPalette_FabMail}, - [ITEM_RETRO_MAIL] = {gItemIcon_RetroMail, gItemIconPalette_RetroMail}, - // Evolution Items - [ITEM_FIRE_STONE] = {gItemIcon_FireStone, gItemIconPalette_FireStone}, - [ITEM_WATER_STONE] = {gItemIcon_WaterStone, gItemIconPalette_WaterStone}, - [ITEM_THUNDER_STONE] = {gItemIcon_ThunderStone, gItemIconPalette_ThunderStone}, - [ITEM_LEAF_STONE] = {gItemIcon_LeafStone, gItemIconPalette_LeafStone}, - [ITEM_ICE_STONE] = {gItemIcon_IceStone, gItemIconPalette_IceStone}, - [ITEM_SUN_STONE] = {gItemIcon_SunStone, gItemIconPalette_SunStone}, - [ITEM_MOON_STONE] = {gItemIcon_MoonStone, gItemIconPalette_MoonStone}, - [ITEM_SHINY_STONE] = {gItemIcon_ShinyStone, gItemIconPalette_ShinyStone}, - [ITEM_DUSK_STONE] = {gItemIcon_DuskStone, gItemIconPalette_DuskStone}, - [ITEM_DAWN_STONE] = {gItemIcon_DawnStone, gItemIconPalette_DawnStone}, - [ITEM_SWEET_APPLE] = {gItemIcon_SweetApple, gItemIconPalette_SweetApple}, - [ITEM_TART_APPLE] = {gItemIcon_TartApple, gItemIconPalette_TartApple}, - [ITEM_CRACKED_POT] = {gItemIcon_CrackedPot, gItemIconPalette_Pot}, - [ITEM_CHIPPED_POT] = {gItemIcon_ChippedPot, gItemIconPalette_Pot}, - [ITEM_GALARICA_CUFF] = {gItemIcon_GalaricaCuff, gItemIconPalette_GalaricaItem}, - [ITEM_GALARICA_WREATH] = {gItemIcon_GalaricaWreath, gItemIconPalette_GalaricaItem}, - [ITEM_DRAGON_SCALE] = {gItemIcon_DragonScale, gItemIconPalette_DragonScale}, - [ITEM_UPGRADE] = {gItemIcon_Upgrade, gItemIconPalette_Upgrade}, - [ITEM_PROTECTOR] = {gItemIcon_Protector, gItemIconPalette_Protector}, - [ITEM_ELECTIRIZER] = {gItemIcon_Electirizer, gItemIconPalette_Electirizer}, - [ITEM_MAGMARIZER] = {gItemIcon_Magmarizer, gItemIconPalette_Magmarizer}, - [ITEM_DUBIOUS_DISC] = {gItemIcon_DubiousDisc, gItemIconPalette_DubiousDisc}, - [ITEM_REAPER_CLOTH] = {gItemIcon_ReaperCloth, gItemIconPalette_ReaperCloth}, - [ITEM_PRISM_SCALE] = {gItemIcon_PrismScale, gItemIconPalette_PrismScale}, - [ITEM_WHIPPED_DREAM] = {gItemIcon_WhippedDream, gItemIconPalette_WhippedDream}, - [ITEM_SACHET] = {gItemIcon_Sachet, gItemIconPalette_Sachet}, - [ITEM_OVAL_STONE] = {gItemIcon_OvalStone, gItemIconPalette_OvalStone}, - [ITEM_STRAWBERRY_SWEET] = {gItemIcon_StrawberrySweet, gItemIconPalette_StrawberrySweet}, - [ITEM_LOVE_SWEET] = {gItemIcon_LoveSweet, gItemIconPalette_LoveSweet}, - [ITEM_BERRY_SWEET] = {gItemIcon_BerrySweet, gItemIconPalette_BerrySweet}, - [ITEM_CLOVER_SWEET] = {gItemIcon_CloverSweet, gItemIconPalette_CloverSweet}, - [ITEM_FLOWER_SWEET] = {gItemIcon_FlowerSweet, gItemIconPalette_FlowerSweet}, - [ITEM_STAR_SWEET] = {gItemIcon_StarSweet, gItemIconPalette_StarSweet}, - [ITEM_RIBBON_SWEET] = {gItemIcon_RibbonSweet, gItemIconPalette_RibbonSweet}, - [ITEM_EVERSTONE] = {gItemIcon_Everstone, gItemIconPalette_Everstone}, - // Nectars - [ITEM_RED_NECTAR] = {gItemIcon_RedNectar, gItemIconPalette_RedNectar}, - [ITEM_YELLOW_NECTAR] = {gItemIcon_YellowNectar, gItemIconPalette_YellowNectar}, - [ITEM_PINK_NECTAR] = {gItemIcon_PinkNectar, gItemIconPalette_PinkNectar}, - [ITEM_PURPLE_NECTAR] = {gItemIcon_PurpleNectar, gItemIconPalette_PurpleNectar}, - // Plates - [ITEM_FLAME_PLATE] = {gItemIcon_FlamePlate, gItemIconPalette_FlamePlate}, - [ITEM_SPLASH_PLATE] = {gItemIcon_SplashPlate, gItemIconPalette_SplashPlate}, - [ITEM_ZAP_PLATE] = {gItemIcon_ZapPlate, gItemIconPalette_ZapPlate}, - [ITEM_MEADOW_PLATE] = {gItemIcon_MeadowPlate, gItemIconPalette_MeadowPlate}, - [ITEM_ICICLE_PLATE] = {gItemIcon_IciclePlate, gItemIconPalette_IciclePlate}, - [ITEM_FIST_PLATE] = {gItemIcon_FistPlate, gItemIconPalette_FistPlate}, - [ITEM_TOXIC_PLATE] = {gItemIcon_ToxicPlate, gItemIconPalette_ToxicPlate}, - [ITEM_EARTH_PLATE] = {gItemIcon_EarthPlate, gItemIconPalette_EarthPlate}, - [ITEM_SKY_PLATE] = {gItemIcon_SkyPlate, gItemIconPalette_SkyPlate}, - [ITEM_MIND_PLATE] = {gItemIcon_MindPlate, gItemIconPalette_MindPlate}, - [ITEM_INSECT_PLATE] = {gItemIcon_InsectPlate, gItemIconPalette_InsectPlate}, - [ITEM_STONE_PLATE] = {gItemIcon_StonePlate, gItemIconPalette_StonePlate}, - [ITEM_SPOOKY_PLATE] = {gItemIcon_SpookyPlate, gItemIconPalette_SpookyPlate}, - [ITEM_DRACO_PLATE] = {gItemIcon_DracoPlate, gItemIconPalette_DracoPlate}, - [ITEM_DREAD_PLATE] = {gItemIcon_DreadPlate, gItemIconPalette_DreadPlate}, - [ITEM_IRON_PLATE] = {gItemIcon_IronPlate, gItemIconPalette_IronPlate}, - [ITEM_PIXIE_PLATE] = {gItemIcon_PixiePlate, gItemIconPalette_PixiePlate}, - // Drives - [ITEM_DOUSE_DRIVE] = {gItemIcon_DouseDrive, gItemIconPalette_DouseDrive}, - [ITEM_SHOCK_DRIVE] = {gItemIcon_ShockDrive, gItemIconPalette_ShockDrive}, - [ITEM_BURN_DRIVE] = {gItemIcon_BurnDrive, gItemIconPalette_BurnDrive}, - [ITEM_CHILL_DRIVE] = {gItemIcon_ChillDrive, gItemIconPalette_ChillDrive}, - // Memories - [ITEM_FIRE_MEMORY] = {gItemIcon_FireMemory, gItemIconPalette_FireMemory}, - [ITEM_WATER_MEMORY] = {gItemIcon_WaterMemory, gItemIconPalette_WaterMemory}, - [ITEM_ELECTRIC_MEMORY] = {gItemIcon_ElectricMemory, gItemIconPalette_ElectricMemory}, - [ITEM_GRASS_MEMORY] = {gItemIcon_GrassMemory, gItemIconPalette_GrassMemory}, - [ITEM_ICE_MEMORY] = {gItemIcon_IceMemory, gItemIconPalette_IceMemory}, - [ITEM_FIGHTING_MEMORY] = {gItemIcon_FightingMemory, gItemIconPalette_FightingMemory}, - [ITEM_POISON_MEMORY] = {gItemIcon_PoisonMemory, gItemIconPalette_PoisonMemory}, - [ITEM_GROUND_MEMORY] = {gItemIcon_GroundMemory, gItemIconPalette_GroundMemory}, - [ITEM_FLYING_MEMORY] = {gItemIcon_FlyingMemory, gItemIconPalette_FlyingMemory}, - [ITEM_PSYCHIC_MEMORY] = {gItemIcon_PsychicMemory, gItemIconPalette_PsychicMemory}, - [ITEM_BUG_MEMORY] = {gItemIcon_BugMemory, gItemIconPalette_BugMemory}, - [ITEM_ROCK_MEMORY] = {gItemIcon_RockMemory, gItemIconPalette_RockMemory}, - [ITEM_GHOST_MEMORY] = {gItemIcon_GhostMemory, gItemIconPalette_GhostMemory}, - [ITEM_DRAGON_MEMORY] = {gItemIcon_DragonMemory, gItemIconPalette_DragonMemory}, - [ITEM_DARK_MEMORY] = {gItemIcon_DarkMemory, gItemIconPalette_DarkMemory}, - [ITEM_STEEL_MEMORY] = {gItemIcon_SteelMemory, gItemIconPalette_SteelMemory}, - [ITEM_FAIRY_MEMORY] = {gItemIcon_FairyMemory, gItemIconPalette_FairyMemory}, - [ITEM_RUSTED_SWORD] = {gItemIcon_RustedSword, gItemIconPalette_RustedWeapons}, - [ITEM_RUSTED_SHIELD] = {gItemIcon_RustedShield, gItemIconPalette_RustedWeapons}, - // Colored Orbs - [ITEM_RED_ORB] = {gItemIcon_RedOrb, gItemIconPalette_RedOrb}, - [ITEM_BLUE_ORB] = {gItemIcon_BlueOrb, gItemIconPalette_BlueOrb}, - // Mega Stones - [ITEM_VENUSAURITE] = {gItemIcon_Venusaurite, gItemIconPalette_Venusaurite}, - [ITEM_CHARIZARDITE_X] = {gItemIcon_CharizarditeX, gItemIconPalette_CharizarditeX}, - [ITEM_CHARIZARDITE_Y] = {gItemIcon_CharizarditeY, gItemIconPalette_CharizarditeY}, - [ITEM_BLASTOISINITE] = {gItemIcon_Blastoisinite, gItemIconPalette_Blastoisinite}, - [ITEM_BEEDRILLITE] = {gItemIcon_Beedrillite, gItemIconPalette_Beedrillite}, - [ITEM_PIDGEOTITE] = {gItemIcon_Pidgeotite, gItemIconPalette_Pidgeotite}, - [ITEM_ALAKAZITE] = {gItemIcon_Alakazite, gItemIconPalette_Alakazite}, - [ITEM_SLOWBRONITE] = {gItemIcon_Slowbronite, gItemIconPalette_Slowbronite}, - [ITEM_GENGARITE] = {gItemIcon_Gengarite, gItemIconPalette_Gengarite}, - [ITEM_KANGASKHANITE] = {gItemIcon_Kangaskhanite, gItemIconPalette_Kangaskhanite}, - [ITEM_PINSIRITE] = {gItemIcon_Pinsirite, gItemIconPalette_Pinsirite}, - [ITEM_GYARADOSITE] = {gItemIcon_Gyaradosite, gItemIconPalette_Gyaradosite}, - [ITEM_AERODACTYLITE] = {gItemIcon_Aerodactylite, gItemIconPalette_Aerodactylite}, - [ITEM_MEWTWONITE_X] = {gItemIcon_MewtwoniteX, gItemIconPalette_MewtwoniteX}, - [ITEM_MEWTWONITE_Y] = {gItemIcon_MewtwoniteY, gItemIconPalette_MewtwoniteY}, - [ITEM_AMPHAROSITE] = {gItemIcon_Ampharosite, gItemIconPalette_Ampharosite}, - [ITEM_STEELIXITE] = {gItemIcon_Steelixite, gItemIconPalette_Steelixite}, - [ITEM_SCIZORITE] = {gItemIcon_Scizorite, gItemIconPalette_Scizorite}, - [ITEM_HERACRONITE] = {gItemIcon_Heracronite, gItemIconPalette_Heracronite}, - [ITEM_HOUNDOOMINITE] = {gItemIcon_Houndoominite, gItemIconPalette_Houndoominite}, - [ITEM_TYRANITARITE] = {gItemIcon_Tyranitarite, gItemIconPalette_Tyranitarite}, - [ITEM_SCEPTILITE] = {gItemIcon_Sceptilite, gItemIconPalette_Sceptilite}, - [ITEM_BLAZIKENITE] = {gItemIcon_Blazikenite, gItemIconPalette_Blazikenite}, - [ITEM_SWAMPERTITE] = {gItemIcon_Swampertite, gItemIconPalette_Swampertite}, - [ITEM_GARDEVOIRITE] = {gItemIcon_Gardevoirite, gItemIconPalette_Gardevoirite}, - [ITEM_SABLENITE] = {gItemIcon_Sablenite, gItemIconPalette_Sablenite}, - [ITEM_MAWILITE] = {gItemIcon_Mawilite, gItemIconPalette_Mawilite}, - [ITEM_AGGRONITE] = {gItemIcon_Aggronite, gItemIconPalette_Aggronite}, - [ITEM_MEDICHAMITE] = {gItemIcon_Medichamite, gItemIconPalette_Medichamite}, - [ITEM_MANECTITE] = {gItemIcon_Manectite, gItemIconPalette_Manectite}, - [ITEM_SHARPEDONITE] = {gItemIcon_Sharpedonite, gItemIconPalette_Sharpedonite}, - [ITEM_CAMERUPTITE] = {gItemIcon_Cameruptite, gItemIconPalette_Cameruptite}, - [ITEM_ALTARIANITE] = {gItemIcon_Altarianite, gItemIconPalette_Altarianite}, - [ITEM_BANETTITE] = {gItemIcon_Banettite, gItemIconPalette_Banettite}, - [ITEM_ABSOLITE] = {gItemIcon_Absolite, gItemIconPalette_Absolite}, - [ITEM_GLALITITE] = {gItemIcon_Glalitite, gItemIconPalette_Glalitite}, - [ITEM_SALAMENCITE] = {gItemIcon_Salamencite, gItemIconPalette_Salamencite}, - [ITEM_METAGROSSITE] = {gItemIcon_Metagrossite, gItemIconPalette_Metagrossite}, - [ITEM_LATIASITE] = {gItemIcon_Latiasite, gItemIconPalette_Latiasite}, - [ITEM_LATIOSITE] = {gItemIcon_Latiosite, gItemIconPalette_Latiosite}, - [ITEM_LOPUNNITE] = {gItemIcon_Lopunnite, gItemIconPalette_Lopunnite}, - [ITEM_GARCHOMPITE] = {gItemIcon_Garchompite, gItemIconPalette_Garchompite}, - [ITEM_LUCARIONITE] = {gItemIcon_Lucarionite, gItemIconPalette_Lucarionite}, - [ITEM_ABOMASITE] = {gItemIcon_Abomasite, gItemIconPalette_Abomasite}, - [ITEM_GALLADITE] = {gItemIcon_Galladite, gItemIconPalette_Galladite}, - [ITEM_AUDINITE] = {gItemIcon_Audinite, gItemIconPalette_Audinite}, - [ITEM_DIANCITE] = {gItemIcon_Diancite, gItemIconPalette_Diancite}, - // Gems - [ITEM_NORMAL_GEM] = {gItemIcon_NormalGem, gItemIconPalette_NormalGem}, - [ITEM_FIRE_GEM] = {gItemIcon_FireGem, gItemIconPalette_FireGem}, - [ITEM_WATER_GEM] = {gItemIcon_WaterGem, gItemIconPalette_WaterGem}, - [ITEM_ELECTRIC_GEM] = {gItemIcon_ElectricGem, gItemIconPalette_ElectricGem}, - [ITEM_GRASS_GEM] = {gItemIcon_GrassGem, gItemIconPalette_GrassGem}, - [ITEM_ICE_GEM] = {gItemIcon_IceGem, gItemIconPalette_IceGem}, - [ITEM_FIGHTING_GEM] = {gItemIcon_FightingGem, gItemIconPalette_FightingGem}, - [ITEM_POISON_GEM] = {gItemIcon_PoisonGem, gItemIconPalette_PoisonGem}, - [ITEM_GROUND_GEM] = {gItemIcon_GroundGem, gItemIconPalette_GroundGem}, - [ITEM_FLYING_GEM] = {gItemIcon_FlyingGem, gItemIconPalette_FlyingGem}, - [ITEM_PSYCHIC_GEM] = {gItemIcon_PsychicGem, gItemIconPalette_PsychicGem}, - [ITEM_BUG_GEM] = {gItemIcon_BugGem, gItemIconPalette_BugGem}, - [ITEM_ROCK_GEM] = {gItemIcon_RockGem, gItemIconPalette_RockGem}, - [ITEM_GHOST_GEM] = {gItemIcon_GhostGem, gItemIconPalette_GhostGem}, - [ITEM_DRAGON_GEM] = {gItemIcon_DragonGem, gItemIconPalette_DragonGem}, - [ITEM_DARK_GEM] = {gItemIcon_DarkGem, gItemIconPalette_DarkGem}, - [ITEM_STEEL_GEM] = {gItemIcon_SteelGem, gItemIconPalette_SteelGem}, - [ITEM_FAIRY_GEM] = {gItemIcon_FairyGem, gItemIconPalette_FairyGem}, - // Z-Crystals - [ITEM_NORMALIUM_Z] = {gItemIcon_NormaliumZ, gItemIconPalette_NormaliumZ}, - [ITEM_FIRIUM_Z] = {gItemIcon_FiriumZ, gItemIconPalette_FiriumZ}, - [ITEM_WATERIUM_Z] = {gItemIcon_WateriumZ, gItemIconPalette_WateriumZ}, - [ITEM_ELECTRIUM_Z] = {gItemIcon_ElectriumZ, gItemIconPalette_ElectriumZ}, - [ITEM_GRASSIUM_Z] = {gItemIcon_GrassiumZ, gItemIconPalette_GrassiumZ}, - [ITEM_ICIUM_Z] = {gItemIcon_IciumZ, gItemIconPalette_IciumZ}, - [ITEM_FIGHTINIUM_Z] = {gItemIcon_FightiniumZ, gItemIconPalette_FightiniumZ}, - [ITEM_POISONIUM_Z] = {gItemIcon_PoisoniumZ, gItemIconPalette_PoisoniumZ}, - [ITEM_GROUNDIUM_Z] = {gItemIcon_GroundiumZ, gItemIconPalette_GroundiumZ}, - [ITEM_FLYINIUM_Z] = {gItemIcon_FlyiniumZ, gItemIconPalette_FlyiniumZ}, - [ITEM_PSYCHIUM_Z] = {gItemIcon_PsychiumZ, gItemIconPalette_PsychiumZ}, - [ITEM_BUGINIUM_Z] = {gItemIcon_BuginiumZ, gItemIconPalette_BuginiumZ}, - [ITEM_ROCKIUM_Z] = {gItemIcon_RockiumZ, gItemIconPalette_RockiumZ}, - [ITEM_GHOSTIUM_Z] = {gItemIcon_GhostiumZ, gItemIconPalette_GhostiumZ}, - [ITEM_DRAGONIUM_Z] = {gItemIcon_DragoniumZ, gItemIconPalette_DragoniumZ}, - [ITEM_DARKINIUM_Z] = {gItemIcon_DarkiniumZ, gItemIconPalette_DarkiniumZ}, - [ITEM_STEELIUM_Z] = {gItemIcon_SteeliumZ, gItemIconPalette_SteeliumZ}, - [ITEM_FAIRIUM_Z] = {gItemIcon_FairiumZ, gItemIconPalette_FairiumZ}, - [ITEM_PIKANIUM_Z] = {gItemIcon_PikaniumZ, gItemIconPalette_PikaniumZ}, - [ITEM_EEVIUM_Z] = {gItemIcon_EeviumZ, gItemIconPalette_EeviumZ}, - [ITEM_SNORLIUM_Z] = {gItemIcon_SnorliumZ, gItemIconPalette_SnorliumZ}, - [ITEM_MEWNIUM_Z] = {gItemIcon_MewniumZ, gItemIconPalette_MewniumZ}, - [ITEM_DECIDIUM_Z] = {gItemIcon_DecidiumZ, gItemIconPalette_DecidiumZ}, - [ITEM_INCINIUM_Z] = {gItemIcon_InciniumZ, gItemIconPalette_InciniumZ}, - [ITEM_PRIMARIUM_Z] = {gItemIcon_PrimariumZ, gItemIconPalette_PrimariumZ}, - [ITEM_LYCANIUM_Z] = {gItemIcon_LycaniumZ, gItemIconPalette_LycaniumZ}, - [ITEM_MIMIKIUM_Z] = {gItemIcon_MimikiumZ, gItemIconPalette_MimikiumZ}, - [ITEM_KOMMONIUM_Z] = {gItemIcon_KommoniumZ, gItemIconPalette_KommoniumZ}, - [ITEM_TAPUNIUM_Z] = {gItemIcon_TapuniumZ, gItemIconPalette_TapuniumZ}, - [ITEM_SOLGANIUM_Z] = {gItemIcon_SolganiumZ, gItemIconPalette_SolganiumZ}, - [ITEM_LUNALIUM_Z] = {gItemIcon_LunaliumZ, gItemIconPalette_LunaliumZ}, - [ITEM_MARSHADIUM_Z] = {gItemIcon_MarshadiumZ, gItemIconPalette_MarshadiumZ}, - [ITEM_ALORAICHIUM_Z] = {gItemIcon_AloraichiumZ, gItemIconPalette_AloraichiumZ}, - [ITEM_PIKASHUNIUM_Z] = {gItemIcon_PikashuniumZ, gItemIconPalette_PikashuniumZ}, - [ITEM_ULTRANECROZIUM_Z] = {gItemIcon_UltranecroziumZ, gItemIconPalette_UltranecroziumZ}, - // Species-specific Held Items - [ITEM_LIGHT_BALL] = {gItemIcon_LightBall, gItemIconPalette_LightBall}, - [ITEM_LEEK] = {gItemIcon_Leek, gItemIconPalette_Leek}, - [ITEM_THICK_CLUB] = {gItemIcon_ThickClub, gItemIconPalette_ThickClub}, - [ITEM_LUCKY_PUNCH] = {gItemIcon_LuckyPunch, gItemIconPalette_LuckyPunch}, - [ITEM_METAL_POWDER] = {gItemIcon_MetalPowder, gItemIconPalette_MetalPowder}, - [ITEM_QUICK_POWDER] = {gItemIcon_QuickPowder, gItemIconPalette_QuickPowder}, - [ITEM_DEEP_SEA_SCALE] = {gItemIcon_DeepSeaScale, gItemIconPalette_DeepSeaScale}, - [ITEM_DEEP_SEA_TOOTH] = {gItemIcon_DeepSeaTooth, gItemIconPalette_DeepSeaTooth}, - [ITEM_SOUL_DEW] = {gItemIcon_SoulDew, gItemIconPalette_SoulDew}, - [ITEM_ADAMANT_ORB] = {gItemIcon_AdamantOrb, gItemIconPalette_AdamantOrb}, - [ITEM_LUSTROUS_ORB] = {gItemIcon_LustrousOrb, gItemIconPalette_LustrousOrb}, - [ITEM_GRISEOUS_ORB] = {gItemIcon_GriseousOrb, gItemIconPalette_GriseousOrb}, - // Incenses - [ITEM_SEA_INCENSE] = {gItemIcon_SeaIncense, gItemIconPalette_SeaIncense}, - [ITEM_LAX_INCENSE] = {gItemIcon_LaxIncense, gItemIconPalette_LaxIncense}, - [ITEM_ODD_INCENSE] = {gItemIcon_OddIncense, gItemIconPalette_OddIncense}, - [ITEM_ROCK_INCENSE] = {gItemIcon_RockIncense, gItemIconPalette_RockIncense}, - [ITEM_FULL_INCENSE] = {gItemIcon_FullIncense, gItemIconPalette_FullIncense}, - [ITEM_WAVE_INCENSE] = {gItemIcon_WaveIncense, gItemIconPalette_WaveIncense}, - [ITEM_ROSE_INCENSE] = {gItemIcon_RoseIncense, gItemIconPalette_RoseIncense}, - [ITEM_LUCK_INCENSE] = {gItemIcon_LuckIncense, gItemIconPalette_LuckIncense}, - [ITEM_PURE_INCENSE] = {gItemIcon_PureIncense, gItemIconPalette_PureIncense}, - // Contest Scarves - [ITEM_RED_SCARF] = {gItemIcon_Scarf, gItemIconPalette_RedScarf}, - [ITEM_BLUE_SCARF] = {gItemIcon_Scarf, gItemIconPalette_BlueScarf}, - [ITEM_PINK_SCARF] = {gItemIcon_Scarf, gItemIconPalette_PinkScarf}, - [ITEM_GREEN_SCARF] = {gItemIcon_Scarf, gItemIconPalette_GreenScarf}, - [ITEM_YELLOW_SCARF] = {gItemIcon_Scarf, gItemIconPalette_YellowScarf}, - // EV Gain Modifiers - [ITEM_MACHO_BRACE] = {gItemIcon_MachoBrace, gItemIconPalette_MachoBrace}, - [ITEM_POWER_WEIGHT] = {gItemIcon_PowerWeight, gItemIconPalette_PowerWeight}, - [ITEM_POWER_BRACER] = {gItemIcon_PowerBracer, gItemIconPalette_PowerBracer}, - [ITEM_POWER_BELT] = {gItemIcon_PowerBelt, gItemIconPalette_PowerBelt}, - [ITEM_POWER_LENS] = {gItemIcon_PowerLens, gItemIconPalette_PowerLens}, - [ITEM_POWER_BAND] = {gItemIcon_PowerBand, gItemIconPalette_PowerBand}, - [ITEM_POWER_ANKLET] = {gItemIcon_PowerAnklet, gItemIconPalette_PowerAnklet}, - // Type-boosting Held Items - [ITEM_SILK_SCARF] = {gItemIcon_SilkScarf, gItemIconPalette_SilkScarf}, - [ITEM_CHARCOAL] = {gItemIcon_Charcoal, gItemIconPalette_Charcoal}, - [ITEM_MYSTIC_WATER] = {gItemIcon_MysticWater, gItemIconPalette_MysticWater}, - [ITEM_MAGNET] = {gItemIcon_Magnet, gItemIconPalette_Magnet}, - [ITEM_MIRACLE_SEED] = {gItemIcon_MiracleSeed, gItemIconPalette_MiracleSeed}, - [ITEM_NEVER_MELT_ICE] = {gItemIcon_NeverMeltIce, gItemIconPalette_NeverMeltIce}, - [ITEM_BLACK_BELT] = {gItemIcon_BlackBelt, gItemIconPalette_BlackTypeEnhancingItem}, - [ITEM_POISON_BARB] = {gItemIcon_PoisonBarb, gItemIconPalette_PoisonBarb}, - [ITEM_SOFT_SAND] = {gItemIcon_SoftSand, gItemIconPalette_SoftSand}, - [ITEM_SHARP_BEAK] = {gItemIcon_SharpBeak, gItemIconPalette_SharpBeak}, - [ITEM_TWISTED_SPOON] = {gItemIcon_TwistedSpoon, gItemIconPalette_TwistedSpoon}, - [ITEM_SILVER_POWDER] = {gItemIcon_SilverPowder, gItemIconPalette_SilverPowder}, - [ITEM_HARD_STONE] = {gItemIcon_HardStone, gItemIconPalette_HardStone}, - [ITEM_SPELL_TAG] = {gItemIcon_SpellTag, gItemIconPalette_SpellTag}, - [ITEM_DRAGON_FANG] = {gItemIcon_DragonFang, gItemIconPalette_DragonFang}, - [ITEM_BLACK_GLASSES] = {gItemIcon_BlackGlasses, gItemIconPalette_BlackTypeEnhancingItem}, - [ITEM_METAL_COAT] = {gItemIcon_MetalCoat, gItemIconPalette_MetalCoat}, - // Choice Items - [ITEM_CHOICE_BAND] = {gItemIcon_ChoiceBand, gItemIconPalette_ChoiceBand}, - [ITEM_CHOICE_SPECS] = {gItemIcon_ChoiceSpecs, gItemIconPalette_ChoiceSpecs}, - [ITEM_CHOICE_SCARF] = {gItemIcon_ChoiceScarf, gItemIconPalette_ChoiceScarf}, - // Status Orbs - [ITEM_FLAME_ORB] = {gItemIcon_FlameOrb, gItemIconPalette_FlameOrb}, - [ITEM_TOXIC_ORB] = {gItemIcon_ToxicOrb, gItemIconPalette_ToxicOrb}, - // Weather Rocks - [ITEM_DAMP_ROCK] = {gItemIcon_DampRock, gItemIconPalette_DampRock}, - [ITEM_HEAT_ROCK] = {gItemIcon_HeatRock, gItemIconPalette_HeatRock}, - [ITEM_SMOOTH_ROCK] = {gItemIcon_SmoothRock, gItemIconPalette_SmoothRock}, - [ITEM_ICY_ROCK] = {gItemIcon_IcyRock, gItemIconPalette_IcyRock}, - // Terrain Seeds - [ITEM_ELECTRIC_SEED] = {gItemIcon_ElectricSeed, gItemIconPalette_ElectricSeed}, - [ITEM_PSYCHIC_SEED] = {gItemIcon_PsychicSeed, gItemIconPalette_PsychicSeed}, - [ITEM_MISTY_SEED] = {gItemIcon_MistySeed, gItemIconPalette_MistySeed}, - [ITEM_GRASSY_SEED] = {gItemIcon_GrassySeed, gItemIconPalette_GrassySeed}, - // Type-activated Stat Modifiers - [ITEM_ABSORB_BULB] = {gItemIcon_AbsorbBulb, gItemIconPalette_AbsorbBulb}, - [ITEM_CELL_BATTERY] = {gItemIcon_CellBattery, gItemIconPalette_CellBattery}, - [ITEM_LUMINOUS_MOSS] = {gItemIcon_LuminousMoss, gItemIconPalette_LuminousMoss}, - [ITEM_SNOWBALL] = {gItemIcon_Snowball, gItemIconPalette_Snowball}, - // Misc. Held Items - [ITEM_BRIGHT_POWDER] = {gItemIcon_BrightPowder, gItemIconPalette_BrightPowder}, - [ITEM_WHITE_HERB] = {gItemIcon_InBattleHerb, gItemIconPalette_WhiteHerb}, - [ITEM_EXP_SHARE] = {gItemIcon_ExpShare, gItemIconPalette_ExpShare}, - [ITEM_QUICK_CLAW] = {gItemIcon_QuickClaw, gItemIconPalette_QuickClaw}, - [ITEM_SOOTHE_BELL] = {gItemIcon_SootheBell, gItemIconPalette_SootheBell}, - [ITEM_MENTAL_HERB] = {gItemIcon_InBattleHerb, gItemIconPalette_MentalHerb}, - [ITEM_KINGS_ROCK] = {gItemIcon_KingsRock, gItemIconPalette_KingsRock}, - [ITEM_AMULET_COIN] = {gItemIcon_AmuletCoin, gItemIconPalette_AmuletCoin}, - [ITEM_CLEANSE_TAG] = {gItemIcon_CleanseTag, gItemIconPalette_CleanseTag}, - [ITEM_SMOKE_BALL] = {gItemIcon_SmokeBall, gItemIconPalette_SmokeBall}, - [ITEM_FOCUS_BAND] = {gItemIcon_FocusBand, gItemIconPalette_FocusBand}, - [ITEM_LUCKY_EGG] = {gItemIcon_LuckyEgg, gItemIconPalette_LuckyEgg}, - [ITEM_SCOPE_LENS] = {gItemIcon_ScopeLens, gItemIconPalette_ScopeLens}, - [ITEM_LEFTOVERS] = {gItemIcon_Leftovers, gItemIconPalette_Leftovers}, - [ITEM_SHELL_BELL] = {gItemIcon_ShellBell, gItemIconPalette_Shell}, - [ITEM_WIDE_LENS] = {gItemIcon_WideLens, gItemIconPalette_WideLens}, - [ITEM_MUSCLE_BAND] = {gItemIcon_MuscleBand, gItemIconPalette_MuscleBand}, - [ITEM_WISE_GLASSES] = {gItemIcon_WiseGlasses, gItemIconPalette_WiseGlasses}, - [ITEM_EXPERT_BELT] = {gItemIcon_ExpertBelt, gItemIconPalette_ExpertBelt}, - [ITEM_LIGHT_CLAY] = {gItemIcon_LightClay, gItemIconPalette_LightClay}, - [ITEM_LIFE_ORB] = {gItemIcon_LifeOrb, gItemIconPalette_LifeOrb}, - [ITEM_POWER_HERB] = {gItemIcon_PowerHerb, gItemIconPalette_PowerHerb}, - [ITEM_FOCUS_SASH] = {gItemIcon_FocusSash, gItemIconPalette_FocusSash}, - [ITEM_ZOOM_LENS] = {gItemIcon_ZoomLens, gItemIconPalette_ZoomLens}, - [ITEM_METRONOME] = {gItemIcon_Metronome, gItemIconPalette_Metronome}, - [ITEM_IRON_BALL] = {gItemIcon_IronBall, gItemIconPalette_IronBall}, - [ITEM_LAGGING_TAIL] = {gItemIcon_LaggingTail, gItemIconPalette_LaggingTail}, - [ITEM_DESTINY_KNOT] = {gItemIcon_DestinyKnot, gItemIconPalette_DestinyKnot}, - [ITEM_BLACK_SLUDGE] = {gItemIcon_BlackSludge, gItemIconPalette_BlackSludge}, - [ITEM_GRIP_CLAW] = {gItemIcon_GripClaw, gItemIconPalette_GripClaw}, - [ITEM_STICKY_BARB] = {gItemIcon_StickyBarb, gItemIconPalette_StickyBarb}, - [ITEM_SHED_SHELL] = {gItemIcon_ShedShell, gItemIconPalette_ShedShell}, - [ITEM_BIG_ROOT] = {gItemIcon_BigRoot, gItemIconPalette_BigRoot}, - [ITEM_RAZOR_CLAW] = {gItemIcon_RazorClaw, gItemIconPalette_RazorClaw}, - [ITEM_RAZOR_FANG] = {gItemIcon_RazorFang, gItemIconPalette_RazorFang}, - [ITEM_EVIOLITE] = {gItemIcon_Eviolite, gItemIconPalette_Eviolite}, - [ITEM_FLOAT_STONE] = {gItemIcon_FloatStone, gItemIconPalette_FloatStone}, - [ITEM_ROCKY_HELMET] = {gItemIcon_RockyHelmet, gItemIconPalette_RockyHelmet}, - [ITEM_AIR_BALLOON] = {gItemIcon_AirBalloon, gItemIconPalette_AirBalloon}, - [ITEM_RED_CARD] = {gItemIcon_RedCard, gItemIconPalette_RedCard}, - [ITEM_RING_TARGET] = {gItemIcon_RingTarget, gItemIconPalette_RingTarget}, - [ITEM_BINDING_BAND] = {gItemIcon_BindingBand, gItemIconPalette_BindingBand}, - [ITEM_EJECT_BUTTON] = {gItemIcon_EjectButton, gItemIconPalette_EjectButton}, - [ITEM_WEAKNESS_POLICY] = {gItemIcon_WeaknessPolicy, gItemIconPalette_WeaknessPolicy}, - [ITEM_ASSAULT_VEST] = {gItemIcon_AssaultVest, gItemIconPalette_AssaultVest}, - [ITEM_SAFETY_GOGGLES] = {gItemIcon_SafetyGoggles, gItemIconPalette_SafetyGoggles}, - [ITEM_ADRENALINE_ORB] = {gItemIcon_AdrenalineOrb, gItemIconPalette_AdrenalineOrb}, - [ITEM_TERRAIN_EXTENDER] = {gItemIcon_TerrainExtender, gItemIconPalette_TerrainExtender}, - [ITEM_PROTECTIVE_PADS] = {gItemIcon_ProtectivePads, gItemIconPalette_ProtectivePads}, - [ITEM_THROAT_SPRAY] = {gItemIcon_ThroatSpray, gItemIconPalette_ThroatSpray}, - [ITEM_EJECT_PACK] = {gItemIcon_EjectPack, gItemIconPalette_EjectPack}, - [ITEM_HEAVY_DUTY_BOOTS] = {gItemIcon_HeavyDutyBoots, gItemIconPalette_HeavyDutyBoots}, - [ITEM_BLUNDER_POLICY] = {gItemIcon_BlunderPolicy, gItemIconPalette_BlunderPolicy}, - [ITEM_ROOM_SERVICE] = {gItemIcon_RoomService, gItemIconPalette_RoomService}, - [ITEM_UTILITY_UMBRELLA] = {gItemIcon_UtilityUmbrella, gItemIconPalette_UtilityUmbrella}, - // Berries - [ITEM_CHERI_BERRY] = {gItemIcon_CheriBerry, gItemIconPalette_CheriBerry}, - [ITEM_CHESTO_BERRY] = {gItemIcon_ChestoBerry, gItemIconPalette_ChestoBerry}, - [ITEM_PECHA_BERRY] = {gItemIcon_PechaBerry, gItemIconPalette_PechaBerry}, - [ITEM_RAWST_BERRY] = {gItemIcon_RawstBerry, gItemIconPalette_RawstBerry}, - [ITEM_ASPEAR_BERRY] = {gItemIcon_AspearBerry, gItemIconPalette_AspearBerry}, - [ITEM_LEPPA_BERRY] = {gItemIcon_LeppaBerry, gItemIconPalette_LeppaBerry}, - [ITEM_ORAN_BERRY] = {gItemIcon_OranBerry, gItemIconPalette_OranBerry}, - [ITEM_PERSIM_BERRY] = {gItemIcon_PersimBerry, gItemIconPalette_PersimBerry}, - [ITEM_LUM_BERRY] = {gItemIcon_LumBerry, gItemIconPalette_LumBerry}, - [ITEM_SITRUS_BERRY] = {gItemIcon_SitrusBerry, gItemIconPalette_SitrusBerry}, - [ITEM_FIGY_BERRY] = {gItemIcon_FigyBerry, gItemIconPalette_FigyBerry}, - [ITEM_WIKI_BERRY] = {gItemIcon_WikiBerry, gItemIconPalette_WikiBerry}, - [ITEM_MAGO_BERRY] = {gItemIcon_MagoBerry, gItemIconPalette_MagoBerry}, - [ITEM_AGUAV_BERRY] = {gItemIcon_AguavBerry, gItemIconPalette_AguavBerry}, - [ITEM_IAPAPA_BERRY] = {gItemIcon_IapapaBerry, gItemIconPalette_IapapaBerry}, - [ITEM_RAZZ_BERRY] = {gItemIcon_RazzBerry, gItemIconPalette_RazzBerry}, - [ITEM_BLUK_BERRY] = {gItemIcon_BlukBerry, gItemIconPalette_BlukBerry}, - [ITEM_NANAB_BERRY] = {gItemIcon_NanabBerry, gItemIconPalette_NanabBerry}, - [ITEM_WEPEAR_BERRY] = {gItemIcon_WepearBerry, gItemIconPalette_WepearBerry}, - [ITEM_PINAP_BERRY] = {gItemIcon_PinapBerry, gItemIconPalette_PinapBerry}, - [ITEM_POMEG_BERRY] = {gItemIcon_PomegBerry, gItemIconPalette_PomegBerry}, - [ITEM_KELPSY_BERRY] = {gItemIcon_KelpsyBerry, gItemIconPalette_KelpsyBerry}, - [ITEM_QUALOT_BERRY] = {gItemIcon_QualotBerry, gItemIconPalette_QualotBerry}, - [ITEM_HONDEW_BERRY] = {gItemIcon_HondewBerry, gItemIconPalette_HondewBerry}, - [ITEM_GREPA_BERRY] = {gItemIcon_GrepaBerry, gItemIconPalette_GrepaBerry}, - [ITEM_TAMATO_BERRY] = {gItemIcon_TamatoBerry, gItemIconPalette_TamatoBerry}, - [ITEM_CORNN_BERRY] = {gItemIcon_CornnBerry, gItemIconPalette_CornnBerry}, - [ITEM_MAGOST_BERRY] = {gItemIcon_MagostBerry, gItemIconPalette_MagostBerry}, - [ITEM_RABUTA_BERRY] = {gItemIcon_RabutaBerry, gItemIconPalette_RabutaBerry}, - [ITEM_NOMEL_BERRY] = {gItemIcon_NomelBerry, gItemIconPalette_NomelBerry}, - [ITEM_SPELON_BERRY] = {gItemIcon_SpelonBerry, gItemIconPalette_SpelonBerry}, - [ITEM_PAMTRE_BERRY] = {gItemIcon_PamtreBerry, gItemIconPalette_PamtreBerry}, - [ITEM_WATMEL_BERRY] = {gItemIcon_WatmelBerry, gItemIconPalette_WatmelBerry}, - [ITEM_DURIN_BERRY] = {gItemIcon_DurinBerry, gItemIconPalette_DurinBerry}, - [ITEM_BELUE_BERRY] = {gItemIcon_BelueBerry, gItemIconPalette_BelueBerry}, - [ITEM_CHILAN_BERRY] = {gItemIcon_ChilanBerry, gItemIconPalette_ChilanBerry}, - [ITEM_OCCA_BERRY] = {gItemIcon_OccaBerry, gItemIconPalette_OccaBerry}, - [ITEM_PASSHO_BERRY] = {gItemIcon_PasshoBerry, gItemIconPalette_PasshoBerry}, - [ITEM_WACAN_BERRY] = {gItemIcon_WacanBerry, gItemIconPalette_WacanBerry}, - [ITEM_RINDO_BERRY] = {gItemIcon_RindoBerry, gItemIconPalette_RindoBerry}, - [ITEM_YACHE_BERRY] = {gItemIcon_YacheBerry, gItemIconPalette_YacheBerry}, - [ITEM_CHOPLE_BERRY] = {gItemIcon_ChopleBerry, gItemIconPalette_ChopleBerry}, - [ITEM_KEBIA_BERRY] = {gItemIcon_KebiaBerry, gItemIconPalette_KebiaBerry}, - [ITEM_SHUCA_BERRY] = {gItemIcon_ShucaBerry, gItemIconPalette_ShucaBerry}, - [ITEM_COBA_BERRY] = {gItemIcon_CobaBerry, gItemIconPalette_CobaBerry}, - [ITEM_PAYAPA_BERRY] = {gItemIcon_PayapaBerry, gItemIconPalette_PayapaBerry}, - [ITEM_TANGA_BERRY] = {gItemIcon_TangaBerry, gItemIconPalette_TangaBerry}, - [ITEM_CHARTI_BERRY] = {gItemIcon_ChartiBerry, gItemIconPalette_ChartiBerry}, - [ITEM_KASIB_BERRY] = {gItemIcon_KasibBerry, gItemIconPalette_KasibBerry}, - [ITEM_HABAN_BERRY] = {gItemIcon_HabanBerry, gItemIconPalette_HabanBerry}, - [ITEM_COLBUR_BERRY] = {gItemIcon_ColburBerry, gItemIconPalette_ColburBerry}, - [ITEM_BABIRI_BERRY] = {gItemIcon_BabiriBerry, gItemIconPalette_BabiriBerry}, - [ITEM_ROSELI_BERRY] = {gItemIcon_RoseliBerry, gItemIconPalette_RoseliBerry}, - [ITEM_LIECHI_BERRY] = {gItemIcon_LiechiBerry, gItemIconPalette_LiechiBerry}, - [ITEM_GANLON_BERRY] = {gItemIcon_GanlonBerry, gItemIconPalette_GanlonBerry}, - [ITEM_SALAC_BERRY] = {gItemIcon_SalacBerry, gItemIconPalette_SalacBerry}, - [ITEM_PETAYA_BERRY] = {gItemIcon_PetayaBerry, gItemIconPalette_PetayaBerry}, - [ITEM_APICOT_BERRY] = {gItemIcon_ApicotBerry, gItemIconPalette_ApicotBerry}, - [ITEM_LANSAT_BERRY] = {gItemIcon_LansatBerry, gItemIconPalette_LansatBerry}, - [ITEM_STARF_BERRY] = {gItemIcon_StarfBerry, gItemIconPalette_StarfBerry}, - [ITEM_ENIGMA_BERRY] = {gItemIcon_EnigmaBerry, gItemIconPalette_EnigmaBerry}, - [ITEM_MICLE_BERRY] = {gItemIcon_MicleBerry, gItemIconPalette_MicleBerry}, - [ITEM_CUSTAP_BERRY] = {gItemIcon_CustapBerry, gItemIconPalette_CustapBerry}, - [ITEM_JABOCA_BERRY] = {gItemIcon_JabocaBerry, gItemIconPalette_JabocaBerry}, - [ITEM_ROWAP_BERRY] = {gItemIcon_RowapBerry, gItemIconPalette_RowapBerry}, - [ITEM_KEE_BERRY] = {gItemIcon_KeeBerry, gItemIconPalette_KeeBerry}, - [ITEM_MARANGA_BERRY] = {gItemIcon_MarangaBerry, gItemIconPalette_MarangaBerry}, - [ITEM_ENIGMA_BERRY_E_READER] = {gItemIcon_EnigmaBerry, gItemIconPalette_EnigmaBerry}, - // Charms - [ITEM_OVAL_CHARM] = {gItemIcon_OvalCharm, gItemIconPalette_OvalCharm}, - [ITEM_SHINY_CHARM] = {gItemIcon_ShinyCharm, gItemIconPalette_ShinyCharm}, - [ITEM_CATCHING_CHARM] = {gItemIcon_CatchingCharm, gItemIconPalette_CatchingCharm}, - [ITEM_EXP_CHARM] = {gItemIcon_ExpCharm, gItemIconPalette_ExpCharm}, - // Form-changing Key Items - [ITEM_ROTOM_CATALOG] = {gItemIcon_RotomCatalog, gItemIconPalette_RotomCatalog}, - [ITEM_GRACIDEA] = {gItemIcon_Gracidea, gItemIconPalette_Gracidea}, - [ITEM_REVEAL_GLASS] = {gItemIcon_RevealGlass, gItemIconPalette_RevealGlass}, - [ITEM_DNA_SPLICERS] = {gItemIcon_DNASplicers, gItemIconPalette_DNASplicers}, - [ITEM_ZYGARDE_CUBE] = {gItemIcon_ZygardeCube, gItemIconPalette_ZygardeCube}, - [ITEM_PRISON_BOTTLE] = {gItemIcon_PrisonBottle, gItemIconPalette_PrisonBottle}, - [ITEM_N_SOLARIZER] = {gItemIcon_NecrozmaFuser, gItemIconPalette_NSolarizer}, - [ITEM_N_LUNARIZER] = {gItemIcon_NecrozmaFuser, gItemIconPalette_NLunarizer}, - [ITEM_REINS_OF_UNITY] = {gItemIcon_ReinsOfUnity, gItemIconPalette_ReinsOfUnity}, - // Battle Mechanic Key Items - [ITEM_MEGA_RING] = {gItemIcon_MegaRing, gItemIconPalette_MegaRing}, - [ITEM_Z_POWER_RING] = {gItemIcon_ZPowerRing, gItemIconPalette_ZPowerRing}, - [ITEM_DYNAMAX_BAND] = {gItemIcon_DynamaxBand, gItemIconPalette_DynamaxBand}, - // Misc. Key Items - [ITEM_BICYCLE] = {gItemIcon_Bicycle, gItemIconPalette_Bicycle}, - [ITEM_MACH_BIKE] = {gItemIcon_MachBike, gItemIconPalette_MachBike}, - [ITEM_ACRO_BIKE] = {gItemIcon_AcroBike, gItemIconPalette_AcroBike}, - [ITEM_OLD_ROD] = {gItemIcon_OldRod, gItemIconPalette_OldRod}, - [ITEM_GOOD_ROD] = {gItemIcon_GoodRod, gItemIconPalette_GoodRod}, - [ITEM_SUPER_ROD] = {gItemIcon_SuperRod, gItemIconPalette_SuperRod}, - [ITEM_DOWSING_MACHINE] = {gItemIcon_DowsingMachine, gItemIconPalette_DowsingMachine}, - [ITEM_TOWN_MAP] = {gItemIcon_TownMap, gItemIconPalette_TownMap}, - [ITEM_VS_SEEKER] = {gItemIcon_VsSeeker, gItemIconPalette_VsSeeker}, - [ITEM_TM_CASE] = {gItemIcon_TMCase, gItemIconPalette_TMCase}, - [ITEM_BERRY_POUCH] = {gItemIcon_BerryPouch, gItemIconPalette_BerryPouch}, - [ITEM_POKEMON_BOX_LINK] = {gItemIcon_PokemonBoxLink, gItemIconPalette_PokemonBoxLink}, - [ITEM_COIN_CASE] = {gItemIcon_CoinCase, gItemIconPalette_CoinCase}, - [ITEM_POWDER_JAR] = {gItemIcon_PowderJar, gItemIconPalette_PowderJar}, - [ITEM_WAILMER_PAIL] = {gItemIcon_WailmerPail, gItemIconPalette_WailmerPail}, - [ITEM_POKE_RADAR] = {gItemIcon_PokeRadar, gItemIconPalette_PokeRadar}, - [ITEM_POKEBLOCK_CASE] = {gItemIcon_PokeblockCase, gItemIconPalette_PokeblockCase}, - [ITEM_SOOT_SACK] = {gItemIcon_SootSack, gItemIconPalette_SootSack}, - [ITEM_POKE_FLUTE] = {gItemIcon_PokeFlute, gItemIconPalette_PokeFlute}, - [ITEM_FAME_CHECKER] = {gItemIcon_FameChecker, gItemIconPalette_FameChecker}, - [ITEM_TEACHY_TV] = {gItemIcon_TeachyTV, gItemIconPalette_TeachyTV}, - // Story Key Items - [ITEM_SS_TICKET] = {gItemIcon_SSTicket, gItemIconPalette_SSTicket}, - [ITEM_EON_TICKET] = {gItemIcon_EonTicket, gItemIconPalette_EonTicket}, - [ITEM_MYSTIC_TICKET] = {gItemIcon_MysticTicket, gItemIconPalette_MysticTicket}, - [ITEM_AURORA_TICKET] = {gItemIcon_AuroraTicket, gItemIconPalette_AuroraTicket}, - [ITEM_OLD_SEA_MAP] = {gItemIcon_OldSeaMap, gItemIconPalette_OldSeaMap}, - [ITEM_LETTER] = {gItemIcon_Letter, gItemIconPalette_LavaCookieAndLetter}, - [ITEM_DEVON_PARTS] = {gItemIcon_DevonParts, gItemIconPalette_DevonParts}, - [ITEM_GO_GOGGLES] = {gItemIcon_GoGoggles, gItemIconPalette_GoGoggles}, - [ITEM_DEVON_SCOPE] = {gItemIcon_DevonScope, gItemIconPalette_DevonScope}, - [ITEM_BASEMENT_KEY] = {gItemIcon_BasementKey, gItemIconPalette_OldKey}, - [ITEM_SCANNER] = {gItemIcon_Scanner, gItemIconPalette_Scanner}, - [ITEM_STORAGE_KEY] = {gItemIcon_StorageKey, gItemIconPalette_OldKey}, - [ITEM_KEY_TO_ROOM_1] = {gItemIcon_KeyToRoom1, gItemIconPalette_Key}, - [ITEM_KEY_TO_ROOM_2] = {gItemIcon_KeyToRoom2, gItemIconPalette_Key}, - [ITEM_KEY_TO_ROOM_4] = {gItemIcon_KeyToRoom4, gItemIconPalette_Key}, - [ITEM_KEY_TO_ROOM_6] = {gItemIcon_KeyToRoom6, gItemIconPalette_Key}, - [ITEM_METEORITE] = {gItemIcon_Meteorite, gItemIconPalette_Meteorite}, - [ITEM_MAGMA_EMBLEM] = {gItemIcon_MagmaEmblem, gItemIconPalette_MagmaEmblem}, - [ITEM_CONTEST_PASS] = {gItemIcon_ContestPass, gItemIconPalette_ContestPass}, - [ITEM_PARCEL] = {gItemIcon_Parcel, gItemIconPalette_Parcel}, - [ITEM_SECRET_KEY] = {gItemIcon_SecretKey, gItemIconPalette_SecretKey}, - [ITEM_BIKE_VOUCHER] = {gItemIcon_BikeVoucher, gItemIconPalette_BikeVoucher}, - [ITEM_GOLD_TEETH] = {gItemIcon_GoldTeeth, gItemIconPalette_GoldTeeth}, - [ITEM_CARD_KEY] = {gItemIcon_CardKey, gItemIconPalette_CardKey}, - [ITEM_LIFT_KEY] = {gItemIcon_LiftKey, gItemIconPalette_Key}, - [ITEM_SILPH_SCOPE] = {gItemIcon_SilphScope, gItemIconPalette_SilphScope}, - [ITEM_TRI_PASS] = {gItemIcon_TriPass, gItemIconPalette_TriPass}, - [ITEM_RAINBOW_PASS] = {gItemIcon_RainbowPass, gItemIconPalette_RainbowPass}, - [ITEM_TEA] = {gItemIcon_Tea, gItemIconPalette_Tea}, - [ITEM_RUBY] = {gItemIcon_Gem, gItemIconPalette_Ruby}, - [ITEM_SAPPHIRE] = {gItemIcon_Gem, gItemIconPalette_Sapphire}, - [ITEM_ABILITY_SHIELD] = {gItemIcon_AbilityShield, gItemIconPalette_AbilityShield}, - [ITEM_CLEAR_AMULET] = {gItemIcon_ClearAmulet, gItemIconPalette_ClearAmulet}, - [ITEM_PUNCHING_GLOVE] = {gItemIcon_PunchingGlove, gItemIconPalette_PunchingGlove}, - [ITEM_COVERT_CLOAK] = {gItemIcon_CovertCloak, gItemIconPalette_CovertCloak}, - [ITEM_LOADED_DICE] = {gItemIcon_LoadedDice, gItemIconPalette_LoadedDice}, - [ITEM_AUSPICIOUS_ARMOR] = {gItemIcon_AuspiciousArmor, gItemIconPalette_AuspiciousArmor}, - [ITEM_BOOSTER_ENERGY] = {gItemIcon_BoosterEnergy, gItemIconPalette_BoosterEnergy}, - [ITEM_BIG_BAMBOO_SHOOT] = {gItemIcon_BigBambooShoot, gItemIconPalette_BigBambooShoot}, - [ITEM_GIMMIGHOUL_COIN] = {gItemIcon_GimmighoulCoin, gItemIconPalette_GimmighoulCoin}, - [ITEM_LEADERS_CREST] = {gItemIcon_LeadersCrest, gItemIconPalette_LeadersCrest}, - [ITEM_MALICIOUS_ARMOR] = {gItemIcon_MaliciousArmor, gItemIconPalette_MaliciousArmor}, - [ITEM_MIRROR_HERB] = {gItemIcon_MirrorHerb, gItemIconPalette_MirrorHerb}, - [ITEM_SCROLL_OF_DARKNESS] = {gItemIcon_ScrollOfDarkness, gItemIconPalette_ScrollOfDarkness}, - [ITEM_SCROLL_OF_WATERS] = {gItemIcon_ScrollOfWaters, gItemIconPalette_ScrollOfWaters}, - [ITEM_TERA_ORB] = {gItemIcon_TeraOrb, gItemIconPalette_TeraOrb}, - [ITEM_TINY_BAMBOO_SHOOT] = {gItemIcon_TinyBambooShoot, gItemIconPalette_TinyBambooShoot}, - [ITEM_BUG_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_BugTeraShard}, - [ITEM_DARK_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_DarkTeraShard}, - [ITEM_DRAGON_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_DragonTeraShard}, - [ITEM_ELECTRIC_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_ElectricTeraShard}, - [ITEM_FAIRY_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_FairyTeraShard}, - [ITEM_FIGHTING_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_FightingTeraShard}, - [ITEM_FIRE_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_FireTeraShard}, - [ITEM_FLYING_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_FlyingTeraShard}, - [ITEM_GHOST_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_GhostTeraShard}, - [ITEM_GRASS_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_GrassTeraShard}, - [ITEM_GROUND_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_GroundTeraShard}, - [ITEM_ICE_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_IceTeraShard}, - [ITEM_NORMAL_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_NormalTeraShard}, - [ITEM_POISON_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_PoisonTeraShard}, - [ITEM_PSYCHIC_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_PsychicTeraShard}, - [ITEM_ROCK_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_RockTeraShard}, - [ITEM_STEEL_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_SteelTeraShard}, - [ITEM_WATER_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_WaterTeraShard}, - [ITEM_ADAMANT_CRYSTAL] = {gItemIcon_AdamantCrystal, gItemIconPalette_AdamantCrystal}, - [ITEM_GRISEOUS_CORE] = {gItemIcon_GriseousCore, gItemIconPalette_GriseousCore}, - [ITEM_LUSTROUS_GLOBE] = {gItemIcon_LustrousGlobe, gItemIconPalette_LustrousGlobe}, - [ITEM_BLACK_AUGURITE] = {gItemIcon_BlackAugurite, gItemIconPalette_BlackAugurite}, - [ITEM_LINKING_CORD] = {gItemIcon_LinkingCord, gItemIconPalette_LinkingCord}, - [ITEM_PEAT_BLOCK] = {gItemIcon_PeatBlock, gItemIconPalette_PeatBlock}, - [ITEM_BERSERK_GENE] = {gItemIcon_BerserkGene, gItemIconPalette_BerserkGene}, - [ITEM_FAIRY_FEATHER] = {gItemIcon_FairyFeather, gItemIconPalette_FairyFeather}, - [ITEM_SYRUPY_APPLE] = {gItemIcon_SyrupyApple, gItemIconPalette_SyrupyApple}, - [ITEM_UNREMARKABLE_TEACUP] = {gItemIcon_UnremarkableTeacup, gItemIconPalette_UnremarkableTeacup}, - [ITEM_MASTERPIECE_TEACUP] = {gItemIcon_MasterpieceTeacup, gItemIconPalette_MasterpieceTeacup}, - [ITEM_CORNERSTONE_MASK] = {gItemIcon_CornerstoneMask, gItemIconPalette_CornerstoneMask}, - [ITEM_WELLSPRING_MASK] = {gItemIcon_WellspringMask, gItemIconPalette_WellspringMask}, - [ITEM_HEARTHFLAME_MASK] = {gItemIcon_HearthflameMask, gItemIconPalette_HearthflameMask}, - [ITEM_HEALTH_MOCHI] = {gItemIcon_Mochi, gItemIconPalette_HealthMochi}, - [ITEM_MUSCLE_MOCHI] = {gItemIcon_Mochi, gItemIconPalette_MuscleMochi}, - [ITEM_RESIST_MOCHI] = {gItemIcon_Mochi, gItemIconPalette_ResistMochi}, - [ITEM_GENIUS_MOCHI] = {gItemIcon_Mochi, gItemIconPalette_GeniusMochi}, - [ITEM_CLEVER_MOCHI] = {gItemIcon_Mochi, gItemIconPalette_CleverMochi}, - [ITEM_SWIFT_MOCHI] = {gItemIcon_Mochi, gItemIconPalette_SwiftMochi}, - [ITEM_FRESH_START_MOCHI] = {gItemIcon_Mochi, gItemIconPalette_FreshStartMochi}, - [ITEM_GLIMMERING_CHARM] = {gItemIcon_GlimmeringCharm, gItemIconPalette_GlimmeringCharm}, - [ITEM_METAL_ALLOY] = {gItemIcon_MetalAlloy, gItemIconPalette_MetalAlloy}, - [ITEM_STELLAR_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, //{gItemIcon_TeraShard, gItemIconPalette_StellarTeraShard}, - [ITEM_JUBILIFE_MUFFIN] = {gItemIcon_JubilifeMuffin, gItemIconPalette_JubilifeMuffin}, - [ITEM_REMEDY] = {gItemIcon_Remedy, gItemIconPalette_Remedy}, - [ITEM_FINE_REMEDY] = {gItemIcon_FineRemedy, gItemIconPalette_FineRemedy}, - [ITEM_SUPERB_REMEDY] = {gItemIcon_SuperbRemedy, gItemIconPalette_SuperbRemedy}, - [ITEM_AUX_EVASION] = {gItemIcon_AuxBottle, gItemIconPalette_AuxEvasion}, - [ITEM_AUX_GUARD] = {gItemIcon_AuxBottle, gItemIconPalette_AuxGuard}, - [ITEM_AUX_POWER] = {gItemIcon_AuxBottle, gItemIconPalette_AuxPower}, - [ITEM_AUX_POWERGUARD] = {gItemIcon_AuxPowerguard, gItemIconPalette_AuxPowerguard}, - [ITEM_CHOICE_DUMPLING] = {gItemIcon_ChoiceDumpling, gItemIconPalette_ChoiceDumpling}, - [ITEM_SWAP_SNACK] = {gItemIcon_SwapSnack, gItemIconPalette_SwapSnack}, - [ITEM_TWICE_SPICED_RADISH] = {gItemIcon_TwiceSpicedRadish, gItemIconPalette_TwiceSpicedRadish}, - [ITEM_POKESHI_DOLL] = {gItemIcon_PokeshiDoll, gItemIconPalette_PokeshiDoll}, - // Return to field arrow - [ITEMS_COUNT] = {gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow}, -}; diff --git a/src/data/items.h b/src/data/items.h index 07cf0b25ae..24a884a0dd 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -1,5 +1,3 @@ -#include "constants/moves.h" - #if I_EXPANDED_ITEM_NAMES == TRUE #define HANDLE_EXPANDED_ITEM_NAME(_name, ...) _(DEFAULT(_name, __VA_ARGS__)) #else @@ -156,6 +154,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_QuestionMark, + .iconPalette = gItemIconPalette_QuestionMark, }, // Poké Balls @@ -172,6 +172,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_POKE_BALL - FIRST_BALL, + .iconPic = gItemIcon_PokeBall, + .iconPalette = gItemIconPalette_PokeBall, }, [ITEM_GREAT_BALL] = @@ -186,6 +188,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_GREAT_BALL - FIRST_BALL, + .iconPic = gItemIcon_GreatBall, + .iconPalette = gItemIconPalette_GreatBall, }, [ITEM_ULTRA_BALL] = @@ -200,6 +204,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_ULTRA_BALL - FIRST_BALL, + .iconPic = gItemIcon_UltraBall, + .iconPalette = gItemIconPalette_UltraBall, }, [ITEM_MASTER_BALL] = @@ -214,6 +220,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_MASTER_BALL - FIRST_BALL, + .iconPic = gItemIcon_MasterBall, + .iconPalette = gItemIconPalette_MasterBall, }, [ITEM_PREMIER_BALL] = @@ -228,6 +236,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_PREMIER_BALL - FIRST_BALL, + .iconPic = gItemIcon_PremierBall, + .iconPalette = gItemIconPalette_LuxuryBall, }, [ITEM_HEAL_BALL] = @@ -242,6 +252,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_HEAL_BALL - FIRST_BALL, + .iconPic = gItemIcon_HealBall, + .iconPalette = gItemIconPalette_HealBall, }, [ITEM_NET_BALL] = @@ -256,6 +268,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_NET_BALL - FIRST_BALL, + .iconPic = gItemIcon_NetBall, + .iconPalette = gItemIconPalette_NetBall, }, [ITEM_NEST_BALL] = @@ -270,6 +284,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_NEST_BALL - FIRST_BALL, + .iconPic = gItemIcon_NestBall, + .iconPalette = gItemIconPalette_NestBall, }, [ITEM_DIVE_BALL] = @@ -284,6 +300,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_DIVE_BALL - FIRST_BALL, + .iconPic = gItemIcon_DiveBall, + .iconPalette = gItemIconPalette_DiveBall, }, [ITEM_DUSK_BALL] = @@ -298,6 +316,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_DUSK_BALL - FIRST_BALL, + .iconPic = gItemIcon_DuskBall, + .iconPalette = gItemIconPalette_DuskBall, }, [ITEM_TIMER_BALL] = @@ -312,6 +332,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_TIMER_BALL - FIRST_BALL, + .iconPic = gItemIcon_TimerBall, + .iconPalette = gItemIconPalette_RepeatBall, }, [ITEM_QUICK_BALL] = @@ -326,6 +348,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_QUICK_BALL - FIRST_BALL, + .iconPic = gItemIcon_QuickBall, + .iconPalette = gItemIconPalette_QuickBall, }, [ITEM_REPEAT_BALL] = @@ -340,6 +364,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_REPEAT_BALL - FIRST_BALL, + .iconPic = gItemIcon_RepeatBall, + .iconPalette = gItemIconPalette_RepeatBall, }, [ITEM_LUXURY_BALL] = @@ -354,6 +380,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_LUXURY_BALL - FIRST_BALL, + .iconPic = gItemIcon_LuxuryBall, + .iconPalette = gItemIconPalette_LuxuryBall, }, [ITEM_LEVEL_BALL] = @@ -368,6 +396,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_LEVEL_BALL - FIRST_BALL, + .iconPic = gItemIcon_LevelBall, + .iconPalette = gItemIconPalette_LevelBall, }, [ITEM_LURE_BALL] = @@ -382,6 +412,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_LURE_BALL - FIRST_BALL, + .iconPic = gItemIcon_LureBall, + .iconPalette = gItemIconPalette_LureBall, }, [ITEM_MOON_BALL] = @@ -396,6 +428,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_MOON_BALL - FIRST_BALL, + .iconPic = gItemIcon_MoonBall, + .iconPalette = gItemIconPalette_MoonBall, }, [ITEM_FRIEND_BALL] = @@ -410,6 +444,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_FRIEND_BALL - FIRST_BALL, + .iconPic = gItemIcon_FriendBall, + .iconPalette = gItemIconPalette_FriendBall, }, [ITEM_LOVE_BALL] = @@ -424,6 +460,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_LOVE_BALL - FIRST_BALL, + .iconPic = gItemIcon_LoveBall, + .iconPalette = gItemIconPalette_LoveBall, }, [ITEM_FAST_BALL] = @@ -438,6 +476,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_FAST_BALL - FIRST_BALL, + .iconPic = gItemIcon_FastBall, + .iconPalette = gItemIconPalette_FastBall, }, [ITEM_HEAVY_BALL] = @@ -452,6 +492,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_HEAVY_BALL - FIRST_BALL, + .iconPic = gItemIcon_HeavyBall, + .iconPalette = gItemIconPalette_HeavyBall, }, [ITEM_DREAM_BALL] = @@ -471,6 +513,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_DREAM_BALL - FIRST_BALL, + .iconPic = gItemIcon_DreamBall, + .iconPalette = gItemIconPalette_DreamBall, }, [ITEM_SAFARI_BALL] = @@ -485,6 +529,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_SAFARI_BALL - FIRST_BALL, + .iconPic = gItemIcon_SafariBall, + .iconPalette = gItemIconPalette_SafariBall, }, [ITEM_SPORT_BALL] = @@ -499,6 +545,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_SPORT_BALL - FIRST_BALL, + .iconPic = gItemIcon_SportBall, + .iconPalette = gItemIconPalette_SportBall, }, [ITEM_PARK_BALL] = @@ -512,6 +560,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_PARK_BALL - FIRST_BALL, + .iconPic = gItemIcon_ParkBall, + .iconPalette = gItemIconPalette_ParkBall, }, [ITEM_BEAST_BALL] = @@ -525,6 +575,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_BEAST_BALL - FIRST_BALL, + .iconPic = gItemIcon_BeastBall, + .iconPalette = gItemIconPalette_BeastBall, }, [ITEM_CHERISH_BALL] = @@ -539,6 +591,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .battleUsage = EFFECT_ITEM_THROW_BALL, .secondaryId = ITEM_CHERISH_BALL - FIRST_BALL, + .iconPic = gItemIcon_CherishBall, + .iconPalette = gItemIconPalette_CherishBall, }, // Medicine @@ -558,6 +612,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_HP, .effect = gItemEffect_Potion, .flingPower = 30, + .iconPic = gItemIcon_Potion, + .iconPalette = gItemIconPalette_Potion, }, [ITEM_SUPER_POTION] = @@ -579,6 +635,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_HP, .effect = gItemEffect_SuperPotion, .flingPower = 30, + .iconPic = gItemIcon_Potion, + .iconPalette = gItemIconPalette_SuperPotion, }, [ITEM_HYPER_POTION] = @@ -600,6 +658,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_HP, .effect = gItemEffect_HyperPotion, .flingPower = 30, + .iconPic = gItemIcon_Potion, + .iconPalette = gItemIconPalette_HyperPotion, }, [ITEM_MAX_POTION] = @@ -616,6 +676,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_HP, .effect = gItemEffect_MaxPotion, .flingPower = 30, + .iconPic = gItemIcon_LargePotion, + .iconPalette = gItemIconPalette_MaxPotion, }, [ITEM_FULL_RESTORE] = @@ -633,6 +695,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_HEAL_AND_CURE_STATUS, .effect = gItemEffect_FullRestore, .flingPower = 30, + .iconPic = gItemIcon_LargePotion, + .iconPalette = gItemIconPalette_FullRestore, }, [ITEM_REVIVE] = @@ -649,6 +713,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_REVIVE, .effect = gItemEffect_Revive, .flingPower = 30, + .iconPic = gItemIcon_Revive, + .iconPalette = gItemIconPalette_Revive, }, [ITEM_MAX_REVIVE] = @@ -662,6 +728,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_REVIVE, .effect = gItemEffect_MaxRevive, .flingPower = 30, + .iconPic = gItemIcon_MaxRevive, + .iconPalette = gItemIconPalette_Revive, }, [ITEM_FRESH_WATER] = @@ -683,6 +751,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_HP, .effect = gItemEffect_FreshWater, .flingPower = 30, + .iconPic = gItemIcon_FreshWater, + .iconPalette = gItemIconPalette_FreshWater, }, [ITEM_SODA_POP] = @@ -704,6 +774,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_HP, .effect = gItemEffect_SodaPop, .flingPower = 30, + .iconPic = gItemIcon_SodaPop, + .iconPalette = gItemIconPalette_SodaPop, }, [ITEM_LEMONADE] = @@ -728,6 +800,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_HP, .effect = gItemEffect_Lemonade, .flingPower = 30, + .iconPic = gItemIcon_Lemonade, + .iconPalette = gItemIconPalette_Lemonade, }, [ITEM_MOOMOO_MILK] = @@ -746,6 +820,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_HP, .effect = gItemEffect_MoomooMilk, .flingPower = 30, + .iconPic = gItemIcon_MoomooMilk, + .iconPalette = gItemIconPalette_MoomooMilk, }, [ITEM_ENERGY_POWDER] = @@ -767,6 +843,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_HP, .effect = gItemEffect_EnergyPowder, .flingPower = 30, + .iconPic = gItemIcon_Powder, + .iconPalette = gItemIconPalette_EnergyPowder, }, [ITEM_ENERGY_ROOT] = @@ -787,6 +865,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_HP, .effect = gItemEffect_EnergyRoot, .flingPower = 30, + .iconPic = gItemIcon_EnergyRoot, + .iconPalette = gItemIconPalette_EnergyRoot, }, [ITEM_HEAL_POWDER] = @@ -804,6 +884,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_HealPowder, .flingPower = 30, + .iconPic = gItemIcon_Powder, + .iconPalette = gItemIconPalette_HealPowder, }, [ITEM_REVIVAL_HERB] = @@ -820,6 +902,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_REVIVE, .effect = gItemEffect_RevivalHerb, .flingPower = 30, + .iconPic = gItemIcon_RevivalHerb, + .iconPalette = gItemIconPalette_RevivalHerb, }, [ITEM_ANTIDOTE] = @@ -835,6 +919,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_Antidote, .flingPower = 30, + .iconPic = gItemIcon_Antidote, + .iconPalette = gItemIconPalette_Antidote, }, [ITEM_PARALYZE_HEAL] = @@ -850,6 +936,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_ParalyzeHeal, .flingPower = 30, + .iconPic = gItemIcon_StatusHeal, + .iconPalette = gItemIconPalette_ParalyzeHeal, }, [ITEM_BURN_HEAL] = @@ -865,6 +953,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_BurnHeal, .flingPower = 30, + .iconPic = gItemIcon_StatusHeal, + .iconPalette = gItemIconPalette_BurnHeal, }, [ITEM_ICE_HEAL] = @@ -880,6 +970,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_IceHeal, .flingPower = 30, + .iconPic = gItemIcon_StatusHeal, + .iconPalette = gItemIconPalette_IceHeal, }, [ITEM_AWAKENING] = @@ -895,6 +987,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_Awakening, .flingPower = 30, + .iconPic = gItemIcon_StatusHeal, + .iconPalette = gItemIconPalette_Awakening, }, [ITEM_FULL_HEAL] = @@ -908,6 +1002,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_FullHeal, .flingPower = 30, + .iconPic = gItemIcon_FullHeal, + .iconPalette = gItemIconPalette_FullHeal, }, [ITEM_ETHER] = @@ -925,6 +1021,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_PP, .effect = gItemEffect_Ether, .flingPower = 30, + .iconPic = gItemIcon_Ether, + .iconPalette = gItemIconPalette_Ether, }, [ITEM_MAX_ETHER] = @@ -942,6 +1040,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_PP, .effect = gItemEffect_MaxEther, .flingPower = 30, + .iconPic = gItemIcon_Ether, + .iconPalette = gItemIconPalette_MaxEther, }, [ITEM_ELIXIR] = @@ -958,6 +1058,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_PP, .effect = gItemEffect_Elixir, .flingPower = 30, + .iconPic = gItemIcon_Ether, + .iconPalette = gItemIconPalette_Elixir, }, [ITEM_MAX_ELIXIR] = @@ -975,6 +1077,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_PP, .effect = gItemEffect_MaxElixir, .flingPower = 30, + .iconPic = gItemIcon_Ether, + .iconPalette = gItemIconPalette_MaxElixir, }, [ITEM_BERRY_JUICE] = @@ -994,6 +1098,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_HP, .effect = gItemEffect_Potion, .flingPower = 30, + .iconPic = gItemIcon_BerryJuice, + .iconPalette = gItemIconPalette_BerryJuice, }, [ITEM_SACRED_ASH] = @@ -1010,6 +1116,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_SacredAsh, .effect = gItemEffect_SacredAsh, .flingPower = 30, + .iconPic = gItemIcon_SacredAsh, + .iconPalette = gItemIconPalette_SacredAsh, }, [ITEM_SWEET_HEART] = @@ -1027,6 +1135,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_HP, .effect = gItemEffect_Potion, .flingPower = 30, + .iconPic = gItemIcon_SweetHeart, + .iconPalette = gItemIconPalette_SweetHeart, }, [ITEM_MAX_HONEY] = @@ -1041,6 +1151,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_REVIVE, .effect = gItemEffect_MaxRevive, .flingPower = 30, + .iconPic = gItemIcon_MaxHoney, + .iconPalette = gItemIconPalette_MaxHoney, }, // Regional Specialties @@ -1057,6 +1169,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_FullHeal, .flingPower = 30, + .iconPic = gItemIcon_PewterCrunchies, + .iconPalette = gItemIconPalette_PewterCrunchies, }, [ITEM_RAGE_CANDY_BAR] = @@ -1070,6 +1184,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_FullHeal, .flingPower = 30, + .iconPic = gItemIcon_RageCandyBar, + .iconPalette = gItemIconPalette_RageCandyBar, }, [ITEM_LAVA_COOKIE] = @@ -1086,6 +1202,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_FullHeal, .flingPower = 30, + .iconPic = gItemIcon_LavaCookie, + .iconPalette = gItemIconPalette_LavaCookieAndLetter, }, [ITEM_OLD_GATEAU] = @@ -1100,6 +1218,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_FullHeal, .flingPower = 30, + .iconPic = gItemIcon_OldGateau, + .iconPalette = gItemIconPalette_OldGateau, }, [ITEM_CASTELIACONE] = @@ -1113,6 +1233,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_FullHeal, .flingPower = 30, + .iconPic = gItemIcon_Casteliacone, + .iconPalette = gItemIconPalette_Casteliacone, }, [ITEM_LUMIOSE_GALETTE] = @@ -1126,6 +1248,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_FullHeal, .flingPower = 30, + .iconPic = gItemIcon_LumioseGalette, + .iconPalette = gItemIconPalette_LumioseGalette, }, [ITEM_SHALOUR_SABLE] = @@ -1139,6 +1263,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_FullHeal, .flingPower = 30, + .iconPic = gItemIcon_ShalourSable, + .iconPalette = gItemIconPalette_ShalourSable, }, [ITEM_BIG_MALASADA] = @@ -1152,6 +1278,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_FullHeal, .flingPower = 30, + .iconPic = gItemIcon_BigMalasada, + .iconPalette = gItemIconPalette_BigMalasada, }, // Vitamins @@ -1168,6 +1296,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_HPUp, .flingPower = 30, + .iconPic = gItemIcon_HPUp, + .iconPalette = gItemIconPalette_HPUp, }, [ITEM_PROTEIN] = @@ -1183,6 +1313,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_Protein, .flingPower = 30, + .iconPic = gItemIcon_Vitamin, + .iconPalette = gItemIconPalette_Protein, }, [ITEM_IRON] = @@ -1198,6 +1330,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_Iron, .flingPower = 30, + .iconPic = gItemIcon_Vitamin, + .iconPalette = gItemIconPalette_Iron, }, [ITEM_CALCIUM] = @@ -1213,6 +1347,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_Calcium, .flingPower = 30, + .iconPic = gItemIcon_Vitamin, + .iconPalette = gItemIconPalette_Calcium, }, [ITEM_ZINC] = @@ -1228,6 +1364,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_Zinc, .flingPower = 30, + .iconPic = gItemIcon_Vitamin, + .iconPalette = gItemIconPalette_Zinc, }, [ITEM_CARBOS] = @@ -1244,6 +1382,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_Carbos, .flingPower = 30, + .iconPic = gItemIcon_Vitamin, + .iconPalette = gItemIconPalette_Carbos, }, [ITEM_PP_UP] = @@ -1259,6 +1399,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_PPUp, .effect = gItemEffect_PPUp, .flingPower = 30, + .iconPic = gItemIcon_PPUp, + .iconPalette = gItemIconPalette_PPUp, }, [ITEM_PP_MAX] = @@ -1275,6 +1417,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_PPUp, .effect = gItemEffect_PPMax, .flingPower = 30, + .iconPic = gItemIcon_PPMax, + .iconPalette = gItemIconPalette_PPMax, }, // EV Feathers @@ -1289,6 +1433,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_HpFeather, .flingPower = 20, + .iconPic = gItemIcon_HealthFeather, + .iconPalette = gItemIconPalette_HealthFeather, }, [ITEM_MUSCLE_FEATHER] = @@ -1301,6 +1447,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_AtkFeather, .flingPower = 20, + .iconPic = gItemIcon_MuscleFeather, + .iconPalette = gItemIconPalette_MuscleFeather, }, [ITEM_RESIST_FEATHER] = @@ -1313,6 +1461,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_DefFeather, .flingPower = 20, + .iconPic = gItemIcon_ResistFeather, + .iconPalette = gItemIconPalette_ResistFeather, }, [ITEM_GENIUS_FEATHER] = @@ -1325,6 +1475,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_SpatkFeather, .flingPower = 20, + .iconPic = gItemIcon_GeniusFeather, + .iconPalette = gItemIconPalette_GeniusFeather, }, [ITEM_CLEVER_FEATHER] = @@ -1337,6 +1489,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_SpdefFeather, .flingPower = 20, + .iconPic = gItemIcon_CleverFeather, + .iconPalette = gItemIconPalette_CleverFeather, }, [ITEM_SWIFT_FEATHER] = @@ -1349,6 +1503,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_SpeedFeather, .flingPower = 20, + .iconPic = gItemIcon_SwiftFeather, + .iconPalette = gItemIconPalette_SwiftFeather, }, // Ability Modifiers @@ -1364,6 +1520,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_AbilityCapsule, + .iconPic = gItemIcon_AbilityCapsule, + .iconPalette = gItemIconPalette_AbilityCapsule, }, [ITEM_ABILITY_PATCH] = @@ -1379,6 +1537,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_AbilityPatch, + .iconPic = gItemIcon_AbilityPatch, + .iconPalette = gItemIconPalette_AbilityPatch, }, // Mints @@ -1396,6 +1556,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_LONELY, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_RedMint, }, [ITEM_ADAMANT_MINT] = @@ -1411,6 +1573,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_ADAMANT, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_RedMint, }, [ITEM_NAUGHTY_MINT] = @@ -1426,6 +1590,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_NAUGHTY, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_RedMint, }, [ITEM_BRAVE_MINT] = @@ -1441,6 +1607,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_BRAVE, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_RedMint, }, [ITEM_BOLD_MINT] = @@ -1456,6 +1624,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_BOLD, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_BlueMint, }, [ITEM_IMPISH_MINT] = @@ -1471,6 +1641,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_IMPISH, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_BlueMint, }, [ITEM_LAX_MINT] = @@ -1486,6 +1658,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_LAX, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_BlueMint, }, [ITEM_RELAXED_MINT] = @@ -1501,6 +1675,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_RELAXED, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_BlueMint, }, [ITEM_MODEST_MINT] = @@ -1516,6 +1692,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_MODEST, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_LightBlueMint, }, [ITEM_MILD_MINT] = @@ -1531,6 +1709,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_MILD, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_LightBlueMint, }, [ITEM_RASH_MINT] = @@ -1546,6 +1726,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_RASH, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_LightBlueMint, }, [ITEM_QUIET_MINT] = @@ -1561,6 +1743,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_QUIET, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_LightBlueMint, }, [ITEM_CALM_MINT] = @@ -1576,6 +1760,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_CALM, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_PinkMint, }, [ITEM_GENTLE_MINT] = @@ -1591,6 +1777,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_GENTLE, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_PinkMint, }, [ITEM_CAREFUL_MINT] = @@ -1606,6 +1794,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_CAREFUL, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_PinkMint, }, [ITEM_SASSY_MINT] = @@ -1621,6 +1811,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_SASSY, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_PinkMint, }, [ITEM_TIMID_MINT] = @@ -1636,6 +1828,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_TIMID, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_GreenMint, }, [ITEM_HASTY_MINT] = @@ -1651,6 +1845,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_HASTY, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_GreenMint, }, [ITEM_JOLLY_MINT] = @@ -1666,6 +1862,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_JOLLY, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_GreenMint, }, [ITEM_NAIVE_MINT] = @@ -1681,6 +1879,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_NAIVE, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_GreenMint, }, [ITEM_SERIOUS_MINT] = @@ -1696,6 +1896,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Mint, .secondaryId = NATURE_SERIOUS, .flingPower = 10, + .iconPic = gItemIcon_Mint, + .iconPalette = gItemIconPalette_YellowMint, }, // Candy @@ -1714,6 +1916,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_RareCandy, .effect = gItemEffect_RareCandy, .flingPower = 30, + .iconPic = gItemIcon_RareCandy, + .iconPalette = gItemIconPalette_RareCandy, }, [ITEM_EXP_CANDY_XS] = @@ -1731,6 +1935,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_RareCandy, .effect = gItemEffect_RareCandy, .flingPower = 30, + .iconPic = gItemIcon_ExpCandyXS, + .iconPalette = gItemIconPalette_ExpCandies, }, [ITEM_EXP_CANDY_S] = @@ -1748,6 +1954,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_RareCandy, .effect = gItemEffect_RareCandy, .flingPower = 30, + .iconPic = gItemIcon_ExpCandyS, + .iconPalette = gItemIconPalette_ExpCandies, }, [ITEM_EXP_CANDY_M] = @@ -1765,6 +1973,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_RareCandy, .effect = gItemEffect_RareCandy, .flingPower = 30, + .iconPic = gItemIcon_ExpCandyM, + .iconPalette = gItemIconPalette_ExpCandies, }, [ITEM_EXP_CANDY_L] = @@ -1782,6 +1992,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_RareCandy, .effect = gItemEffect_RareCandy, .flingPower = 30, + .iconPic = gItemIcon_ExpCandyL, + .iconPalette = gItemIconPalette_ExpCandies, }, [ITEM_EXP_CANDY_XL] = @@ -1799,6 +2011,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_RareCandy, .effect = gItemEffect_RareCandy, .flingPower = 30, + .iconPic = gItemIcon_ExpCandyXL, + .iconPalette = gItemIconPalette_ExpCandies, }, [ITEM_DYNAMAX_CANDY] = @@ -1814,6 +2028,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_DynamaxCandy, .flingPower = 30, + .iconPic = gItemIcon_DynamaxCandy, + .iconPalette = gItemIconPalette_DynamaxCandy, }, // Medicinal Flutes @@ -1832,6 +2048,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_Awakening, .flingPower = 30, + .iconPic = gItemIcon_Flute, + .iconPalette = gItemIconPalette_BlueFlute, }, [ITEM_YELLOW_FLUTE] = @@ -1848,6 +2066,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_YellowFlute, .flingPower = 30, + .iconPic = gItemIcon_Flute, + .iconPalette = gItemIconPalette_YellowFlute, }, [ITEM_RED_FLUTE] = @@ -1864,6 +2084,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_RedFlute, .flingPower = 30, + .iconPic = gItemIcon_Flute, + .iconPalette = gItemIconPalette_RedFlute, }, // Encounter-modifying Flutes @@ -1881,6 +2103,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, .flingPower = 30, + .iconPic = gItemIcon_Flute, + .iconPalette = gItemIconPalette_BlackFlute, }, [ITEM_WHITE_FLUTE] = @@ -1895,6 +2119,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, .flingPower = 30, + .iconPic = gItemIcon_Flute, + .iconPalette = gItemIconPalette_WhiteFlute, }, // Encounter Modifiers @@ -1912,6 +2138,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_Repel, .flingPower = 30, + .iconPic = gItemIcon_Repel, + .iconPalette = gItemIconPalette_Repel, }, [ITEM_SUPER_REPEL] = @@ -1927,6 +2155,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_Repel, .flingPower = 30, + .iconPic = gItemIcon_Repel, + .iconPalette = gItemIconPalette_SuperRepel, }, [ITEM_MAX_REPEL] = @@ -1942,6 +2172,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_Repel, .flingPower = 30, + .iconPic = gItemIcon_Repel, + .iconPalette = gItemIconPalette_MaxRepel, }, [ITEM_LURE] = @@ -1958,6 +2190,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Lure, .secondaryId = 0, .flingPower = 30, + .iconPic = gItemIcon_Lure, + .iconPalette = gItemIconPalette_Lure, }, [ITEM_SUPER_LURE] = @@ -1974,6 +2208,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Lure, .secondaryId = 0, .flingPower = 30, + .iconPic = gItemIcon_Lure, + .iconPalette = gItemIconPalette_SuperLure, }, [ITEM_MAX_LURE] = @@ -1990,6 +2226,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Lure, .secondaryId = 0, .flingPower = 30, + .iconPic = gItemIcon_Lure, + .iconPalette = gItemIconPalette_MaxLure, }, [ITEM_ESCAPE_ROPE] = @@ -2010,6 +2248,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_EscapeRope, .flingPower = 30, + .iconPic = gItemIcon_EscapeRope, + .iconPalette = gItemIconPalette_EscapeRope, }, // X Items @@ -2035,6 +2275,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_INCREASE_STAT, .effect = gItemEffect_XAttack, .flingPower = 30, + .iconPic = gItemIcon_BattleStatItem, + .iconPalette = gItemIconPalette_XAttack, }, [ITEM_X_DEFENSE] = @@ -2058,6 +2300,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_INCREASE_STAT, .effect = gItemEffect_XDefense, .flingPower = 30, + .iconPic = gItemIcon_BattleStatItem, + .iconPalette = gItemIconPalette_XDefend, }, [ITEM_X_SP_ATK] = @@ -2081,6 +2325,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_INCREASE_STAT, .effect = gItemEffect_XSpecialAttack, .flingPower = 30, + .iconPic = gItemIcon_BattleStatItem, + .iconPalette = gItemIconPalette_XSpecial, }, [ITEM_X_SP_DEF] = @@ -2104,6 +2350,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_INCREASE_STAT, .effect = gItemEffect_XSpecialDefense, .flingPower = 30, + .iconPic = gItemIcon_XSpecialDefense, + .iconPalette = gItemIconPalette_XSpecialDefense, }, [ITEM_X_SPEED] = @@ -2127,6 +2375,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_INCREASE_STAT, .effect = gItemEffect_XSpeed, .flingPower = 30, + .iconPic = gItemIcon_BattleStatItem, + .iconPalette = gItemIconPalette_XSpeed, }, [ITEM_X_ACCURACY] = @@ -2151,6 +2401,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_INCREASE_STAT, .effect = gItemEffect_XAccuracy, .flingPower = 30, + .iconPic = gItemIcon_BattleStatItem, + .iconPalette = gItemIconPalette_XAccuracy, }, [ITEM_DIRE_HIT] = @@ -2167,6 +2419,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_SET_FOCUS_ENERGY, .effect = gItemEffect_DireHit, .flingPower = 30, + .iconPic = gItemIcon_BattleStatItem, + .iconPalette = gItemIconPalette_DireHit, }, [ITEM_GUARD_SPEC] = @@ -2184,6 +2438,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_SET_MIST, .effect = gItemEffect_GuardSpec, .flingPower = 30, + .iconPic = gItemIcon_BattleStatItem, + .iconPalette = gItemIconPalette_GuardSpec, }, [ITEM_POKE_DOLL] = @@ -2196,6 +2452,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .battleUsage = EFFECT_ITEM_ESCAPE, .flingPower = 30, + .iconPic = gItemIcon_PokeDoll, + .iconPalette = gItemIconPalette_PokeDoll, }, [ITEM_FLUFFY_TAIL] = @@ -2208,6 +2466,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .battleUsage = EFFECT_ITEM_ESCAPE, .flingPower = 30, + .iconPic = gItemIcon_FluffyTail, + .iconPalette = gItemIconPalette_FluffyTail, }, [ITEM_POKE_TOY] = @@ -2220,6 +2480,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .battleUsage = EFFECT_ITEM_ESCAPE, .flingPower = 30, + .iconPic = gItemIcon_PokeToy, + .iconPalette = gItemIconPalette_PokeToy, }, [ITEM_MAX_MUSHROOMS] = @@ -2236,6 +2498,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .battleUsage = EFFECT_ITEM_INCREASE_ALL_STATS, .flingPower = 30, + .iconPic = gItemIcon_MaxMushrooms, + .iconPalette = gItemIconPalette_MaxMushrooms, }, // Treasures @@ -2252,6 +2516,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_BottleCap, + .iconPalette = gItemIconPalette_BottleCap, }, [ITEM_GOLD_BOTTLE_CAP] = @@ -2266,6 +2532,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_BottleCap, + .iconPalette = gItemIconPalette_GoldBottleCap, }, [ITEM_NUGGET] = @@ -2280,6 +2548,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_Nugget, + .iconPalette = gItemIconPalette_Nugget, }, [ITEM_BIG_NUGGET] = @@ -2294,6 +2564,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 130, + .iconPic = gItemIcon_BigNugget, + .iconPalette = gItemIconPalette_BigNugget, }, [ITEM_TINY_MUSHROOM] = @@ -2308,6 +2580,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_TinyMushroom, + .iconPalette = gItemIconPalette_Mushroom, }, [ITEM_BIG_MUSHROOM] = @@ -2319,6 +2593,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_BigMushroom, + .iconPalette = gItemIconPalette_Mushroom, }, [ITEM_BALM_MUSHROOM] = @@ -2330,6 +2606,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_BalmMushroom, + .iconPalette = gItemIconPalette_BalmMushroom, }, [ITEM_PEARL] = @@ -2344,6 +2622,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_Pearl, + .iconPalette = gItemIconPalette_Pearl, }, [ITEM_BIG_PEARL] = @@ -2358,6 +2638,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_BigPearl, + .iconPalette = gItemIconPalette_Pearl, }, [ITEM_PEARL_STRING] = @@ -2372,6 +2654,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_PearlString, + .iconPalette = gItemIconPalette_PearlString, }, [ITEM_STARDUST] = @@ -2387,6 +2671,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_Stardust, + .iconPalette = gItemIconPalette_Star, }, [ITEM_STAR_PIECE] = @@ -2401,6 +2687,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_StarPiece, + .iconPalette = gItemIconPalette_Star, }, [ITEM_COMET_SHARD] = @@ -2415,6 +2703,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_CometShard, + .iconPalette = gItemIconPalette_CometShard, }, [ITEM_SHOAL_SALT] = @@ -2430,6 +2720,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_Powder, + .iconPalette = gItemIconPalette_ShoalSalt, }, [ITEM_SHOAL_SHELL] = @@ -2444,6 +2736,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_ShoalShell, + .iconPalette = gItemIconPalette_Shell, }, [ITEM_RED_SHARD] = @@ -2455,6 +2749,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_Shard, + .iconPalette = gItemIconPalette_RedShard, }, [ITEM_BLUE_SHARD] = @@ -2466,6 +2762,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_Shard, + .iconPalette = gItemIconPalette_BlueShard, }, [ITEM_YELLOW_SHARD] = @@ -2477,6 +2775,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_Shard, + .iconPalette = gItemIconPalette_YellowShard, }, [ITEM_GREEN_SHARD] = @@ -2488,6 +2788,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_Shard, + .iconPalette = gItemIconPalette_GreenShard, }, [ITEM_HEART_SCALE] = @@ -2502,6 +2804,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_HeartScale, + .iconPalette = gItemIconPalette_HeartScale, }, [ITEM_HONEY] = @@ -2517,6 +2821,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_Honey, .flingPower = 30, + .iconPic = gItemIcon_Honey, + .iconPalette = gItemIconPalette_Honey, }, [ITEM_RARE_BONE] = @@ -2531,6 +2837,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_RareBone, + .iconPalette = gItemIconPalette_RareBone, }, [ITEM_ODD_KEYSTONE] = @@ -2545,6 +2853,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_OddKeystone, + .iconPalette = gItemIconPalette_OddKeystone, }, [ITEM_PRETTY_FEATHER] = @@ -2559,6 +2869,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 20, + .iconPic = gItemIcon_PrettyFeather, + .iconPalette = gItemIconPalette_PrettyFeather, }, [ITEM_RELIC_COPPER] = @@ -2573,6 +2885,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_RelicCoin, + .iconPalette = gItemIconPalette_RelicCopper, }, [ITEM_RELIC_SILVER] = @@ -2587,6 +2901,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_RelicCoin, + .iconPalette = gItemIconPalette_RelicSilver, }, [ITEM_RELIC_GOLD] = @@ -2601,6 +2917,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_RelicCoin, + .iconPalette = gItemIconPalette_RelicGold, }, [ITEM_RELIC_VASE] = @@ -2615,6 +2933,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_RelicVase, + .iconPalette = gItemIconPalette_Relics, }, [ITEM_RELIC_BAND] = @@ -2629,6 +2949,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_RelicBand, + .iconPalette = gItemIconPalette_Relics, }, [ITEM_RELIC_STATUE] = @@ -2643,6 +2965,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_RelicStatue, + .iconPalette = gItemIconPalette_Relics, }, [ITEM_RELIC_CROWN] = @@ -2657,6 +2981,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_RelicCrown, + .iconPalette = gItemIconPalette_Relics, }, [ITEM_STRANGE_SOUVENIR] = @@ -2671,6 +2997,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_StrangeSouvenir, + .iconPalette = gItemIconPalette_StrangeSouvenir, }, // Fossils @@ -2693,6 +3021,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_HelixFossil, + .iconPalette = gItemIconPalette_KantoFossil, }, [ITEM_DOME_FOSSIL] = @@ -2713,6 +3043,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_DomeFossil, + .iconPalette = gItemIconPalette_KantoFossil, }, [ITEM_OLD_AMBER] = @@ -2733,6 +3065,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_OldAmber, + .iconPalette = gItemIconPalette_OldAmber, }, [ITEM_ROOT_FOSSIL] = @@ -2750,6 +3084,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_RootFossil, + .iconPalette = gItemIconPalette_HoennFossil, }, [ITEM_CLAW_FOSSIL] = @@ -2767,6 +3103,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_ClawFossil, + .iconPalette = gItemIconPalette_HoennFossil, }, [ITEM_ARMOR_FOSSIL] = @@ -2781,6 +3119,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_ArmorFossil, + .iconPalette = gItemIconPalette_ArmorFossil, }, [ITEM_SKULL_FOSSIL] = @@ -2795,6 +3135,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_SkullFossil, + .iconPalette = gItemIconPalette_SkullFossil, }, [ITEM_COVER_FOSSIL] = @@ -2809,6 +3151,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_CoverFossil, + .iconPalette = gItemIconPalette_CoverFossil, }, [ITEM_PLUME_FOSSIL] = @@ -2823,6 +3167,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_PlumeFossil, + .iconPalette = gItemIconPalette_PlumeFossil, }, [ITEM_JAW_FOSSIL] = @@ -2837,6 +3183,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_JawFossil, + .iconPalette = gItemIconPalette_JawFossil, }, [ITEM_SAIL_FOSSIL] = @@ -2851,6 +3199,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_SailFossil, + .iconPalette = gItemIconPalette_SailFossil, }, [ITEM_FOSSILIZED_BIRD] = @@ -2865,6 +3215,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_FossilizedBird, + .iconPalette = gItemIconPalette_FossilizedBird, }, [ITEM_FOSSILIZED_FISH] = @@ -2877,6 +3229,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_FossilizedFish, + .iconPalette = gItemIconPalette_FossilizedFish, }, [ITEM_FOSSILIZED_DRAKE] = @@ -2891,6 +3245,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_FossilizedDrake, + .iconPalette = gItemIconPalette_FossilizedDrake, }, [ITEM_FOSSILIZED_DINO] = @@ -2902,6 +3258,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_FossilizedDino, + .iconPalette = gItemIconPalette_FossilizedDino, }, // Mulch @@ -2924,6 +3282,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = ITEM_TO_MULCH(ITEM_GROWTH_MULCH), .flingPower = 30, + .iconPic = gItemIcon_Mulch, + .iconPalette = gItemIconPalette_GrowthMulch, }, [ITEM_DAMP_MULCH] = @@ -2944,6 +3304,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = ITEM_TO_MULCH(ITEM_DAMP_MULCH), .flingPower = 30, + .iconPic = gItemIcon_Mulch, + .iconPalette = gItemIconPalette_DampMulch, }, [ITEM_STABLE_MULCH] = @@ -2964,6 +3326,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = ITEM_TO_MULCH(ITEM_STABLE_MULCH), .flingPower = 30, + .iconPic = gItemIcon_StableMulch, + .iconPalette = gItemIconPalette_StableMulch, }, [ITEM_GOOEY_MULCH] = @@ -2984,6 +3348,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = ITEM_TO_MULCH(ITEM_GOOEY_MULCH), .flingPower = 30, + .iconPic = gItemIcon_Mulch, + .iconPalette = gItemIconPalette_GooeyMulch, }, [ITEM_RICH_MULCH] = @@ -3004,6 +3370,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = ITEM_TO_MULCH(ITEM_RICH_MULCH), .flingPower = 30, + .iconPic = gItemIcon_Mulch, + .iconPalette = gItemIconPalette_RichMulch, }, [ITEM_SURPRISE_MULCH] = @@ -3024,6 +3392,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = ITEM_TO_MULCH(ITEM_SURPRISE_MULCH), .flingPower = 30, + .iconPic = gItemIcon_Mulch, + .iconPalette = gItemIconPalette_SurpriseMulch, }, [ITEM_BOOST_MULCH] = @@ -3044,6 +3414,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = ITEM_TO_MULCH(ITEM_BOOST_MULCH), .flingPower = 30, + .iconPic = gItemIcon_Mulch, + .iconPalette = gItemIconPalette_BoostMulch, }, [ITEM_AMAZE_MULCH] = @@ -3064,6 +3436,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = ITEM_TO_MULCH(ITEM_AMAZE_MULCH), .flingPower = 30, + .iconPic = gItemIcon_Mulch, + .iconPalette = gItemIconPalette_AmazeMulch, }, // Apricorns @@ -3079,6 +3453,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_RedApricorn, + .iconPalette = gItemIconPalette_RedApricorn, }, [ITEM_BLUE_APRICORN] = @@ -3092,6 +3468,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_BlueApricorn, + .iconPalette = gItemIconPalette_BlueApricorn, }, [ITEM_YELLOW_APRICORN] = @@ -3105,6 +3483,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_YellowApricorn, + .iconPalette = gItemIconPalette_YellowApricorn, }, [ITEM_GREEN_APRICORN] = @@ -3118,6 +3498,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_GreenApricorn, + .iconPalette = gItemIconPalette_GreenApricorn, }, [ITEM_PINK_APRICORN] = @@ -3131,6 +3513,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_PinkApricorn, + .iconPalette = gItemIconPalette_PinkApricorn, }, [ITEM_WHITE_APRICORN] = @@ -3144,6 +3528,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_WhiteApricorn, + .iconPalette = gItemIconPalette_WhiteApricorn, }, [ITEM_BLACK_APRICORN] = @@ -3157,6 +3543,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_BlackApricorn, + .iconPalette = gItemIconPalette_BlackApricorn, }, [ITEM_WISHING_PIECE] = @@ -3171,6 +3559,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, // Todo .flingPower = 50, + .iconPic = gItemIcon_WishingPiece, + .iconPalette = gItemIconPalette_WishingPiece, }, [ITEM_GALARICA_TWIG] = @@ -3185,6 +3575,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_GalaricaTwig, + .iconPalette = gItemIconPalette_GalaricaItem, }, [ITEM_ARMORITE_ORE] = @@ -3200,6 +3592,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_ArmoriteOre, + .iconPalette = gItemIconPalette_ArmoriteOre, }, [ITEM_DYNITE_ORE] = @@ -3215,6 +3609,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_DyniteOre, + .iconPalette = gItemIconPalette_DyniteOre, }, // Mail @@ -3232,6 +3628,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_MAIL, .fieldUseFunc = ItemUseOutOfBattle_Mail, .secondaryId = ITEM_TO_MAIL(ITEM_ORANGE_MAIL), + .iconPic = gItemIcon_OrangeMail, + .iconPalette = gItemIconPalette_OrangeMail, }, [ITEM_HARBOR_MAIL] = @@ -3247,6 +3645,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_MAIL, .fieldUseFunc = ItemUseOutOfBattle_Mail, .secondaryId = ITEM_TO_MAIL(ITEM_HARBOR_MAIL), + .iconPic = gItemIcon_HarborMail, + .iconPalette = gItemIconPalette_HarborMail, }, [ITEM_GLITTER_MAIL] = @@ -3262,6 +3662,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_MAIL, .fieldUseFunc = ItemUseOutOfBattle_Mail, .secondaryId = ITEM_TO_MAIL(ITEM_GLITTER_MAIL), + .iconPic = gItemIcon_GlitterMail, + .iconPalette = gItemIconPalette_GlitterMail, }, [ITEM_MECH_MAIL] = @@ -3277,6 +3679,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_MAIL, .fieldUseFunc = ItemUseOutOfBattle_Mail, .secondaryId = ITEM_TO_MAIL(ITEM_MECH_MAIL), + .iconPic = gItemIcon_MechMail, + .iconPalette = gItemIconPalette_MechMail, }, [ITEM_WOOD_MAIL] = @@ -3292,6 +3696,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_MAIL, .fieldUseFunc = ItemUseOutOfBattle_Mail, .secondaryId = ITEM_TO_MAIL(ITEM_WOOD_MAIL), + .iconPic = gItemIcon_WoodMail, + .iconPalette = gItemIconPalette_WoodMail, }, [ITEM_WAVE_MAIL] = @@ -3307,6 +3713,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_MAIL, .fieldUseFunc = ItemUseOutOfBattle_Mail, .secondaryId = ITEM_TO_MAIL(ITEM_WAVE_MAIL), + .iconPic = gItemIcon_WaveMail, + .iconPalette = gItemIconPalette_WaveMail, }, [ITEM_BEAD_MAIL] = @@ -3319,6 +3727,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_MAIL, .fieldUseFunc = ItemUseOutOfBattle_Mail, .secondaryId = ITEM_TO_MAIL(ITEM_BEAD_MAIL), + .iconPic = gItemIcon_BeadMail, + .iconPalette = gItemIconPalette_BeadMail, }, [ITEM_SHADOW_MAIL] = @@ -3334,6 +3744,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_MAIL, .fieldUseFunc = ItemUseOutOfBattle_Mail, .secondaryId = ITEM_TO_MAIL(ITEM_SHADOW_MAIL), + .iconPic = gItemIcon_ShadowMail, + .iconPalette = gItemIconPalette_ShadowMail, }, [ITEM_TROPIC_MAIL] = @@ -3349,6 +3761,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_MAIL, .fieldUseFunc = ItemUseOutOfBattle_Mail, .secondaryId = ITEM_TO_MAIL(ITEM_TROPIC_MAIL), + .iconPic = gItemIcon_TropicMail, + .iconPalette = gItemIconPalette_TropicMail, }, [ITEM_DREAM_MAIL] = @@ -3361,6 +3775,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_MAIL, .fieldUseFunc = ItemUseOutOfBattle_Mail, .secondaryId = ITEM_TO_MAIL(ITEM_DREAM_MAIL), + .iconPic = gItemIcon_DreamMail, + .iconPalette = gItemIconPalette_DreamMail, }, [ITEM_FAB_MAIL] = @@ -3376,6 +3792,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_MAIL, .fieldUseFunc = ItemUseOutOfBattle_Mail, .secondaryId = ITEM_TO_MAIL(ITEM_FAB_MAIL), + .iconPic = gItemIcon_FabMail, + .iconPalette = gItemIconPalette_FabMail, }, [ITEM_RETRO_MAIL] = @@ -3391,6 +3809,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_MAIL, .fieldUseFunc = ItemUseOutOfBattle_Mail, .secondaryId = ITEM_TO_MAIL(ITEM_RETRO_MAIL), + .iconPic = gItemIcon_RetroMail, + .iconPalette = gItemIconPalette_RetroMail, }, // Evolution Items @@ -3405,6 +3825,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_FireStone, + .iconPalette = gItemIconPalette_FireStone, }, [ITEM_WATER_STONE] = @@ -3417,6 +3839,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_WaterStone, + .iconPalette = gItemIconPalette_WaterStone, }, [ITEM_THUNDER_STONE] = @@ -3429,6 +3853,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_ThunderStone, + .iconPalette = gItemIconPalette_ThunderStone, }, [ITEM_LEAF_STONE] = @@ -3441,6 +3867,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_LeafStone, + .iconPalette = gItemIconPalette_LeafStone, }, [ITEM_ICE_STONE] = @@ -3453,6 +3881,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_IceStone, + .iconPalette = gItemIconPalette_IceStone, }, [ITEM_SUN_STONE] = @@ -3465,6 +3895,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_SunStone, + .iconPalette = gItemIconPalette_SunStone, }, [ITEM_MOON_STONE] = @@ -3477,6 +3909,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_MoonStone, + .iconPalette = gItemIconPalette_MoonStone, }, [ITEM_SHINY_STONE] = @@ -3489,6 +3923,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_ShinyStone, + .iconPalette = gItemIconPalette_ShinyStone, }, [ITEM_DUSK_STONE] = @@ -3501,6 +3937,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 80, + .iconPic = gItemIcon_DuskStone, + .iconPalette = gItemIconPalette_DuskStone, }, [ITEM_DAWN_STONE] = @@ -3513,6 +3951,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 80, + .iconPic = gItemIcon_DawnStone, + .iconPalette = gItemIconPalette_DawnStone, }, [ITEM_SWEET_APPLE] = @@ -3528,6 +3968,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_SweetApple, + .iconPalette = gItemIconPalette_SweetApple, }, [ITEM_TART_APPLE] = @@ -3543,6 +3985,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_TartApple, + .iconPalette = gItemIconPalette_TartApple, }, [ITEM_CRACKED_POT] = @@ -3558,6 +4002,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 80, + .iconPic = gItemIcon_CrackedPot, + .iconPalette = gItemIconPalette_Pot, }, [ITEM_CHIPPED_POT] = @@ -3573,6 +4019,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 80, + .iconPic = gItemIcon_ChippedPot, + .iconPalette = gItemIconPalette_Pot, }, [ITEM_GALARICA_CUFF] = @@ -3588,6 +4036,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_GalaricaCuff, + .iconPalette = gItemIconPalette_GalaricaItem, }, [ITEM_GALARICA_WREATH] = @@ -3604,6 +4054,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_GalaricaWreath, + .iconPalette = gItemIconPalette_GalaricaItem, }, [ITEM_DRAGON_SCALE] = @@ -3621,6 +4073,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = EVO_HELD_ITEM_FIELD_FUNC, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_DragonScale, + .iconPalette = gItemIconPalette_DragonScale, }, [ITEM_UPGRADE] = @@ -3636,6 +4090,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = EVO_HELD_ITEM_FIELD_FUNC, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_Upgrade, + .iconPalette = gItemIconPalette_Upgrade, }, [ITEM_PROTECTOR] = @@ -3651,6 +4107,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = EVO_HELD_ITEM_FIELD_FUNC, .effect = gItemEffect_EvoItem, .flingPower = 80, + .iconPic = gItemIcon_Protector, + .iconPalette = gItemIconPalette_Protector, }, [ITEM_ELECTIRIZER] = @@ -3666,6 +4124,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = EVO_HELD_ITEM_FIELD_FUNC, .effect = gItemEffect_EvoItem, .flingPower = 80, + .iconPic = gItemIcon_Electirizer, + .iconPalette = gItemIconPalette_Electirizer, }, [ITEM_MAGMARIZER] = @@ -3681,6 +4141,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = EVO_HELD_ITEM_FIELD_FUNC, .effect = gItemEffect_EvoItem, .flingPower = 80, + .iconPic = gItemIcon_Magmarizer, + .iconPalette = gItemIconPalette_Magmarizer, }, [ITEM_DUBIOUS_DISC] = @@ -3696,6 +4158,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = EVO_HELD_ITEM_FIELD_FUNC, .effect = gItemEffect_EvoItem, .flingPower = 50, + .iconPic = gItemIcon_DubiousDisc, + .iconPalette = gItemIconPalette_DubiousDisc, }, [ITEM_REAPER_CLOTH] = @@ -3712,6 +4176,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = EVO_HELD_ITEM_FIELD_FUNC, .effect = gItemEffect_EvoItem, .flingPower = 10, + .iconPic = gItemIcon_ReaperCloth, + .iconPalette = gItemIconPalette_ReaperCloth, }, [ITEM_PRISM_SCALE] = @@ -3727,6 +4193,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = EVO_HELD_ITEM_FIELD_FUNC, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_PrismScale, + .iconPalette = gItemIconPalette_PrismScale, }, [ITEM_WHIPPED_DREAM] = @@ -3743,6 +4211,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = EVO_HELD_ITEM_FIELD_FUNC, .effect = gItemEffect_EvoItem, .flingPower = 80, + .iconPic = gItemIcon_WhippedDream, + .iconPalette = gItemIconPalette_WhippedDream, }, [ITEM_SACHET] = @@ -3758,6 +4228,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = EVO_HELD_ITEM_FIELD_FUNC, .effect = gItemEffect_EvoItem, .flingPower = 80, + .iconPic = gItemIcon_Sachet, + .iconPalette = gItemIconPalette_Sachet, }, [ITEM_OVAL_STONE] = @@ -3773,6 +4245,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = EVO_HELD_ITEM_FIELD_FUNC, .effect = gItemEffect_EvoItem, .flingPower = 80, + .iconPic = gItemIcon_OvalStone, + .iconPalette = gItemIconPalette_OvalStone, }, [ITEM_STRAWBERRY_SWEET] = @@ -3787,6 +4261,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_StrawberrySweet, + .iconPalette = gItemIconPalette_StrawberrySweet, }, [ITEM_LOVE_SWEET] = @@ -3801,6 +4277,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_LoveSweet, + .iconPalette = gItemIconPalette_LoveSweet, }, [ITEM_BERRY_SWEET] = @@ -3815,6 +4293,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_BerrySweet, + .iconPalette = gItemIconPalette_BerrySweet, }, [ITEM_CLOVER_SWEET] = @@ -3829,6 +4309,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_CloverSweet, + .iconPalette = gItemIconPalette_CloverSweet, }, [ITEM_FLOWER_SWEET] = @@ -3843,6 +4325,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_FlowerSweet, + .iconPalette = gItemIconPalette_FlowerSweet, }, [ITEM_STAR_SWEET] = @@ -3857,6 +4341,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_StarSweet, + .iconPalette = gItemIconPalette_StarSweet, }, [ITEM_RIBBON_SWEET] = @@ -3871,6 +4357,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_RibbonSweet, + .iconPalette = gItemIconPalette_RibbonSweet, }, [ITEM_EVERSTONE] = @@ -3886,6 +4374,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_Everstone, + .iconPalette = gItemIconPalette_Everstone, }, // Nectars @@ -3900,6 +4390,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_FormChange_ConsumedOnUse, .flingPower = 10, + .iconPic = gItemIcon_RedNectar, + .iconPalette = gItemIconPalette_RedNectar, }, [ITEM_YELLOW_NECTAR] = @@ -3912,6 +4404,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_FormChange_ConsumedOnUse, .flingPower = 10, + .iconPic = gItemIcon_YellowNectar, + .iconPalette = gItemIconPalette_YellowNectar, }, [ITEM_PINK_NECTAR] = @@ -3924,6 +4418,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_FormChange_ConsumedOnUse, .flingPower = 10, + .iconPic = gItemIcon_PinkNectar, + .iconPalette = gItemIconPalette_PinkNectar, }, [ITEM_PURPLE_NECTAR] = @@ -3936,6 +4432,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_FormChange_ConsumedOnUse, .flingPower = 10, + .iconPic = gItemIcon_PurpleNectar, + .iconPalette = gItemIconPalette_PurpleNectar, }, // Plates @@ -3955,6 +4453,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_FIRE, .flingPower = 90, + .iconPic = gItemIcon_FlamePlate, + .iconPalette = gItemIconPalette_FlamePlate, }, [ITEM_SPLASH_PLATE] = @@ -3972,6 +4472,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_WATER, .flingPower = 90, + .iconPic = gItemIcon_SplashPlate, + .iconPalette = gItemIconPalette_SplashPlate, }, [ITEM_ZAP_PLATE] = @@ -3989,6 +4491,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_ELECTRIC, .flingPower = 90, + .iconPic = gItemIcon_ZapPlate, + .iconPalette = gItemIconPalette_ZapPlate, }, [ITEM_MEADOW_PLATE] = @@ -4006,6 +4510,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_GRASS, .flingPower = 90, + .iconPic = gItemIcon_MeadowPlate, + .iconPalette = gItemIconPalette_MeadowPlate, }, [ITEM_ICICLE_PLATE] = @@ -4023,6 +4529,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_ICE, .flingPower = 90, + .iconPic = gItemIcon_IciclePlate, + .iconPalette = gItemIconPalette_IciclePlate, }, [ITEM_FIST_PLATE] = @@ -4040,6 +4548,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_FIGHTING, .flingPower = 90, + .iconPic = gItemIcon_FistPlate, + .iconPalette = gItemIconPalette_FistPlate, }, [ITEM_TOXIC_PLATE] = @@ -4057,6 +4567,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_POISON, .flingPower = 90, + .iconPic = gItemIcon_ToxicPlate, + .iconPalette = gItemIconPalette_ToxicPlate, }, [ITEM_EARTH_PLATE] = @@ -4074,6 +4586,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_GROUND, .flingPower = 90, + .iconPic = gItemIcon_EarthPlate, + .iconPalette = gItemIconPalette_EarthPlate, }, [ITEM_SKY_PLATE] = @@ -4091,6 +4605,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_FLYING, .flingPower = 90, + .iconPic = gItemIcon_SkyPlate, + .iconPalette = gItemIconPalette_SkyPlate, }, [ITEM_MIND_PLATE] = @@ -4108,6 +4624,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_PSYCHIC, .flingPower = 90, + .iconPic = gItemIcon_MindPlate, + .iconPalette = gItemIconPalette_MindPlate, }, [ITEM_INSECT_PLATE] = @@ -4125,6 +4643,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_BUG, .flingPower = 90, + .iconPic = gItemIcon_InsectPlate, + .iconPalette = gItemIconPalette_InsectPlate, }, [ITEM_STONE_PLATE] = @@ -4142,6 +4662,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_ROCK, .flingPower = 90, + .iconPic = gItemIcon_StonePlate, + .iconPalette = gItemIconPalette_StonePlate, }, [ITEM_SPOOKY_PLATE] = @@ -4159,6 +4681,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_GHOST, .flingPower = 90, + .iconPic = gItemIcon_SpookyPlate, + .iconPalette = gItemIconPalette_SpookyPlate, }, [ITEM_DRACO_PLATE] = @@ -4176,6 +4700,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_DRAGON, .flingPower = 90, + .iconPic = gItemIcon_DracoPlate, + .iconPalette = gItemIconPalette_DracoPlate, }, [ITEM_DREAD_PLATE] = @@ -4193,6 +4719,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_DARK, .flingPower = 90, + .iconPic = gItemIcon_DreadPlate, + .iconPalette = gItemIconPalette_DreadPlate, }, [ITEM_IRON_PLATE] = @@ -4210,6 +4738,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_STEEL, .flingPower = 90, + .iconPic = gItemIcon_IronPlate, + .iconPalette = gItemIconPalette_IronPlate, }, [ITEM_PIXIE_PLATE] = @@ -4227,6 +4757,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_FAIRY, .flingPower = 90, + .iconPic = gItemIcon_PixiePlate, + .iconPalette = gItemIconPalette_PixiePlate, }, // Drives @@ -4245,6 +4777,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_WATER, .flingPower = 70, + .iconPic = gItemIcon_DouseDrive, + .iconPalette = gItemIconPalette_DouseDrive, }, [ITEM_SHOCK_DRIVE] = @@ -4261,6 +4795,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_ELECTRIC, .flingPower = 70, + .iconPic = gItemIcon_ShockDrive, + .iconPalette = gItemIconPalette_ShockDrive, }, [ITEM_BURN_DRIVE] = @@ -4277,6 +4813,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_FIRE, .flingPower = 70, + .iconPic = gItemIcon_BurnDrive, + .iconPalette = gItemIconPalette_BurnDrive, }, [ITEM_CHILL_DRIVE] = @@ -4293,6 +4831,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_ICE, .flingPower = 70, + .iconPic = gItemIcon_ChillDrive, + .iconPalette = gItemIconPalette_ChillDrive, }, // Memories @@ -4313,6 +4853,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_FIRE, .flingPower = 50, + .iconPic = gItemIcon_FireMemory, + .iconPalette = gItemIconPalette_FireMemory, }, [ITEM_WATER_MEMORY] = @@ -4331,6 +4873,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_WATER, .flingPower = 50, + .iconPic = gItemIcon_WaterMemory, + .iconPalette = gItemIconPalette_WaterMemory, }, [ITEM_ELECTRIC_MEMORY] = @@ -4349,6 +4893,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_ELECTRIC, .flingPower = 50, + .iconPic = gItemIcon_ElectricMemory, + .iconPalette = gItemIconPalette_ElectricMemory, }, [ITEM_GRASS_MEMORY] = @@ -4367,6 +4913,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_GRASS, .flingPower = 50, + .iconPic = gItemIcon_GrassMemory, + .iconPalette = gItemIconPalette_GrassMemory, }, [ITEM_ICE_MEMORY] = @@ -4385,6 +4933,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_ICE, .flingPower = 50, + .iconPic = gItemIcon_IceMemory, + .iconPalette = gItemIconPalette_IceMemory, }, [ITEM_FIGHTING_MEMORY] = @@ -4403,6 +4953,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_FIGHTING, .flingPower = 50, + .iconPic = gItemIcon_FightingMemory, + .iconPalette = gItemIconPalette_FightingMemory, }, [ITEM_POISON_MEMORY] = @@ -4421,6 +4973,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_POISON, .flingPower = 50, + .iconPic = gItemIcon_PoisonMemory, + .iconPalette = gItemIconPalette_PoisonMemory, }, [ITEM_GROUND_MEMORY] = @@ -4439,6 +4993,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_GROUND, .flingPower = 50, + .iconPic = gItemIcon_GroundMemory, + .iconPalette = gItemIconPalette_GroundMemory, }, [ITEM_FLYING_MEMORY] = @@ -4457,6 +5013,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_FLYING, .flingPower = 50, + .iconPic = gItemIcon_FlyingMemory, + .iconPalette = gItemIconPalette_FlyingMemory, }, [ITEM_PSYCHIC_MEMORY] = @@ -4475,6 +5033,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_PSYCHIC, .flingPower = 50, + .iconPic = gItemIcon_PsychicMemory, + .iconPalette = gItemIconPalette_PsychicMemory, }, [ITEM_BUG_MEMORY] = @@ -4493,6 +5053,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_BUG, .flingPower = 50, + .iconPic = gItemIcon_BugMemory, + .iconPalette = gItemIconPalette_BugMemory, }, [ITEM_ROCK_MEMORY] = @@ -4511,6 +5073,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_ROCK, .flingPower = 50, + .iconPic = gItemIcon_RockMemory, + .iconPalette = gItemIconPalette_RockMemory, }, [ITEM_GHOST_MEMORY] = @@ -4529,6 +5093,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_GHOST, .flingPower = 50, + .iconPic = gItemIcon_GhostMemory, + .iconPalette = gItemIconPalette_GhostMemory, }, [ITEM_DRAGON_MEMORY] = @@ -4547,6 +5113,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_DRAGON, .flingPower = 50, + .iconPic = gItemIcon_DragonMemory, + .iconPalette = gItemIconPalette_DragonMemory, }, [ITEM_DARK_MEMORY] = @@ -4565,6 +5133,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_DARK, .flingPower = 50, + .iconPic = gItemIcon_DarkMemory, + .iconPalette = gItemIconPalette_DarkMemory, }, [ITEM_STEEL_MEMORY] = @@ -4583,6 +5153,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_STEEL, .flingPower = 50, + .iconPic = gItemIcon_SteelMemory, + .iconPalette = gItemIconPalette_SteelMemory, }, [ITEM_FAIRY_MEMORY] = @@ -4601,6 +5173,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_FAIRY, .flingPower = 50, + .iconPic = gItemIcon_FairyMemory, + .iconPalette = gItemIconPalette_FairyMemory, }, [ITEM_RUSTED_SWORD] = @@ -4614,6 +5188,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_RustedSword, + .iconPalette = gItemIconPalette_RustedWeapons, }, [ITEM_RUSTED_SHIELD] = @@ -4627,6 +5203,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_RustedShield, + .iconPalette = gItemIconPalette_RustedWeapons, }, // Colored Orbs @@ -4643,6 +5221,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_RedOrb, + .iconPalette = gItemIconPalette_RedOrb, }, [ITEM_BLUE_ORB] = @@ -4657,6 +5237,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_BlueOrb, + .iconPalette = gItemIconPalette_BlueOrb, }, // Mega Stones @@ -4674,6 +5256,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Venusaurite, + .iconPalette = gItemIconPalette_Venusaurite, }, [ITEM_CHARIZARDITE_X] = @@ -4687,6 +5271,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_CharizarditeX, + .iconPalette = gItemIconPalette_CharizarditeX, }, [ITEM_CHARIZARDITE_Y] = @@ -4700,6 +5286,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_CharizarditeY, + .iconPalette = gItemIconPalette_CharizarditeY, }, [ITEM_BLASTOISINITE] = @@ -4715,6 +5303,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Blastoisinite, + .iconPalette = gItemIconPalette_Blastoisinite, }, [ITEM_BEEDRILLITE] = @@ -4730,6 +5320,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Beedrillite, + .iconPalette = gItemIconPalette_Beedrillite, }, [ITEM_PIDGEOTITE] = @@ -4745,6 +5337,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Pidgeotite, + .iconPalette = gItemIconPalette_Pidgeotite, }, [ITEM_ALAKAZITE] = @@ -4760,6 +5354,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Alakazite, + .iconPalette = gItemIconPalette_Alakazite, }, [ITEM_SLOWBRONITE] = @@ -4775,6 +5371,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Slowbronite, + .iconPalette = gItemIconPalette_Slowbronite, }, [ITEM_GENGARITE] = @@ -4790,6 +5388,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Gengarite, + .iconPalette = gItemIconPalette_Gengarite, }, [ITEM_KANGASKHANITE] = @@ -4805,6 +5405,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Kangaskhanite, + .iconPalette = gItemIconPalette_Kangaskhanite, }, [ITEM_PINSIRITE] = @@ -4820,6 +5422,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Pinsirite, + .iconPalette = gItemIconPalette_Pinsirite, }, [ITEM_GYARADOSITE] = @@ -4835,6 +5439,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Gyaradosite, + .iconPalette = gItemIconPalette_Gyaradosite, }, [ITEM_AERODACTYLITE] = @@ -4850,6 +5456,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Aerodactylite, + .iconPalette = gItemIconPalette_Aerodactylite, }, [ITEM_MEWTWONITE_X] = @@ -4863,6 +5471,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_MewtwoniteX, + .iconPalette = gItemIconPalette_MewtwoniteX, }, [ITEM_MEWTWONITE_Y] = @@ -4876,6 +5486,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_MewtwoniteY, + .iconPalette = gItemIconPalette_MewtwoniteY, }, [ITEM_AMPHAROSITE] = @@ -4891,6 +5503,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Ampharosite, + .iconPalette = gItemIconPalette_Ampharosite, }, [ITEM_STEELIXITE] = @@ -4906,6 +5520,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Steelixite, + .iconPalette = gItemIconPalette_Steelixite, }, [ITEM_SCIZORITE] = @@ -4921,6 +5537,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Scizorite, + .iconPalette = gItemIconPalette_Scizorite, }, [ITEM_HERACRONITE] = @@ -4936,6 +5554,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Heracronite, + .iconPalette = gItemIconPalette_Heracronite, }, [ITEM_HOUNDOOMINITE] = @@ -4951,6 +5571,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Houndoominite, + .iconPalette = gItemIconPalette_Houndoominite, }, [ITEM_TYRANITARITE] = @@ -4966,6 +5588,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Tyranitarite, + .iconPalette = gItemIconPalette_Tyranitarite, }, [ITEM_SCEPTILITE] = @@ -4981,6 +5605,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Sceptilite, + .iconPalette = gItemIconPalette_Sceptilite, }, [ITEM_BLAZIKENITE] = @@ -4996,6 +5622,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Blazikenite, + .iconPalette = gItemIconPalette_Blazikenite, }, [ITEM_SWAMPERTITE] = @@ -5011,6 +5639,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Swampertite, + .iconPalette = gItemIconPalette_Swampertite, }, [ITEM_GARDEVOIRITE] = @@ -5026,6 +5656,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Gardevoirite, + .iconPalette = gItemIconPalette_Gardevoirite, }, [ITEM_SABLENITE] = @@ -5041,6 +5673,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Sablenite, + .iconPalette = gItemIconPalette_Sablenite, }, [ITEM_MAWILITE] = @@ -5056,6 +5690,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Mawilite, + .iconPalette = gItemIconPalette_Mawilite, }, [ITEM_AGGRONITE] = @@ -5071,6 +5707,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Aggronite, + .iconPalette = gItemIconPalette_Aggronite, }, [ITEM_MEDICHAMITE] = @@ -5086,6 +5724,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Medichamite, + .iconPalette = gItemIconPalette_Medichamite, }, [ITEM_MANECTITE] = @@ -5101,6 +5741,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Manectite, + .iconPalette = gItemIconPalette_Manectite, }, [ITEM_SHARPEDONITE] = @@ -5116,6 +5758,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Sharpedonite, + .iconPalette = gItemIconPalette_Sharpedonite, }, [ITEM_CAMERUPTITE] = @@ -5131,6 +5775,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Cameruptite, + .iconPalette = gItemIconPalette_Cameruptite, }, [ITEM_ALTARIANITE] = @@ -5146,6 +5792,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Altarianite, + .iconPalette = gItemIconPalette_Altarianite, }, [ITEM_BANETTITE] = @@ -5161,6 +5809,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Banettite, + .iconPalette = gItemIconPalette_Banettite, }, [ITEM_ABSOLITE] = @@ -5176,6 +5826,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Absolite, + .iconPalette = gItemIconPalette_Absolite, }, [ITEM_GLALITITE] = @@ -5191,6 +5843,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Glalitite, + .iconPalette = gItemIconPalette_Glalitite, }, [ITEM_SALAMENCITE] = @@ -5206,6 +5860,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Salamencite, + .iconPalette = gItemIconPalette_Salamencite, }, [ITEM_METAGROSSITE] = @@ -5221,6 +5877,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Metagrossite, + .iconPalette = gItemIconPalette_Metagrossite, }, [ITEM_LATIASITE] = @@ -5236,6 +5894,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Latiasite, + .iconPalette = gItemIconPalette_Latiasite, }, [ITEM_LATIOSITE] = @@ -5251,6 +5911,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Latiosite, + .iconPalette = gItemIconPalette_Latiosite, }, [ITEM_LOPUNNITE] = @@ -5266,6 +5928,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Lopunnite, + .iconPalette = gItemIconPalette_Lopunnite, }, [ITEM_GARCHOMPITE] = @@ -5281,6 +5945,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Garchompite, + .iconPalette = gItemIconPalette_Garchompite, }, [ITEM_LUCARIONITE] = @@ -5296,6 +5962,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Lucarionite, + .iconPalette = gItemIconPalette_Lucarionite, }, [ITEM_ABOMASITE] = @@ -5311,6 +5979,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Abomasite, + .iconPalette = gItemIconPalette_Abomasite, }, [ITEM_GALLADITE] = @@ -5326,6 +5996,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Galladite, + .iconPalette = gItemIconPalette_Galladite, }, [ITEM_AUDINITE] = @@ -5341,6 +6013,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Audinite, + .iconPalette = gItemIconPalette_Audinite, }, [ITEM_DIANCITE] = @@ -5356,6 +6030,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_Diancite, + .iconPalette = gItemIconPalette_Diancite, }, // Gems @@ -5374,6 +6050,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_NORMAL, + .iconPic = gItemIcon_NormalGem, + .iconPalette = gItemIconPalette_NormalGem, }, [ITEM_FIRE_GEM] = @@ -5390,6 +6068,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_FIRE, + .iconPic = gItemIcon_FireGem, + .iconPalette = gItemIconPalette_FireGem, }, [ITEM_WATER_GEM] = @@ -5406,6 +6086,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_WATER, + .iconPic = gItemIcon_WaterGem, + .iconPalette = gItemIconPalette_WaterGem, }, [ITEM_ELECTRIC_GEM] = @@ -5422,6 +6104,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_ELECTRIC, + .iconPic = gItemIcon_ElectricGem, + .iconPalette = gItemIconPalette_ElectricGem, }, [ITEM_GRASS_GEM] = @@ -5438,6 +6122,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_GRASS, + .iconPic = gItemIcon_GrassGem, + .iconPalette = gItemIconPalette_GrassGem, }, [ITEM_ICE_GEM] = @@ -5454,6 +6140,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_ICE, + .iconPic = gItemIcon_IceGem, + .iconPalette = gItemIconPalette_IceGem, }, [ITEM_FIGHTING_GEM] = @@ -5470,6 +6158,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_FIGHTING, + .iconPic = gItemIcon_FightingGem, + .iconPalette = gItemIconPalette_FightingGem, }, [ITEM_POISON_GEM] = @@ -5486,6 +6176,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_POISON, + .iconPic = gItemIcon_PoisonGem, + .iconPalette = gItemIconPalette_PoisonGem, }, [ITEM_GROUND_GEM] = @@ -5502,6 +6194,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_GROUND, + .iconPic = gItemIcon_GroundGem, + .iconPalette = gItemIconPalette_GroundGem, }, [ITEM_FLYING_GEM] = @@ -5518,6 +6212,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_FLYING, + .iconPic = gItemIcon_FlyingGem, + .iconPalette = gItemIconPalette_FlyingGem, }, [ITEM_PSYCHIC_GEM] = @@ -5534,6 +6230,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_PSYCHIC, + .iconPic = gItemIcon_PsychicGem, + .iconPalette = gItemIconPalette_PsychicGem, }, [ITEM_BUG_GEM] = @@ -5550,6 +6248,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_BUG, + .iconPic = gItemIcon_BugGem, + .iconPalette = gItemIconPalette_BugGem, }, [ITEM_ROCK_GEM] = @@ -5566,6 +6266,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_ROCK, + .iconPic = gItemIcon_RockGem, + .iconPalette = gItemIconPalette_RockGem, }, [ITEM_GHOST_GEM] = @@ -5582,6 +6284,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_GHOST, + .iconPic = gItemIcon_GhostGem, + .iconPalette = gItemIconPalette_GhostGem, }, [ITEM_DRAGON_GEM] = @@ -5598,6 +6302,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_DRAGON, + .iconPic = gItemIcon_DragonGem, + .iconPalette = gItemIconPalette_DragonGem, }, [ITEM_DARK_GEM] = @@ -5614,6 +6320,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_DARK, + .iconPic = gItemIcon_DarkGem, + .iconPalette = gItemIconPalette_DarkGem, }, [ITEM_STEEL_GEM] = @@ -5630,6 +6338,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_STEEL, + .iconPic = gItemIcon_SteelGem, + .iconPalette = gItemIconPalette_SteelGem, }, [ITEM_FAIRY_GEM] = @@ -5646,6 +6356,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = TYPE_FAIRY, + .iconPic = gItemIcon_FairyGem, + .iconPalette = gItemIconPalette_FairyGem, }, // Z-Crystals @@ -5662,7 +6374,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_NORMAL + .secondaryId = TYPE_NORMAL, + .iconPic = gItemIcon_NormaliumZ, + .iconPalette = gItemIconPalette_NormaliumZ, }, [ITEM_FIRIUM_Z] = @@ -5677,7 +6391,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_FIRE + .secondaryId = TYPE_FIRE, + .iconPic = gItemIcon_FiriumZ, + .iconPalette = gItemIconPalette_FiriumZ, }, [ITEM_WATERIUM_Z] = @@ -5692,7 +6408,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_WATER + .secondaryId = TYPE_WATER, + .iconPic = gItemIcon_WateriumZ, + .iconPalette = gItemIconPalette_WateriumZ, }, [ITEM_ELECTRIUM_Z] = @@ -5707,7 +6425,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_ELECTRIC + .secondaryId = TYPE_ELECTRIC, + .iconPic = gItemIcon_ElectriumZ, + .iconPalette = gItemIconPalette_ElectriumZ, }, [ITEM_GRASSIUM_Z] = @@ -5722,7 +6442,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_GRASS + .secondaryId = TYPE_GRASS, + .iconPic = gItemIcon_GrassiumZ, + .iconPalette = gItemIconPalette_GrassiumZ, }, [ITEM_ICIUM_Z] = @@ -5737,7 +6459,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_ICE + .secondaryId = TYPE_ICE, + .iconPic = gItemIcon_IciumZ, + .iconPalette = gItemIconPalette_IciumZ, }, [ITEM_FIGHTINIUM_Z] = @@ -5752,7 +6476,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_FIGHTING + .secondaryId = TYPE_FIGHTING, + .iconPic = gItemIcon_FightiniumZ, + .iconPalette = gItemIconPalette_FightiniumZ, }, [ITEM_POISONIUM_Z] = @@ -5767,7 +6493,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_POISON + .secondaryId = TYPE_POISON, + .iconPic = gItemIcon_PoisoniumZ, + .iconPalette = gItemIconPalette_PoisoniumZ, }, [ITEM_GROUNDIUM_Z] = @@ -5782,7 +6510,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_GROUND + .secondaryId = TYPE_GROUND, + .iconPic = gItemIcon_GroundiumZ, + .iconPalette = gItemIconPalette_GroundiumZ, }, [ITEM_FLYINIUM_Z] = @@ -5797,7 +6527,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_FLYING + .secondaryId = TYPE_FLYING, + .iconPic = gItemIcon_FlyiniumZ, + .iconPalette = gItemIconPalette_FlyiniumZ, }, [ITEM_PSYCHIUM_Z] = @@ -5812,7 +6544,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_PSYCHIC + .secondaryId = TYPE_PSYCHIC, + .iconPic = gItemIcon_PsychiumZ, + .iconPalette = gItemIconPalette_PsychiumZ, }, [ITEM_BUGINIUM_Z] = @@ -5827,7 +6561,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_BUG + .secondaryId = TYPE_BUG, + .iconPic = gItemIcon_BuginiumZ, + .iconPalette = gItemIconPalette_BuginiumZ, }, [ITEM_ROCKIUM_Z] = @@ -5842,7 +6578,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_ROCK + .secondaryId = TYPE_ROCK, + .iconPic = gItemIcon_RockiumZ, + .iconPalette = gItemIconPalette_RockiumZ, }, [ITEM_GHOSTIUM_Z] = @@ -5857,7 +6595,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_GHOST + .secondaryId = TYPE_GHOST, + .iconPic = gItemIcon_GhostiumZ, + .iconPalette = gItemIconPalette_GhostiumZ, }, [ITEM_DRAGONIUM_Z] = @@ -5872,7 +6612,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_DRAGON + .secondaryId = TYPE_DRAGON, + .iconPic = gItemIcon_DragoniumZ, + .iconPalette = gItemIconPalette_DragoniumZ, }, [ITEM_DARKINIUM_Z] = @@ -5887,7 +6629,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_DARK + .secondaryId = TYPE_DARK, + .iconPic = gItemIcon_DarkiniumZ, + .iconPalette = gItemIconPalette_DarkiniumZ, }, [ITEM_STEELIUM_Z] = @@ -5902,7 +6646,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_STEEL + .secondaryId = TYPE_STEEL, + .iconPic = gItemIcon_SteeliumZ, + .iconPalette = gItemIconPalette_SteeliumZ, }, [ITEM_FAIRIUM_Z] = @@ -5917,7 +6663,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = TYPE_FAIRY + .secondaryId = TYPE_FAIRY, + .iconPic = gItemIcon_FairiumZ, + .iconPalette = gItemIconPalette_FairiumZ, }, [ITEM_PIKANIUM_Z] = @@ -5932,7 +6680,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = 255 // signature z move + .secondaryId = 255, // signature z move + .iconPic = gItemIcon_PikaniumZ, + .iconPalette = gItemIconPalette_PikaniumZ, }, [ITEM_EEVIUM_Z] = @@ -5947,7 +6697,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = 255 // signature z move + .secondaryId = 255, // signature z move + .iconPic = gItemIcon_EeviumZ, + .iconPalette = gItemIconPalette_EeviumZ, }, [ITEM_SNORLIUM_Z] = @@ -5962,7 +6714,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = 255 // signature z move + .secondaryId = 255, // signature z move + .iconPic = gItemIcon_SnorliumZ, + .iconPalette = gItemIconPalette_SnorliumZ, }, [ITEM_MEWNIUM_Z] = @@ -5977,7 +6731,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = 255 // signature z move + .secondaryId = 255, // signature z move + .iconPic = gItemIcon_MewniumZ, + .iconPalette = gItemIconPalette_MewniumZ, }, [ITEM_DECIDIUM_Z] = @@ -5992,7 +6748,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = 255 // signature z move + .secondaryId = 255, // signature z move + .iconPic = gItemIcon_DecidiumZ, + .iconPalette = gItemIconPalette_DecidiumZ, }, [ITEM_INCINIUM_Z] = @@ -6007,7 +6765,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = 255 // signature z move + .secondaryId = 255, // signature z move + .iconPic = gItemIcon_InciniumZ, + .iconPalette = gItemIconPalette_InciniumZ, }, [ITEM_PRIMARIUM_Z] = @@ -6022,7 +6782,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = 255 // signature z move + .secondaryId = 255, // signature z move + .iconPic = gItemIcon_PrimariumZ, + .iconPalette = gItemIconPalette_PrimariumZ, }, [ITEM_LYCANIUM_Z] = @@ -6037,7 +6799,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = 255 // signature z move + .secondaryId = 255, // signature z move + .iconPic = gItemIcon_LycaniumZ, + .iconPalette = gItemIconPalette_LycaniumZ, }, [ITEM_MIMIKIUM_Z] = @@ -6052,7 +6816,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = 255 // signature z move + .secondaryId = 255, // signature z move + .iconPic = gItemIcon_MimikiumZ, + .iconPalette = gItemIconPalette_MimikiumZ, }, [ITEM_KOMMONIUM_Z] = @@ -6067,7 +6833,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = 255 // signature z move + .secondaryId = 255, // signature z move + .iconPic = gItemIcon_KommoniumZ, + .iconPalette = gItemIconPalette_KommoniumZ, }, [ITEM_TAPUNIUM_Z] = @@ -6082,7 +6850,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = 255 //signature z move + .secondaryId = 255, //signature z move + .iconPic = gItemIcon_TapuniumZ, + .iconPalette = gItemIconPalette_TapuniumZ, }, [ITEM_SOLGANIUM_Z] = @@ -6097,7 +6867,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = 255 // signature z move + .secondaryId = 255, // signature z move + .iconPic = gItemIcon_SolganiumZ, + .iconPalette = gItemIconPalette_SolganiumZ, }, [ITEM_LUNALIUM_Z] = @@ -6112,7 +6884,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = 255 // signature z move + .secondaryId = 255, // signature z move + .iconPic = gItemIcon_LunaliumZ, + .iconPalette = gItemIconPalette_LunaliumZ, }, [ITEM_MARSHADIUM_Z] = @@ -6127,7 +6901,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = 255 // signature z move + .secondaryId = 255, // signature z move + .iconPic = gItemIcon_MarshadiumZ, + .iconPalette = gItemIconPalette_MarshadiumZ, }, [ITEM_ALORAICHIUM_Z] = @@ -6142,7 +6918,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = 255 // signature z move + .secondaryId = 255, // signature z move + .iconPic = gItemIcon_AloraichiumZ, + .iconPalette = gItemIconPalette_AloraichiumZ, }, [ITEM_PIKASHUNIUM_Z] = @@ -6157,7 +6935,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = 255 // signature z move + .secondaryId = 255, // signature z move + .iconPic = gItemIcon_PikashuniumZ, + .iconPalette = gItemIconPalette_PikashuniumZ, }, [ITEM_ULTRANECROZIUM_Z] = @@ -6172,7 +6952,9 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .secondaryId = 255 //signature z move + .secondaryId = 255, //signature z move + .iconPic = gItemIcon_UltranecroziumZ, + .iconPalette = gItemIconPalette_UltranecroziumZ, }, // Species-specific Held Items @@ -6190,6 +6972,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_LightBall, + .iconPalette = gItemIconPalette_LightBall, }, [ITEM_LEEK] = @@ -6205,6 +6989,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 60, + .iconPic = gItemIcon_Leek, + .iconPalette = gItemIconPalette_Leek, }, [ITEM_THICK_CLUB] = @@ -6220,6 +7006,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 90, + .iconPic = gItemIcon_ThickClub, + .iconPalette = gItemIconPalette_ThickClub, }, [ITEM_LUCKY_PUNCH] = @@ -6236,6 +7024,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 40, + .iconPic = gItemIcon_LuckyPunch, + .iconPalette = gItemIconPalette_LuckyPunch, }, [ITEM_METAL_POWDER] = @@ -6252,6 +7042,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_MetalPowder, + .iconPalette = gItemIconPalette_MetalPowder, }, [ITEM_QUICK_POWDER] = @@ -6268,6 +7060,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_QuickPowder, + .iconPalette = gItemIconPalette_QuickPowder, }, [ITEM_DEEP_SEA_SCALE] = @@ -6284,6 +7078,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = EVO_HELD_ITEM_FIELD_FUNC, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_DeepSeaScale, + .iconPalette = gItemIconPalette_DeepSeaScale, }, [ITEM_DEEP_SEA_TOOTH] = @@ -6301,6 +7097,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = EVO_HELD_ITEM_FIELD_FUNC, .effect = gItemEffect_EvoItem, .flingPower = 90, + .iconPic = gItemIcon_DeepSeaTooth, + .iconPalette = gItemIconPalette_DeepSeaTooth, }, [ITEM_SOUL_DEW] = @@ -6323,6 +7121,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_SoulDew, + .iconPalette = gItemIconPalette_SoulDew, }, [ITEM_ADAMANT_ORB] = @@ -6339,6 +7139,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 60, + .iconPic = gItemIcon_AdamantOrb, + .iconPalette = gItemIconPalette_AdamantOrb, }, [ITEM_LUSTROUS_ORB] = @@ -6355,6 +7157,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 60, + .iconPic = gItemIcon_LustrousOrb, + .iconPalette = gItemIconPalette_LustrousOrb, }, [ITEM_GRISEOUS_ORB] = @@ -6371,6 +7175,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 60, + .iconPic = gItemIcon_GriseousOrb, + .iconPalette = gItemIconPalette_GriseousOrb, }, // Incenses @@ -6386,6 +7192,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_SeaIncense, + .iconPalette = gItemIconPalette_SeaIncense, }, [ITEM_LAX_INCENSE] = @@ -6402,6 +7210,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_LaxIncense, + .iconPalette = gItemIconPalette_LaxIncense, }, [ITEM_ODD_INCENSE] = @@ -6415,6 +7225,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_OddIncense, + .iconPalette = gItemIconPalette_OddIncense, }, [ITEM_ROCK_INCENSE] = @@ -6428,6 +7240,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_RockIncense, + .iconPalette = gItemIconPalette_RockIncense, }, [ITEM_FULL_INCENSE] = @@ -6441,6 +7255,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_FullIncense, + .iconPalette = gItemIconPalette_FullIncense, }, [ITEM_WAVE_INCENSE] = @@ -6454,6 +7270,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_WaveIncense, + .iconPalette = gItemIconPalette_WaveIncense, }, [ITEM_ROSE_INCENSE] = @@ -6467,6 +7285,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_RoseIncense, + .iconPalette = gItemIconPalette_RoseIncense, }, [ITEM_LUCK_INCENSE] = @@ -6479,6 +7299,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_LuckIncense, + .iconPalette = gItemIconPalette_LuckIncense, }, [ITEM_PURE_INCENSE] = @@ -6491,6 +7313,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_PureIncense, + .iconPalette = gItemIconPalette_PureIncense, }, // Contest Scarves @@ -6508,6 +7332,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_Scarf, + .iconPalette = gItemIconPalette_RedScarf, }, [ITEM_BLUE_SCARF] = @@ -6523,6 +7349,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_Scarf, + .iconPalette = gItemIconPalette_BlueScarf, }, [ITEM_PINK_SCARF] = @@ -6538,6 +7366,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_Scarf, + .iconPalette = gItemIconPalette_PinkScarf, }, [ITEM_GREEN_SCARF] = @@ -6553,6 +7383,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_Scarf, + .iconPalette = gItemIconPalette_GreenScarf, }, [ITEM_YELLOW_SCARF] = @@ -6568,6 +7400,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_Scarf, + .iconPalette = gItemIconPalette_YellowScarf, }, // EV Gain Modifiers @@ -6585,6 +7419,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 60, + .iconPic = gItemIcon_MachoBrace, + .iconPalette = gItemIconPalette_MachoBrace, }, [ITEM_POWER_WEIGHT] = @@ -6602,6 +7438,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = STAT_HP, .flingPower = 70, + .iconPic = gItemIcon_PowerWeight, + .iconPalette = gItemIconPalette_PowerWeight, }, [ITEM_POWER_BRACER] = @@ -6619,6 +7457,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = STAT_ATK, .flingPower = 70, + .iconPic = gItemIcon_PowerBracer, + .iconPalette = gItemIconPalette_PowerBracer, }, [ITEM_POWER_BELT] = @@ -6636,6 +7476,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = STAT_DEF, .flingPower = 70, + .iconPic = gItemIcon_PowerBelt, + .iconPalette = gItemIconPalette_PowerBelt, }, [ITEM_POWER_LENS] = @@ -6654,6 +7496,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = STAT_SPATK, .flingPower = 70, + .iconPic = gItemIcon_PowerLens, + .iconPalette = gItemIconPalette_PowerLens, }, [ITEM_POWER_BAND] = @@ -6671,6 +7515,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = STAT_SPDEF, .flingPower = 70, + .iconPic = gItemIcon_PowerBand, + .iconPalette = gItemIconPalette_PowerBand, }, [ITEM_POWER_ANKLET] = @@ -6688,6 +7534,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = STAT_SPEED, .flingPower = 70, + .iconPic = gItemIcon_PowerAnklet, + .iconPalette = gItemIconPalette_PowerAnklet, }, // Type-boosting Held Items @@ -6707,6 +7555,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_SilkScarf, + .iconPalette = gItemIconPalette_SilkScarf, }, [ITEM_CHARCOAL] = @@ -6723,6 +7573,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_Charcoal, + .iconPalette = gItemIconPalette_Charcoal, }, [ITEM_MYSTIC_WATER] = @@ -6740,6 +7592,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_MysticWater, + .iconPalette = gItemIconPalette_MysticWater, }, [ITEM_MAGNET] = @@ -6756,6 +7610,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_Magnet, + .iconPalette = gItemIconPalette_Magnet, }, [ITEM_MIRACLE_SEED] = @@ -6769,6 +7625,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_MiracleSeed, + .iconPalette = gItemIconPalette_MiracleSeed, }, [ITEM_NEVER_MELT_ICE] = @@ -6786,6 +7644,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_NeverMeltIce, + .iconPalette = gItemIconPalette_NeverMeltIce, }, [ITEM_BLACK_BELT] = @@ -6802,6 +7662,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_BlackBelt, + .iconPalette = gItemIconPalette_BlackTypeEnhancingItem, }, [ITEM_POISON_BARB] = @@ -6818,6 +7680,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 70, + .iconPic = gItemIcon_PoisonBarb, + .iconPalette = gItemIconPalette_PoisonBarb, }, [ITEM_SOFT_SAND] = @@ -6835,6 +7699,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_SoftSand, + .iconPalette = gItemIconPalette_SoftSand, }, [ITEM_SHARP_BEAK] = @@ -6851,6 +7717,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 50, + .iconPic = gItemIcon_SharpBeak, + .iconPalette = gItemIconPalette_SharpBeak, }, [ITEM_TWISTED_SPOON] = @@ -6864,6 +7732,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_TwistedSpoon, + .iconPalette = gItemIconPalette_TwistedSpoon, }, [ITEM_SILVER_POWDER] = @@ -6881,6 +7751,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_SilverPowder, + .iconPalette = gItemIconPalette_SilverPowder, }, [ITEM_HARD_STONE] = @@ -6894,6 +7766,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_HardStone, + .iconPalette = gItemIconPalette_HardStone, }, [ITEM_SPELL_TAG] = @@ -6910,6 +7784,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_SpellTag, + .iconPalette = gItemIconPalette_SpellTag, }, [ITEM_DRAGON_FANG] = @@ -6926,6 +7802,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 70, + .iconPic = gItemIcon_DragonFang, + .iconPalette = gItemIconPalette_DragonFang, }, [ITEM_BLACK_GLASSES] = @@ -6943,6 +7821,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_BlackGlasses, + .iconPalette = gItemIconPalette_BlackTypeEnhancingItem, }, [ITEM_METAL_COAT] = @@ -6960,6 +7840,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = EVO_HELD_ITEM_FIELD_FUNC, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_MetalCoat, + .iconPalette = gItemIconPalette_MetalCoat, }, // Choice Items @@ -6977,6 +7859,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_ChoiceBand, + .iconPalette = gItemIconPalette_ChoiceBand, }, [ITEM_CHOICE_SPECS] = @@ -6993,6 +7877,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_ChoiceSpecs, + .iconPalette = gItemIconPalette_ChoiceSpecs, }, [ITEM_CHOICE_SCARF] = @@ -7009,6 +7895,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_ChoiceScarf, + .iconPalette = gItemIconPalette_ChoiceScarf, }, // Status Orbs @@ -7026,6 +7914,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_FlameOrb, + .iconPalette = gItemIconPalette_FlameOrb, }, [ITEM_TOXIC_ORB] = @@ -7041,6 +7931,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_ToxicOrb, + .iconPalette = gItemIconPalette_ToxicOrb, }, // Weather Rocks @@ -7058,6 +7950,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 60, + .iconPic = gItemIcon_DampRock, + .iconPalette = gItemIconPalette_DampRock, }, [ITEM_HEAT_ROCK] = @@ -7073,6 +7967,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 60, + .iconPic = gItemIcon_HeatRock, + .iconPalette = gItemIconPalette_HeatRock, }, [ITEM_SMOOTH_ROCK] = @@ -7088,6 +7984,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_SmoothRock, + .iconPalette = gItemIconPalette_SmoothRock, }, [ITEM_ICY_ROCK] = @@ -7103,6 +8001,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 40, + .iconPic = gItemIcon_IcyRock, + .iconPalette = gItemIconPalette_IcyRock, }, // Terrain Seeds @@ -7121,6 +8021,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_ElectricSeed, + .iconPalette = gItemIconPalette_ElectricSeed, }, [ITEM_PSYCHIC_SEED] = @@ -7137,6 +8039,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_PsychicSeed, + .iconPalette = gItemIconPalette_PsychicSeed, }, [ITEM_MISTY_SEED] = @@ -7153,6 +8057,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_MistySeed, + .iconPalette = gItemIconPalette_MistySeed, }, [ITEM_GRASSY_SEED] = @@ -7169,6 +8075,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_GrassySeed, + .iconPalette = gItemIconPalette_GrassySeed, }, // Type-activated Stat Modifiers @@ -7187,6 +8095,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_AbsorbBulb, + .iconPalette = gItemIconPalette_AbsorbBulb, }, [ITEM_CELL_BATTERY] = @@ -7204,6 +8114,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_CellBattery, + .iconPalette = gItemIconPalette_CellBattery, }, [ITEM_LUMINOUS_MOSS] = @@ -7221,6 +8133,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_LuminousMoss, + .iconPalette = gItemIconPalette_LuminousMoss, }, [ITEM_SNOWBALL] = @@ -7237,6 +8151,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_Snowball, + .iconPalette = gItemIconPalette_Snowball, }, // Misc. Held Items @@ -7256,6 +8172,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_BrightPowder, + .iconPalette = gItemIconPalette_BrightPowder, }, [ITEM_WHITE_HERB] = @@ -7271,6 +8189,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_InBattleHerb, + .iconPalette = gItemIconPalette_WhiteHerb, }, [ITEM_EXP_SHARE] = @@ -7294,6 +8214,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_ExpShare, .flingPower = 30, + .iconPic = gItemIcon_ExpShare, + .iconPalette = gItemIconPalette_ExpShare, }, [ITEM_QUICK_CLAW] = @@ -7310,6 +8232,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_QuickClaw, + .iconPalette = gItemIconPalette_QuickClaw, }, [ITEM_SOOTHE_BELL] = @@ -7325,6 +8249,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_SootheBell, + .iconPalette = gItemIconPalette_SootheBell, }, [ITEM_MENTAL_HERB] = @@ -7346,6 +8272,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_InBattleHerb, + .iconPalette = gItemIconPalette_MentalHerb, }, [ITEM_KINGS_ROCK] = @@ -7360,6 +8288,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = EVO_HELD_ITEM_FIELD_FUNC, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_KingsRock, + .iconPalette = gItemIconPalette_KingsRock, }, [ITEM_AMULET_COIN] = @@ -7372,6 +8302,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_AmuletCoin, + .iconPalette = gItemIconPalette_AmuletCoin, }, [ITEM_CLEANSE_TAG] = @@ -7384,6 +8316,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_CleanseTag, + .iconPalette = gItemIconPalette_CleanseTag, }, [ITEM_SMOKE_BALL] = @@ -7399,6 +8333,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_SmokeBall, + .iconPalette = gItemIconPalette_SmokeBall, }, [ITEM_FOCUS_BAND] = @@ -7415,6 +8351,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_FocusBand, + .iconPalette = gItemIconPalette_FocusBand, }, [ITEM_LUCKY_EGG] = @@ -7430,6 +8368,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_LuckyEgg, + .iconPalette = gItemIconPalette_LuckyEgg, }, [ITEM_SCOPE_LENS] = @@ -7446,6 +8386,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_ScopeLens, + .iconPalette = gItemIconPalette_ScopeLens, }, [ITEM_LEFTOVERS] = @@ -7463,6 +8405,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_Leftovers, + .iconPalette = gItemIconPalette_Leftovers, }, [ITEM_SHELL_BELL] = @@ -7479,6 +8423,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_ShellBell, + .iconPalette = gItemIconPalette_Shell, }, [ITEM_WIDE_LENS] = @@ -7496,6 +8442,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_WideLens, + .iconPalette = gItemIconPalette_WideLens, }, [ITEM_MUSCLE_BAND] = @@ -7512,6 +8460,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_MuscleBand, + .iconPalette = gItemIconPalette_MuscleBand, }, [ITEM_WISE_GLASSES] = @@ -7529,6 +8479,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_WiseGlasses, + .iconPalette = gItemIconPalette_WiseGlasses, }, [ITEM_EXPERT_BELT] = @@ -7545,6 +8497,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_ExpertBelt, + .iconPalette = gItemIconPalette_ExpertBelt, }, [ITEM_LIGHT_CLAY] = @@ -7561,6 +8515,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_LightClay, + .iconPalette = gItemIconPalette_LightClay, }, [ITEM_LIFE_ORB] = @@ -7576,6 +8532,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_LifeOrb, + .iconPalette = gItemIconPalette_LifeOrb, }, [ITEM_POWER_HERB] = @@ -7591,6 +8549,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_PowerHerb, + .iconPalette = gItemIconPalette_PowerHerb, }, [ITEM_FOCUS_SASH] = @@ -7607,6 +8567,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_FocusSash, + .iconPalette = gItemIconPalette_FocusSash, }, [ITEM_ZOOM_LENS] = @@ -7624,6 +8586,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_ZoomLens, + .iconPalette = gItemIconPalette_ZoomLens, }, [ITEM_METRONOME] = @@ -7640,6 +8604,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_Metronome, + .iconPalette = gItemIconPalette_Metronome, }, [ITEM_IRON_BALL] = @@ -7655,6 +8621,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 130, + .iconPic = gItemIcon_IronBall, + .iconPalette = gItemIconPalette_IronBall, }, [ITEM_LAGGING_TAIL] = @@ -7667,6 +8635,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_LaggingTail, + .iconPalette = gItemIconPalette_LaggingTail, }, [ITEM_DESTINY_KNOT] = @@ -7682,6 +8652,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_DestinyKnot, + .iconPalette = gItemIconPalette_DestinyKnot, }, [ITEM_BLACK_SLUDGE] = @@ -7698,6 +8670,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_BlackSludge, + .iconPalette = gItemIconPalette_BlackSludge, }, [ITEM_GRIP_CLAW] = @@ -7713,6 +8687,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 90, + .iconPic = gItemIcon_GripClaw, + .iconPalette = gItemIconPalette_GripClaw, }, [ITEM_STICKY_BARB] = @@ -7728,6 +8704,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_StickyBarb, + .iconPalette = gItemIconPalette_StickyBarb, }, [ITEM_SHED_SHELL] = @@ -7743,6 +8721,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_ShedShell, + .iconPalette = gItemIconPalette_ShedShell, }, [ITEM_BIG_ROOT] = @@ -7759,6 +8739,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_BigRoot, + .iconPalette = gItemIconPalette_BigRoot, }, [ITEM_RAZOR_CLAW] = @@ -7775,6 +8757,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = EVO_HELD_ITEM_FIELD_FUNC, .effect = gItemEffect_EvoItem, .flingPower = 80, + .iconPic = gItemIcon_RazorClaw, + .iconPalette = gItemIconPalette_RazorClaw, }, [ITEM_RAZOR_FANG] = @@ -7789,6 +8773,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = EVO_HELD_ITEM_FIELD_FUNC, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_RazorFang, + .iconPalette = gItemIconPalette_RazorFang, }, [ITEM_EVIOLITE] = @@ -7805,6 +8791,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 40, + .iconPic = gItemIcon_Eviolite, + .iconPalette = gItemIconPalette_Eviolite, }, [ITEM_FLOAT_STONE] = @@ -7820,6 +8808,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_FloatStone, + .iconPalette = gItemIconPalette_FloatStone, }, [ITEM_ROCKY_HELMET] = @@ -7836,6 +8826,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 60, + .iconPic = gItemIcon_RockyHelmet, + .iconPalette = gItemIconPalette_RockyHelmet, }, [ITEM_AIR_BALLOON] = @@ -7852,6 +8844,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_AirBalloon, + .iconPalette = gItemIconPalette_AirBalloon, }, [ITEM_RED_CARD] = @@ -7868,6 +8862,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_RedCard, + .iconPalette = gItemIconPalette_RedCard, }, [ITEM_RING_TARGET] = @@ -7884,6 +8880,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_RingTarget, + .iconPalette = gItemIconPalette_RingTarget, }, [ITEM_BINDING_BAND] = @@ -7899,6 +8897,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_BindingBand, + .iconPalette = gItemIconPalette_BindingBand, }, [ITEM_EJECT_BUTTON] = @@ -7915,6 +8915,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_EjectButton, + .iconPalette = gItemIconPalette_EjectButton, }, [ITEM_WEAKNESS_POLICY] = @@ -7932,6 +8934,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_WeaknessPolicy, + .iconPalette = gItemIconPalette_WeaknessPolicy, }, [ITEM_ASSAULT_VEST] = @@ -7948,6 +8952,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_AssaultVest, + .iconPalette = gItemIconPalette_AssaultVest, }, [ITEM_SAFETY_GOGGLES] = @@ -7964,6 +8970,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_SafetyGoggles, + .iconPalette = gItemIconPalette_SafetyGoggles, }, [ITEM_ADRENALINE_ORB] = @@ -7979,6 +8987,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_AdrenalineOrb, + .iconPalette = gItemIconPalette_AdrenalineOrb, }, [ITEM_TERRAIN_EXTENDER] = @@ -7994,6 +9004,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 60, + .iconPic = gItemIcon_TerrainExtender, + .iconPalette = gItemIconPalette_TerrainExtender, }, [ITEM_PROTECTIVE_PADS] = @@ -8010,6 +9022,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_ProtectivePads, + .iconPalette = gItemIconPalette_ProtectivePads, }, [ITEM_THROAT_SPRAY] = @@ -8025,6 +9039,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_ThroatSpray, + .iconPalette = gItemIconPalette_ThroatSpray, }, [ITEM_EJECT_PACK] = @@ -8040,6 +9056,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 50, + .iconPic = gItemIcon_EjectPack, + .iconPalette = gItemIconPalette_EjectPack, }, [ITEM_HEAVY_DUTY_BOOTS] = @@ -8056,6 +9074,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_HeavyDutyBoots, + .iconPalette = gItemIconPalette_HeavyDutyBoots, }, [ITEM_BLUNDER_POLICY] = @@ -8072,6 +9092,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 80, + .iconPic = gItemIcon_BlunderPolicy, + .iconPalette = gItemIconPalette_BlunderPolicy, }, [ITEM_ROOM_SERVICE] = @@ -8087,6 +9109,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 100, + .iconPic = gItemIcon_RoomService, + .iconPalette = gItemIconPalette_RoomService, }, [ITEM_UTILITY_UMBRELLA] = @@ -8102,6 +9126,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 60, + .iconPic = gItemIcon_UtilityUmbrella, + .iconPalette = gItemIconPalette_UtilityUmbrella, }, // Berries @@ -8122,6 +9148,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_ParalyzeHeal, .flingPower = 10, + .iconPic = gItemIcon_CheriBerry, + .iconPalette = gItemIconPalette_CheriBerry, }, [ITEM_CHESTO_BERRY] = @@ -8140,6 +9168,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_Awakening, .flingPower = 10, + .iconPic = gItemIcon_ChestoBerry, + .iconPalette = gItemIconPalette_ChestoBerry, }, [ITEM_PECHA_BERRY] = @@ -8158,6 +9188,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_Antidote, .flingPower = 10, + .iconPic = gItemIcon_PechaBerry, + .iconPalette = gItemIconPalette_PechaBerry, }, [ITEM_RAWST_BERRY] = @@ -8176,6 +9208,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_BurnHeal, .flingPower = 10, + .iconPic = gItemIcon_RawstBerry, + .iconPalette = gItemIconPalette_RawstBerry, }, [ITEM_ASPEAR_BERRY] = @@ -8194,6 +9228,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_IceHeal, .flingPower = 10, + .iconPic = gItemIcon_AspearBerry, + .iconPalette = gItemIconPalette_AspearBerry, }, [ITEM_LEPPA_BERRY] = @@ -8213,6 +9249,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_PP, .effect = gItemEffect_LeppaBerry, .flingPower = 10, + .iconPic = gItemIcon_LeppaBerry, + .iconPalette = gItemIconPalette_LeppaBerry, }, [ITEM_ORAN_BERRY] = @@ -8232,6 +9270,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_HP, .effect = gItemEffect_OranBerry, .flingPower = 10, + .iconPic = gItemIcon_OranBerry, + .iconPalette = gItemIconPalette_OranBerry, }, [ITEM_PERSIM_BERRY] = @@ -8250,6 +9290,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_PersimBerry, .flingPower = 10, + .iconPic = gItemIcon_PersimBerry, + .iconPalette = gItemIconPalette_PersimBerry, }, [ITEM_LUM_BERRY] = @@ -8268,6 +9310,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_CURE_STATUS, .effect = gItemEffect_FullHeal, .flingPower = 10, + .iconPic = gItemIcon_LumBerry, + .iconPalette = gItemIconPalette_LumBerry, }, [ITEM_SITRUS_BERRY] = @@ -8296,6 +9340,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_HP, .effect = gItemEffect_SitrusBerry, .flingPower = 10, + .iconPic = gItemIcon_SitrusBerry, + .iconPalette = gItemIconPalette_SitrusBerry, }, [ITEM_FIGY_BERRY] = @@ -8310,6 +9356,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_FigyBerry, + .iconPalette = gItemIconPalette_FigyBerry, }, [ITEM_WIKI_BERRY] = @@ -8324,6 +9372,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_WikiBerry, + .iconPalette = gItemIconPalette_WikiBerry, }, [ITEM_MAGO_BERRY] = @@ -8338,6 +9388,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_MagoBerry, + .iconPalette = gItemIconPalette_MagoBerry, }, [ITEM_AGUAV_BERRY] = @@ -8352,6 +9404,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_AguavBerry, + .iconPalette = gItemIconPalette_AguavBerry, }, [ITEM_IAPAPA_BERRY] = @@ -8366,6 +9420,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_IapapaBerry, + .iconPalette = gItemIconPalette_IapapaBerry, }, [ITEM_RAZZ_BERRY] = @@ -8381,6 +9437,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_RazzBerry, + .iconPalette = gItemIconPalette_RazzBerry, }, [ITEM_BLUK_BERRY] = @@ -8396,6 +9454,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_BlukBerry, + .iconPalette = gItemIconPalette_BlukBerry, }, [ITEM_NANAB_BERRY] = @@ -8411,6 +9471,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_NanabBerry, + .iconPalette = gItemIconPalette_NanabBerry, }, [ITEM_WEPEAR_BERRY] = @@ -8426,6 +9488,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_WepearBerry, + .iconPalette = gItemIconPalette_WepearBerry, }, [ITEM_PINAP_BERRY] = @@ -8441,6 +9505,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_PinapBerry, + .iconPalette = gItemIconPalette_PinapBerry, }, [ITEM_POMEG_BERRY] = @@ -8457,6 +9523,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, .effect = gItemEffect_PomegBerry, .flingPower = 10, + .iconPic = gItemIcon_PomegBerry, + .iconPalette = gItemIconPalette_PomegBerry, }, [ITEM_KELPSY_BERRY] = @@ -8473,6 +9541,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, .effect = gItemEffect_KelpsyBerry, .flingPower = 10, + .iconPic = gItemIcon_KelpsyBerry, + .iconPalette = gItemIconPalette_KelpsyBerry, }, [ITEM_QUALOT_BERRY] = @@ -8489,6 +9559,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, .effect = gItemEffect_QualotBerry, .flingPower = 10, + .iconPic = gItemIcon_QualotBerry, + .iconPalette = gItemIconPalette_QualotBerry, }, [ITEM_HONDEW_BERRY] = @@ -8505,6 +9577,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, .effect = gItemEffect_HondewBerry, .flingPower = 10, + .iconPic = gItemIcon_HondewBerry, + .iconPalette = gItemIconPalette_HondewBerry, }, [ITEM_GREPA_BERRY] = @@ -8521,6 +9595,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, .effect = gItemEffect_GrepaBerry, .flingPower = 10, + .iconPic = gItemIcon_GrepaBerry, + .iconPalette = gItemIconPalette_GrepaBerry, }, [ITEM_TAMATO_BERRY] = @@ -8537,6 +9613,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, .effect = gItemEffect_TamatoBerry, .flingPower = 10, + .iconPic = gItemIcon_TamatoBerry, + .iconPalette = gItemIconPalette_TamatoBerry, }, [ITEM_CORNN_BERRY] = @@ -8552,6 +9630,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_CornnBerry, + .iconPalette = gItemIconPalette_CornnBerry, }, [ITEM_MAGOST_BERRY] = @@ -8567,6 +9647,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_MagostBerry, + .iconPalette = gItemIconPalette_MagostBerry, }, [ITEM_RABUTA_BERRY] = @@ -8582,6 +9664,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_RabutaBerry, + .iconPalette = gItemIconPalette_RabutaBerry, }, [ITEM_NOMEL_BERRY] = @@ -8597,6 +9681,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_NomelBerry, + .iconPalette = gItemIconPalette_NomelBerry, }, [ITEM_SPELON_BERRY] = @@ -8612,6 +9698,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_SpelonBerry, + .iconPalette = gItemIconPalette_SpelonBerry, }, [ITEM_PAMTRE_BERRY] = @@ -8627,6 +9715,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_PamtreBerry, + .iconPalette = gItemIconPalette_PamtreBerry, }, [ITEM_WATMEL_BERRY] = @@ -8642,6 +9732,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_WatmelBerry, + .iconPalette = gItemIconPalette_WatmelBerry, }, [ITEM_DURIN_BERRY] = @@ -8657,6 +9749,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_DurinBerry, + .iconPalette = gItemIconPalette_DurinBerry, }, [ITEM_BELUE_BERRY] = @@ -8672,6 +9766,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_BelueBerry, + .iconPalette = gItemIconPalette_BelueBerry, }, [ITEM_CHILAN_BERRY] = @@ -8689,6 +9785,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_ChilanBerry, + .iconPalette = gItemIconPalette_ChilanBerry, }, [ITEM_OCCA_BERRY] = @@ -8706,6 +9804,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_OccaBerry, + .iconPalette = gItemIconPalette_OccaBerry, }, [ITEM_PASSHO_BERRY] = @@ -8723,6 +9823,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_PasshoBerry, + .iconPalette = gItemIconPalette_PasshoBerry, }, [ITEM_WACAN_BERRY] = @@ -8740,6 +9842,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_WacanBerry, + .iconPalette = gItemIconPalette_WacanBerry, }, [ITEM_RINDO_BERRY] = @@ -8757,6 +9861,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_RindoBerry, + .iconPalette = gItemIconPalette_RindoBerry, }, [ITEM_YACHE_BERRY] = @@ -8774,6 +9880,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_YacheBerry, + .iconPalette = gItemIconPalette_YacheBerry, }, [ITEM_CHOPLE_BERRY] = @@ -8791,6 +9899,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_ChopleBerry, + .iconPalette = gItemIconPalette_ChopleBerry, }, [ITEM_KEBIA_BERRY] = @@ -8808,6 +9918,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_KebiaBerry, + .iconPalette = gItemIconPalette_KebiaBerry, }, [ITEM_SHUCA_BERRY] = @@ -8825,6 +9937,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_ShucaBerry, + .iconPalette = gItemIconPalette_ShucaBerry, }, [ITEM_COBA_BERRY] = @@ -8842,6 +9956,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_CobaBerry, + .iconPalette = gItemIconPalette_CobaBerry, }, [ITEM_PAYAPA_BERRY] = @@ -8859,6 +9975,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_PayapaBerry, + .iconPalette = gItemIconPalette_PayapaBerry, }, [ITEM_TANGA_BERRY] = @@ -8876,6 +9994,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_TangaBerry, + .iconPalette = gItemIconPalette_TangaBerry, }, [ITEM_CHARTI_BERRY] = @@ -8893,6 +10013,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_ChartiBerry, + .iconPalette = gItemIconPalette_ChartiBerry, }, [ITEM_KASIB_BERRY] = @@ -8910,6 +10032,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_KasibBerry, + .iconPalette = gItemIconPalette_KasibBerry, }, [ITEM_HABAN_BERRY] = @@ -8927,6 +10051,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_HabanBerry, + .iconPalette = gItemIconPalette_HabanBerry, }, [ITEM_COLBUR_BERRY] = @@ -8944,6 +10070,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_ColburBerry, + .iconPalette = gItemIconPalette_ColburBerry, }, [ITEM_BABIRI_BERRY] = @@ -8961,6 +10089,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_BabiriBerry, + .iconPalette = gItemIconPalette_BabiriBerry, }, [ITEM_ROSELI_BERRY] = @@ -8978,6 +10108,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_RoseliBerry, + .iconPalette = gItemIconPalette_RoseliBerry, }, [ITEM_LIECHI_BERRY] = @@ -8995,6 +10127,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_LiechiBerry, + .iconPalette = gItemIconPalette_LiechiBerry, }, [ITEM_GANLON_BERRY] = @@ -9012,6 +10146,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_GanlonBerry, + .iconPalette = gItemIconPalette_GanlonBerry, }, [ITEM_SALAC_BERRY] = @@ -9029,6 +10165,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_SalacBerry, + .iconPalette = gItemIconPalette_SalacBerry, }, [ITEM_PETAYA_BERRY] = @@ -9046,6 +10184,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_PetayaBerry, + .iconPalette = gItemIconPalette_PetayaBerry, }, [ITEM_APICOT_BERRY] = @@ -9063,6 +10203,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_ApicotBerry, + .iconPalette = gItemIconPalette_ApicotBerry, }, [ITEM_LANSAT_BERRY] = @@ -9080,6 +10222,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_LansatBerry, + .iconPalette = gItemIconPalette_LansatBerry, }, [ITEM_STARF_BERRY] = @@ -9097,6 +10241,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_StarfBerry, + .iconPalette = gItemIconPalette_StarfBerry, }, [ITEM_ENIGMA_BERRY] = @@ -9113,6 +10259,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_EnigmaBerry, + .iconPalette = gItemIconPalette_EnigmaBerry, }, [ITEM_MICLE_BERRY] = @@ -9130,6 +10278,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_MicleBerry, + .iconPalette = gItemIconPalette_MicleBerry, }, [ITEM_CUSTAP_BERRY] = @@ -9147,6 +10297,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_CustapBerry, + .iconPalette = gItemIconPalette_CustapBerry, }, [ITEM_JABOCA_BERRY] = @@ -9163,6 +10315,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_JabocaBerry, + .iconPalette = gItemIconPalette_JabocaBerry, }, [ITEM_ROWAP_BERRY] = @@ -9179,6 +10333,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_RowapBerry, + .iconPalette = gItemIconPalette_RowapBerry, }, [ITEM_KEE_BERRY] = @@ -9195,6 +10351,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_KeeBerry, + .iconPalette = gItemIconPalette_KeeBerry, }, [ITEM_MARANGA_BERRY] = @@ -9211,6 +10369,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_MarangaBerry, + .iconPalette = gItemIconPalette_MarangaBerry, }, [ITEM_ENIGMA_BERRY_E_READER] = @@ -9227,6 +10387,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EnigmaBerry, .battleUsage = EFFECT_ITEM_ENIGMA_BERRY_EREADER, .flingPower = 10, + .iconPic = gItemIcon_EnigmaBerry, + .iconPalette = gItemIconPalette_EnigmaBerry, }, // TMs/HMs. They don't have a set flingPower, as that's handled by GetFlingPowerFromItemId. @@ -10726,6 +11888,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_OvalCharm, + .iconPalette = gItemIconPalette_OvalCharm, }, [ITEM_SHINY_CHARM] = @@ -10740,6 +11904,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_ShinyCharm, + .iconPalette = gItemIconPalette_ShinyCharm, }, [ITEM_CATCHING_CHARM] = @@ -10754,6 +11920,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_CatchingCharm, + .iconPalette = gItemIconPalette_CatchingCharm, }, [ITEM_EXP_CHARM] = @@ -10768,6 +11936,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_ExpCharm, + .iconPalette = gItemIconPalette_ExpCharm, }, // Form-changing Key Items @@ -10784,6 +11954,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_RotomCatalog, + .iconPic = gItemIcon_RotomCatalog, + .iconPalette = gItemIconPalette_RotomCatalog, }, [ITEM_GRACIDEA] = @@ -10798,6 +11970,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_FormChange, + .iconPic = gItemIcon_Gracidea, + .iconPalette = gItemIconPalette_Gracidea, }, [ITEM_REVEAL_GLASS] = @@ -10813,6 +11987,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_FormChange, + .iconPic = gItemIcon_RevealGlass, + .iconPalette = gItemIconPalette_RevealGlass, }, [ITEM_DNA_SPLICERS] = @@ -10828,6 +12004,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_Fusion, + .iconPic = gItemIcon_DNASplicers, + .iconPalette = gItemIconPalette_DNASplicers, }, [ITEM_ZYGARDE_CUBE] = @@ -10842,6 +12020,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_ZygardeCube, + .iconPic = gItemIcon_ZygardeCube, + .iconPalette = gItemIconPalette_ZygardeCube, }, [ITEM_PRISON_BOTTLE] = @@ -10856,6 +12036,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_FormChange, + .iconPic = gItemIcon_PrisonBottle, + .iconPalette = gItemIconPalette_PrisonBottle, }, [ITEM_N_SOLARIZER] = @@ -10870,6 +12052,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_Fusion, + .iconPic = gItemIcon_NecrozmaFuser, + .iconPalette = gItemIconPalette_NSolarizer, }, [ITEM_N_LUNARIZER] = @@ -10884,6 +12068,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_Fusion, + .iconPic = gItemIcon_NecrozmaFuser, + .iconPalette = gItemIconPalette_NLunarizer, }, [ITEM_REINS_OF_UNITY] = @@ -10899,6 +12085,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_Fusion, + .iconPic = gItemIcon_ReinsOfUnity, + .iconPalette = gItemIconPalette_ReinsOfUnity, }, // Battle Mechanic Key Items @@ -10915,6 +12103,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_MegaRing, + .iconPalette = gItemIconPalette_MegaRing, }, [ITEM_Z_POWER_RING] = @@ -10929,6 +12119,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_ZPowerRing, + .iconPalette = gItemIconPalette_ZPowerRing, }, [ITEM_DYNAMAX_BAND] = @@ -10942,6 +12134,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_DynamaxBand, + .iconPalette = gItemIconPalette_DynamaxBand, }, // Misc. Key Items @@ -10958,6 +12152,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_Bicycle, + .iconPalette = gItemIconPalette_Bicycle, }, [ITEM_MACH_BIKE] = @@ -10973,6 +12169,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_Bike, .secondaryId = MACH_BIKE, + .iconPic = gItemIcon_MachBike, + .iconPalette = gItemIconPalette_MachBike, }, [ITEM_ACRO_BIKE] = @@ -10988,6 +12186,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_Bike, .secondaryId = ACRO_BIKE, + .iconPic = gItemIcon_AcroBike, + .iconPalette = gItemIconPalette_AcroBike, }, [ITEM_OLD_ROD] = @@ -11003,6 +12203,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_Rod, .secondaryId = OLD_ROD, + .iconPic = gItemIcon_OldRod, + .iconPalette = gItemIconPalette_OldRod, }, [ITEM_GOOD_ROD] = @@ -11018,6 +12220,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_Rod, .secondaryId = GOOD_ROD, + .iconPic = gItemIcon_GoodRod, + .iconPalette = gItemIconPalette_GoodRod, }, [ITEM_SUPER_ROD] = @@ -11033,6 +12237,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_Rod, .secondaryId = SUPER_ROD, + .iconPic = gItemIcon_SuperRod, + .iconPalette = gItemIconPalette_SuperRod, }, [ITEM_DOWSING_MACHINE] = @@ -11047,6 +12253,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_Itemfinder, + .iconPic = gItemIcon_DowsingMachine, + .iconPalette = gItemIconPalette_DowsingMachine, }, [ITEM_TOWN_MAP] = @@ -11061,6 +12269,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TownMap, + .iconPalette = gItemIconPalette_TownMap, }, [ITEM_VS_SEEKER] = @@ -11079,6 +12289,8 @@ const struct Item gItemsInfo[] = #else .fieldUseFunc = ItemUseOutOfBattle_CannotUse, #endif + .iconPic = gItemIcon_VsSeeker, + .iconPalette = gItemIconPalette_VsSeeker, }, [ITEM_TM_CASE] = @@ -11093,6 +12305,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TMCase, + .iconPalette = gItemIconPalette_TMCase, }, [ITEM_BERRY_POUCH] = @@ -11108,6 +12322,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_BerryPouch, + .iconPalette = gItemIconPalette_BerryPouch, }, [ITEM_POKEMON_BOX_LINK] = @@ -11122,6 +12338,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_PokemonBoxLink, + .iconPic = gItemIcon_PokemonBoxLink, + .iconPalette = gItemIconPalette_PokemonBoxLink, }, [ITEM_COIN_CASE] = @@ -11135,6 +12353,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CoinCase, + .iconPic = gItemIcon_CoinCase, + .iconPalette = gItemIconPalette_CoinCase, }, [ITEM_POWDER_JAR] = @@ -11149,6 +12369,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_PowderJar, + .iconPic = gItemIcon_PowderJar, + .iconPalette = gItemIconPalette_PowderJar, }, [ITEM_WAILMER_PAIL] = @@ -11163,6 +12385,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_WailmerPail, + .iconPic = gItemIcon_WailmerPail, + .iconPalette = gItemIconPalette_WailmerPail, }, [ITEM_POKE_RADAR] = @@ -11177,6 +12401,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, // Todo + .iconPic = gItemIcon_PokeRadar, + .iconPalette = gItemIconPalette_PokeRadar, }, [ITEM_POKEBLOCK_CASE] = @@ -11191,6 +12417,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_PBLOCK_CASE, .fieldUseFunc = ItemUseOutOfBattle_PokeblockCase, + .iconPic = gItemIcon_PokeblockCase, + .iconPalette = gItemIconPalette_PokeblockCase, }, [ITEM_SOOT_SACK] = @@ -11205,6 +12433,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_SootSack, + .iconPalette = gItemIconPalette_SootSack, }, [ITEM_POKE_FLUTE] = @@ -11219,6 +12449,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_PokeFlute, + .iconPalette = gItemIconPalette_PokeFlute, }, [ITEM_FAME_CHECKER] = @@ -11233,6 +12465,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_FameChecker, + .iconPalette = gItemIconPalette_FameChecker, }, [ITEM_TEACHY_TV] = @@ -11247,6 +12481,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeachyTV, + .iconPalette = gItemIconPalette_TeachyTV, }, // Story Key Items @@ -11263,6 +12499,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_SSTicket, + .iconPalette = gItemIconPalette_SSTicket, }, [ITEM_EON_TICKET] = @@ -11278,6 +12516,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .secondaryId = 1, + .iconPic = gItemIcon_EonTicket, + .iconPalette = gItemIconPalette_EonTicket, }, [ITEM_MYSTIC_TICKET] = @@ -11292,6 +12532,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_MysticTicket, + .iconPalette = gItemIconPalette_MysticTicket, }, [ITEM_AURORA_TICKET] = @@ -11306,6 +12548,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_AuroraTicket, + .iconPalette = gItemIconPalette_AuroraTicket, }, [ITEM_OLD_SEA_MAP] = @@ -11320,6 +12564,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_OldSeaMap, + .iconPalette = gItemIconPalette_OldSeaMap, }, [ITEM_LETTER] = @@ -11334,6 +12580,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_Letter, + .iconPalette = gItemIconPalette_LavaCookieAndLetter, }, [ITEM_DEVON_PARTS] = @@ -11349,6 +12597,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_DevonParts, + .iconPalette = gItemIconPalette_DevonParts, }, [ITEM_GO_GOGGLES] = @@ -11364,6 +12614,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_GoGoggles, + .iconPalette = gItemIconPalette_GoGoggles, }, [ITEM_DEVON_SCOPE] = @@ -11378,6 +12630,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_DevonScope, + .iconPalette = gItemIconPalette_DevonScope, }, [ITEM_BASEMENT_KEY] = @@ -11392,6 +12646,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_BasementKey, + .iconPalette = gItemIconPalette_OldKey, }, [ITEM_SCANNER] = @@ -11406,6 +12662,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_Scanner, + .iconPalette = gItemIconPalette_Scanner, }, [ITEM_STORAGE_KEY] = @@ -11420,6 +12678,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_StorageKey, + .iconPalette = gItemIconPalette_OldKey, }, [ITEM_KEY_TO_ROOM_1] = @@ -11432,6 +12692,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_KeyToRoom1, + .iconPalette = gItemIconPalette_Key, }, [ITEM_KEY_TO_ROOM_2] = @@ -11444,6 +12706,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_KeyToRoom2, + .iconPalette = gItemIconPalette_Key, }, [ITEM_KEY_TO_ROOM_4] = @@ -11456,6 +12720,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_KeyToRoom4, + .iconPalette = gItemIconPalette_Key, }, [ITEM_KEY_TO_ROOM_6] = @@ -11468,6 +12734,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_KeyToRoom6, + .iconPalette = gItemIconPalette_Key, }, [ITEM_METEORITE] = @@ -11481,6 +12749,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_FormChange, + .iconPic = gItemIcon_Meteorite, + .iconPalette = gItemIconPalette_Meteorite, }, [ITEM_MAGMA_EMBLEM] = @@ -11495,6 +12765,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_MagmaEmblem, + .iconPalette = gItemIconPalette_MagmaEmblem, }, [ITEM_CONTEST_PASS] = @@ -11510,6 +12782,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_ContestPass, + .iconPalette = gItemIconPalette_ContestPass, }, [ITEM_PARCEL] = @@ -11524,6 +12798,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_Parcel, + .iconPalette = gItemIconPalette_Parcel, }, [ITEM_SECRET_KEY] = @@ -11538,6 +12814,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_SecretKey, + .iconPalette = gItemIconPalette_SecretKey, }, [ITEM_BIKE_VOUCHER] = @@ -11552,6 +12830,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_BikeVoucher, + .iconPalette = gItemIconPalette_BikeVoucher, }, [ITEM_GOLD_TEETH] = @@ -11567,6 +12847,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_GoldTeeth, + .iconPalette = gItemIconPalette_GoldTeeth, }, [ITEM_CARD_KEY] = @@ -11581,6 +12863,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_CardKey, + .iconPalette = gItemIconPalette_CardKey, }, [ITEM_LIFT_KEY] = @@ -11595,6 +12879,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_LiftKey, + .iconPalette = gItemIconPalette_Key, }, [ITEM_SILPH_SCOPE] = @@ -11609,6 +12895,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_SilphScope, + .iconPalette = gItemIconPalette_SilphScope, }, [ITEM_TRI_PASS] = @@ -11624,6 +12912,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TriPass, + .iconPalette = gItemIconPalette_TriPass, }, [ITEM_RAINBOW_PASS] = @@ -11639,6 +12929,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_RainbowPass, + .iconPalette = gItemIconPalette_RainbowPass, }, [ITEM_TEA] = @@ -11654,6 +12946,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_Tea, + .iconPalette = gItemIconPalette_Tea, }, [ITEM_RUBY] = @@ -11669,6 +12963,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_Gem, + .iconPalette = gItemIconPalette_Ruby, }, [ITEM_SAPPHIRE] = @@ -11683,6 +12979,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_Gem, + .iconPalette = gItemIconPalette_Sapphire, }, [ITEM_ABILITY_SHIELD] = @@ -11698,6 +12996,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_AbilityShield, + .iconPalette = gItemIconPalette_AbilityShield, }, // GEN 9 ITEMS @@ -11715,6 +13015,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_ClearAmulet, + .iconPalette = gItemIconPalette_ClearAmulet, }, [ITEM_PUNCHING_GLOVE] = @@ -11730,6 +13032,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_PunchingGlove, + .iconPalette = gItemIconPalette_PunchingGlove, }, [ITEM_COVERT_CLOAK] = @@ -11745,6 +13049,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_CovertCloak, + .iconPalette = gItemIconPalette_CovertCloak, }, [ITEM_LOADED_DICE] = @@ -11761,6 +13067,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_LoadedDice, + .iconPalette = gItemIconPalette_LoadedDice, }, [ITEM_AUSPICIOUS_ARMOR] = @@ -11776,6 +13084,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_AuspiciousArmor, + .iconPalette = gItemIconPalette_AuspiciousArmor, }, [ITEM_BOOSTER_ENERGY] = @@ -11792,6 +13102,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_BoosterEnergy, + .iconPalette = gItemIconPalette_BoosterEnergy, }, [ITEM_BIG_BAMBOO_SHOOT] = @@ -11806,6 +13118,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_BigBambooShoot, + .iconPalette = gItemIconPalette_BigBambooShoot, }, [ITEM_GIMMIGHOUL_COIN] = @@ -11819,6 +13133,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_GimmighoulCoin, + .iconPalette = gItemIconPalette_GimmighoulCoin, }, [ITEM_LEADERS_CREST] = @@ -11832,6 +13148,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_LeadersCrest, + .iconPalette = gItemIconPalette_LeadersCrest, }, [ITEM_MALICIOUS_ARMOR] = @@ -11847,6 +13165,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_MaliciousArmor, + .iconPalette = gItemIconPalette_MaliciousArmor, }, [ITEM_MIRROR_HERB] = @@ -11862,6 +13182,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_MirrorHerb, + .iconPalette = gItemIconPalette_MirrorHerb, }, [ITEM_SCROLL_OF_DARKNESS] = @@ -11878,6 +13200,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, + .iconPic = gItemIcon_ScrollOfDarkness, + .iconPalette = gItemIconPalette_ScrollOfDarkness, }, [ITEM_SCROLL_OF_WATERS] = @@ -11894,6 +13218,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, + .iconPic = gItemIcon_ScrollOfWaters, + .iconPalette = gItemIconPalette_ScrollOfWaters, }, [ITEM_TERA_ORB] = @@ -11908,6 +13234,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraOrb, + .iconPalette = gItemIconPalette_TeraOrb, }, [ITEM_TINY_BAMBOO_SHOOT] = @@ -11922,6 +13250,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 30, + .iconPic = gItemIcon_TinyBambooShoot, + .iconPalette = gItemIconPalette_TinyBambooShoot, }, [ITEM_BUG_TERA_SHARD] = @@ -11932,6 +13262,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_BugTeraShard, }, [ITEM_DARK_TERA_SHARD] = @@ -11942,6 +13274,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_DarkTeraShard, }, [ITEM_DRAGON_TERA_SHARD] = @@ -11952,6 +13286,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_DragonTeraShard, }, [ITEM_ELECTRIC_TERA_SHARD] = @@ -11962,6 +13298,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_ElectricTeraShard, }, [ITEM_FAIRY_TERA_SHARD] = @@ -11972,6 +13310,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_FairyTeraShard, }, [ITEM_FIGHTING_TERA_SHARD] = @@ -11982,6 +13322,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_FightingTeraShard, }, [ITEM_FIRE_TERA_SHARD] = @@ -11992,6 +13334,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_FireTeraShard, }, [ITEM_FLYING_TERA_SHARD] = @@ -12002,6 +13346,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_FlyingTeraShard, }, [ITEM_GHOST_TERA_SHARD] = @@ -12012,6 +13358,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_GhostTeraShard, }, [ITEM_GRASS_TERA_SHARD] = @@ -12022,6 +13370,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_GrassTeraShard, }, [ITEM_GROUND_TERA_SHARD] = @@ -12032,6 +13382,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_GroundTeraShard, }, [ITEM_ICE_TERA_SHARD] = @@ -12042,6 +13394,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_IceTeraShard, }, [ITEM_NORMAL_TERA_SHARD] = @@ -12052,6 +13406,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_NormalTeraShard, }, [ITEM_POISON_TERA_SHARD] = @@ -12062,6 +13418,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_PoisonTeraShard, }, [ITEM_PSYCHIC_TERA_SHARD] = @@ -12072,6 +13430,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_PsychicTeraShard, }, [ITEM_ROCK_TERA_SHARD] = @@ -12082,6 +13442,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_RockTeraShard, }, [ITEM_STEEL_TERA_SHARD] = @@ -12092,6 +13454,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_SteelTeraShard, }, [ITEM_WATER_TERA_SHARD] = @@ -12102,6 +13466,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_TeraShard, + .iconPalette = gItemIconPalette_WaterTeraShard, }, [ITEM_ADAMANT_CRYSTAL] = @@ -12116,6 +13482,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 60, + .iconPic = gItemIcon_AdamantCrystal, + .iconPalette = gItemIconPalette_AdamantCrystal, }, [ITEM_GRISEOUS_CORE] = @@ -12130,6 +13498,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 60, + .iconPic = gItemIcon_GriseousCore, + .iconPalette = gItemIconPalette_GriseousCore, }, [ITEM_LUSTROUS_GLOBE] = @@ -12144,6 +13514,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 60, + .iconPic = gItemIcon_LustrousGlobe, + .iconPalette = gItemIconPalette_LustrousGlobe, }, [ITEM_BLACK_AUGURITE] = @@ -12159,6 +13531,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_BlackAugurite, + .iconPalette = gItemIconPalette_BlackAugurite, }, [ITEM_LINKING_CORD] = @@ -12174,6 +13548,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_LinkingCord, + .iconPalette = gItemIconPalette_LinkingCord, }, [ITEM_PEAT_BLOCK] = @@ -12189,6 +13565,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_PeatBlock, + .iconPalette = gItemIconPalette_PeatBlock, }, [ITEM_BERSERK_GENE] = @@ -12204,6 +13582,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_BerserkGene, + .iconPalette = gItemIconPalette_BerserkGene, }, [ITEM_FAIRY_FEATHER] = @@ -12220,6 +13600,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .flingPower = 10, + .iconPic = gItemIcon_FairyFeather, + .iconPalette = gItemIconPalette_FairyFeather, }, [ITEM_SYRUPY_APPLE] = @@ -12235,6 +13617,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 30, + .iconPic = gItemIcon_SyrupyApple, + .iconPalette = gItemIconPalette_SyrupyApple, }, [ITEM_UNREMARKABLE_TEACUP] = @@ -12250,6 +13634,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 80, + .iconPic = gItemIcon_UnremarkableTeacup, + .iconPalette = gItemIconPalette_UnremarkableTeacup, }, [ITEM_MASTERPIECE_TEACUP] = @@ -12265,6 +13651,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, .flingPower = 80, + .iconPic = gItemIcon_MasterpieceTeacup, + .iconPalette = gItemIconPalette_MasterpieceTeacup, }, [ITEM_CORNERSTONE_MASK] = @@ -12278,6 +13666,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_CornerstoneMask, + .iconPalette = gItemIconPalette_CornerstoneMask, }, [ITEM_WELLSPRING_MASK] = @@ -12291,6 +13681,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_WellspringMask, + .iconPalette = gItemIconPalette_WellspringMask, }, [ITEM_HEARTHFLAME_MASK] = @@ -12304,6 +13696,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_HearthflameMask, + .iconPalette = gItemIconPalette_HearthflameMask, }, [ITEM_HEALTH_MOCHI] = @@ -12317,6 +13711,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_HpMochi, .flingPower = 30, + .iconPic = gItemIcon_Mochi, + .iconPalette = gItemIconPalette_HealthMochi, }, [ITEM_MUSCLE_MOCHI] = @@ -12330,6 +13726,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_AtkMochi, .flingPower = 30, + .iconPic = gItemIcon_Mochi, + .iconPalette = gItemIconPalette_MuscleMochi, }, [ITEM_RESIST_MOCHI] = @@ -12343,6 +13741,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_DefMochi, .flingPower = 30, + .iconPic = gItemIcon_Mochi, + .iconPalette = gItemIconPalette_ResistMochi, }, [ITEM_GENIUS_MOCHI] = @@ -12356,6 +13756,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_SpatkMochi, .flingPower = 30, + .iconPic = gItemIcon_Mochi, + .iconPalette = gItemIconPalette_GeniusMochi, }, [ITEM_CLEVER_MOCHI] = @@ -12369,6 +13771,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_SpdefMochi, .flingPower = 30, + .iconPic = gItemIcon_Mochi, + .iconPalette = gItemIconPalette_CleverMochi, }, [ITEM_SWIFT_MOCHI] = @@ -12382,6 +13786,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .effect = gItemEffect_SpeedMochi, .flingPower = 30, + .iconPic = gItemIcon_Mochi, + .iconPalette = gItemIconPalette_SwiftMochi, }, [ITEM_FRESH_START_MOCHI] = @@ -12398,6 +13804,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_ResetEVs, .effect = gItemEffect_ResetMochi, .flingPower = 30, + .iconPic = gItemIcon_Mochi, + .iconPalette = gItemIconPalette_FreshStartMochi, }, [ITEM_GLIMMERING_CHARM] = @@ -12412,6 +13820,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_GlimmeringCharm, + .iconPalette = gItemIconPalette_GlimmeringCharm, }, [ITEM_METAL_ALLOY] = @@ -12426,6 +13836,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, .effect = gItemEffect_EvoItem, + .iconPic = gItemIcon_MetalAlloy, + .iconPalette = gItemIconPalette_MetalAlloy, }, [ITEM_STELLAR_TERA_SHARD] = @@ -12436,6 +13848,8 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_StellarTeraShard, + .iconPalette = gItemIconPalette_StellarTeraShard, }, [ITEM_JUBILIFE_MUFFIN] = @@ -12448,6 +13862,8 @@ const struct Item gItemsInfo[] = .fieldUseFunc = ItemUseOutOfBattle_Medicine, .battleUsage = EFFECT_ITEM_CURE_STATUS, .flingPower = 30, + .iconPic = gItemIcon_JubilifeMuffin, + .iconPalette = gItemIconPalette_JubilifeMuffin, }, [ITEM_REMEDY] = @@ -12464,6 +13880,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_HP, .effect = gItemEffect_Remedy, .flingPower = 30, + .iconPic = gItemIcon_Remedy, + .iconPalette = gItemIconPalette_Remedy, }, [ITEM_FINE_REMEDY] = @@ -12484,6 +13902,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_HP, .effect = gItemEffect_FineRemedy, .flingPower = 30, + .iconPic = gItemIcon_FineRemedy, + .iconPalette = gItemIconPalette_FineRemedy, }, [ITEM_SUPERB_REMEDY] = @@ -12504,6 +13924,8 @@ const struct Item gItemsInfo[] = .battleUsage = EFFECT_ITEM_RESTORE_HP, .effect = gItemEffect_SuperbRemedy, .flingPower = 30, + .iconPic = gItemIcon_SuperbRemedy, + .iconPalette = gItemIconPalette_SuperbRemedy, }, [ITEM_AUX_EVASION] = @@ -12524,6 +13946,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, //.effect = currently missing + .iconPic = gItemIcon_AuxBottle, + .iconPalette = gItemIconPalette_AuxEvasion, }, [ITEM_AUX_GUARD] = @@ -12544,6 +13968,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, //.effect = currently missing + .iconPic = gItemIcon_AuxBottle, + .iconPalette = gItemIconPalette_AuxGuard, }, [ITEM_AUX_POWER] = @@ -12564,6 +13990,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, //.effect = currently missing + .iconPic = gItemIcon_AuxBottle, + .iconPalette = gItemIconPalette_AuxPower, }, [ITEM_AUX_POWERGUARD] = @@ -12585,6 +14013,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, //.effect = currently missing + .iconPic = gItemIcon_AuxPowerguard, + .iconPalette = gItemIconPalette_AuxPowerguard, }, [ITEM_CHOICE_DUMPLING] = @@ -12596,6 +14026,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, //.effect = currently missing + .iconPic = gItemIcon_ChoiceDumpling, + .iconPalette = gItemIconPalette_ChoiceDumpling, }, [ITEM_SWAP_SNACK] = @@ -12607,6 +14039,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, //.effect = currently missing + .iconPic = gItemIcon_SwapSnack, + .iconPalette = gItemIconPalette_SwapSnack, }, [ITEM_TWICE_SPICED_RADISH] = @@ -12618,6 +14052,8 @@ const struct Item gItemsInfo[] = .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, //.effect = currently missing + .iconPic = gItemIcon_TwiceSpicedRadish, + .iconPalette = gItemIconPalette_TwiceSpicedRadish, }, [ITEM_POKESHI_DOLL] = @@ -12631,5 +14067,7 @@ const struct Item gItemsInfo[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .iconPic = gItemIcon_PokeshiDoll, + .iconPalette = gItemIconPalette_PokeshiDoll, }, }; diff --git a/src/data/moves_info.h b/src/data/moves_info.h index 36bd149ece..b58bc18444 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -4530,7 +4530,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_FEINT_ATTACK] = { .name = COMPOUND_STRING("Feint Attack"), - .description = sFeintDescription, + .description = COMPOUND_STRING( + "Draws the foe close, then\n" + "strikes without fail."), .effect = EFFECT_HIT, .power = 60, .type = TYPE_DARK, @@ -8808,9 +8810,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_FEINT] = { .name = COMPOUND_STRING("Feint"), - .description = COMPOUND_STRING( - "An attack that hits foes\n" - "using moves like Protect."), + .description = sFeintDescription, .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_5 ? 30 : 50, .type = TYPE_NORMAL, @@ -12504,7 +12504,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "Stomps down on the ground.\n" "Lowers Speed."), - .effect = EFFECT_BULLDOZE, + .effect = EFFECT_EARTHQUAKE, .power = 60, .type = TYPE_GROUND, .accuracy = 100, @@ -16586,7 +16586,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "The user attacks twice. Two\n" "targets are hit once each."), - .effect = EFFECT_HIT, // TODO: EFFECT_DRAGON_DARTS + .effect = EFFECT_DRAGON_DARTS, .power = 50, .type = TYPE_DRAGON, .accuracy = 100, diff --git a/src/data/pokemon/egg_moves.h b/src/data/pokemon/egg_moves.h index 61b0259638..18ce19a7a1 100644 --- a/src/data/pokemon/egg_moves.h +++ b/src/data/pokemon/egg_moves.h @@ -1,5484 +1,6303 @@ #include "constants/moves.h" -#define EGG_MOVES_SPECIES_OFFSET 20000 -#define EGG_MOVES_TERMINATOR 0xFFFF -#define egg_moves(species, moves...) (SPECIES_##species + EGG_MOVES_SPECIES_OFFSET), moves +static const u16 sNoneEggMoveLearnset[] = { + MOVE_UNAVAILABLE, +}; -const u16 gEggMoves[] = { #if P_FAMILY_BULBASAUR - egg_moves(BULBASAUR, - MOVE_SKULL_BASH, - MOVE_CHARM, - MOVE_PETAL_DANCE, - MOVE_MAGICAL_LEAF, - MOVE_GRASS_WHISTLE, - MOVE_CURSE, - MOVE_INGRAIN, - MOVE_NATURE_POWER, - MOVE_AMNESIA, - MOVE_LEAF_STORM, - MOVE_POWER_WHIP, - MOVE_SLUDGE, - MOVE_ENDURE, - MOVE_GIGA_DRAIN, - MOVE_GRASSY_TERRAIN), +static const u16 sBulbasaurEggMoveLearnset[] = { + MOVE_SKULL_BASH, + MOVE_CHARM, + MOVE_PETAL_DANCE, + MOVE_MAGICAL_LEAF, + MOVE_GRASS_WHISTLE, + MOVE_CURSE, + MOVE_INGRAIN, + MOVE_NATURE_POWER, + MOVE_AMNESIA, + MOVE_LEAF_STORM, + MOVE_POWER_WHIP, + MOVE_SLUDGE, + MOVE_ENDURE, + MOVE_GIGA_DRAIN, + MOVE_GRASSY_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BULBASAUR #if P_FAMILY_CHARMANDER - egg_moves(CHARMANDER, - MOVE_BELLY_DRUM, - MOVE_ANCIENT_POWER, - MOVE_BITE, - MOVE_OUTRAGE, - MOVE_BEAT_UP, - MOVE_DRAGON_DANCE, - MOVE_CRUNCH, - MOVE_DRAGON_RUSH, - MOVE_METAL_CLAW, - MOVE_FLARE_BLITZ, - MOVE_COUNTER, - MOVE_DRAGON_PULSE, - MOVE_FOCUS_PUNCH, - MOVE_AIR_CUTTER), +static const u16 sCharmanderEggMoveLearnset[] = { + MOVE_BELLY_DRUM, + MOVE_ANCIENT_POWER, + MOVE_BITE, + MOVE_OUTRAGE, + MOVE_BEAT_UP, + MOVE_DRAGON_DANCE, + MOVE_CRUNCH, + MOVE_DRAGON_RUSH, + MOVE_METAL_CLAW, + MOVE_FLARE_BLITZ, + MOVE_COUNTER, + MOVE_DRAGON_PULSE, + MOVE_FOCUS_PUNCH, + MOVE_AIR_CUTTER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CHARMANDER #if P_FAMILY_SQUIRTLE - egg_moves(SQUIRTLE, - MOVE_MIRROR_COAT, - MOVE_HAZE, - MOVE_MIST, - MOVE_FORESIGHT, - MOVE_FLAIL, - MOVE_REFRESH, - MOVE_MUD_SPORT, - MOVE_YAWN, - MOVE_MUDDY_WATER, - MOVE_FAKE_OUT, - MOVE_AQUA_RING, - MOVE_AQUA_JET, - MOVE_WATER_SPOUT, - MOVE_BRINE, - MOVE_DRAGON_PULSE, - MOVE_AURA_SPHERE), +static const u16 sSquirtleEggMoveLearnset[] = { + MOVE_MIRROR_COAT, + MOVE_HAZE, + MOVE_MIST, + MOVE_FORESIGHT, + MOVE_FLAIL, + MOVE_REFRESH, + MOVE_MUD_SPORT, + MOVE_YAWN, + MOVE_MUDDY_WATER, + MOVE_FAKE_OUT, + MOVE_AQUA_RING, + MOVE_AQUA_JET, + MOVE_WATER_SPOUT, + MOVE_BRINE, + MOVE_DRAGON_PULSE, + MOVE_AURA_SPHERE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SQUIRTLE #if P_FAMILY_PIDGEY - egg_moves(PIDGEY, - MOVE_PURSUIT, - MOVE_FEINT_ATTACK, - MOVE_FORESIGHT, - MOVE_STEEL_WING, - MOVE_AIR_CUTTER, - MOVE_AIR_SLASH, - MOVE_BRAVE_BIRD, - MOVE_UPROAR, - MOVE_DEFOG), +static const u16 sPidgeyEggMoveLearnset[] = { + MOVE_PURSUIT, + MOVE_FEINT_ATTACK, + MOVE_FORESIGHT, + MOVE_STEEL_WING, + MOVE_AIR_CUTTER, + MOVE_AIR_SLASH, + MOVE_BRAVE_BIRD, + MOVE_UPROAR, + MOVE_DEFOG, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PIDGEY #if P_FAMILY_RATTATA - egg_moves(RATTATA, - MOVE_SCREECH, - MOVE_FLAME_WHEEL, - MOVE_FURY_SWIPES, - MOVE_BITE, - MOVE_COUNTER, - MOVE_REVERSAL, - MOVE_UPROAR, - MOVE_LAST_RESORT, - MOVE_ME_FIRST, - MOVE_REVENGE, - MOVE_FINAL_GAMBIT), +static const u16 sRattataEggMoveLearnset[] = { + MOVE_SCREECH, + MOVE_FLAME_WHEEL, + MOVE_FURY_SWIPES, + MOVE_BITE, + MOVE_COUNTER, + MOVE_REVERSAL, + MOVE_UPROAR, + MOVE_LAST_RESORT, + MOVE_ME_FIRST, + MOVE_REVENGE, + MOVE_FINAL_GAMBIT, + MOVE_UNAVAILABLE, +}; #if P_ALOLAN_FORMS - egg_moves(RATTATA_ALOLAN, - MOVE_COUNTER, - MOVE_FINAL_GAMBIT, - MOVE_FURY_SWIPES, - MOVE_ME_FIRST, - MOVE_REVENGE, - MOVE_REVERSAL, - MOVE_SNATCH, - MOVE_STOCKPILE, - MOVE_SWALLOW, - MOVE_SWITCHEROO, - MOVE_UPROAR), +static const u16 sRattataAlolanEggMoveLearnset[] = { + MOVE_COUNTER, + MOVE_FINAL_GAMBIT, + MOVE_FURY_SWIPES, + MOVE_ME_FIRST, + MOVE_REVENGE, + MOVE_REVERSAL, + MOVE_SNATCH, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SWITCHEROO, + MOVE_UPROAR, + MOVE_UNAVAILABLE, +}; #endif //P_ALOLAN_FORMS #endif //P_FAMILY_RATTATA #if P_FAMILY_SPEAROW - egg_moves(SPEAROW, - MOVE_FEINT_ATTACK, - MOVE_SCARY_FACE, - MOVE_QUICK_ATTACK, - MOVE_TRI_ATTACK, - MOVE_ASTONISH, - MOVE_SKY_ATTACK, - MOVE_WHIRLWIND, - MOVE_UPROAR, - MOVE_FEATHER_DANCE, - MOVE_STEEL_WING, - MOVE_RAZOR_WIND), +static const u16 sSpearowEggMoveLearnset[] = { + MOVE_FEINT_ATTACK, + MOVE_SCARY_FACE, + MOVE_QUICK_ATTACK, + MOVE_TRI_ATTACK, + MOVE_ASTONISH, + MOVE_SKY_ATTACK, + MOVE_WHIRLWIND, + MOVE_UPROAR, + MOVE_FEATHER_DANCE, + MOVE_STEEL_WING, + MOVE_RAZOR_WIND, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SPEAROW #if P_FAMILY_EKANS - egg_moves(EKANS, - MOVE_PURSUIT, - MOVE_SLAM, - MOVE_SPITE, - MOVE_BEAT_UP, - MOVE_POISON_FANG, - MOVE_SCARY_FACE, - MOVE_POISON_TAIL, - MOVE_DISABLE, - MOVE_SWITCHEROO, - MOVE_IRON_TAIL, - MOVE_SUCKER_PUNCH, - MOVE_SNATCH), +static const u16 sEkansEggMoveLearnset[] = { + MOVE_PURSUIT, + MOVE_SLAM, + MOVE_SPITE, + MOVE_BEAT_UP, + MOVE_POISON_FANG, + MOVE_SCARY_FACE, + MOVE_POISON_TAIL, + MOVE_DISABLE, + MOVE_SWITCHEROO, + MOVE_IRON_TAIL, + MOVE_SUCKER_PUNCH, + MOVE_SNATCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_EKANS #if P_FAMILY_PIKACHU #if P_GEN_2_CROSS_EVOS - egg_moves(PICHU, - MOVE_REVERSAL, - MOVE_BIDE, - MOVE_PRESENT, - MOVE_ENCORE, - MOVE_DOUBLE_SLAP, - MOVE_WISH, - MOVE_CHARGE, - MOVE_FAKE_OUT, - MOVE_THUNDER_PUNCH, - MOVE_TICKLE, - MOVE_FLAIL, - MOVE_ENDURE, - MOVE_LUCKY_CHANT, - MOVE_BESTOW, - MOVE_DISARMING_VOICE, - MOVE_ELECTRIC_TERRAIN), +static const u16 sPichuEggMoveLearnset[] = { + MOVE_REVERSAL, + MOVE_BIDE, + MOVE_PRESENT, + MOVE_ENCORE, + MOVE_DOUBLE_SLAP, + MOVE_WISH, + MOVE_CHARGE, + MOVE_FAKE_OUT, + MOVE_THUNDER_PUNCH, + MOVE_TICKLE, + MOVE_FLAIL, + MOVE_ENDURE, + MOVE_LUCKY_CHANT, + MOVE_BESTOW, + MOVE_DISARMING_VOICE, + MOVE_ELECTRIC_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_GEN_2_CROSS_EVOS #endif //P_FAMILY_PIKACHU #if P_FAMILY_SANDSHREW - egg_moves(SANDSHREW, - MOVE_FLAIL, - MOVE_COUNTER, - MOVE_RAPID_SPIN, - MOVE_METAL_CLAW, - MOVE_CRUSH_CLAW, - MOVE_NIGHT_SLASH, - MOVE_MUD_SHOT, - MOVE_ENDURE, - MOVE_CHIP_AWAY, - MOVE_ROCK_CLIMB, - MOVE_ROTOTILLER, - MOVE_HONE_CLAWS), +static const u16 sSandshrewEggMoveLearnset[] = { + MOVE_FLAIL, + MOVE_COUNTER, + MOVE_RAPID_SPIN, + MOVE_METAL_CLAW, + MOVE_CRUSH_CLAW, + MOVE_NIGHT_SLASH, + MOVE_MUD_SHOT, + MOVE_ENDURE, + MOVE_CHIP_AWAY, + MOVE_ROCK_CLIMB, + MOVE_ROTOTILLER, + MOVE_HONE_CLAWS, + MOVE_UNAVAILABLE, +}; #if P_ALOLAN_FORMS - egg_moves(SANDSHREW_ALOLAN, - MOVE_AMNESIA, - MOVE_CHIP_AWAY, - MOVE_COUNTER, - MOVE_CRUSH_CLAW, - MOVE_CURSE, - MOVE_ENDURE, - MOVE_FLAIL, - MOVE_HONE_CLAWS, - MOVE_ICICLE_CRASH, - MOVE_ICICLE_SPEAR, - MOVE_METAL_CLAW, - MOVE_NIGHT_SLASH), +static const u16 sSandshrewAlolanEggMoveLearnset[] = { + MOVE_AMNESIA, + MOVE_CHIP_AWAY, + MOVE_COUNTER, + MOVE_CRUSH_CLAW, + MOVE_CURSE, + MOVE_ENDURE, + MOVE_FLAIL, + MOVE_HONE_CLAWS, + MOVE_ICICLE_CRASH, + MOVE_ICICLE_SPEAR, + MOVE_METAL_CLAW, + MOVE_NIGHT_SLASH, + MOVE_UNAVAILABLE, +}; #endif //P_ALOLAN_FORMS #endif //P_FAMILY_SANDSHREW #if P_FAMILY_NIDORAN - egg_moves(NIDORAN_F, - MOVE_SUPERSONIC, - MOVE_DISABLE, - MOVE_TAKE_DOWN, - MOVE_FOCUS_ENERGY, - MOVE_CHARM, - MOVE_COUNTER, - MOVE_BEAT_UP, - MOVE_PURSUIT, - MOVE_SKULL_BASH, - MOVE_IRON_TAIL, - MOVE_POISON_TAIL, - MOVE_ENDURE, - MOVE_CHIP_AWAY, - MOVE_VENOM_DRENCH), +static const u16 sNidoranFEggMoveLearnset[] = { + MOVE_SUPERSONIC, + MOVE_DISABLE, + MOVE_TAKE_DOWN, + MOVE_FOCUS_ENERGY, + MOVE_CHARM, + MOVE_COUNTER, + MOVE_BEAT_UP, + MOVE_PURSUIT, + MOVE_SKULL_BASH, + MOVE_IRON_TAIL, + MOVE_POISON_TAIL, + MOVE_ENDURE, + MOVE_CHIP_AWAY, + MOVE_VENOM_DRENCH, + MOVE_UNAVAILABLE, +}; - egg_moves(NIDORAN_M, - MOVE_COUNTER, - MOVE_DISABLE, - MOVE_SUPERSONIC, - MOVE_TAKE_DOWN, - MOVE_AMNESIA, - MOVE_CONFUSION, - MOVE_BEAT_UP, - MOVE_SUCKER_PUNCH, - MOVE_HEAD_SMASH, - MOVE_IRON_TAIL, - MOVE_POISON_TAIL, - MOVE_ENDURE, - MOVE_CHIP_AWAY, - MOVE_VENOM_DRENCH), +static const u16 sNidoranMEggMoveLearnset[] = { + MOVE_COUNTER, + MOVE_DISABLE, + MOVE_SUPERSONIC, + MOVE_TAKE_DOWN, + MOVE_AMNESIA, + MOVE_CONFUSION, + MOVE_BEAT_UP, + MOVE_SUCKER_PUNCH, + MOVE_HEAD_SMASH, + MOVE_IRON_TAIL, + MOVE_POISON_TAIL, + MOVE_ENDURE, + MOVE_CHIP_AWAY, + MOVE_VENOM_DRENCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_NIDORAN #if P_FAMILY_CLEFAIRY #if P_GEN_2_CROSS_EVOS - egg_moves(CLEFFA, - MOVE_PRESENT, - MOVE_METRONOME, - MOVE_AMNESIA, - MOVE_BELLY_DRUM, - MOVE_SPLASH, - MOVE_MIMIC, - MOVE_WISH, - MOVE_FAKE_TEARS, - MOVE_COVET, - MOVE_AROMATHERAPY, - MOVE_STORED_POWER, - MOVE_TICKLE, - MOVE_MISTY_TERRAIN, - MOVE_HEAL_PULSE), +static const u16 sCleffaEggMoveLearnset[] = { + MOVE_PRESENT, + MOVE_METRONOME, + MOVE_AMNESIA, + MOVE_BELLY_DRUM, + MOVE_SPLASH, + MOVE_MIMIC, + MOVE_WISH, + MOVE_FAKE_TEARS, + MOVE_COVET, + MOVE_AROMATHERAPY, + MOVE_STORED_POWER, + MOVE_TICKLE, + MOVE_MISTY_TERRAIN, + MOVE_HEAL_PULSE, + MOVE_UNAVAILABLE, +}; #endif //P_GEN_2_CROSS_EVOS #endif //P_FAMILY_CLEFAIRY #if P_FAMILY_VULPIX - egg_moves(VULPIX, - MOVE_FEINT_ATTACK, - MOVE_HYPNOSIS, - MOVE_FLAIL, - MOVE_SPITE, - MOVE_DISABLE, - MOVE_HOWL, - MOVE_HEAT_WAVE, - MOVE_FLARE_BLITZ, - MOVE_EXTRASENSORY, - MOVE_POWER_SWAP, - MOVE_SECRET_POWER, - MOVE_HEX, - MOVE_TAIL_SLAP, - MOVE_CAPTIVATE), +static const u16 sVulpixEggMoveLearnset[] = { + MOVE_FEINT_ATTACK, + MOVE_HYPNOSIS, + MOVE_FLAIL, + MOVE_SPITE, + MOVE_DISABLE, + MOVE_HOWL, + MOVE_HEAT_WAVE, + MOVE_FLARE_BLITZ, + MOVE_EXTRASENSORY, + MOVE_POWER_SWAP, + MOVE_SECRET_POWER, + MOVE_HEX, + MOVE_TAIL_SLAP, + MOVE_CAPTIVATE, + MOVE_UNAVAILABLE, +}; #if P_ALOLAN_FORMS - egg_moves(VULPIX_ALOLAN, - MOVE_AGILITY, - MOVE_CHARM, - MOVE_DISABLE, - MOVE_ENCORE, - MOVE_EXTRASENSORY, - MOVE_FLAIL, - MOVE_FREEZE_DRY, - MOVE_HOWL, - MOVE_HYPNOSIS, - MOVE_MOONBLAST, - MOVE_POWER_SWAP, - MOVE_SPITE, - MOVE_SECRET_POWER, - MOVE_TAIL_SLAP), +static const u16 sVulpixAlolanEggMoveLearnset[] = { + MOVE_AGILITY, + MOVE_CHARM, + MOVE_DISABLE, + MOVE_ENCORE, + MOVE_EXTRASENSORY, + MOVE_FLAIL, + MOVE_FREEZE_DRY, + MOVE_HOWL, + MOVE_HYPNOSIS, + MOVE_MOONBLAST, + MOVE_POWER_SWAP, + MOVE_SPITE, + MOVE_SECRET_POWER, + MOVE_TAIL_SLAP, + MOVE_UNAVAILABLE, +}; #endif //P_ALOLAN_FORMS #endif //P_FAMILY_VULPIX #if P_FAMILY_JIGGLYPUFF #if P_GEN_2_CROSS_EVOS - egg_moves(IGGLYBUFF, - MOVE_PERISH_SONG, - MOVE_PRESENT, - MOVE_FEINT_ATTACK, - MOVE_WISH, - MOVE_FAKE_TEARS, - MOVE_LAST_RESORT, - MOVE_COVET, - MOVE_GRAVITY, - MOVE_SLEEP_TALK, - MOVE_CAPTIVATE, - MOVE_PUNISHMENT, - MOVE_MISTY_TERRAIN, - MOVE_HEAL_PULSE), +static const u16 sIgglybuffEggMoveLearnset[] = { + MOVE_PERISH_SONG, + MOVE_PRESENT, + MOVE_FEINT_ATTACK, + MOVE_WISH, + MOVE_FAKE_TEARS, + MOVE_LAST_RESORT, + MOVE_COVET, + MOVE_GRAVITY, + MOVE_SLEEP_TALK, + MOVE_CAPTIVATE, + MOVE_PUNISHMENT, + MOVE_MISTY_TERRAIN, + MOVE_HEAL_PULSE, + MOVE_UNAVAILABLE, +}; #endif //P_GEN_2_CROSS_EVOS #endif //P_FAMILY_JIGGLYPUFF #if P_FAMILY_ZUBAT - egg_moves(ZUBAT, - MOVE_QUICK_ATTACK, - MOVE_PURSUIT, - MOVE_FEINT_ATTACK, - MOVE_GUST, - MOVE_WHIRLWIND, - MOVE_CURSE, - MOVE_NASTY_PLOT, - MOVE_HYPNOSIS, - MOVE_ZEN_HEADBUTT, - MOVE_BRAVE_BIRD, - MOVE_GIGA_DRAIN, - MOVE_STEEL_WING, - MOVE_DEFOG, - MOVE_VENOM_DRENCH), +static const u16 sZubatEggMoveLearnset[] = { + MOVE_QUICK_ATTACK, + MOVE_PURSUIT, + MOVE_FEINT_ATTACK, + MOVE_GUST, + MOVE_WHIRLWIND, + MOVE_CURSE, + MOVE_NASTY_PLOT, + MOVE_HYPNOSIS, + MOVE_ZEN_HEADBUTT, + MOVE_BRAVE_BIRD, + MOVE_GIGA_DRAIN, + MOVE_STEEL_WING, + MOVE_DEFOG, + MOVE_VENOM_DRENCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ZUBAT #if P_FAMILY_ODDISH - egg_moves(ODDISH, - MOVE_RAZOR_LEAF, - MOVE_FLAIL, - MOVE_SYNTHESIS, - MOVE_CHARM, - MOVE_INGRAIN, - MOVE_TICKLE, - MOVE_TEETER_DANCE, - MOVE_SECRET_POWER, - MOVE_NATURE_POWER, - MOVE_AFTER_YOU, - MOVE_STRENGTH_SAP), +static const u16 sOddishEggMoveLearnset[] = { + MOVE_RAZOR_LEAF, + MOVE_FLAIL, + MOVE_SYNTHESIS, + MOVE_CHARM, + MOVE_INGRAIN, + MOVE_TICKLE, + MOVE_TEETER_DANCE, + MOVE_SECRET_POWER, + MOVE_NATURE_POWER, + MOVE_AFTER_YOU, + MOVE_STRENGTH_SAP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ODDISH #if P_FAMILY_PARAS - egg_moves(PARAS, - MOVE_SCREECH, - MOVE_COUNTER, - MOVE_PSYBEAM, - MOVE_FLAIL, - MOVE_SWEET_SCENT, - MOVE_PURSUIT, - MOVE_METAL_CLAW, - MOVE_BUG_BITE, - MOVE_CROSS_POISON, - MOVE_AGILITY, - MOVE_ENDURE, - MOVE_NATURAL_GIFT, - MOVE_LEECH_SEED, - MOVE_WIDE_GUARD, - MOVE_ROTOTILLER, - MOVE_FELL_STINGER, - MOVE_GRASSY_TERRAIN), +static const u16 sParasEggMoveLearnset[] = { + MOVE_SCREECH, + MOVE_COUNTER, + MOVE_PSYBEAM, + MOVE_FLAIL, + MOVE_SWEET_SCENT, + MOVE_PURSUIT, + MOVE_METAL_CLAW, + MOVE_BUG_BITE, + MOVE_CROSS_POISON, + MOVE_AGILITY, + MOVE_ENDURE, + MOVE_NATURAL_GIFT, + MOVE_LEECH_SEED, + MOVE_WIDE_GUARD, + MOVE_ROTOTILLER, + MOVE_FELL_STINGER, + MOVE_GRASSY_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PARAS #if P_FAMILY_VENONAT - egg_moves(VENONAT, - MOVE_BATON_PASS, - MOVE_SCREECH, - MOVE_GIGA_DRAIN, - MOVE_SIGNAL_BEAM, - MOVE_AGILITY, - MOVE_MORNING_SUN, - MOVE_TOXIC_SPIKES, - MOVE_BUG_BITE, - MOVE_SECRET_POWER, - MOVE_SKILL_SWAP, - MOVE_RAGE_POWDER), +static const u16 sVenonatEggMoveLearnset[] = { + MOVE_BATON_PASS, + MOVE_SCREECH, + MOVE_GIGA_DRAIN, + MOVE_SIGNAL_BEAM, + MOVE_AGILITY, + MOVE_MORNING_SUN, + MOVE_TOXIC_SPIKES, + MOVE_BUG_BITE, + MOVE_SECRET_POWER, + MOVE_SKILL_SWAP, + MOVE_RAGE_POWDER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_VENONAT #if P_FAMILY_DIGLETT - egg_moves(DIGLETT, - MOVE_FEINT_ATTACK, - MOVE_SCREECH, - MOVE_ANCIENT_POWER, - MOVE_PURSUIT, - MOVE_BEAT_UP, - MOVE_UPROAR, - MOVE_MUD_BOMB, - MOVE_ASTONISH, - MOVE_REVERSAL, - MOVE_HEADBUTT, - MOVE_ENDURE, - MOVE_FINAL_GAMBIT, - MOVE_MEMENTO), +static const u16 sDiglettEggMoveLearnset[] = { + MOVE_FEINT_ATTACK, + MOVE_SCREECH, + MOVE_ANCIENT_POWER, + MOVE_PURSUIT, + MOVE_BEAT_UP, + MOVE_UPROAR, + MOVE_MUD_BOMB, + MOVE_ASTONISH, + MOVE_REVERSAL, + MOVE_HEADBUTT, + MOVE_ENDURE, + MOVE_FINAL_GAMBIT, + MOVE_MEMENTO, + MOVE_UNAVAILABLE, +}; #if P_ALOLAN_FORMS - egg_moves(DIGLETT_ALOLAN, - MOVE_ANCIENT_POWER, - MOVE_BEAT_UP, - MOVE_ENDURE, - MOVE_FEINT_ATTACK, - MOVE_FINAL_GAMBIT, - MOVE_HEADBUTT, - MOVE_MEMENTO, - MOVE_METAL_SOUND, - MOVE_PURSUIT, - MOVE_REVERSAL, - MOVE_THRASH), +static const u16 sDiglettAlolanEggMoveLearnset[] = { + MOVE_ANCIENT_POWER, + MOVE_BEAT_UP, + MOVE_ENDURE, + MOVE_FEINT_ATTACK, + MOVE_FINAL_GAMBIT, + MOVE_HEADBUTT, + MOVE_MEMENTO, + MOVE_METAL_SOUND, + MOVE_PURSUIT, + MOVE_REVERSAL, + MOVE_THRASH, + MOVE_UNAVAILABLE, +}; #endif //P_ALOLAN_FORMS #endif //P_FAMILY_DIGLETT #if P_FAMILY_MEOWTH - egg_moves(MEOWTH, - MOVE_SPITE, - MOVE_CHARM, - MOVE_HYPNOSIS, - MOVE_AMNESIA, - MOVE_ASSIST, - MOVE_ODOR_SLEUTH, - MOVE_FLAIL, - MOVE_LAST_RESORT, - MOVE_PUNISHMENT, - MOVE_TAIL_WHIP, - MOVE_SNATCH, - MOVE_IRON_TAIL, - MOVE_FOUL_PLAY), +static const u16 sMeowthEggMoveLearnset[] = { + MOVE_SPITE, + MOVE_CHARM, + MOVE_HYPNOSIS, + MOVE_AMNESIA, + MOVE_ASSIST, + MOVE_ODOR_SLEUTH, + MOVE_FLAIL, + MOVE_LAST_RESORT, + MOVE_PUNISHMENT, + MOVE_TAIL_WHIP, + MOVE_SNATCH, + MOVE_IRON_TAIL, + MOVE_FOUL_PLAY, + MOVE_UNAVAILABLE, +}; #if P_ALOLAN_FORMS - egg_moves(MEOWTH_ALOLAN, - MOVE_AMNESIA, - MOVE_ASSIST, - MOVE_CHARM, - MOVE_COVET, - MOVE_FLAIL, - MOVE_FLATTER, - MOVE_FOUL_PLAY, - MOVE_HYPNOSIS, - MOVE_PARTING_SHOT, - MOVE_PUNISHMENT, - MOVE_SNATCH, - MOVE_SPITE), +static const u16 sMeowthAlolanEggMoveLearnset[] = { + MOVE_AMNESIA, + MOVE_ASSIST, + MOVE_CHARM, + MOVE_COVET, + MOVE_FLAIL, + MOVE_FLATTER, + MOVE_FOUL_PLAY, + MOVE_HYPNOSIS, + MOVE_PARTING_SHOT, + MOVE_PUNISHMENT, + MOVE_SNATCH, + MOVE_SPITE, + MOVE_UNAVAILABLE, +}; #endif //P_ALOLAN_FORMS #if P_GALARIAN_FORMS - egg_moves(MEOWTH_GALARIAN, - MOVE_SPITE, - MOVE_DOUBLE_EDGE, - MOVE_CURSE, - MOVE_FLAIL, - MOVE_NIGHT_SLASH, - MOVE_COVET), +static const u16 sMeowthGalarianEggMoveLearnset[] = { + MOVE_SPITE, + MOVE_DOUBLE_EDGE, + MOVE_CURSE, + MOVE_FLAIL, + MOVE_NIGHT_SLASH, + MOVE_COVET, + MOVE_UNAVAILABLE, +}; #endif //P_GALARIAN_FORMS #endif //P_FAMILY_MEOWTH #if P_FAMILY_PSYDUCK - egg_moves(PSYDUCK, - MOVE_HYPNOSIS, - MOVE_PSYBEAM, - MOVE_FORESIGHT, - MOVE_FUTURE_SIGHT, - MOVE_CROSS_CHOP, - MOVE_REFRESH, - MOVE_CONFUSE_RAY, - MOVE_YAWN, - MOVE_MUD_BOMB, - MOVE_ENCORE, - MOVE_SECRET_POWER, - MOVE_SLEEP_TALK, - MOVE_SYNCHRONOISE, - MOVE_SIMPLE_BEAM, - MOVE_CLEAR_SMOG), +static const u16 sPsyduckEggMoveLearnset[] = { + MOVE_HYPNOSIS, + MOVE_PSYBEAM, + MOVE_FORESIGHT, + MOVE_FUTURE_SIGHT, + MOVE_CROSS_CHOP, + MOVE_REFRESH, + MOVE_CONFUSE_RAY, + MOVE_YAWN, + MOVE_MUD_BOMB, + MOVE_ENCORE, + MOVE_SECRET_POWER, + MOVE_SLEEP_TALK, + MOVE_SYNCHRONOISE, + MOVE_SIMPLE_BEAM, + MOVE_CLEAR_SMOG, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PSYDUCK #if P_FAMILY_MANKEY - egg_moves(MANKEY, - MOVE_FORESIGHT, - MOVE_MEDITATE, - MOVE_COUNTER, - MOVE_REVERSAL, - MOVE_BEAT_UP, - MOVE_REVENGE, - MOVE_SMELLING_SALTS, - MOVE_CLOSE_COMBAT, - MOVE_ENCORE, - MOVE_FOCUS_PUNCH, - MOVE_SLEEP_TALK, - MOVE_NIGHT_SLASH, - MOVE_POWER_TRIP), +static const u16 sMankeyEggMoveLearnset[] = { + MOVE_FORESIGHT, + MOVE_MEDITATE, + MOVE_COUNTER, + MOVE_REVERSAL, + MOVE_BEAT_UP, + MOVE_REVENGE, + MOVE_SMELLING_SALTS, + MOVE_CLOSE_COMBAT, + MOVE_ENCORE, + MOVE_FOCUS_PUNCH, + MOVE_SLEEP_TALK, + MOVE_NIGHT_SLASH, + MOVE_POWER_TRIP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MANKEY #if P_FAMILY_GROWLITHE - egg_moves(GROWLITHE, - MOVE_BODY_SLAM, - MOVE_CRUNCH, - MOVE_THRASH, - MOVE_FIRE_SPIN, - MOVE_HOWL, - MOVE_HEAT_WAVE, - MOVE_DOUBLE_EDGE, - MOVE_FLARE_BLITZ, - MOVE_MORNING_SUN, - MOVE_COVET, - MOVE_IRON_TAIL, - MOVE_DOUBLE_KICK, - MOVE_CLOSE_COMBAT, - MOVE_BURN_UP), +static const u16 sGrowlitheEggMoveLearnset[] = { + MOVE_BODY_SLAM, + MOVE_CRUNCH, + MOVE_THRASH, + MOVE_FIRE_SPIN, + MOVE_HOWL, + MOVE_HEAT_WAVE, + MOVE_DOUBLE_EDGE, + MOVE_FLARE_BLITZ, + MOVE_MORNING_SUN, + MOVE_COVET, + MOVE_IRON_TAIL, + MOVE_DOUBLE_KICK, + MOVE_CLOSE_COMBAT, + MOVE_BURN_UP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_GROWLITHE #if P_FAMILY_POLIWAG - egg_moves(POLIWAG, - MOVE_MIST, - MOVE_SPLASH, - MOVE_BUBBLE_BEAM, - MOVE_HAZE, - MOVE_MIND_READER, - MOVE_WATER_SPORT, - MOVE_ICE_BALL, - MOVE_MUD_SHOT, - MOVE_REFRESH, - MOVE_ENDEAVOR, - MOVE_ENCORE, - MOVE_ENDURE, - MOVE_WATER_PULSE), +static const u16 sPoliwagEggMoveLearnset[] = { + MOVE_MIST, + MOVE_SPLASH, + MOVE_BUBBLE_BEAM, + MOVE_HAZE, + MOVE_MIND_READER, + MOVE_WATER_SPORT, + MOVE_ICE_BALL, + MOVE_MUD_SHOT, + MOVE_REFRESH, + MOVE_ENDEAVOR, + MOVE_ENCORE, + MOVE_ENDURE, + MOVE_WATER_PULSE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_POLIWAG #if P_FAMILY_ABRA - egg_moves(ABRA, - MOVE_ENCORE, - MOVE_BARRIER, - MOVE_KNOCK_OFF, - MOVE_FIRE_PUNCH, - MOVE_THUNDER_PUNCH, - MOVE_ICE_PUNCH, - MOVE_POWER_TRICK, - MOVE_GUARD_SWAP, - MOVE_SKILL_SWAP, - MOVE_GUARD_SPLIT, - MOVE_PSYCHO_SHIFT, - MOVE_ALLY_SWITCH, - MOVE_PSYCHIC_TERRAIN), +static const u16 sAbraEggMoveLearnset[] = { + MOVE_ENCORE, + MOVE_BARRIER, + MOVE_KNOCK_OFF, + MOVE_FIRE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_ICE_PUNCH, + MOVE_POWER_TRICK, + MOVE_GUARD_SWAP, + MOVE_SKILL_SWAP, + MOVE_GUARD_SPLIT, + MOVE_PSYCHO_SHIFT, + MOVE_ALLY_SWITCH, + MOVE_PSYCHIC_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ABRA #if P_FAMILY_MACHOP - egg_moves(MACHOP, - MOVE_MEDITATE, - MOVE_ROLLING_KICK, - MOVE_ENCORE, - MOVE_SMELLING_SALTS, - MOVE_COUNTER, - MOVE_CLOSE_COMBAT, - MOVE_FIRE_PUNCH, - MOVE_THUNDER_PUNCH, - MOVE_ICE_PUNCH, - MOVE_BULLET_PUNCH, - MOVE_POWER_TRICK, - MOVE_HEAVY_SLAM, - MOVE_KNOCK_OFF, - MOVE_TICKLE, - MOVE_QUICK_GUARD), +static const u16 sMachopEggMoveLearnset[] = { + MOVE_MEDITATE, + MOVE_ROLLING_KICK, + MOVE_ENCORE, + MOVE_SMELLING_SALTS, + MOVE_COUNTER, + MOVE_CLOSE_COMBAT, + MOVE_FIRE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_ICE_PUNCH, + MOVE_BULLET_PUNCH, + MOVE_POWER_TRICK, + MOVE_HEAVY_SLAM, + MOVE_KNOCK_OFF, + MOVE_TICKLE, + MOVE_QUICK_GUARD, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MACHOP #if P_FAMILY_BELLSPROUT - egg_moves(BELLSPROUT, - MOVE_ENCORE, - MOVE_SYNTHESIS, - MOVE_LEECH_LIFE, - MOVE_INGRAIN, - MOVE_MAGICAL_LEAF, - MOVE_WORRY_SEED, - MOVE_TICKLE, - MOVE_WEATHER_BALL, - MOVE_BULLET_SEED, - MOVE_NATURAL_GIFT, - MOVE_GIGA_DRAIN, - MOVE_CLEAR_SMOG, - MOVE_POWER_WHIP, - MOVE_ACID_SPRAY, - MOVE_BELCH, - MOVE_STRENGTH_SAP), +static const u16 sBellsproutEggMoveLearnset[] = { + MOVE_ENCORE, + MOVE_SYNTHESIS, + MOVE_LEECH_LIFE, + MOVE_INGRAIN, + MOVE_MAGICAL_LEAF, + MOVE_WORRY_SEED, + MOVE_TICKLE, + MOVE_WEATHER_BALL, + MOVE_BULLET_SEED, + MOVE_NATURAL_GIFT, + MOVE_GIGA_DRAIN, + MOVE_CLEAR_SMOG, + MOVE_POWER_WHIP, + MOVE_ACID_SPRAY, + MOVE_BELCH, + MOVE_STRENGTH_SAP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BELLSPROUT #if P_FAMILY_TENTACOOL - egg_moves(TENTACOOL, - MOVE_AURORA_BEAM, - MOVE_MIRROR_COAT, - MOVE_RAPID_SPIN, - MOVE_HAZE, - MOVE_CONFUSE_RAY, - MOVE_KNOCK_OFF, - MOVE_ACUPRESSURE, - MOVE_MUDDY_WATER, - MOVE_BUBBLE, - MOVE_AQUA_RING, - MOVE_TICKLE), +static const u16 sTentacoolEggMoveLearnset[] = { + MOVE_AURORA_BEAM, + MOVE_MIRROR_COAT, + MOVE_RAPID_SPIN, + MOVE_HAZE, + MOVE_CONFUSE_RAY, + MOVE_KNOCK_OFF, + MOVE_ACUPRESSURE, + MOVE_MUDDY_WATER, + MOVE_BUBBLE, + MOVE_AQUA_RING, + MOVE_TICKLE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TENTACOOL #if P_FAMILY_GEODUDE - egg_moves(GEODUDE, - MOVE_MEGA_PUNCH, - MOVE_BLOCK, - MOVE_HAMMER_ARM, - MOVE_FLAIL, - MOVE_CURSE, - MOVE_FOCUS_PUNCH, - MOVE_ROCK_CLIMB, - MOVE_ENDURE, - MOVE_AUTOTOMIZE, - MOVE_WIDE_GUARD), +static const u16 sGeodudeEggMoveLearnset[] = { + MOVE_MEGA_PUNCH, + MOVE_BLOCK, + MOVE_HAMMER_ARM, + MOVE_FLAIL, + MOVE_CURSE, + MOVE_FOCUS_PUNCH, + MOVE_ROCK_CLIMB, + MOVE_ENDURE, + MOVE_AUTOTOMIZE, + MOVE_WIDE_GUARD, + MOVE_UNAVAILABLE, +}; #if P_ALOLAN_FORMS - egg_moves(GEODUDE_ALOLAN, - MOVE_AUTOTOMIZE, - MOVE_BLOCK, - MOVE_COUNTER, - MOVE_CURSE, - MOVE_ENDURE, - MOVE_FLAIL, - MOVE_MAGNET_RISE, - MOVE_ROCK_CLIMB, - MOVE_SCREECH, - MOVE_WIDE_GUARD), +static const u16 sGeodudeAlolanEggMoveLearnset[] = { + MOVE_AUTOTOMIZE, + MOVE_BLOCK, + MOVE_COUNTER, + MOVE_CURSE, + MOVE_ENDURE, + MOVE_FLAIL, + MOVE_MAGNET_RISE, + MOVE_ROCK_CLIMB, + MOVE_SCREECH, + MOVE_WIDE_GUARD, + MOVE_UNAVAILABLE, +}; #endif //P_ALOLAN_FORMS #endif //P_FAMILY_GEODUDE #if P_FAMILY_PONYTA - egg_moves(PONYTA, - MOVE_FLAME_WHEEL, - MOVE_THRASH, - MOVE_DOUBLE_KICK, - MOVE_HYPNOSIS, - MOVE_CHARM, - MOVE_DOUBLE_EDGE, - MOVE_HORN_DRILL, - MOVE_MORNING_SUN, - MOVE_LOW_KICK, - MOVE_CAPTIVATE, - MOVE_ALLY_SWITCH, - MOVE_HIGH_HORSEPOWER), +static const u16 sPonytaEggMoveLearnset[] = { + MOVE_FLAME_WHEEL, + MOVE_THRASH, + MOVE_DOUBLE_KICK, + MOVE_HYPNOSIS, + MOVE_CHARM, + MOVE_DOUBLE_EDGE, + MOVE_HORN_DRILL, + MOVE_MORNING_SUN, + MOVE_LOW_KICK, + MOVE_CAPTIVATE, + MOVE_ALLY_SWITCH, + MOVE_HIGH_HORSEPOWER, + MOVE_UNAVAILABLE, +}; #if P_GALARIAN_FORMS - egg_moves(PONYTA_GALARIAN, - MOVE_THRASH, - MOVE_DOUBLE_KICK, - MOVE_HYPNOSIS, - MOVE_DOUBLE_EDGE, - MOVE_HORN_DRILL, - MOVE_MORNING_SUN), +static const u16 sPonytaGalarianEggMoveLearnset[] = { + MOVE_THRASH, + MOVE_DOUBLE_KICK, + MOVE_HYPNOSIS, + MOVE_DOUBLE_EDGE, + MOVE_HORN_DRILL, + MOVE_MORNING_SUN, + MOVE_UNAVAILABLE, +}; #endif //P_GALARIAN_FORMS #endif //P_FAMILY_PONYTA #if P_FAMILY_SLOWPOKE - egg_moves(SLOWPOKE, - MOVE_BELLY_DRUM, - MOVE_FUTURE_SIGHT, - MOVE_STOMP, - MOVE_MUD_SPORT, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_ME_FIRST, - MOVE_BLOCK, - MOVE_ZEN_HEADBUTT, - MOVE_WONDER_ROOM, - MOVE_BELCH), +static const u16 sSlowpokeEggMoveLearnset[] = { + MOVE_BELLY_DRUM, + MOVE_FUTURE_SIGHT, + MOVE_STOMP, + MOVE_MUD_SPORT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_ME_FIRST, + MOVE_BLOCK, + MOVE_ZEN_HEADBUTT, + MOVE_WONDER_ROOM, + MOVE_BELCH, + MOVE_UNAVAILABLE, +}; #if P_GALARIAN_FORMS - egg_moves(SLOWPOKE_GALARIAN, - MOVE_BELCH, - MOVE_BELLY_DRUM, - MOVE_BLOCK, - MOVE_STOMP), +static const u16 sSlowpokeGalarianEggMoveLearnset[] = { + MOVE_BELCH, + MOVE_BELLY_DRUM, + MOVE_BLOCK, + MOVE_STOMP, + MOVE_UNAVAILABLE, +}; #endif //P_GALARIAN_FORMS #endif //P_FAMILY_SLOWPOKE #if P_FAMILY_FARFETCHD - egg_moves(FARFETCHD, - MOVE_STEEL_WING, - MOVE_FORESIGHT, - MOVE_MIRROR_MOVE, - MOVE_GUST, - MOVE_QUICK_ATTACK, - MOVE_FLAIL, - MOVE_FEATHER_DANCE, - MOVE_CURSE, - MOVE_COVET, - MOVE_MUD_SLAP, - MOVE_NIGHT_SLASH, - MOVE_LEAF_BLADE, - MOVE_REVENGE, - MOVE_ROOST, - MOVE_TRUMP_CARD, - MOVE_SIMPLE_BEAM, - MOVE_FIRST_IMPRESSION, - MOVE_FINAL_GAMBIT), +static const u16 sFarfetchdEggMoveLearnset[] = { + MOVE_STEEL_WING, + MOVE_FORESIGHT, + MOVE_MIRROR_MOVE, + MOVE_GUST, + MOVE_QUICK_ATTACK, + MOVE_FLAIL, + MOVE_FEATHER_DANCE, + MOVE_CURSE, + MOVE_COVET, + MOVE_MUD_SLAP, + MOVE_NIGHT_SLASH, + MOVE_LEAF_BLADE, + MOVE_REVENGE, + MOVE_ROOST, + MOVE_TRUMP_CARD, + MOVE_SIMPLE_BEAM, + MOVE_FIRST_IMPRESSION, + MOVE_FINAL_GAMBIT, + MOVE_UNAVAILABLE, +}; #if P_GALARIAN_FORMS - egg_moves(FARFETCHD_GALARIAN, - MOVE_COUNTER, - MOVE_QUICK_ATTACK, - MOVE_FLAIL, - MOVE_QUICK_GUARD, - MOVE_CURSE, - MOVE_COVET, - MOVE_NIGHT_SLASH, - MOVE_SIMPLE_BEAM, - MOVE_DOUBLE_EDGE, - MOVE_FEINT, - MOVE_SKY_ATTACK), +static const u16 sFarfetchdGalarianEggMoveLearnset[] = { + MOVE_COUNTER, + MOVE_QUICK_ATTACK, + MOVE_FLAIL, + MOVE_QUICK_GUARD, + MOVE_CURSE, + MOVE_COVET, + MOVE_NIGHT_SLASH, + MOVE_SIMPLE_BEAM, + MOVE_DOUBLE_EDGE, + MOVE_FEINT, + MOVE_SKY_ATTACK, + MOVE_UNAVAILABLE, +}; #endif //P_GALARIAN_FORMS #endif //P_FAMILY_FARFETCHD #if P_FAMILY_DODUO - egg_moves(DODUO, - MOVE_QUICK_ATTACK, - MOVE_SUPERSONIC, - MOVE_HAZE, - MOVE_FEINT_ATTACK, - MOVE_FLAIL, - MOVE_ENDEAVOR, - MOVE_MIRROR_MOVE, - MOVE_BRAVE_BIRD, - MOVE_NATURAL_GIFT, - MOVE_ASSURANCE), +static const u16 sDoduoEggMoveLearnset[] = { + MOVE_QUICK_ATTACK, + MOVE_SUPERSONIC, + MOVE_HAZE, + MOVE_FEINT_ATTACK, + MOVE_FLAIL, + MOVE_ENDEAVOR, + MOVE_MIRROR_MOVE, + MOVE_BRAVE_BIRD, + MOVE_NATURAL_GIFT, + MOVE_ASSURANCE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DODUO #if P_FAMILY_SEEL - egg_moves(SEEL, - MOVE_LICK, - MOVE_PERISH_SONG, - MOVE_DISABLE, - MOVE_HORN_DRILL, - MOVE_SLAM, - MOVE_ENCORE, - MOVE_FAKE_OUT, - MOVE_ICICLE_SPEAR, - MOVE_SIGNAL_BEAM, - MOVE_STOCKPILE, - MOVE_SWALLOW, - MOVE_SPIT_UP, - MOVE_WATER_PULSE, - MOVE_IRON_TAIL, - MOVE_SLEEP_TALK, - MOVE_BELCH, - MOVE_ENTRAINMENT), +static const u16 sSeelEggMoveLearnset[] = { + MOVE_LICK, + MOVE_PERISH_SONG, + MOVE_DISABLE, + MOVE_HORN_DRILL, + MOVE_SLAM, + MOVE_ENCORE, + MOVE_FAKE_OUT, + MOVE_ICICLE_SPEAR, + MOVE_SIGNAL_BEAM, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_WATER_PULSE, + MOVE_IRON_TAIL, + MOVE_SLEEP_TALK, + MOVE_BELCH, + MOVE_ENTRAINMENT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SEEL #if P_FAMILY_GRIMER - egg_moves(GRIMER, - MOVE_HAZE, - MOVE_MEAN_LOOK, - MOVE_LICK, - MOVE_IMPRISON, - MOVE_CURSE, - MOVE_SHADOW_PUNCH, - MOVE_SHADOW_SNEAK, - MOVE_STOCKPILE, - MOVE_SWALLOW, - MOVE_SPIT_UP, - MOVE_SCARY_FACE, - MOVE_ACID_SPRAY, - MOVE_POWER_UP_PUNCH), +static const u16 sGrimerEggMoveLearnset[] = { + MOVE_HAZE, + MOVE_MEAN_LOOK, + MOVE_LICK, + MOVE_IMPRISON, + MOVE_CURSE, + MOVE_SHADOW_PUNCH, + MOVE_SHADOW_SNEAK, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_SCARY_FACE, + MOVE_ACID_SPRAY, + MOVE_POWER_UP_PUNCH, + MOVE_UNAVAILABLE, +}; #if P_ALOLAN_FORMS - egg_moves(GRIMER_ALOLAN, - MOVE_ASSURANCE, - MOVE_CLEAR_SMOG, - MOVE_CURSE, - MOVE_IMPRISON, - MOVE_MEAN_LOOK, - MOVE_POWER_UP_PUNCH, - MOVE_PURSUIT, - MOVE_SCARY_FACE, - MOVE_SHADOW_SNEAK, - MOVE_SPITE, - MOVE_SPIT_UP, - MOVE_STOCKPILE, - MOVE_SWALLOW), +static const u16 sGrimerAlolanEggMoveLearnset[] = { + MOVE_ASSURANCE, + MOVE_CLEAR_SMOG, + MOVE_CURSE, + MOVE_IMPRISON, + MOVE_MEAN_LOOK, + MOVE_POWER_UP_PUNCH, + MOVE_PURSUIT, + MOVE_SCARY_FACE, + MOVE_SHADOW_SNEAK, + MOVE_SPITE, + MOVE_SPIT_UP, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_UNAVAILABLE, +}; #endif //P_ALOLAN_FORMS #endif //P_FAMILY_GRIMER #if P_FAMILY_SHELLDER - egg_moves(SHELLDER, - MOVE_BUBBLE_BEAM, - MOVE_TAKE_DOWN, - MOVE_BARRIER, - MOVE_RAPID_SPIN, - MOVE_SCREECH, - MOVE_ICICLE_SPEAR, - MOVE_MUD_SHOT, - MOVE_ROCK_BLAST, - MOVE_WATER_PULSE, - MOVE_AQUA_RING, - MOVE_AVALANCHE, - MOVE_TWINEEDLE), +static const u16 sShellderEggMoveLearnset[] = { + MOVE_BUBBLE_BEAM, + MOVE_TAKE_DOWN, + MOVE_BARRIER, + MOVE_RAPID_SPIN, + MOVE_SCREECH, + MOVE_ICICLE_SPEAR, + MOVE_MUD_SHOT, + MOVE_ROCK_BLAST, + MOVE_WATER_PULSE, + MOVE_AQUA_RING, + MOVE_AVALANCHE, + MOVE_TWINEEDLE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SHELLDER #if P_FAMILY_GASTLY - egg_moves(GASTLY, - MOVE_PSYWAVE, - MOVE_PERISH_SONG, - MOVE_HAZE, - MOVE_ASTONISH, - MOVE_GRUDGE, - MOVE_FIRE_PUNCH, - MOVE_ICE_PUNCH, - MOVE_THUNDER_PUNCH, - MOVE_DISABLE, - MOVE_SCARY_FACE, - MOVE_CLEAR_SMOG, - MOVE_SMOG, - MOVE_REFLECT_TYPE), +static const u16 sGastlyEggMoveLearnset[] = { + MOVE_PSYWAVE, + MOVE_PERISH_SONG, + MOVE_HAZE, + MOVE_ASTONISH, + MOVE_GRUDGE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_DISABLE, + MOVE_SCARY_FACE, + MOVE_CLEAR_SMOG, + MOVE_SMOG, + MOVE_REFLECT_TYPE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_GASTLY #if P_FAMILY_ONIX - egg_moves(ONIX, - MOVE_FLAIL, - MOVE_BLOCK, - MOVE_DEFENSE_CURL, - MOVE_ROLLOUT, - MOVE_ROCK_BLAST, - MOVE_ROCK_CLIMB, - MOVE_HEAVY_SLAM, - MOVE_STEALTH_ROCK, - MOVE_ROTOTILLER, - MOVE_WIDE_GUARD), +static const u16 sOnixEggMoveLearnset[] = { + MOVE_FLAIL, + MOVE_BLOCK, + MOVE_DEFENSE_CURL, + MOVE_ROLLOUT, + MOVE_ROCK_BLAST, + MOVE_ROCK_CLIMB, + MOVE_HEAVY_SLAM, + MOVE_STEALTH_ROCK, + MOVE_ROTOTILLER, + MOVE_WIDE_GUARD, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ONIX #if P_FAMILY_DROWZEE - egg_moves(DROWZEE, - MOVE_BARRIER, - MOVE_ASSIST, - MOVE_ROLE_PLAY, - MOVE_FIRE_PUNCH, - MOVE_THUNDER_PUNCH, - MOVE_ICE_PUNCH, - MOVE_NASTY_PLOT, - MOVE_FLATTER, - MOVE_PSYCHO_CUT, - MOVE_GUARD_SWAP, - MOVE_SECRET_POWER, - MOVE_SKILL_SWAP, - MOVE_POWER_SPLIT, - MOVE_PSYCHIC_TERRAIN), +static const u16 sDrowzeeEggMoveLearnset[] = { + MOVE_BARRIER, + MOVE_ASSIST, + MOVE_ROLE_PLAY, + MOVE_FIRE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_ICE_PUNCH, + MOVE_NASTY_PLOT, + MOVE_FLATTER, + MOVE_PSYCHO_CUT, + MOVE_GUARD_SWAP, + MOVE_SECRET_POWER, + MOVE_SKILL_SWAP, + MOVE_POWER_SPLIT, + MOVE_PSYCHIC_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DROWZEE #if P_FAMILY_KRABBY - egg_moves(KRABBY, - MOVE_HAZE, - MOVE_AMNESIA, - MOVE_FLAIL, - MOVE_SLAM, - MOVE_KNOCK_OFF, - MOVE_TICKLE, - MOVE_ANCIENT_POWER, - MOVE_AGILITY, - MOVE_ENDURE, - MOVE_CHIP_AWAY, - MOVE_BIDE, - MOVE_ALLY_SWITCH), +static const u16 sKrabbyEggMoveLearnset[] = { + MOVE_HAZE, + MOVE_AMNESIA, + MOVE_FLAIL, + MOVE_SLAM, + MOVE_KNOCK_OFF, + MOVE_TICKLE, + MOVE_ANCIENT_POWER, + MOVE_AGILITY, + MOVE_ENDURE, + MOVE_CHIP_AWAY, + MOVE_BIDE, + MOVE_ALLY_SWITCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_KRABBY #if P_FAMILY_EXEGGCUTE - egg_moves(EXEGGCUTE, - MOVE_SYNTHESIS, - MOVE_MOONLIGHT, - MOVE_ANCIENT_POWER, - MOVE_INGRAIN, - MOVE_CURSE, - MOVE_NATURE_POWER, - MOVE_LUCKY_CHANT, - MOVE_LEAF_STORM, - MOVE_POWER_SWAP, - MOVE_GIGA_DRAIN, - MOVE_SKILL_SWAP, - MOVE_NATURAL_GIFT, - MOVE_BLOCK, - MOVE_GRASSY_TERRAIN), +static const u16 sExeggcuteEggMoveLearnset[] = { + MOVE_SYNTHESIS, + MOVE_MOONLIGHT, + MOVE_ANCIENT_POWER, + MOVE_INGRAIN, + MOVE_CURSE, + MOVE_NATURE_POWER, + MOVE_LUCKY_CHANT, + MOVE_LEAF_STORM, + MOVE_POWER_SWAP, + MOVE_GIGA_DRAIN, + MOVE_SKILL_SWAP, + MOVE_NATURAL_GIFT, + MOVE_BLOCK, + MOVE_GRASSY_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_EXEGGCUTE #if P_FAMILY_CUBONE - egg_moves(CUBONE, - MOVE_ANCIENT_POWER, - MOVE_BELLY_DRUM, - MOVE_SCREECH, - MOVE_SKULL_BASH, - MOVE_PERISH_SONG, - MOVE_DOUBLE_KICK, - MOVE_IRON_HEAD, - MOVE_DETECT, - MOVE_ENDURE, - MOVE_CHIP_AWAY, - MOVE_CURSE), +static const u16 sCuboneEggMoveLearnset[] = { + MOVE_ANCIENT_POWER, + MOVE_BELLY_DRUM, + MOVE_SCREECH, + MOVE_SKULL_BASH, + MOVE_PERISH_SONG, + MOVE_DOUBLE_KICK, + MOVE_IRON_HEAD, + MOVE_DETECT, + MOVE_ENDURE, + MOVE_CHIP_AWAY, + MOVE_CURSE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CUBONE #if P_FAMILY_HITMONS #if P_GEN_2_CROSS_EVOS - egg_moves(TYROGUE, - MOVE_RAPID_SPIN, - MOVE_HIGH_JUMP_KICK, - MOVE_MACH_PUNCH, - MOVE_MIND_READER, - MOVE_HELPING_HAND, - MOVE_COUNTER, - MOVE_VACUUM_WAVE, - MOVE_BULLET_PUNCH, - MOVE_ENDURE, - MOVE_PURSUIT, - MOVE_FEINT), +static const u16 sTyrogueEggMoveLearnset[] = { + MOVE_RAPID_SPIN, + MOVE_HIGH_JUMP_KICK, + MOVE_MACH_PUNCH, + MOVE_MIND_READER, + MOVE_HELPING_HAND, + MOVE_COUNTER, + MOVE_VACUUM_WAVE, + MOVE_BULLET_PUNCH, + MOVE_ENDURE, + MOVE_PURSUIT, + MOVE_FEINT, + MOVE_UNAVAILABLE, +}; #endif //P_GEN_2_CROSS_EVOS #endif //P_FAMILY_HITMONS #if P_FAMILY_LICKITUNG - egg_moves(LICKITUNG, - MOVE_BELLY_DRUM, - MOVE_MAGNITUDE, - MOVE_BODY_SLAM, - MOVE_CURSE, - MOVE_SMELLING_SALTS, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_AMNESIA, - MOVE_HAMMER_ARM, - MOVE_MUDDY_WATER, - MOVE_ZEN_HEADBUTT, - MOVE_BELCH, - MOVE_THRASH), +static const u16 sLickitungEggMoveLearnset[] = { + MOVE_BELLY_DRUM, + MOVE_MAGNITUDE, + MOVE_BODY_SLAM, + MOVE_CURSE, + MOVE_SMELLING_SALTS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_AMNESIA, + MOVE_HAMMER_ARM, + MOVE_MUDDY_WATER, + MOVE_ZEN_HEADBUTT, + MOVE_BELCH, + MOVE_THRASH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_LICKITUNG #if P_FAMILY_KOFFING - egg_moves(KOFFING, - MOVE_SCREECH, - MOVE_PSYWAVE, - MOVE_PSYBEAM, - MOVE_DESTINY_BOND, - MOVE_PAIN_SPLIT, - MOVE_GRUDGE, - MOVE_SPITE, - MOVE_CURSE, - MOVE_STOCKPILE, - MOVE_SWALLOW, - MOVE_SPIT_UP, - MOVE_TOXIC_SPIKES, - MOVE_VENOM_DRENCH), +static const u16 sKoffingEggMoveLearnset[] = { + MOVE_SCREECH, + MOVE_PSYWAVE, + MOVE_PSYBEAM, + MOVE_DESTINY_BOND, + MOVE_PAIN_SPLIT, + MOVE_GRUDGE, + MOVE_SPITE, + MOVE_CURSE, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_TOXIC_SPIKES, + MOVE_VENOM_DRENCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_KOFFING #if P_FAMILY_RHYHORN - egg_moves(RHYHORN, - MOVE_CRUNCH, - MOVE_REVERSAL, - MOVE_COUNTER, - MOVE_MAGNITUDE, - MOVE_CURSE, - MOVE_CRUSH_CLAW, - MOVE_DRAGON_RUSH, - MOVE_ICE_FANG, - MOVE_FIRE_FANG, - MOVE_THUNDER_FANG, - MOVE_SKULL_BASH, - MOVE_IRON_TAIL, - MOVE_ROCK_CLIMB, - MOVE_ROTOTILLER, - MOVE_METAL_BURST, - MOVE_GUARD_SPLIT), +static const u16 sRhyhornEggMoveLearnset[] = { + MOVE_CRUNCH, + MOVE_REVERSAL, + MOVE_COUNTER, + MOVE_MAGNITUDE, + MOVE_CURSE, + MOVE_CRUSH_CLAW, + MOVE_DRAGON_RUSH, + MOVE_ICE_FANG, + MOVE_FIRE_FANG, + MOVE_THUNDER_FANG, + MOVE_SKULL_BASH, + MOVE_IRON_TAIL, + MOVE_ROCK_CLIMB, + MOVE_ROTOTILLER, + MOVE_METAL_BURST, + MOVE_GUARD_SPLIT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_RHYHORN #if P_FAMILY_CHANSEY #if P_GEN_4_CROSS_EVOS - egg_moves(HAPPINY, - MOVE_PRESENT, - MOVE_METRONOME, - MOVE_HEAL_BELL, - MOVE_AROMATHERAPY, - MOVE_COUNTER, - MOVE_HELPING_HAND, - MOVE_GRAVITY, - MOVE_LAST_RESORT, - MOVE_MUD_BOMB, - MOVE_NATURAL_GIFT, - MOVE_ENDURE), +static const u16 sHappinyEggMoveLearnset[] = { + MOVE_PRESENT, + MOVE_METRONOME, + MOVE_HEAL_BELL, + MOVE_AROMATHERAPY, + MOVE_COUNTER, + MOVE_HELPING_HAND, + MOVE_GRAVITY, + MOVE_LAST_RESORT, + MOVE_MUD_BOMB, + MOVE_NATURAL_GIFT, + MOVE_ENDURE, + MOVE_UNAVAILABLE, +}; #endif //P_GEN_4_CROSS_EVOS - egg_moves(CHANSEY, - MOVE_PRESENT, - MOVE_METRONOME, - MOVE_HEAL_BELL, - MOVE_AROMATHERAPY, - MOVE_COUNTER, - MOVE_HELPING_HAND, - MOVE_GRAVITY, - MOVE_MUD_BOMB, - MOVE_NATURAL_GIFT, - MOVE_ENDURE, - MOVE_SEISMIC_TOSS), +static const u16 sChanseyEggMoveLearnset[] = { + MOVE_PRESENT, + MOVE_METRONOME, + MOVE_HEAL_BELL, + MOVE_AROMATHERAPY, + MOVE_COUNTER, + MOVE_HELPING_HAND, + MOVE_GRAVITY, + MOVE_MUD_BOMB, + MOVE_NATURAL_GIFT, + MOVE_ENDURE, + MOVE_SEISMIC_TOSS, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CHANSEY #if P_FAMILY_TANGELA - egg_moves(TANGELA, - MOVE_FLAIL, - MOVE_CONFUSION, - MOVE_MEGA_DRAIN, - MOVE_AMNESIA, - MOVE_LEECH_SEED, - MOVE_NATURE_POWER, - MOVE_ENDEAVOR, - MOVE_LEAF_STORM, - MOVE_POWER_SWAP, - MOVE_GIGA_DRAIN, - MOVE_RAGE_POWDER, - MOVE_NATURAL_GIFT, - MOVE_WAKE_UP_SLAP), +static const u16 sTangelaEggMoveLearnset[] = { + MOVE_FLAIL, + MOVE_CONFUSION, + MOVE_MEGA_DRAIN, + MOVE_AMNESIA, + MOVE_LEECH_SEED, + MOVE_NATURE_POWER, + MOVE_ENDEAVOR, + MOVE_LEAF_STORM, + MOVE_POWER_SWAP, + MOVE_GIGA_DRAIN, + MOVE_RAGE_POWDER, + MOVE_NATURAL_GIFT, + MOVE_WAKE_UP_SLAP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TANGELA #if P_FAMILY_KANGASKHAN - egg_moves(KANGASKHAN, - MOVE_STOMP, - MOVE_FORESIGHT, - MOVE_FOCUS_ENERGY, - MOVE_DISABLE, - MOVE_COUNTER, - MOVE_CRUSH_CLAW, - MOVE_DOUBLE_EDGE, - MOVE_ENDEAVOR, - MOVE_HAMMER_ARM, - MOVE_FOCUS_PUNCH, - MOVE_TRUMP_CARD, - MOVE_UPROAR, - MOVE_CIRCLE_THROW), +static const u16 sKangaskhanEggMoveLearnset[] = { + MOVE_STOMP, + MOVE_FORESIGHT, + MOVE_FOCUS_ENERGY, + MOVE_DISABLE, + MOVE_COUNTER, + MOVE_CRUSH_CLAW, + MOVE_DOUBLE_EDGE, + MOVE_ENDEAVOR, + MOVE_HAMMER_ARM, + MOVE_FOCUS_PUNCH, + MOVE_TRUMP_CARD, + MOVE_UPROAR, + MOVE_CIRCLE_THROW, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_KANGASKHAN #if P_FAMILY_HORSEA - egg_moves(HORSEA, - MOVE_FLAIL, - MOVE_AURORA_BEAM, - MOVE_OCTAZOOKA, - MOVE_DISABLE, - MOVE_SPLASH, - MOVE_DRAGON_RAGE, - MOVE_DRAGON_BREATH, - MOVE_SIGNAL_BEAM, - MOVE_RAZOR_WIND, - MOVE_MUDDY_WATER, - MOVE_WATER_PULSE, - MOVE_CLEAR_SMOG, - MOVE_OUTRAGE), +static const u16 sHorseaEggMoveLearnset[] = { + MOVE_FLAIL, + MOVE_AURORA_BEAM, + MOVE_OCTAZOOKA, + MOVE_DISABLE, + MOVE_SPLASH, + MOVE_DRAGON_RAGE, + MOVE_DRAGON_BREATH, + MOVE_SIGNAL_BEAM, + MOVE_RAZOR_WIND, + MOVE_MUDDY_WATER, + MOVE_WATER_PULSE, + MOVE_CLEAR_SMOG, + MOVE_OUTRAGE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_HORSEA #if P_FAMILY_GOLDEEN - egg_moves(GOLDEEN, - MOVE_PSYBEAM, - MOVE_HAZE, - MOVE_HYDRO_PUMP, - MOVE_SLEEP_TALK, - MOVE_MUD_SPORT, - MOVE_MUD_SLAP, - MOVE_AQUA_TAIL, - MOVE_BODY_SLAM, - MOVE_MUD_SHOT, - MOVE_SKULL_BASH, - MOVE_SIGNAL_BEAM), +static const u16 sGoldeenEggMoveLearnset[] = { + MOVE_PSYBEAM, + MOVE_HAZE, + MOVE_HYDRO_PUMP, + MOVE_SLEEP_TALK, + MOVE_MUD_SPORT, + MOVE_MUD_SLAP, + MOVE_AQUA_TAIL, + MOVE_BODY_SLAM, + MOVE_MUD_SHOT, + MOVE_SKULL_BASH, + MOVE_SIGNAL_BEAM, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_GOLDEEN #if P_FAMILY_MR_MIME #if P_GEN_4_CROSS_EVOS - egg_moves(MIME_JR, - MOVE_FUTURE_SIGHT, - MOVE_HYPNOSIS, - MOVE_MIMIC, - MOVE_FAKE_OUT, - MOVE_TRICK, - MOVE_CONFUSE_RAY, - MOVE_WAKE_UP_SLAP, - MOVE_TEETER_DANCE, - MOVE_HEALING_WISH, - MOVE_CHARM, - MOVE_NASTY_PLOT, - MOVE_POWER_SPLIT, - MOVE_MAGIC_ROOM, - MOVE_ICY_WIND, - MOVE_PSYCHIC_TERRAIN), +static const u16 sMimeJrEggMoveLearnset[] = { + MOVE_FUTURE_SIGHT, + MOVE_HYPNOSIS, + MOVE_MIMIC, + MOVE_FAKE_OUT, + MOVE_TRICK, + MOVE_CONFUSE_RAY, + MOVE_WAKE_UP_SLAP, + MOVE_TEETER_DANCE, + MOVE_HEALING_WISH, + MOVE_CHARM, + MOVE_NASTY_PLOT, + MOVE_POWER_SPLIT, + MOVE_MAGIC_ROOM, + MOVE_ICY_WIND, + MOVE_PSYCHIC_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_GEN_4_CROSS_EVOS - egg_moves(MR_MIME, - MOVE_FUTURE_SIGHT, - MOVE_HYPNOSIS, - MOVE_MIMIC, - MOVE_FAKE_OUT, - MOVE_TRICK, - MOVE_CONFUSE_RAY, - MOVE_WAKE_UP_SLAP, - MOVE_TEETER_DANCE, - MOVE_NASTY_PLOT, - MOVE_POWER_SPLIT, - MOVE_MAGIC_ROOM, - MOVE_ICY_WIND, - MOVE_PSYCHIC_TERRAIN), +static const u16 sMrMimeEggMoveLearnset[] = { + MOVE_FUTURE_SIGHT, + MOVE_HYPNOSIS, + MOVE_MIMIC, + MOVE_FAKE_OUT, + MOVE_TRICK, + MOVE_CONFUSE_RAY, + MOVE_WAKE_UP_SLAP, + MOVE_TEETER_DANCE, + MOVE_NASTY_PLOT, + MOVE_POWER_SPLIT, + MOVE_MAGIC_ROOM, + MOVE_ICY_WIND, + MOVE_PSYCHIC_TERRAIN, + MOVE_UNAVAILABLE, +}; #if P_GALARIAN_FORMS - egg_moves(MR_MIME_GALARIAN, - MOVE_FAKE_OUT, - MOVE_CONFUSE_RAY, - MOVE_POWER_SPLIT, - MOVE_TICKLE), +static const u16 sMrMimeGalarianEggMoveLearnset[] = { + MOVE_FAKE_OUT, + MOVE_CONFUSE_RAY, + MOVE_POWER_SPLIT, + MOVE_TICKLE, + MOVE_UNAVAILABLE, +}; #endif //P_GALARIAN_FORMS #endif //P_FAMILY_MR_MIME #if P_FAMILY_SCYTHER - egg_moves(SCYTHER, - MOVE_COUNTER, - MOVE_BATON_PASS, - MOVE_RAZOR_WIND, - MOVE_REVERSAL, - MOVE_ENDURE, - MOVE_SILVER_WIND, - MOVE_BUG_BUZZ, - MOVE_NIGHT_SLASH, - MOVE_DEFOG, - MOVE_STEEL_WING, - MOVE_QUICK_GUARD), +static const u16 sScytherEggMoveLearnset[] = { + MOVE_COUNTER, + MOVE_BATON_PASS, + MOVE_RAZOR_WIND, + MOVE_REVERSAL, + MOVE_ENDURE, + MOVE_SILVER_WIND, + MOVE_BUG_BUZZ, + MOVE_NIGHT_SLASH, + MOVE_DEFOG, + MOVE_STEEL_WING, + MOVE_QUICK_GUARD, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SCYTHER #if P_FAMILY_JYNX #if P_GEN_2_CROSS_EVOS - egg_moves(SMOOCHUM, - MOVE_MEDITATE, - MOVE_FAKE_OUT, - MOVE_WISH, - MOVE_ICE_PUNCH, - MOVE_MIRACLE_EYE, - MOVE_NASTY_PLOT, - MOVE_WAKE_UP_SLAP, - MOVE_CAPTIVATE), +static const u16 sSmoochumEggMoveLearnset[] = { + MOVE_MEDITATE, + MOVE_FAKE_OUT, + MOVE_WISH, + MOVE_ICE_PUNCH, + MOVE_MIRACLE_EYE, + MOVE_NASTY_PLOT, + MOVE_WAKE_UP_SLAP, + MOVE_CAPTIVATE, + MOVE_UNAVAILABLE, +}; #endif //P_GEN_2_CROSS_EVOS #endif //P_FAMILY_JYNX #if P_FAMILY_ELECTABUZZ #if P_GEN_2_CROSS_EVOS - egg_moves(ELEKID, - MOVE_KARATE_CHOP, - MOVE_BARRIER, - MOVE_ROLLING_KICK, - MOVE_MEDITATE, - MOVE_CROSS_CHOP, - MOVE_FIRE_PUNCH, - MOVE_ICE_PUNCH, - MOVE_DYNAMIC_PUNCH, - MOVE_FEINT, - MOVE_HAMMER_ARM, - MOVE_FOCUS_PUNCH), +static const u16 sElekidEggMoveLearnset[] = { + MOVE_KARATE_CHOP, + MOVE_BARRIER, + MOVE_ROLLING_KICK, + MOVE_MEDITATE, + MOVE_CROSS_CHOP, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_DYNAMIC_PUNCH, + MOVE_FEINT, + MOVE_HAMMER_ARM, + MOVE_FOCUS_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_GEN_2_CROSS_EVOS #endif //P_FAMILY_ELECTABUZZ #if P_FAMILY_MAGMAR #if P_GEN_2_CROSS_EVOS - egg_moves(MAGBY, - MOVE_KARATE_CHOP, - MOVE_MEGA_PUNCH, - MOVE_BARRIER, - MOVE_SCREECH, - MOVE_CROSS_CHOP, - MOVE_THUNDER_PUNCH, - MOVE_MACH_PUNCH, - MOVE_DYNAMIC_PUNCH, - MOVE_FLARE_BLITZ, - MOVE_BELLY_DRUM, - MOVE_IRON_TAIL, - MOVE_FOCUS_ENERGY, - MOVE_POWER_SWAP, - MOVE_BELCH), +static const u16 sMagbyEggMoveLearnset[] = { + MOVE_KARATE_CHOP, + MOVE_MEGA_PUNCH, + MOVE_BARRIER, + MOVE_SCREECH, + MOVE_CROSS_CHOP, + MOVE_THUNDER_PUNCH, + MOVE_MACH_PUNCH, + MOVE_DYNAMIC_PUNCH, + MOVE_FLARE_BLITZ, + MOVE_BELLY_DRUM, + MOVE_IRON_TAIL, + MOVE_FOCUS_ENERGY, + MOVE_POWER_SWAP, + MOVE_BELCH, + MOVE_UNAVAILABLE, +}; #endif //P_GEN_2_CROSS_EVOS #endif //P_FAMILY_MAGMAR #if P_FAMILY_PINSIR - egg_moves(PINSIR, - MOVE_FURY_ATTACK, - MOVE_FLAIL, - MOVE_FEINT_ATTACK, - MOVE_QUICK_ATTACK, - MOVE_CLOSE_COMBAT, - MOVE_FEINT, - MOVE_ME_FIRST, - MOVE_BUG_BITE, - MOVE_SUPERPOWER), +static const u16 sPinsirEggMoveLearnset[] = { + MOVE_FURY_ATTACK, + MOVE_FLAIL, + MOVE_FEINT_ATTACK, + MOVE_QUICK_ATTACK, + MOVE_CLOSE_COMBAT, + MOVE_FEINT, + MOVE_ME_FIRST, + MOVE_BUG_BITE, + MOVE_SUPERPOWER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PINSIR #if P_FAMILY_TAUROS #if P_PALDEAN_FORMS - egg_moves(TAUROS_PALDEAN_COMBAT_BREED, - MOVE_CURSE, - MOVE_ENDEAVOR), +static const u16 sTaurosPaldeanCombatBreedEggMoveLearnset[] = { + MOVE_CURSE, + MOVE_ENDEAVOR, + MOVE_UNAVAILABLE, +}; - egg_moves(TAUROS_PALDEAN_BLAZE_BREED, - MOVE_CURSE, - MOVE_ENDEAVOR), +static const u16 sTaurosPaldeanBlazeBreedEggMoveLearnset[] = { + MOVE_CURSE, + MOVE_ENDEAVOR, + MOVE_UNAVAILABLE, +}; - egg_moves(TAUROS_PALDEAN_AQUA_BREED, - MOVE_CURSE, - MOVE_ENDEAVOR), +static const u16 sTaurosPaldeanAquaBreedEggMoveLearnset[] = { + MOVE_CURSE, + MOVE_ENDEAVOR, + MOVE_UNAVAILABLE, +}; #endif //P_PALDEAN_FORMS #endif //P_FAMILY_TAUROS #if P_FAMILY_LAPRAS - egg_moves(LAPRAS, - MOVE_FORESIGHT, - MOVE_TICKLE, - MOVE_REFRESH, - MOVE_DRAGON_DANCE, - MOVE_CURSE, - MOVE_SLEEP_TALK, - MOVE_HORN_DRILL, - MOVE_ANCIENT_POWER, - MOVE_WHIRLPOOL, - MOVE_FISSURE, - MOVE_DRAGON_PULSE, - MOVE_AVALANCHE, - MOVE_FUTURE_SIGHT, - MOVE_FREEZE_DRY), +static const u16 sLaprasEggMoveLearnset[] = { + MOVE_FORESIGHT, + MOVE_TICKLE, + MOVE_REFRESH, + MOVE_DRAGON_DANCE, + MOVE_CURSE, + MOVE_SLEEP_TALK, + MOVE_HORN_DRILL, + MOVE_ANCIENT_POWER, + MOVE_WHIRLPOOL, + MOVE_FISSURE, + MOVE_DRAGON_PULSE, + MOVE_AVALANCHE, + MOVE_FUTURE_SIGHT, + MOVE_FREEZE_DRY, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_LAPRAS #if P_FAMILY_EEVEE - egg_moves(EEVEE, - MOVE_CHARM, - MOVE_FLAIL, - MOVE_ENDURE, - MOVE_CURSE, - MOVE_TICKLE, - MOVE_WISH, - MOVE_YAWN, - MOVE_FAKE_TEARS, - MOVE_COVET, - MOVE_DETECT, - MOVE_NATURAL_GIFT, - MOVE_STORED_POWER, - MOVE_SYNCHRONOISE, - MOVE_CAPTIVATE), +static const u16 sEeveeEggMoveLearnset[] = { + MOVE_CHARM, + MOVE_FLAIL, + MOVE_ENDURE, + MOVE_CURSE, + MOVE_TICKLE, + MOVE_WISH, + MOVE_YAWN, + MOVE_FAKE_TEARS, + MOVE_COVET, + MOVE_DETECT, + MOVE_NATURAL_GIFT, + MOVE_STORED_POWER, + MOVE_SYNCHRONOISE, + MOVE_CAPTIVATE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_EEVEE #if P_FAMILY_OMANYTE - egg_moves(OMANYTE, - MOVE_BUBBLE_BEAM, - MOVE_AURORA_BEAM, - MOVE_SLAM, - MOVE_SUPERSONIC, - MOVE_HAZE, - MOVE_SPIKES, - MOVE_KNOCK_OFF, - MOVE_WRING_OUT, - MOVE_TOXIC_SPIKES, - MOVE_MUDDY_WATER, - MOVE_BIDE, - MOVE_WATER_PULSE, - MOVE_WHIRLPOOL, - MOVE_REFLECT_TYPE), +static const u16 sOmanyteEggMoveLearnset[] = { + MOVE_BUBBLE_BEAM, + MOVE_AURORA_BEAM, + MOVE_SLAM, + MOVE_SUPERSONIC, + MOVE_HAZE, + MOVE_SPIKES, + MOVE_KNOCK_OFF, + MOVE_WRING_OUT, + MOVE_TOXIC_SPIKES, + MOVE_MUDDY_WATER, + MOVE_BIDE, + MOVE_WATER_PULSE, + MOVE_WHIRLPOOL, + MOVE_REFLECT_TYPE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_OMANYTE #if P_FAMILY_KABUTO - egg_moves(KABUTO, - MOVE_BUBBLE_BEAM, - MOVE_AURORA_BEAM, - MOVE_RAPID_SPIN, - MOVE_FLAIL, - MOVE_KNOCK_OFF, - MOVE_CONFUSE_RAY, - MOVE_MUD_SHOT, - MOVE_ICY_WIND, - MOVE_SCREECH, - MOVE_GIGA_DRAIN, - MOVE_FORESIGHT, - MOVE_TAKE_DOWN), +static const u16 sKabutoEggMoveLearnset[] = { + MOVE_BUBBLE_BEAM, + MOVE_AURORA_BEAM, + MOVE_RAPID_SPIN, + MOVE_FLAIL, + MOVE_KNOCK_OFF, + MOVE_CONFUSE_RAY, + MOVE_MUD_SHOT, + MOVE_ICY_WIND, + MOVE_SCREECH, + MOVE_GIGA_DRAIN, + MOVE_FORESIGHT, + MOVE_TAKE_DOWN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_KABUTO #if P_FAMILY_AERODACTYL - egg_moves(AERODACTYL, - MOVE_WHIRLWIND, - MOVE_PURSUIT, - MOVE_FORESIGHT, - MOVE_STEEL_WING, - MOVE_DRAGON_BREATH, - MOVE_CURSE, - MOVE_ASSURANCE, - MOVE_ROOST, - MOVE_TAILWIND, - MOVE_WIDE_GUARD), +static const u16 sAerodactylEggMoveLearnset[] = { + MOVE_WHIRLWIND, + MOVE_PURSUIT, + MOVE_FORESIGHT, + MOVE_STEEL_WING, + MOVE_DRAGON_BREATH, + MOVE_CURSE, + MOVE_ASSURANCE, + MOVE_ROOST, + MOVE_TAILWIND, + MOVE_WIDE_GUARD, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_AERODACTYL #if P_FAMILY_SNORLAX #if P_GEN_4_CROSS_EVOS - egg_moves(MUNCHLAX, - MOVE_LICK, - MOVE_CHARM, - MOVE_DOUBLE_EDGE, - MOVE_CURSE, - MOVE_WHIRLWIND, - MOVE_PURSUIT, - MOVE_ZEN_HEADBUTT, - MOVE_COUNTER, - MOVE_NATURAL_GIFT, - MOVE_AFTER_YOU, - MOVE_SELF_DESTRUCT, - MOVE_BELCH), +static const u16 sMunchlaxEggMoveLearnset[] = { + MOVE_LICK, + MOVE_CHARM, + MOVE_DOUBLE_EDGE, + MOVE_CURSE, + MOVE_WHIRLWIND, + MOVE_PURSUIT, + MOVE_ZEN_HEADBUTT, + MOVE_COUNTER, + MOVE_NATURAL_GIFT, + MOVE_AFTER_YOU, + MOVE_SELF_DESTRUCT, + MOVE_BELCH, + MOVE_UNAVAILABLE, +}; #endif //P_GEN_4_CROSS_EVOS - egg_moves(SNORLAX, - MOVE_LICK, - MOVE_CHARM, - MOVE_DOUBLE_EDGE, - MOVE_CURSE, - MOVE_FISSURE, - MOVE_WHIRLWIND, - MOVE_PURSUIT, - MOVE_COUNTER, - MOVE_NATURAL_GIFT, - MOVE_AFTER_YOU, - MOVE_BELCH, - MOVE_POWER_UP_PUNCH), +static const u16 sSnorlaxEggMoveLearnset[] = { + MOVE_LICK, + MOVE_CHARM, + MOVE_DOUBLE_EDGE, + MOVE_CURSE, + MOVE_FISSURE, + MOVE_WHIRLWIND, + MOVE_PURSUIT, + MOVE_COUNTER, + MOVE_NATURAL_GIFT, + MOVE_AFTER_YOU, + MOVE_BELCH, + MOVE_POWER_UP_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SNORLAX #if P_FAMILY_DRATINI - egg_moves(DRATINI, - MOVE_MIST, - MOVE_HAZE, - MOVE_SUPERSONIC, - MOVE_DRAGON_BREATH, - MOVE_DRAGON_DANCE, - MOVE_DRAGON_RUSH, - MOVE_EXTREME_SPEED, - MOVE_WATER_PULSE, - MOVE_AQUA_JET, - MOVE_DRAGON_PULSE, - MOVE_IRON_TAIL), +static const u16 sDratiniEggMoveLearnset[] = { + MOVE_MIST, + MOVE_HAZE, + MOVE_SUPERSONIC, + MOVE_DRAGON_BREATH, + MOVE_DRAGON_DANCE, + MOVE_DRAGON_RUSH, + MOVE_EXTREME_SPEED, + MOVE_WATER_PULSE, + MOVE_AQUA_JET, + MOVE_DRAGON_PULSE, + MOVE_IRON_TAIL, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DRATINI #if P_FAMILY_CHIKORITA - egg_moves(CHIKORITA, - MOVE_VINE_WHIP, - MOVE_LEECH_SEED, - MOVE_COUNTER, - MOVE_ANCIENT_POWER, - MOVE_FLAIL, - MOVE_NATURE_POWER, - MOVE_INGRAIN, - MOVE_GRASS_WHISTLE, - MOVE_LEAF_STORM, - MOVE_AROMATHERAPY, - MOVE_WRING_OUT, - MOVE_BODY_SLAM, - MOVE_REFRESH, - MOVE_HEAL_PULSE, - MOVE_GRASSY_TERRAIN), +static const u16 sChikoritaEggMoveLearnset[] = { + MOVE_VINE_WHIP, + MOVE_LEECH_SEED, + MOVE_COUNTER, + MOVE_ANCIENT_POWER, + MOVE_FLAIL, + MOVE_NATURE_POWER, + MOVE_INGRAIN, + MOVE_GRASS_WHISTLE, + MOVE_LEAF_STORM, + MOVE_AROMATHERAPY, + MOVE_WRING_OUT, + MOVE_BODY_SLAM, + MOVE_REFRESH, + MOVE_HEAL_PULSE, + MOVE_GRASSY_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CHIKORITA #if P_FAMILY_CYNDAQUIL - egg_moves(CYNDAQUIL, - MOVE_FURY_SWIPES, - MOVE_QUICK_ATTACK, - MOVE_REVERSAL, - MOVE_THRASH, - MOVE_FORESIGHT, - MOVE_COVET, - MOVE_HOWL, - MOVE_CRUSH_CLAW, - MOVE_DOUBLE_EDGE, - MOVE_DOUBLE_KICK, - MOVE_FLARE_BLITZ, - MOVE_EXTRASENSORY, - MOVE_NATURE_POWER, - MOVE_FLAME_BURST), +static const u16 sCyndaquilEggMoveLearnset[] = { + MOVE_FURY_SWIPES, + MOVE_QUICK_ATTACK, + MOVE_REVERSAL, + MOVE_THRASH, + MOVE_FORESIGHT, + MOVE_COVET, + MOVE_HOWL, + MOVE_CRUSH_CLAW, + MOVE_DOUBLE_EDGE, + MOVE_DOUBLE_KICK, + MOVE_FLARE_BLITZ, + MOVE_EXTRASENSORY, + MOVE_NATURE_POWER, + MOVE_FLAME_BURST, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CYNDAQUIL #if P_FAMILY_TOTODILE - egg_moves(TOTODILE, - MOVE_CRUNCH, - MOVE_THRASH, - MOVE_HYDRO_PUMP, - MOVE_ANCIENT_POWER, - MOVE_MUD_SPORT, - MOVE_WATER_SPORT, - MOVE_ICE_PUNCH, - MOVE_METAL_CLAW, - MOVE_DRAGON_DANCE, - MOVE_AQUA_JET, - MOVE_FAKE_TEARS, - MOVE_BLOCK, - MOVE_WATER_PULSE, - MOVE_FLATTER), +static const u16 sTotodileEggMoveLearnset[] = { + MOVE_CRUNCH, + MOVE_THRASH, + MOVE_HYDRO_PUMP, + MOVE_ANCIENT_POWER, + MOVE_MUD_SPORT, + MOVE_WATER_SPORT, + MOVE_ICE_PUNCH, + MOVE_METAL_CLAW, + MOVE_DRAGON_DANCE, + MOVE_AQUA_JET, + MOVE_FAKE_TEARS, + MOVE_BLOCK, + MOVE_WATER_PULSE, + MOVE_FLATTER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TOTODILE #if P_FAMILY_SENTRET - egg_moves(SENTRET, - MOVE_DOUBLE_EDGE, - MOVE_PURSUIT, - MOVE_SLASH, - MOVE_FOCUS_ENERGY, - MOVE_REVERSAL, - MOVE_TRICK, - MOVE_ASSIST, - MOVE_LAST_RESORT, - MOVE_CHARM, - MOVE_COVET, - MOVE_NATURAL_GIFT, - MOVE_IRON_TAIL, - MOVE_CAPTIVATE, - MOVE_BABY_DOLL_EYES), +static const u16 sSentretEggMoveLearnset[] = { + MOVE_DOUBLE_EDGE, + MOVE_PURSUIT, + MOVE_SLASH, + MOVE_FOCUS_ENERGY, + MOVE_REVERSAL, + MOVE_TRICK, + MOVE_ASSIST, + MOVE_LAST_RESORT, + MOVE_CHARM, + MOVE_COVET, + MOVE_NATURAL_GIFT, + MOVE_IRON_TAIL, + MOVE_CAPTIVATE, + MOVE_BABY_DOLL_EYES, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SENTRET #if P_FAMILY_HOOTHOOT - egg_moves(HOOTHOOT, - MOVE_MIRROR_MOVE, - MOVE_SUPERSONIC, - MOVE_FEINT_ATTACK, - MOVE_WING_ATTACK, - MOVE_WHIRLWIND, - MOVE_SKY_ATTACK, - MOVE_FEATHER_DANCE, - MOVE_AGILITY, - MOVE_NIGHT_SHADE, - MOVE_DEFOG, - MOVE_MEAN_LOOK, - MOVE_HURRICANE), +static const u16 sHoothootEggMoveLearnset[] = { + MOVE_MIRROR_MOVE, + MOVE_SUPERSONIC, + MOVE_FEINT_ATTACK, + MOVE_WING_ATTACK, + MOVE_WHIRLWIND, + MOVE_SKY_ATTACK, + MOVE_FEATHER_DANCE, + MOVE_AGILITY, + MOVE_NIGHT_SHADE, + MOVE_DEFOG, + MOVE_MEAN_LOOK, + MOVE_HURRICANE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_HOOTHOOT #if P_FAMILY_LEDYBA - egg_moves(LEDYBA, - MOVE_PSYBEAM, - MOVE_BIDE, - MOVE_SILVER_WIND, - MOVE_BUG_BUZZ, - MOVE_SCREECH, - MOVE_ENCORE, - MOVE_KNOCK_OFF, - MOVE_BUG_BITE, - MOVE_FOCUS_PUNCH, - MOVE_DRAIN_PUNCH, - MOVE_DIZZY_PUNCH, - MOVE_TAILWIND, - MOVE_ENDURE, - MOVE_COUNTER), +static const u16 sLedybaEggMoveLearnset[] = { + MOVE_PSYBEAM, + MOVE_BIDE, + MOVE_SILVER_WIND, + MOVE_BUG_BUZZ, + MOVE_SCREECH, + MOVE_ENCORE, + MOVE_KNOCK_OFF, + MOVE_BUG_BITE, + MOVE_FOCUS_PUNCH, + MOVE_DRAIN_PUNCH, + MOVE_DIZZY_PUNCH, + MOVE_TAILWIND, + MOVE_ENDURE, + MOVE_COUNTER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_LEDYBA #if P_FAMILY_SPINARAK - egg_moves(SPINARAK, - MOVE_PSYBEAM, - MOVE_DISABLE, - MOVE_SONIC_BOOM, - MOVE_BATON_PASS, - MOVE_PURSUIT, - MOVE_SIGNAL_BEAM, - MOVE_TOXIC_SPIKES, - MOVE_TWINEEDLE, - MOVE_ELECTROWEB, - MOVE_RAGE_POWDER, - MOVE_NIGHT_SLASH, - MOVE_MEGAHORN, - MOVE_LUNGE), +static const u16 sSpinarakEggMoveLearnset[] = { + MOVE_PSYBEAM, + MOVE_DISABLE, + MOVE_SONIC_BOOM, + MOVE_BATON_PASS, + MOVE_PURSUIT, + MOVE_SIGNAL_BEAM, + MOVE_TOXIC_SPIKES, + MOVE_TWINEEDLE, + MOVE_ELECTROWEB, + MOVE_RAGE_POWDER, + MOVE_NIGHT_SLASH, + MOVE_MEGAHORN, + MOVE_LUNGE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SPINARAK #if P_FAMILY_CHINCHOU - egg_moves(CHINCHOU, - MOVE_FLAIL, - MOVE_SCREECH, - MOVE_AMNESIA, - MOVE_PSYBEAM, - MOVE_WHIRLPOOL, - MOVE_AGILITY, - MOVE_MIST, - MOVE_SHOCK_WAVE, - MOVE_BRINE, - MOVE_WATER_PULSE, - MOVE_SOAK), +static const u16 sChinchouEggMoveLearnset[] = { + MOVE_FLAIL, + MOVE_SCREECH, + MOVE_AMNESIA, + MOVE_PSYBEAM, + MOVE_WHIRLPOOL, + MOVE_AGILITY, + MOVE_MIST, + MOVE_SHOCK_WAVE, + MOVE_BRINE, + MOVE_WATER_PULSE, + MOVE_SOAK, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CHINCHOU #if P_FAMILY_TOGEPI - egg_moves(TOGEPI, - MOVE_PRESENT, - MOVE_MIRROR_MOVE, - MOVE_PECK, - MOVE_FORESIGHT, - MOVE_FUTURE_SIGHT, - MOVE_NASTY_PLOT, - MOVE_PSYCHO_SHIFT, - MOVE_LUCKY_CHANT, - MOVE_EXTRASENSORY, - MOVE_SECRET_POWER, - MOVE_STORED_POWER, - MOVE_MORNING_SUN), +static const u16 sTogepiEggMoveLearnset[] = { + MOVE_PRESENT, + MOVE_MIRROR_MOVE, + MOVE_PECK, + MOVE_FORESIGHT, + MOVE_FUTURE_SIGHT, + MOVE_NASTY_PLOT, + MOVE_PSYCHO_SHIFT, + MOVE_LUCKY_CHANT, + MOVE_EXTRASENSORY, + MOVE_SECRET_POWER, + MOVE_STORED_POWER, + MOVE_MORNING_SUN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TOGEPI #if P_FAMILY_NATU - egg_moves(NATU, - MOVE_HAZE, - MOVE_DRILL_PECK, - MOVE_QUICK_ATTACK, - MOVE_FEINT_ATTACK, - MOVE_STEEL_WING, - MOVE_FEATHER_DANCE, - MOVE_REFRESH, - MOVE_ZEN_HEADBUTT, - MOVE_SUCKER_PUNCH, - MOVE_SYNCHRONOISE, - MOVE_ROOST, - MOVE_SKILL_SWAP, - MOVE_SIMPLE_BEAM, - MOVE_ALLY_SWITCH), +static const u16 sNatuEggMoveLearnset[] = { + MOVE_HAZE, + MOVE_DRILL_PECK, + MOVE_QUICK_ATTACK, + MOVE_FEINT_ATTACK, + MOVE_STEEL_WING, + MOVE_FEATHER_DANCE, + MOVE_REFRESH, + MOVE_ZEN_HEADBUTT, + MOVE_SUCKER_PUNCH, + MOVE_SYNCHRONOISE, + MOVE_ROOST, + MOVE_SKILL_SWAP, + MOVE_SIMPLE_BEAM, + MOVE_ALLY_SWITCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_NATU #if P_FAMILY_MAREEP - egg_moves(MAREEP, - MOVE_TAKE_DOWN, - MOVE_BODY_SLAM, - MOVE_SCREECH, - MOVE_ODOR_SLEUTH, - MOVE_CHARGE, - MOVE_FLATTER, - MOVE_SAND_ATTACK, - MOVE_IRON_TAIL, - MOVE_AFTER_YOU, - MOVE_AGILITY, - MOVE_EERIE_IMPULSE, - MOVE_ELECTRIC_TERRAIN), +static const u16 sMareepEggMoveLearnset[] = { + MOVE_TAKE_DOWN, + MOVE_BODY_SLAM, + MOVE_SCREECH, + MOVE_ODOR_SLEUTH, + MOVE_CHARGE, + MOVE_FLATTER, + MOVE_SAND_ATTACK, + MOVE_IRON_TAIL, + MOVE_AFTER_YOU, + MOVE_AGILITY, + MOVE_EERIE_IMPULSE, + MOVE_ELECTRIC_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MAREEP #if P_FAMILY_MARILL #if P_GEN_3_CROSS_EVOS - egg_moves(AZURILL, - MOVE_ENCORE, - MOVE_SING, - MOVE_REFRESH, - MOVE_SLAM, - MOVE_TICKLE, - MOVE_FAKE_TEARS, - MOVE_BODY_SLAM, - MOVE_WATER_SPORT, - MOVE_SOAK, - MOVE_MUDDY_WATER, - MOVE_COPYCAT, - MOVE_CAMOUFLAGE), +static const u16 sAzurillEggMoveLearnset[] = { + MOVE_ENCORE, + MOVE_SING, + MOVE_REFRESH, + MOVE_SLAM, + MOVE_TICKLE, + MOVE_FAKE_TEARS, + MOVE_BODY_SLAM, + MOVE_WATER_SPORT, + MOVE_SOAK, + MOVE_MUDDY_WATER, + MOVE_COPYCAT, + MOVE_CAMOUFLAGE, + MOVE_UNAVAILABLE, +}; #endif //P_GEN_3_CROSS_EVOS - egg_moves(MARILL, - MOVE_PRESENT, - MOVE_AMNESIA, - MOVE_FUTURE_SIGHT, - MOVE_BELLY_DRUM, - MOVE_PERISH_SONG, - MOVE_SUPERSONIC, - MOVE_AQUA_JET, - MOVE_SUPERPOWER, - MOVE_REFRESH, - MOVE_BODY_SLAM, - MOVE_WATER_SPORT, - MOVE_MUDDY_WATER, - MOVE_CAMOUFLAGE), +static const u16 sMarillEggMoveLearnset[] = { + MOVE_PRESENT, + MOVE_AMNESIA, + MOVE_FUTURE_SIGHT, + MOVE_BELLY_DRUM, + MOVE_PERISH_SONG, + MOVE_SUPERSONIC, + MOVE_AQUA_JET, + MOVE_SUPERPOWER, + MOVE_REFRESH, + MOVE_BODY_SLAM, + MOVE_WATER_SPORT, + MOVE_MUDDY_WATER, + MOVE_CAMOUFLAGE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MARILL #if P_FAMILY_SUDOWOODO #if P_GEN_4_CROSS_EVOS - egg_moves(BONSLY, - MOVE_SELF_DESTRUCT, - MOVE_HEADBUTT, - MOVE_HARDEN, - MOVE_DEFENSE_CURL, - MOVE_ROLLOUT, - MOVE_SAND_TOMB, - MOVE_STEALTH_ROCK, - MOVE_CURSE, - MOVE_ENDURE), +static const u16 sBonslyEggMoveLearnset[] = { + MOVE_SELF_DESTRUCT, + MOVE_HEADBUTT, + MOVE_HARDEN, + MOVE_DEFENSE_CURL, + MOVE_ROLLOUT, + MOVE_SAND_TOMB, + MOVE_STEALTH_ROCK, + MOVE_CURSE, + MOVE_ENDURE, + MOVE_UNAVAILABLE, +}; #endif //P_GEN_4_CROSS_EVOS - egg_moves(SUDOWOODO, - MOVE_SELF_DESTRUCT, - MOVE_HEADBUTT, - MOVE_HARDEN, - MOVE_DEFENSE_CURL, - MOVE_ROLLOUT, - MOVE_SAND_TOMB, - MOVE_STEALTH_ROCK, - MOVE_CURSE, - MOVE_ENDURE), +static const u16 sSudowoodoEggMoveLearnset[] = { + MOVE_SELF_DESTRUCT, + MOVE_HEADBUTT, + MOVE_HARDEN, + MOVE_DEFENSE_CURL, + MOVE_ROLLOUT, + MOVE_SAND_TOMB, + MOVE_STEALTH_ROCK, + MOVE_CURSE, + MOVE_ENDURE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SUDOWOODO #if P_FAMILY_HOPPIP - egg_moves(HOPPIP, - MOVE_CONFUSION, - MOVE_ENCORE, - MOVE_DOUBLE_EDGE, - MOVE_AMNESIA, - MOVE_HELPING_HAND, - MOVE_AROMATHERAPY, - MOVE_WORRY_SEED, - MOVE_COTTON_GUARD, - MOVE_SEED_BOMB, - MOVE_ENDURE, - MOVE_GRASSY_TERRAIN, - MOVE_STRENGTH_SAP), +static const u16 sHoppipEggMoveLearnset[] = { + MOVE_CONFUSION, + MOVE_ENCORE, + MOVE_DOUBLE_EDGE, + MOVE_AMNESIA, + MOVE_HELPING_HAND, + MOVE_AROMATHERAPY, + MOVE_WORRY_SEED, + MOVE_COTTON_GUARD, + MOVE_SEED_BOMB, + MOVE_ENDURE, + MOVE_GRASSY_TERRAIN, + MOVE_STRENGTH_SAP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_HOPPIP #if P_FAMILY_AIPOM - egg_moves(AIPOM, - MOVE_COUNTER, - MOVE_SCREECH, - MOVE_PURSUIT, - MOVE_AGILITY, - MOVE_SPITE, - MOVE_SLAM, - MOVE_DOUBLE_SLAP, - MOVE_BEAT_UP, - MOVE_FAKE_OUT, - MOVE_COVET, - MOVE_BOUNCE, - MOVE_REVENGE, - MOVE_SWITCHEROO, - MOVE_QUICK_GUARD, - MOVE_TAIL_SLAP), +static const u16 sAipomEggMoveLearnset[] = { + MOVE_COUNTER, + MOVE_SCREECH, + MOVE_PURSUIT, + MOVE_AGILITY, + MOVE_SPITE, + MOVE_SLAM, + MOVE_DOUBLE_SLAP, + MOVE_BEAT_UP, + MOVE_FAKE_OUT, + MOVE_COVET, + MOVE_BOUNCE, + MOVE_REVENGE, + MOVE_SWITCHEROO, + MOVE_QUICK_GUARD, + MOVE_TAIL_SLAP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_AIPOM #if P_FAMILY_SUNKERN - egg_moves(SUNKERN, - MOVE_GRASS_WHISTLE, - MOVE_ENCORE, - MOVE_LEECH_SEED, - MOVE_NATURE_POWER, - MOVE_CURSE, - MOVE_HELPING_HAND, - MOVE_INGRAIN, - MOVE_SWEET_SCENT, - MOVE_ENDURE, - MOVE_BIDE, - MOVE_NATURAL_GIFT, - MOVE_MORNING_SUN, - MOVE_GRASSY_TERRAIN), +static const u16 sSunkernEggMoveLearnset[] = { + MOVE_GRASS_WHISTLE, + MOVE_ENCORE, + MOVE_LEECH_SEED, + MOVE_NATURE_POWER, + MOVE_CURSE, + MOVE_HELPING_HAND, + MOVE_INGRAIN, + MOVE_SWEET_SCENT, + MOVE_ENDURE, + MOVE_BIDE, + MOVE_NATURAL_GIFT, + MOVE_MORNING_SUN, + MOVE_GRASSY_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SUNKERN #if P_FAMILY_YANMA - egg_moves(YANMA, - MOVE_WHIRLWIND, - MOVE_REVERSAL, - MOVE_LEECH_LIFE, - MOVE_SIGNAL_BEAM, - MOVE_SILVER_WIND, - MOVE_FEINT, - MOVE_FEINT_ATTACK, - MOVE_PURSUIT, - MOVE_DOUBLE_EDGE, - MOVE_SECRET_POWER), +static const u16 sYanmaEggMoveLearnset[] = { + MOVE_WHIRLWIND, + MOVE_REVERSAL, + MOVE_LEECH_LIFE, + MOVE_SIGNAL_BEAM, + MOVE_SILVER_WIND, + MOVE_FEINT, + MOVE_FEINT_ATTACK, + MOVE_PURSUIT, + MOVE_DOUBLE_EDGE, + MOVE_SECRET_POWER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_YANMA #if P_FAMILY_WOOPER - egg_moves(WOOPER, - MOVE_BODY_SLAM, - MOVE_ANCIENT_POWER, - MOVE_CURSE, - MOVE_MUD_SPORT, - MOVE_STOCKPILE, - MOVE_SWALLOW, - MOVE_SPIT_UP, - MOVE_COUNTER, - MOVE_ENCORE, - MOVE_DOUBLE_KICK, - MOVE_RECOVER, - MOVE_AFTER_YOU, - MOVE_SLEEP_TALK, - MOVE_ACID_SPRAY, - MOVE_GUARD_SWAP, - MOVE_EERIE_IMPULSE, - MOVE_POWER_UP_PUNCH), +static const u16 sWooperEggMoveLearnset[] = { + MOVE_BODY_SLAM, + MOVE_ANCIENT_POWER, + MOVE_CURSE, + MOVE_MUD_SPORT, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_COUNTER, + MOVE_ENCORE, + MOVE_DOUBLE_KICK, + MOVE_RECOVER, + MOVE_AFTER_YOU, + MOVE_SLEEP_TALK, + MOVE_ACID_SPRAY, + MOVE_GUARD_SWAP, + MOVE_EERIE_IMPULSE, + MOVE_POWER_UP_PUNCH, + MOVE_UNAVAILABLE, +}; #if P_PALDEAN_FORMS - egg_moves(WOOPER_PALDEAN, - MOVE_ACID_SPRAY, - MOVE_AFTER_YOU, - MOVE_ANCIENT_POWER, - MOVE_COUNTER, - MOVE_CURSE, - MOVE_DOUBLE_KICK, - MOVE_HAZE, - MOVE_MIST, - MOVE_RECOVER, - MOVE_SPIT_UP, - MOVE_STOCKPILE, - MOVE_SWALLOW), +static const u16 sWooperPaldeanEggMoveLearnset[] = { + MOVE_ACID_SPRAY, + MOVE_AFTER_YOU, + MOVE_ANCIENT_POWER, + MOVE_COUNTER, + MOVE_CURSE, + MOVE_DOUBLE_KICK, + MOVE_HAZE, + MOVE_MIST, + MOVE_RECOVER, + MOVE_SPIT_UP, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_UNAVAILABLE, +}; #endif //P_PALDEAN_FORMS #endif //P_FAMILY_WOOPER #if P_FAMILY_MURKROW - egg_moves(MURKROW, - MOVE_WHIRLWIND, - MOVE_DRILL_PECK, - MOVE_MIRROR_MOVE, - MOVE_WING_ATTACK, - MOVE_SKY_ATTACK, - MOVE_CONFUSE_RAY, - MOVE_FEATHER_DANCE, - MOVE_PERISH_SONG, - MOVE_PSYCHO_SHIFT, - MOVE_SCREECH, - MOVE_FEINT_ATTACK, - MOVE_BRAVE_BIRD, - MOVE_ROOST, - MOVE_ASSURANCE, - MOVE_FLATTER, - MOVE_PUNISHMENT), +static const u16 sMurkrowEggMoveLearnset[] = { + MOVE_WHIRLWIND, + MOVE_DRILL_PECK, + MOVE_MIRROR_MOVE, + MOVE_WING_ATTACK, + MOVE_SKY_ATTACK, + MOVE_CONFUSE_RAY, + MOVE_FEATHER_DANCE, + MOVE_PERISH_SONG, + MOVE_PSYCHO_SHIFT, + MOVE_SCREECH, + MOVE_FEINT_ATTACK, + MOVE_BRAVE_BIRD, + MOVE_ROOST, + MOVE_ASSURANCE, + MOVE_FLATTER, + MOVE_PUNISHMENT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MURKROW #if P_FAMILY_MISDREAVUS - egg_moves(MISDREAVUS, - MOVE_SCREECH, - MOVE_DESTINY_BOND, - MOVE_IMPRISON, - MOVE_MEMENTO, - MOVE_SUCKER_PUNCH, - MOVE_SHADOW_SNEAK, - MOVE_CURSE, - MOVE_SPITE, - MOVE_OMINOUS_WIND, - MOVE_NASTY_PLOT, - MOVE_SKILL_SWAP, - MOVE_WONDER_ROOM, - MOVE_ME_FIRST), +static const u16 sMisdreavusEggMoveLearnset[] = { + MOVE_SCREECH, + MOVE_DESTINY_BOND, + MOVE_IMPRISON, + MOVE_MEMENTO, + MOVE_SUCKER_PUNCH, + MOVE_SHADOW_SNEAK, + MOVE_CURSE, + MOVE_SPITE, + MOVE_OMINOUS_WIND, + MOVE_NASTY_PLOT, + MOVE_SKILL_SWAP, + MOVE_WONDER_ROOM, + MOVE_ME_FIRST, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MISDREAVUS #if P_FAMILY_GIRAFARIG - egg_moves(GIRAFARIG, - MOVE_TAKE_DOWN, - MOVE_AMNESIA, - MOVE_FORESIGHT, - MOVE_FUTURE_SIGHT, - MOVE_BEAT_UP, - MOVE_WISH, - MOVE_MAGIC_COAT, - MOVE_DOUBLE_KICK, - MOVE_MIRROR_COAT, - MOVE_RAZOR_WIND, - MOVE_SKILL_SWAP, - MOVE_SECRET_POWER, - MOVE_MEAN_LOOK, - MOVE_PSYCHIC_TERRAIN, - MOVE_PSYCHIC_FANGS), +static const u16 sGirafarigEggMoveLearnset[] = { + MOVE_TAKE_DOWN, + MOVE_AMNESIA, + MOVE_FORESIGHT, + MOVE_FUTURE_SIGHT, + MOVE_BEAT_UP, + MOVE_WISH, + MOVE_MAGIC_COAT, + MOVE_DOUBLE_KICK, + MOVE_MIRROR_COAT, + MOVE_RAZOR_WIND, + MOVE_SKILL_SWAP, + MOVE_SECRET_POWER, + MOVE_MEAN_LOOK, + MOVE_PSYCHIC_TERRAIN, + MOVE_PSYCHIC_FANGS, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_GIRAFARIG #if P_FAMILY_PINECO - egg_moves(PINECO, - MOVE_PIN_MISSILE, - MOVE_FLAIL, - MOVE_SWIFT, - MOVE_COUNTER, - MOVE_SAND_TOMB, - MOVE_REVENGE, - MOVE_DOUBLE_EDGE, - MOVE_TOXIC_SPIKES, - MOVE_POWER_TRICK, - MOVE_ENDURE, - MOVE_STEALTH_ROCK), +static const u16 sPinecoEggMoveLearnset[] = { + MOVE_PIN_MISSILE, + MOVE_FLAIL, + MOVE_SWIFT, + MOVE_COUNTER, + MOVE_SAND_TOMB, + MOVE_REVENGE, + MOVE_DOUBLE_EDGE, + MOVE_TOXIC_SPIKES, + MOVE_POWER_TRICK, + MOVE_ENDURE, + MOVE_STEALTH_ROCK, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PINECO #if P_FAMILY_DUNSPARCE - egg_moves(DUNSPARCE, - MOVE_BIDE, - MOVE_ANCIENT_POWER, - MOVE_BITE, - MOVE_HEADBUTT, - MOVE_ASTONISH, - MOVE_CURSE, - MOVE_TRUMP_CARD, - MOVE_MAGIC_COAT, - MOVE_SNORE, - MOVE_AGILITY, - MOVE_SECRET_POWER, - MOVE_SLEEP_TALK, - MOVE_HEX), +static const u16 sDunsparceEggMoveLearnset[] = { + MOVE_BIDE, + MOVE_ANCIENT_POWER, + MOVE_BITE, + MOVE_HEADBUTT, + MOVE_ASTONISH, + MOVE_CURSE, + MOVE_TRUMP_CARD, + MOVE_MAGIC_COAT, + MOVE_SNORE, + MOVE_AGILITY, + MOVE_SECRET_POWER, + MOVE_SLEEP_TALK, + MOVE_HEX, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DUNSPARCE #if P_FAMILY_GLIGAR - egg_moves(GLIGAR, - MOVE_METAL_CLAW, - MOVE_WING_ATTACK, - MOVE_RAZOR_WIND, - MOVE_COUNTER, - MOVE_SAND_TOMB, - MOVE_AGILITY, - MOVE_BATON_PASS, - MOVE_DOUBLE_EDGE, - MOVE_FEINT, - MOVE_NIGHT_SLASH, - MOVE_CROSS_POISON, - MOVE_POWER_TRICK, - MOVE_ROCK_CLIMB, - MOVE_POISON_TAIL), +static const u16 sGligarEggMoveLearnset[] = { + MOVE_METAL_CLAW, + MOVE_WING_ATTACK, + MOVE_RAZOR_WIND, + MOVE_COUNTER, + MOVE_SAND_TOMB, + MOVE_AGILITY, + MOVE_BATON_PASS, + MOVE_DOUBLE_EDGE, + MOVE_FEINT, + MOVE_NIGHT_SLASH, + MOVE_CROSS_POISON, + MOVE_POWER_TRICK, + MOVE_ROCK_CLIMB, + MOVE_POISON_TAIL, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_GLIGAR #if P_FAMILY_SNUBBULL - egg_moves(SNUBBULL, - MOVE_METRONOME, - MOVE_FEINT_ATTACK, - MOVE_PRESENT, - MOVE_CRUNCH, - MOVE_HEAL_BELL, - MOVE_SNORE, - MOVE_SMELLING_SALTS, - MOVE_CLOSE_COMBAT, - MOVE_ICE_FANG, - MOVE_FIRE_FANG, - MOVE_THUNDER_FANG, - MOVE_FOCUS_PUNCH, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_FAKE_TEARS), +static const u16 sSnubbullEggMoveLearnset[] = { + MOVE_METRONOME, + MOVE_FEINT_ATTACK, + MOVE_PRESENT, + MOVE_CRUNCH, + MOVE_HEAL_BELL, + MOVE_SNORE, + MOVE_SMELLING_SALTS, + MOVE_CLOSE_COMBAT, + MOVE_ICE_FANG, + MOVE_FIRE_FANG, + MOVE_THUNDER_FANG, + MOVE_FOCUS_PUNCH, + MOVE_DOUBLE_EDGE, + MOVE_MIMIC, + MOVE_FAKE_TEARS, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SNUBBULL #if P_FAMILY_QWILFISH - egg_moves(QWILFISH, - MOVE_FLAIL, - MOVE_HAZE, - MOVE_BUBBLE_BEAM, - MOVE_SUPERSONIC, - MOVE_ASTONISH, - MOVE_SIGNAL_BEAM, - MOVE_AQUA_JET, - MOVE_WATER_PULSE, - MOVE_BRINE, - MOVE_ACID_SPRAY), +static const u16 sQwilfishEggMoveLearnset[] = { + MOVE_FLAIL, + MOVE_HAZE, + MOVE_BUBBLE_BEAM, + MOVE_SUPERSONIC, + MOVE_ASTONISH, + MOVE_SIGNAL_BEAM, + MOVE_AQUA_JET, + MOVE_WATER_PULSE, + MOVE_BRINE, + MOVE_ACID_SPRAY, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_QWILFISH #if P_FAMILY_SHUCKLE - egg_moves(SHUCKLE, - MOVE_SWEET_SCENT, - MOVE_KNOCK_OFF, - MOVE_HELPING_HAND, - MOVE_ACUPRESSURE, - MOVE_SAND_TOMB, - MOVE_MUD_SLAP, - MOVE_ACID, - MOVE_ROCK_BLAST, - MOVE_FINAL_GAMBIT), +static const u16 sShuckleEggMoveLearnset[] = { + MOVE_SWEET_SCENT, + MOVE_KNOCK_OFF, + MOVE_HELPING_HAND, + MOVE_ACUPRESSURE, + MOVE_SAND_TOMB, + MOVE_MUD_SLAP, + MOVE_ACID, + MOVE_ROCK_BLAST, + MOVE_FINAL_GAMBIT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SHUCKLE #if P_FAMILY_HERACROSS - egg_moves(HERACROSS, - MOVE_HARDEN, - MOVE_BIDE, - MOVE_FLAIL, - MOVE_REVENGE, - MOVE_PURSUIT, - MOVE_DOUBLE_EDGE, - MOVE_SEISMIC_TOSS, - MOVE_FOCUS_PUNCH, - MOVE_MEGAHORN, - MOVE_ROCK_BLAST), +static const u16 sHeracrossEggMoveLearnset[] = { + MOVE_HARDEN, + MOVE_BIDE, + MOVE_FLAIL, + MOVE_REVENGE, + MOVE_PURSUIT, + MOVE_DOUBLE_EDGE, + MOVE_SEISMIC_TOSS, + MOVE_FOCUS_PUNCH, + MOVE_MEGAHORN, + MOVE_ROCK_BLAST, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_HERACROSS #if P_FAMILY_SNEASEL - egg_moves(SNEASEL, - MOVE_COUNTER, - MOVE_SPITE, - MOVE_FORESIGHT, - MOVE_BITE, - MOVE_CRUSH_CLAW, - MOVE_FAKE_OUT, - MOVE_DOUBLE_HIT, - MOVE_PUNISHMENT, - MOVE_PURSUIT, - MOVE_ICE_SHARD, - MOVE_ICE_PUNCH, - MOVE_ASSIST, - MOVE_AVALANCHE, - MOVE_FEINT, - MOVE_ICICLE_CRASH, - MOVE_THROAT_CHOP), +static const u16 sSneaselEggMoveLearnset[] = { + MOVE_COUNTER, + MOVE_SPITE, + MOVE_FORESIGHT, + MOVE_BITE, + MOVE_CRUSH_CLAW, + MOVE_FAKE_OUT, + MOVE_DOUBLE_HIT, + MOVE_PUNISHMENT, + MOVE_PURSUIT, + MOVE_ICE_SHARD, + MOVE_ICE_PUNCH, + MOVE_ASSIST, + MOVE_AVALANCHE, + MOVE_FEINT, + MOVE_ICICLE_CRASH, + MOVE_THROAT_CHOP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SNEASEL #if P_FAMILY_TEDDIURSA - egg_moves(TEDDIURSA, - MOVE_CRUNCH, - MOVE_TAKE_DOWN, - MOVE_SEISMIC_TOSS, - MOVE_COUNTER, - MOVE_METAL_CLAW, - MOVE_FAKE_TEARS, - MOVE_YAWN, - MOVE_SLEEP_TALK, - MOVE_CROSS_CHOP, - MOVE_DOUBLE_EDGE, - MOVE_CLOSE_COMBAT, - MOVE_NIGHT_SLASH, - MOVE_BELLY_DRUM, - MOVE_CHIP_AWAY, - MOVE_PLAY_ROUGH), +static const u16 sTeddiursaEggMoveLearnset[] = { + MOVE_CRUNCH, + MOVE_TAKE_DOWN, + MOVE_SEISMIC_TOSS, + MOVE_COUNTER, + MOVE_METAL_CLAW, + MOVE_FAKE_TEARS, + MOVE_YAWN, + MOVE_SLEEP_TALK, + MOVE_CROSS_CHOP, + MOVE_DOUBLE_EDGE, + MOVE_CLOSE_COMBAT, + MOVE_NIGHT_SLASH, + MOVE_BELLY_DRUM, + MOVE_CHIP_AWAY, + MOVE_PLAY_ROUGH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TEDDIURSA #if P_FAMILY_SLUGMA - egg_moves(SLUGMA, - MOVE_ACID_ARMOR, - MOVE_HEAT_WAVE, - MOVE_CURSE, - MOVE_SMOKESCREEN, - MOVE_MEMENTO, - MOVE_STOCKPILE, - MOVE_SPIT_UP, - MOVE_SWALLOW, - MOVE_ROLLOUT, - MOVE_INFERNO, - MOVE_EARTH_POWER, - MOVE_GUARD_SWAP), +static const u16 sSlugmaEggMoveLearnset[] = { + MOVE_ACID_ARMOR, + MOVE_HEAT_WAVE, + MOVE_CURSE, + MOVE_SMOKESCREEN, + MOVE_MEMENTO, + MOVE_STOCKPILE, + MOVE_SPIT_UP, + MOVE_SWALLOW, + MOVE_ROLLOUT, + MOVE_INFERNO, + MOVE_EARTH_POWER, + MOVE_GUARD_SWAP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SLUGMA #if P_FAMILY_SWINUB - egg_moves(SWINUB, - MOVE_TAKE_DOWN, - MOVE_BITE, - MOVE_BODY_SLAM, - MOVE_ANCIENT_POWER, - MOVE_MUD_SHOT, - MOVE_ICICLE_SPEAR, - MOVE_DOUBLE_EDGE, - MOVE_FISSURE, - MOVE_CURSE, - MOVE_MUD_SHOT, - MOVE_AVALANCHE, - MOVE_STEALTH_ROCK, - MOVE_ICICLE_CRASH, - MOVE_FREEZE_DRY), +static const u16 sSwinubEggMoveLearnset[] = { + MOVE_TAKE_DOWN, + MOVE_BITE, + MOVE_BODY_SLAM, + MOVE_ANCIENT_POWER, + MOVE_MUD_SHOT, + MOVE_ICICLE_SPEAR, + MOVE_DOUBLE_EDGE, + MOVE_FISSURE, + MOVE_CURSE, + MOVE_MUD_SHOT, + MOVE_AVALANCHE, + MOVE_STEALTH_ROCK, + MOVE_ICICLE_CRASH, + MOVE_FREEZE_DRY, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SWINUB #if P_FAMILY_CORSOLA - egg_moves(CORSOLA, - MOVE_SCREECH, - MOVE_MIST, - MOVE_AMNESIA, - MOVE_BARRIER, - MOVE_INGRAIN, - MOVE_CONFUSE_RAY, - MOVE_ICICLE_SPEAR, - MOVE_NATURE_POWER, - MOVE_AQUA_RING, - MOVE_CURSE, - MOVE_BIDE, - MOVE_WATER_PULSE, - MOVE_HEAD_SMASH, - MOVE_CAMOUFLAGE, - MOVE_LIQUIDATION), +static const u16 sCorsolaEggMoveLearnset[] = { + MOVE_SCREECH, + MOVE_MIST, + MOVE_AMNESIA, + MOVE_BARRIER, + MOVE_INGRAIN, + MOVE_CONFUSE_RAY, + MOVE_ICICLE_SPEAR, + MOVE_NATURE_POWER, + MOVE_AQUA_RING, + MOVE_CURSE, + MOVE_BIDE, + MOVE_WATER_PULSE, + MOVE_HEAD_SMASH, + MOVE_CAMOUFLAGE, + MOVE_LIQUIDATION, + MOVE_UNAVAILABLE, +}; #if P_GALARIAN_FORMS - egg_moves(CORSOLA_GALARIAN, - MOVE_HAZE, - MOVE_CONFUSE_RAY, - MOVE_NATURE_POWER, - MOVE_DESTINY_BOND, - MOVE_WATER_PULSE, - MOVE_HEAD_SMASH), +static const u16 sCorsolaGalarianEggMoveLearnset[] = { + MOVE_HAZE, + MOVE_CONFUSE_RAY, + MOVE_NATURE_POWER, + MOVE_DESTINY_BOND, + MOVE_WATER_PULSE, + MOVE_HEAD_SMASH, + MOVE_UNAVAILABLE, +}; #endif //P_GALARIAN_FORMS #endif //P_FAMILY_CORSOLA #if P_FAMILY_REMORAID - egg_moves(REMORAID, - MOVE_AURORA_BEAM, - MOVE_OCTAZOOKA, - MOVE_SUPERSONIC, - MOVE_HAZE, - MOVE_SCREECH, - MOVE_ROCK_BLAST, - MOVE_SNORE, - MOVE_FLAIL, - MOVE_WATER_SPOUT, - MOVE_MUD_SHOT, - MOVE_SWIFT, - MOVE_ACID_SPRAY, - MOVE_WATER_PULSE, - MOVE_ENTRAINMENT), +static const u16 sRemoraidEggMoveLearnset[] = { + MOVE_AURORA_BEAM, + MOVE_OCTAZOOKA, + MOVE_SUPERSONIC, + MOVE_HAZE, + MOVE_SCREECH, + MOVE_ROCK_BLAST, + MOVE_SNORE, + MOVE_FLAIL, + MOVE_WATER_SPOUT, + MOVE_MUD_SHOT, + MOVE_SWIFT, + MOVE_ACID_SPRAY, + MOVE_WATER_PULSE, + MOVE_ENTRAINMENT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_REMORAID #if P_FAMILY_DELIBIRD - egg_moves(DELIBIRD, - MOVE_AURORA_BEAM, - MOVE_QUICK_ATTACK, - MOVE_FUTURE_SIGHT, - MOVE_SPLASH, - MOVE_RAPID_SPIN, - MOVE_ICE_BALL, - MOVE_ICE_SHARD, - MOVE_ICE_PUNCH, - MOVE_FAKE_OUT, - MOVE_BESTOW, - MOVE_ICY_WIND, - MOVE_FREEZE_DRY, - MOVE_DESTINY_BOND, - MOVE_SPIKES, - MOVE_COUNTER), +static const u16 sDelibirdEggMoveLearnset[] = { + MOVE_AURORA_BEAM, + MOVE_QUICK_ATTACK, + MOVE_FUTURE_SIGHT, + MOVE_SPLASH, + MOVE_RAPID_SPIN, + MOVE_ICE_BALL, + MOVE_ICE_SHARD, + MOVE_ICE_PUNCH, + MOVE_FAKE_OUT, + MOVE_BESTOW, + MOVE_ICY_WIND, + MOVE_FREEZE_DRY, + MOVE_DESTINY_BOND, + MOVE_SPIKES, + MOVE_COUNTER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DELIBIRD #if P_FAMILY_MANTINE #if P_GEN_4_CROSS_EVOS - egg_moves(MANTYKE, - MOVE_TWISTER, - MOVE_HYDRO_PUMP, - MOVE_HAZE, - MOVE_SLAM, - MOVE_MUD_SPORT, - MOVE_MIRROR_COAT, - MOVE_WATER_SPORT, - MOVE_SPLASH, - MOVE_SIGNAL_BEAM, - MOVE_WIDE_GUARD, - MOVE_AMNESIA, - MOVE_TAILWIND), +static const u16 sMantykeEggMoveLearnset[] = { + MOVE_TWISTER, + MOVE_HYDRO_PUMP, + MOVE_HAZE, + MOVE_SLAM, + MOVE_MUD_SPORT, + MOVE_MIRROR_COAT, + MOVE_WATER_SPORT, + MOVE_SPLASH, + MOVE_SIGNAL_BEAM, + MOVE_WIDE_GUARD, + MOVE_AMNESIA, + MOVE_TAILWIND, + MOVE_UNAVAILABLE, +}; #endif //P_GEN_4_CROSS_EVOS - egg_moves(MANTINE, - MOVE_TWISTER, - MOVE_HYDRO_PUMP, - MOVE_HAZE, - MOVE_SLAM, - MOVE_MUD_SPORT, - MOVE_MIRROR_COAT, - MOVE_WATER_SPORT, - MOVE_SPLASH, - MOVE_WIDE_GUARD, - MOVE_AMNESIA), +static const u16 sMantineEggMoveLearnset[] = { + MOVE_TWISTER, + MOVE_HYDRO_PUMP, + MOVE_HAZE, + MOVE_SLAM, + MOVE_MUD_SPORT, + MOVE_MIRROR_COAT, + MOVE_WATER_SPORT, + MOVE_SPLASH, + MOVE_WIDE_GUARD, + MOVE_AMNESIA, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MANTINE #if P_FAMILY_SKARMORY - egg_moves(SKARMORY, - MOVE_DRILL_PECK, - MOVE_PURSUIT, - MOVE_WHIRLWIND, - MOVE_SKY_ATTACK, - MOVE_CURSE, - MOVE_BRAVE_BIRD, - MOVE_ASSURANCE, - MOVE_GUARD_SWAP, - MOVE_STEALTH_ROCK, - MOVE_ENDURE), +static const u16 sSkarmoryEggMoveLearnset[] = { + MOVE_DRILL_PECK, + MOVE_PURSUIT, + MOVE_WHIRLWIND, + MOVE_SKY_ATTACK, + MOVE_CURSE, + MOVE_BRAVE_BIRD, + MOVE_ASSURANCE, + MOVE_GUARD_SWAP, + MOVE_STEALTH_ROCK, + MOVE_ENDURE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SKARMORY #if P_FAMILY_HOUNDOUR - egg_moves(HOUNDOUR, - MOVE_FIRE_SPIN, - MOVE_RAGE, - MOVE_PURSUIT, - MOVE_COUNTER, - MOVE_SPITE, - MOVE_REVERSAL, - MOVE_BEAT_UP, - MOVE_FIRE_FANG, - MOVE_THUNDER_FANG, - MOVE_NASTY_PLOT, - MOVE_PUNISHMENT, - MOVE_FEINT, - MOVE_SUCKER_PUNCH, - MOVE_DESTINY_BOND), +static const u16 sHoundourEggMoveLearnset[] = { + MOVE_FIRE_SPIN, + MOVE_RAGE, + MOVE_PURSUIT, + MOVE_COUNTER, + MOVE_SPITE, + MOVE_REVERSAL, + MOVE_BEAT_UP, + MOVE_FIRE_FANG, + MOVE_THUNDER_FANG, + MOVE_NASTY_PLOT, + MOVE_PUNISHMENT, + MOVE_FEINT, + MOVE_SUCKER_PUNCH, + MOVE_DESTINY_BOND, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_HOUNDOUR #if P_FAMILY_PHANPY - egg_moves(PHANPY, - MOVE_FOCUS_ENERGY, - MOVE_BODY_SLAM, - MOVE_ANCIENT_POWER, - MOVE_SNORE, - MOVE_COUNTER, - MOVE_FISSURE, - MOVE_ENDEAVOR, - MOVE_ICE_SHARD, - MOVE_HEAD_SMASH, - MOVE_MUD_SLAP, - MOVE_HEAVY_SLAM, - MOVE_PLAY_ROUGH, - MOVE_HIGH_HORSEPOWER), +static const u16 sPhanpyEggMoveLearnset[] = { + MOVE_FOCUS_ENERGY, + MOVE_BODY_SLAM, + MOVE_ANCIENT_POWER, + MOVE_SNORE, + MOVE_COUNTER, + MOVE_FISSURE, + MOVE_ENDEAVOR, + MOVE_ICE_SHARD, + MOVE_HEAD_SMASH, + MOVE_MUD_SLAP, + MOVE_HEAVY_SLAM, + MOVE_PLAY_ROUGH, + MOVE_HIGH_HORSEPOWER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PHANPY #if P_FAMILY_STANTLER - egg_moves(STANTLER, - MOVE_SPITE, - MOVE_DISABLE, - MOVE_BITE, - MOVE_EXTRASENSORY, - MOVE_THRASH, - MOVE_DOUBLE_KICK, - MOVE_ZEN_HEADBUTT, - MOVE_MEGAHORN, - MOVE_MUD_SPORT, - MOVE_RAGE, - MOVE_ME_FIRST), +static const u16 sStantlerEggMoveLearnset[] = { + MOVE_SPITE, + MOVE_DISABLE, + MOVE_BITE, + MOVE_EXTRASENSORY, + MOVE_THRASH, + MOVE_DOUBLE_KICK, + MOVE_ZEN_HEADBUTT, + MOVE_MEGAHORN, + MOVE_MUD_SPORT, + MOVE_RAGE, + MOVE_ME_FIRST, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_STANTLER #if P_FAMILY_MILTANK - egg_moves(MILTANK, - MOVE_PRESENT, - MOVE_REVERSAL, - MOVE_SEISMIC_TOSS, - MOVE_ENDURE, - MOVE_CURSE, - MOVE_HELPING_HAND, - MOVE_SLEEP_TALK, - MOVE_DIZZY_PUNCH, - MOVE_HAMMER_ARM, - MOVE_DOUBLE_EDGE, - MOVE_PUNISHMENT, - MOVE_NATURAL_GIFT, - MOVE_HEART_STAMP, - MOVE_BELCH), +static const u16 sMiltankEggMoveLearnset[] = { + MOVE_PRESENT, + MOVE_REVERSAL, + MOVE_SEISMIC_TOSS, + MOVE_ENDURE, + MOVE_CURSE, + MOVE_HELPING_HAND, + MOVE_SLEEP_TALK, + MOVE_DIZZY_PUNCH, + MOVE_HAMMER_ARM, + MOVE_DOUBLE_EDGE, + MOVE_PUNISHMENT, + MOVE_NATURAL_GIFT, + MOVE_HEART_STAMP, + MOVE_BELCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MILTANK #if P_FAMILY_LARVITAR - egg_moves(LARVITAR, - MOVE_PURSUIT, - MOVE_STOMP, - MOVE_OUTRAGE, - MOVE_FOCUS_ENERGY, - MOVE_ANCIENT_POWER, - MOVE_DRAGON_DANCE, - MOVE_CURSE, - MOVE_IRON_DEFENSE, - MOVE_ASSURANCE, - MOVE_IRON_HEAD, - MOVE_STEALTH_ROCK, - MOVE_IRON_TAIL), +static const u16 sLarvitarEggMoveLearnset[] = { + MOVE_PURSUIT, + MOVE_STOMP, + MOVE_OUTRAGE, + MOVE_FOCUS_ENERGY, + MOVE_ANCIENT_POWER, + MOVE_DRAGON_DANCE, + MOVE_CURSE, + MOVE_IRON_DEFENSE, + MOVE_ASSURANCE, + MOVE_IRON_HEAD, + MOVE_STEALTH_ROCK, + MOVE_IRON_TAIL, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_LARVITAR #if P_FAMILY_TREECKO - egg_moves(TREECKO, - MOVE_CRUNCH, - MOVE_MUD_SPORT, - MOVE_ENDEAVOR, - MOVE_LEECH_SEED, - MOVE_DRAGON_BREATH, - MOVE_CRUSH_CLAW, - MOVE_WORRY_SEED, - MOVE_DOUBLE_KICK, - MOVE_GRASS_WHISTLE, - MOVE_SYNTHESIS, - MOVE_MAGICAL_LEAF, - MOVE_LEAF_STORM, - MOVE_RAZOR_WIND, - MOVE_BULLET_SEED, - MOVE_NATURAL_GIFT, - MOVE_GRASSY_TERRAIN), +static const u16 sTreeckoEggMoveLearnset[] = { + MOVE_CRUNCH, + MOVE_MUD_SPORT, + MOVE_ENDEAVOR, + MOVE_LEECH_SEED, + MOVE_DRAGON_BREATH, + MOVE_CRUSH_CLAW, + MOVE_WORRY_SEED, + MOVE_DOUBLE_KICK, + MOVE_GRASS_WHISTLE, + MOVE_SYNTHESIS, + MOVE_MAGICAL_LEAF, + MOVE_LEAF_STORM, + MOVE_RAZOR_WIND, + MOVE_BULLET_SEED, + MOVE_NATURAL_GIFT, + MOVE_GRASSY_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TREECKO #if P_FAMILY_TORCHIC - egg_moves(TORCHIC, - MOVE_COUNTER, - MOVE_REVERSAL, - MOVE_ENDURE, - MOVE_SMELLING_SALTS, - MOVE_CRUSH_CLAW, - MOVE_BATON_PASS, - MOVE_AGILITY, - MOVE_NIGHT_SLASH, - MOVE_LAST_RESORT, - MOVE_FEINT, - MOVE_FEATHER_DANCE, - MOVE_CURSE, - MOVE_FLAME_BURST, - MOVE_LOW_KICK), +static const u16 sTorchicEggMoveLearnset[] = { + MOVE_COUNTER, + MOVE_REVERSAL, + MOVE_ENDURE, + MOVE_SMELLING_SALTS, + MOVE_CRUSH_CLAW, + MOVE_BATON_PASS, + MOVE_AGILITY, + MOVE_NIGHT_SLASH, + MOVE_LAST_RESORT, + MOVE_FEINT, + MOVE_FEATHER_DANCE, + MOVE_CURSE, + MOVE_FLAME_BURST, + MOVE_LOW_KICK, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TORCHIC #if P_FAMILY_MUDKIP - egg_moves(MUDKIP, - MOVE_REFRESH, - MOVE_UPROAR, - MOVE_CURSE, - MOVE_STOMP, - MOVE_ICE_BALL, - MOVE_MIRROR_COAT, - MOVE_COUNTER, - MOVE_ANCIENT_POWER, - MOVE_WHIRLPOOL, - MOVE_BITE, - MOVE_DOUBLE_EDGE, - MOVE_MUD_BOMB, - MOVE_YAWN, - MOVE_SLUDGE, - MOVE_AVALANCHE, - MOVE_WIDE_GUARD, - MOVE_BARRIER), +static const u16 sMudkipEggMoveLearnset[] = { + MOVE_REFRESH, + MOVE_UPROAR, + MOVE_CURSE, + MOVE_STOMP, + MOVE_ICE_BALL, + MOVE_MIRROR_COAT, + MOVE_COUNTER, + MOVE_ANCIENT_POWER, + MOVE_WHIRLPOOL, + MOVE_BITE, + MOVE_DOUBLE_EDGE, + MOVE_MUD_BOMB, + MOVE_YAWN, + MOVE_SLUDGE, + MOVE_AVALANCHE, + MOVE_WIDE_GUARD, + MOVE_BARRIER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MUDKIP #if P_FAMILY_POOCHYENA - egg_moves(POOCHYENA, - MOVE_ASTONISH, - MOVE_POISON_FANG, - MOVE_COVET, - MOVE_LEER, - MOVE_YAWN, - MOVE_SUCKER_PUNCH, - MOVE_ICE_FANG, - MOVE_FIRE_FANG, - MOVE_THUNDER_FANG, - MOVE_ME_FIRST, - MOVE_SNATCH, - MOVE_SLEEP_TALK, - MOVE_PLAY_ROUGH), +static const u16 sPoochyenaEggMoveLearnset[] = { + MOVE_ASTONISH, + MOVE_POISON_FANG, + MOVE_COVET, + MOVE_LEER, + MOVE_YAWN, + MOVE_SUCKER_PUNCH, + MOVE_ICE_FANG, + MOVE_FIRE_FANG, + MOVE_THUNDER_FANG, + MOVE_ME_FIRST, + MOVE_SNATCH, + MOVE_SLEEP_TALK, + MOVE_PLAY_ROUGH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_POOCHYENA #if P_FAMILY_ZIGZAGOON - egg_moves(ZIGZAGOON, - MOVE_CHARM, - MOVE_PURSUIT, - MOVE_TICKLE, - MOVE_TRICK, - MOVE_HELPING_HAND, - MOVE_MUD_SLAP, - MOVE_SLEEP_TALK, - MOVE_ROCK_CLIMB, - MOVE_SIMPLE_BEAM, - MOVE_EXTREME_SPEED), +static const u16 sZigzagoonEggMoveLearnset[] = { + MOVE_CHARM, + MOVE_PURSUIT, + MOVE_TICKLE, + MOVE_TRICK, + MOVE_HELPING_HAND, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_ROCK_CLIMB, + MOVE_SIMPLE_BEAM, + MOVE_EXTREME_SPEED, + MOVE_UNAVAILABLE, +}; #if P_GALARIAN_FORMS - egg_moves(ZIGZAGOON_GALARIAN, - MOVE_PARTING_SHOT, - MOVE_QUICK_GUARD, - MOVE_KNOCK_OFF), +static const u16 sZigzagoonGalarianEggMoveLearnset[] = { + MOVE_PARTING_SHOT, + MOVE_QUICK_GUARD, + MOVE_KNOCK_OFF, + MOVE_UNAVAILABLE, +}; #endif //P_GALARIAN_FORMS #endif //P_FAMILY_ZIGZAGOON #if P_FAMILY_LOTAD - egg_moves(LOTAD, - MOVE_SYNTHESIS, - MOVE_RAZOR_LEAF, - MOVE_SWEET_SCENT, - MOVE_LEECH_SEED, - MOVE_FLAIL, - MOVE_WATER_GUN, - MOVE_TICKLE, - MOVE_COUNTER, - MOVE_GIGA_DRAIN, - MOVE_TEETER_DANCE), +static const u16 sLotadEggMoveLearnset[] = { + MOVE_SYNTHESIS, + MOVE_RAZOR_LEAF, + MOVE_SWEET_SCENT, + MOVE_LEECH_SEED, + MOVE_FLAIL, + MOVE_WATER_GUN, + MOVE_TICKLE, + MOVE_COUNTER, + MOVE_GIGA_DRAIN, + MOVE_TEETER_DANCE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_LOTAD #if P_FAMILY_SEEDOT - egg_moves(SEEDOT, - MOVE_LEECH_SEED, - MOVE_AMNESIA, - MOVE_QUICK_ATTACK, - MOVE_RAZOR_WIND, - MOVE_TAKE_DOWN, - MOVE_WORRY_SEED, - MOVE_NASTY_PLOT, - MOVE_POWER_SWAP, - MOVE_DEFOG, - MOVE_FOUL_PLAY, - MOVE_BEAT_UP, - MOVE_BULLET_SEED, - MOVE_GRASSY_TERRAIN), +static const u16 sSeedotEggMoveLearnset[] = { + MOVE_LEECH_SEED, + MOVE_AMNESIA, + MOVE_QUICK_ATTACK, + MOVE_RAZOR_WIND, + MOVE_TAKE_DOWN, + MOVE_WORRY_SEED, + MOVE_NASTY_PLOT, + MOVE_POWER_SWAP, + MOVE_DEFOG, + MOVE_FOUL_PLAY, + MOVE_BEAT_UP, + MOVE_BULLET_SEED, + MOVE_GRASSY_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SEEDOT #if P_FAMILY_TAILLOW - egg_moves(TAILLOW, - MOVE_PURSUIT, - MOVE_SUPERSONIC, - MOVE_REFRESH, - MOVE_MIRROR_MOVE, - MOVE_RAGE, - MOVE_SKY_ATTACK, - MOVE_WHIRLWIND, - MOVE_BRAVE_BIRD, - MOVE_ROOST, - MOVE_STEEL_WING, - MOVE_DEFOG, - MOVE_BOOMBURST, - MOVE_HURRICANE), +static const u16 sTaillowEggMoveLearnset[] = { + MOVE_PURSUIT, + MOVE_SUPERSONIC, + MOVE_REFRESH, + MOVE_MIRROR_MOVE, + MOVE_RAGE, + MOVE_SKY_ATTACK, + MOVE_WHIRLWIND, + MOVE_BRAVE_BIRD, + MOVE_ROOST, + MOVE_STEEL_WING, + MOVE_DEFOG, + MOVE_BOOMBURST, + MOVE_HURRICANE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TAILLOW #if P_FAMILY_WINGULL - egg_moves(WINGULL, - MOVE_MIST, - MOVE_TWISTER, - MOVE_AGILITY, - MOVE_GUST, - MOVE_WATER_SPORT, - MOVE_AQUA_RING, - MOVE_KNOCK_OFF, - MOVE_BRINE, - MOVE_ROOST, - MOVE_SOAK, - MOVE_WIDE_GUARD), +static const u16 sWingullEggMoveLearnset[] = { + MOVE_MIST, + MOVE_TWISTER, + MOVE_AGILITY, + MOVE_GUST, + MOVE_WATER_SPORT, + MOVE_AQUA_RING, + MOVE_KNOCK_OFF, + MOVE_BRINE, + MOVE_ROOST, + MOVE_SOAK, + MOVE_WIDE_GUARD, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_WINGULL #if P_FAMILY_RALTS - egg_moves(RALTS, - MOVE_DISABLE, - MOVE_MEAN_LOOK, - MOVE_MEMENTO, - MOVE_DESTINY_BOND, - MOVE_GRUDGE, - MOVE_SHADOW_SNEAK, - MOVE_CONFUSE_RAY, - MOVE_ENCORE, - MOVE_SYNCHRONOISE, - MOVE_SKILL_SWAP, - MOVE_MISTY_TERRAIN, - MOVE_ALLY_SWITCH), +static const u16 sRaltsEggMoveLearnset[] = { + MOVE_DISABLE, + MOVE_MEAN_LOOK, + MOVE_MEMENTO, + MOVE_DESTINY_BOND, + MOVE_GRUDGE, + MOVE_SHADOW_SNEAK, + MOVE_CONFUSE_RAY, + MOVE_ENCORE, + MOVE_SYNCHRONOISE, + MOVE_SKILL_SWAP, + MOVE_MISTY_TERRAIN, + MOVE_ALLY_SWITCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_RALTS #if P_FAMILY_SURSKIT - egg_moves(SURSKIT, - MOVE_FORESIGHT, - MOVE_MUD_SHOT, - MOVE_PSYBEAM, - MOVE_HYDRO_PUMP, - MOVE_MIND_READER, - MOVE_SIGNAL_BEAM, - MOVE_BUG_BITE, - MOVE_AQUA_JET, - MOVE_ENDURE, - MOVE_FELL_STINGER, - MOVE_POWER_SPLIT, - MOVE_LUNGE), +static const u16 sSurskitEggMoveLearnset[] = { + MOVE_FORESIGHT, + MOVE_MUD_SHOT, + MOVE_PSYBEAM, + MOVE_HYDRO_PUMP, + MOVE_MIND_READER, + MOVE_SIGNAL_BEAM, + MOVE_BUG_BITE, + MOVE_AQUA_JET, + MOVE_ENDURE, + MOVE_FELL_STINGER, + MOVE_POWER_SPLIT, + MOVE_LUNGE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SURSKIT #if P_FAMILY_SHROOMISH - egg_moves(SHROOMISH, - MOVE_FAKE_TEARS, - MOVE_CHARM, - MOVE_HELPING_HAND, - MOVE_WORRY_SEED, - MOVE_WAKE_UP_SLAP, - MOVE_SEED_BOMB, - MOVE_BULLET_SEED, - MOVE_FOCUS_PUNCH, - MOVE_NATURAL_GIFT, - MOVE_DRAIN_PUNCH), +static const u16 sShroomishEggMoveLearnset[] = { + MOVE_FAKE_TEARS, + MOVE_CHARM, + MOVE_HELPING_HAND, + MOVE_WORRY_SEED, + MOVE_WAKE_UP_SLAP, + MOVE_SEED_BOMB, + MOVE_BULLET_SEED, + MOVE_FOCUS_PUNCH, + MOVE_NATURAL_GIFT, + MOVE_DRAIN_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SHROOMISH #if P_FAMILY_SLAKOTH - egg_moves(SLAKOTH, - MOVE_PURSUIT, - MOVE_SLASH, - MOVE_BODY_SLAM, - MOVE_SNORE, - MOVE_CRUSH_CLAW, - MOVE_CURSE, - MOVE_SLEEP_TALK, - MOVE_HAMMER_ARM, - MOVE_NIGHT_SLASH, - MOVE_AFTER_YOU, - MOVE_TICKLE), +static const u16 sSlakothEggMoveLearnset[] = { + MOVE_PURSUIT, + MOVE_SLASH, + MOVE_BODY_SLAM, + MOVE_SNORE, + MOVE_CRUSH_CLAW, + MOVE_CURSE, + MOVE_SLEEP_TALK, + MOVE_HAMMER_ARM, + MOVE_NIGHT_SLASH, + MOVE_AFTER_YOU, + MOVE_TICKLE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SLAKOTH #if P_FAMILY_NINCADA - egg_moves(NINCADA, - MOVE_ENDURE, - MOVE_FEINT_ATTACK, - MOVE_GUST, - MOVE_SILVER_WIND, - MOVE_BUG_BUZZ, - MOVE_NIGHT_SLASH, - MOVE_BUG_BITE, - MOVE_FINAL_GAMBIT), +static const u16 sNincadaEggMoveLearnset[] = { + MOVE_ENDURE, + MOVE_FEINT_ATTACK, + MOVE_GUST, + MOVE_SILVER_WIND, + MOVE_BUG_BUZZ, + MOVE_NIGHT_SLASH, + MOVE_BUG_BITE, + MOVE_FINAL_GAMBIT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_NINCADA #if P_FAMILY_WHISMUR - egg_moves(WHISMUR, - MOVE_TAKE_DOWN, - MOVE_SNORE, - MOVE_EXTRASENSORY, - MOVE_SMELLING_SALTS, - MOVE_SMOKESCREEN, - MOVE_ENDEAVOR, - MOVE_HAMMER_ARM, - MOVE_FAKE_TEARS, - MOVE_CIRCLE_THROW, - MOVE_DISARMING_VOICE, - MOVE_WHIRLWIND), +static const u16 sWhismurEggMoveLearnset[] = { + MOVE_TAKE_DOWN, + MOVE_SNORE, + MOVE_EXTRASENSORY, + MOVE_SMELLING_SALTS, + MOVE_SMOKESCREEN, + MOVE_ENDEAVOR, + MOVE_HAMMER_ARM, + MOVE_FAKE_TEARS, + MOVE_CIRCLE_THROW, + MOVE_DISARMING_VOICE, + MOVE_WHIRLWIND, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_WHISMUR #if P_FAMILY_MAKUHITA - egg_moves(MAKUHITA, - MOVE_FEINT_ATTACK, - MOVE_DETECT, - MOVE_FORESIGHT, - MOVE_HELPING_HAND, - MOVE_CROSS_CHOP, - MOVE_REVENGE, - MOVE_DYNAMIC_PUNCH, - MOVE_COUNTER, - MOVE_WAKE_UP_SLAP, - MOVE_BULLET_PUNCH, - MOVE_FEINT, - MOVE_WIDE_GUARD, - MOVE_FOCUS_PUNCH, - MOVE_CHIP_AWAY), +static const u16 sMakuhitaEggMoveLearnset[] = { + MOVE_FEINT_ATTACK, + MOVE_DETECT, + MOVE_FORESIGHT, + MOVE_HELPING_HAND, + MOVE_CROSS_CHOP, + MOVE_REVENGE, + MOVE_DYNAMIC_PUNCH, + MOVE_COUNTER, + MOVE_WAKE_UP_SLAP, + MOVE_BULLET_PUNCH, + MOVE_FEINT, + MOVE_WIDE_GUARD, + MOVE_FOCUS_PUNCH, + MOVE_CHIP_AWAY, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MAKUHITA #if P_FAMILY_NOSEPASS - egg_moves(NOSEPASS, - MOVE_MAGNITUDE, - MOVE_ROLLOUT, - MOVE_DOUBLE_EDGE, - MOVE_BLOCK, - MOVE_STEALTH_ROCK, - MOVE_ENDURE, - MOVE_WIDE_GUARD), +static const u16 sNosepassEggMoveLearnset[] = { + MOVE_MAGNITUDE, + MOVE_ROLLOUT, + MOVE_DOUBLE_EDGE, + MOVE_BLOCK, + MOVE_STEALTH_ROCK, + MOVE_ENDURE, + MOVE_WIDE_GUARD, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_NOSEPASS #if P_FAMILY_SKITTY - egg_moves(SKITTY, - MOVE_HELPING_HAND, - MOVE_UPROAR, - MOVE_FAKE_TEARS, - MOVE_WISH, - MOVE_BATON_PASS, - MOVE_TICKLE, - MOVE_LAST_RESORT, - MOVE_FAKE_OUT, - MOVE_ZEN_HEADBUTT, - MOVE_SUCKER_PUNCH, - MOVE_MUD_BOMB, - MOVE_SIMPLE_BEAM, - MOVE_CAPTIVATE, - MOVE_COSMIC_POWER), +static const u16 sSkittyEggMoveLearnset[] = { + MOVE_HELPING_HAND, + MOVE_UPROAR, + MOVE_FAKE_TEARS, + MOVE_WISH, + MOVE_BATON_PASS, + MOVE_TICKLE, + MOVE_LAST_RESORT, + MOVE_FAKE_OUT, + MOVE_ZEN_HEADBUTT, + MOVE_SUCKER_PUNCH, + MOVE_MUD_BOMB, + MOVE_SIMPLE_BEAM, + MOVE_CAPTIVATE, + MOVE_COSMIC_POWER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SKITTY #if P_FAMILY_SABLEYE - egg_moves(SABLEYE, - MOVE_RECOVER, - MOVE_MOONLIGHT, - MOVE_NASTY_PLOT, - MOVE_FLATTER, - MOVE_FEINT, - MOVE_SUCKER_PUNCH, - MOVE_TRICK, - MOVE_CAPTIVATE, - MOVE_MEAN_LOOK, - MOVE_METAL_BURST, - MOVE_IMPRISON), +static const u16 sSableyeEggMoveLearnset[] = { + MOVE_RECOVER, + MOVE_MOONLIGHT, + MOVE_NASTY_PLOT, + MOVE_FLATTER, + MOVE_FEINT, + MOVE_SUCKER_PUNCH, + MOVE_TRICK, + MOVE_CAPTIVATE, + MOVE_MEAN_LOOK, + MOVE_METAL_BURST, + MOVE_IMPRISON, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SABLEYE #if P_FAMILY_MAWILE - egg_moves(MAWILE, - MOVE_POISON_FANG, - MOVE_ANCIENT_POWER, - MOVE_TICKLE, - MOVE_SUCKER_PUNCH, - MOVE_ICE_FANG, - MOVE_FIRE_FANG, - MOVE_THUNDER_FANG, - MOVE_PUNISHMENT, - MOVE_GUARD_SWAP, - MOVE_CAPTIVATE, - MOVE_SLAM, - MOVE_METAL_BURST, - MOVE_MISTY_TERRAIN, - MOVE_SEISMIC_TOSS, - MOVE_POWER_UP_PUNCH), +static const u16 sMawileEggMoveLearnset[] = { + MOVE_POISON_FANG, + MOVE_ANCIENT_POWER, + MOVE_TICKLE, + MOVE_SUCKER_PUNCH, + MOVE_ICE_FANG, + MOVE_FIRE_FANG, + MOVE_THUNDER_FANG, + MOVE_PUNISHMENT, + MOVE_GUARD_SWAP, + MOVE_CAPTIVATE, + MOVE_SLAM, + MOVE_METAL_BURST, + MOVE_MISTY_TERRAIN, + MOVE_SEISMIC_TOSS, + MOVE_POWER_UP_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MAWILE #if P_FAMILY_ARON - egg_moves(ARON, - MOVE_ENDEAVOR, - MOVE_BODY_SLAM, - MOVE_STOMP, - MOVE_SMELLING_SALTS, - MOVE_CURSE, - MOVE_SCREECH, - MOVE_IRON_HEAD, - MOVE_DRAGON_RUSH, - MOVE_HEAD_SMASH, - MOVE_SUPERPOWER, - MOVE_STEALTH_ROCK, - MOVE_REVERSAL), +static const u16 sAronEggMoveLearnset[] = { + MOVE_ENDEAVOR, + MOVE_BODY_SLAM, + MOVE_STOMP, + MOVE_SMELLING_SALTS, + MOVE_CURSE, + MOVE_SCREECH, + MOVE_IRON_HEAD, + MOVE_DRAGON_RUSH, + MOVE_HEAD_SMASH, + MOVE_SUPERPOWER, + MOVE_STEALTH_ROCK, + MOVE_REVERSAL, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ARON #if P_FAMILY_MEDITITE - egg_moves(MEDITITE, - MOVE_FIRE_PUNCH, - MOVE_THUNDER_PUNCH, - MOVE_ICE_PUNCH, - MOVE_FORESIGHT, - MOVE_FAKE_OUT, - MOVE_BATON_PASS, - MOVE_DYNAMIC_PUNCH, - MOVE_POWER_SWAP, - MOVE_GUARD_SWAP, - MOVE_PSYCHO_CUT, - MOVE_BULLET_PUNCH, - MOVE_DRAIN_PUNCH, - MOVE_SECRET_POWER, - MOVE_QUICK_GUARD), +static const u16 sMedititeEggMoveLearnset[] = { + MOVE_FIRE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_ICE_PUNCH, + MOVE_FORESIGHT, + MOVE_FAKE_OUT, + MOVE_BATON_PASS, + MOVE_DYNAMIC_PUNCH, + MOVE_POWER_SWAP, + MOVE_GUARD_SWAP, + MOVE_PSYCHO_CUT, + MOVE_BULLET_PUNCH, + MOVE_DRAIN_PUNCH, + MOVE_SECRET_POWER, + MOVE_QUICK_GUARD, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MEDITITE #if P_FAMILY_ELECTRIKE - egg_moves(ELECTRIKE, - MOVE_CRUNCH, - MOVE_HEADBUTT, - MOVE_UPROAR, - MOVE_CURSE, - MOVE_SWIFT, - MOVE_DISCHARGE, - MOVE_ICE_FANG, - MOVE_FIRE_FANG, - MOVE_THUNDER_FANG, - MOVE_SWITCHEROO, - MOVE_ELECTRO_BALL, - MOVE_SHOCK_WAVE, - MOVE_FLAME_BURST, - MOVE_EERIE_IMPULSE), +static const u16 sElectrikeEggMoveLearnset[] = { + MOVE_CRUNCH, + MOVE_HEADBUTT, + MOVE_UPROAR, + MOVE_CURSE, + MOVE_SWIFT, + MOVE_DISCHARGE, + MOVE_ICE_FANG, + MOVE_FIRE_FANG, + MOVE_THUNDER_FANG, + MOVE_SWITCHEROO, + MOVE_ELECTRO_BALL, + MOVE_SHOCK_WAVE, + MOVE_FLAME_BURST, + MOVE_EERIE_IMPULSE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ELECTRIKE #if P_FAMILY_PLUSLE - egg_moves(PLUSLE, - MOVE_WISH, - MOVE_SING, - MOVE_SWEET_KISS, - MOVE_DISCHARGE, - MOVE_LUCKY_CHANT, - MOVE_CHARM, - MOVE_FAKE_TEARS, - MOVE_TEARFUL_LOOK), +static const u16 sPlusleEggMoveLearnset[] = { + MOVE_WISH, + MOVE_SING, + MOVE_SWEET_KISS, + MOVE_DISCHARGE, + MOVE_LUCKY_CHANT, + MOVE_CHARM, + MOVE_FAKE_TEARS, + MOVE_TEARFUL_LOOK, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PLUSLE #if P_FAMILY_MINUN - egg_moves(MINUN, - MOVE_WISH, - MOVE_SING, - MOVE_SWEET_KISS, - MOVE_DISCHARGE, - MOVE_LUCKY_CHANT, - MOVE_CHARM, - MOVE_FAKE_TEARS, - MOVE_TEARFUL_LOOK), +static const u16 sMinunEggMoveLearnset[] = { + MOVE_WISH, + MOVE_SING, + MOVE_SWEET_KISS, + MOVE_DISCHARGE, + MOVE_LUCKY_CHANT, + MOVE_CHARM, + MOVE_FAKE_TEARS, + MOVE_TEARFUL_LOOK, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MINUN #if P_FAMILY_VOLBEAT_ILLUMISE - egg_moves(VOLBEAT, - MOVE_BATON_PASS, - MOVE_SILVER_WIND, - MOVE_TRICK, - MOVE_ENCORE, - MOVE_BUG_BUZZ, - MOVE_DIZZY_PUNCH, - MOVE_SEISMIC_TOSS, - MOVE_LUNGE), +static const u16 sVolbeatEggMoveLearnset[] = { + MOVE_BATON_PASS, + MOVE_SILVER_WIND, + MOVE_TRICK, + MOVE_ENCORE, + MOVE_BUG_BUZZ, + MOVE_DIZZY_PUNCH, + MOVE_SEISMIC_TOSS, + MOVE_LUNGE, + MOVE_UNAVAILABLE, +}; - egg_moves(ILLUMISE, - MOVE_BATON_PASS, - MOVE_SILVER_WIND, - MOVE_GROWTH, - MOVE_ENCORE, - MOVE_BUG_BUZZ, - MOVE_CAPTIVATE, - MOVE_FAKE_TEARS, - MOVE_CONFUSE_RAY, - MOVE_AROMATHERAPY), +static const u16 sIllumiseEggMoveLearnset[] = { + MOVE_BATON_PASS, + MOVE_SILVER_WIND, + MOVE_GROWTH, + MOVE_ENCORE, + MOVE_BUG_BUZZ, + MOVE_CAPTIVATE, + MOVE_FAKE_TEARS, + MOVE_CONFUSE_RAY, + MOVE_AROMATHERAPY, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_VOLBEAT_ILLUMISE #if P_FAMILY_ROSELIA #if P_GEN_4_CROSS_EVOS - egg_moves(BUDEW, - MOVE_SPIKES, - MOVE_SYNTHESIS, - MOVE_PIN_MISSILE, - MOVE_COTTON_SPORE, - MOVE_SLEEP_POWDER, - MOVE_RAZOR_LEAF, - MOVE_MIND_READER, - MOVE_LEAF_STORM, - MOVE_EXTRASENSORY, - MOVE_SEED_BOMB, - MOVE_GIGA_DRAIN, - MOVE_NATURAL_GIFT, - MOVE_GRASS_WHISTLE), +static const u16 sBudewEggMoveLearnset[] = { + MOVE_SPIKES, + MOVE_SYNTHESIS, + MOVE_PIN_MISSILE, + MOVE_COTTON_SPORE, + MOVE_SLEEP_POWDER, + MOVE_RAZOR_LEAF, + MOVE_MIND_READER, + MOVE_LEAF_STORM, + MOVE_EXTRASENSORY, + MOVE_SEED_BOMB, + MOVE_GIGA_DRAIN, + MOVE_NATURAL_GIFT, + MOVE_GRASS_WHISTLE, + MOVE_UNAVAILABLE, +}; #endif //P_GEN_4_CROSS_EVOS - egg_moves(ROSELIA, - MOVE_SPIKES, - MOVE_SYNTHESIS, - MOVE_PIN_MISSILE, - MOVE_COTTON_SPORE, - MOVE_SLEEP_POWDER, - MOVE_RAZOR_LEAF, - MOVE_MIND_READER, - MOVE_LEAF_STORM, - MOVE_SEED_BOMB, - MOVE_GIGA_DRAIN, - MOVE_NATURAL_GIFT, - MOVE_GRASS_WHISTLE, - MOVE_BULLET_SEED, - MOVE_POWER_WHIP), +static const u16 sRoseliaEggMoveLearnset[] = { + MOVE_SPIKES, + MOVE_SYNTHESIS, + MOVE_PIN_MISSILE, + MOVE_COTTON_SPORE, + MOVE_SLEEP_POWDER, + MOVE_RAZOR_LEAF, + MOVE_MIND_READER, + MOVE_LEAF_STORM, + MOVE_SEED_BOMB, + MOVE_GIGA_DRAIN, + MOVE_NATURAL_GIFT, + MOVE_GRASS_WHISTLE, + MOVE_BULLET_SEED, + MOVE_POWER_WHIP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ROSELIA #if P_FAMILY_GULPIN - egg_moves(GULPIN, - MOVE_ACID_ARMOR, - MOVE_SMOG, - MOVE_PAIN_SPLIT, - MOVE_CURSE, - MOVE_DESTINY_BOND, - MOVE_MUD_SLAP, - MOVE_GUNK_SHOT, - MOVE_VENOM_DRENCH), +static const u16 sGulpinEggMoveLearnset[] = { + MOVE_ACID_ARMOR, + MOVE_SMOG, + MOVE_PAIN_SPLIT, + MOVE_CURSE, + MOVE_DESTINY_BOND, + MOVE_MUD_SLAP, + MOVE_GUNK_SHOT, + MOVE_VENOM_DRENCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_GULPIN #if P_FAMILY_CARVANHA - egg_moves(CARVANHA, - MOVE_HYDRO_PUMP, - MOVE_DOUBLE_EDGE, - MOVE_THRASH, - MOVE_ANCIENT_POWER, - MOVE_SWIFT, - MOVE_BRINE, - MOVE_DESTINY_BOND, - MOVE_PSYCHIC_FANGS), +static const u16 sCarvanhaEggMoveLearnset[] = { + MOVE_HYDRO_PUMP, + MOVE_DOUBLE_EDGE, + MOVE_THRASH, + MOVE_ANCIENT_POWER, + MOVE_SWIFT, + MOVE_BRINE, + MOVE_DESTINY_BOND, + MOVE_PSYCHIC_FANGS, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CARVANHA #if P_FAMILY_WAILMER - egg_moves(WAILMER, - MOVE_DOUBLE_EDGE, - MOVE_THRASH, - MOVE_SNORE, - MOVE_SLEEP_TALK, - MOVE_CURSE, - MOVE_FISSURE, - MOVE_TICKLE, - MOVE_DEFENSE_CURL, - MOVE_BODY_SLAM, - MOVE_AQUA_RING, - MOVE_SOAK, - MOVE_ZEN_HEADBUTT, - MOVE_CLEAR_SMOG), +static const u16 sWailmerEggMoveLearnset[] = { + MOVE_DOUBLE_EDGE, + MOVE_THRASH, + MOVE_SNORE, + MOVE_SLEEP_TALK, + MOVE_CURSE, + MOVE_FISSURE, + MOVE_TICKLE, + MOVE_DEFENSE_CURL, + MOVE_BODY_SLAM, + MOVE_AQUA_RING, + MOVE_SOAK, + MOVE_ZEN_HEADBUTT, + MOVE_CLEAR_SMOG, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_WAILMER #if P_FAMILY_NUMEL - egg_moves(NUMEL, - MOVE_HOWL, - MOVE_SCARY_FACE, - MOVE_BODY_SLAM, - MOVE_ROLLOUT, - MOVE_DEFENSE_CURL, - MOVE_STOMP, - MOVE_YAWN, - MOVE_ANCIENT_POWER, - MOVE_MUD_BOMB, - MOVE_HEAT_WAVE, - MOVE_STOCKPILE, - MOVE_SWALLOW, - MOVE_SPIT_UP, - MOVE_ENDURE, - MOVE_IRON_HEAD, - MOVE_GROWTH, - MOVE_HEAVY_SLAM), +static const u16 sNumelEggMoveLearnset[] = { + MOVE_HOWL, + MOVE_SCARY_FACE, + MOVE_BODY_SLAM, + MOVE_ROLLOUT, + MOVE_DEFENSE_CURL, + MOVE_STOMP, + MOVE_YAWN, + MOVE_ANCIENT_POWER, + MOVE_MUD_BOMB, + MOVE_HEAT_WAVE, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_ENDURE, + MOVE_IRON_HEAD, + MOVE_GROWTH, + MOVE_HEAVY_SLAM, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_NUMEL #if P_FAMILY_TORKOAL - egg_moves(TORKOAL, - MOVE_ERUPTION, - MOVE_ENDURE, - MOVE_SLEEP_TALK, - MOVE_YAWN, - MOVE_FISSURE, - MOVE_SKULL_BASH, - MOVE_FLAME_BURST, - MOVE_CLEAR_SMOG, - MOVE_SUPERPOWER), +static const u16 sTorkoalEggMoveLearnset[] = { + MOVE_ERUPTION, + MOVE_ENDURE, + MOVE_SLEEP_TALK, + MOVE_YAWN, + MOVE_FISSURE, + MOVE_SKULL_BASH, + MOVE_FLAME_BURST, + MOVE_CLEAR_SMOG, + MOVE_SUPERPOWER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TORKOAL #if P_FAMILY_SPOINK - egg_moves(SPOINK, - MOVE_FUTURE_SIGHT, - MOVE_EXTRASENSORY, - MOVE_TRICK, - MOVE_ZEN_HEADBUTT, - MOVE_AMNESIA, - MOVE_MIRROR_COAT, - MOVE_SKILL_SWAP, - MOVE_WHIRLWIND, - MOVE_LUCKY_CHANT, - MOVE_ENDURE, - MOVE_SIMPLE_BEAM), +static const u16 sSpoinkEggMoveLearnset[] = { + MOVE_FUTURE_SIGHT, + MOVE_EXTRASENSORY, + MOVE_TRICK, + MOVE_ZEN_HEADBUTT, + MOVE_AMNESIA, + MOVE_MIRROR_COAT, + MOVE_SKILL_SWAP, + MOVE_WHIRLWIND, + MOVE_LUCKY_CHANT, + MOVE_ENDURE, + MOVE_SIMPLE_BEAM, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SPOINK #if P_FAMILY_SPINDA - egg_moves(SPINDA, - MOVE_ENCORE, - MOVE_ASSIST, - MOVE_DISABLE, - MOVE_BATON_PASS, - MOVE_WISH, - MOVE_TRICK, - MOVE_SMELLING_SALTS, - MOVE_FAKE_OUT, - MOVE_ROLE_PLAY, - MOVE_PSYCHO_CUT, - MOVE_FAKE_TEARS, - MOVE_RAPID_SPIN, - MOVE_ICY_WIND, - MOVE_WATER_PULSE, - MOVE_PSYCHO_SHIFT, - MOVE_GUARD_SPLIT, - MOVE_SPOTLIGHT), +static const u16 sSpindaEggMoveLearnset[] = { + MOVE_ENCORE, + MOVE_ASSIST, + MOVE_DISABLE, + MOVE_BATON_PASS, + MOVE_WISH, + MOVE_TRICK, + MOVE_SMELLING_SALTS, + MOVE_FAKE_OUT, + MOVE_ROLE_PLAY, + MOVE_PSYCHO_CUT, + MOVE_FAKE_TEARS, + MOVE_RAPID_SPIN, + MOVE_ICY_WIND, + MOVE_WATER_PULSE, + MOVE_PSYCHO_SHIFT, + MOVE_GUARD_SPLIT, + MOVE_SPOTLIGHT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SPINDA #if P_FAMILY_TRAPINCH - egg_moves(TRAPINCH, - MOVE_FOCUS_ENERGY, - MOVE_QUICK_ATTACK, - MOVE_GUST, - MOVE_FLAIL, - MOVE_FURY_CUTTER, - MOVE_MUD_SHOT, - MOVE_ENDURE, - MOVE_EARTH_POWER, - MOVE_BUG_BITE, - MOVE_SIGNAL_BEAM), +static const u16 sTrapinchEggMoveLearnset[] = { + MOVE_FOCUS_ENERGY, + MOVE_QUICK_ATTACK, + MOVE_GUST, + MOVE_FLAIL, + MOVE_FURY_CUTTER, + MOVE_MUD_SHOT, + MOVE_ENDURE, + MOVE_EARTH_POWER, + MOVE_BUG_BITE, + MOVE_SIGNAL_BEAM, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TRAPINCH #if P_FAMILY_CACNEA - egg_moves(CACNEA, - MOVE_GRASS_WHISTLE, - MOVE_ACID, - MOVE_TEETER_DANCE, - MOVE_DYNAMIC_PUNCH, - MOVE_COUNTER, - MOVE_LOW_KICK, - MOVE_SMELLING_SALTS, - MOVE_MAGICAL_LEAF, - MOVE_SEED_BOMB, - MOVE_NASTY_PLOT, - MOVE_DISABLE, - MOVE_BLOCK, - MOVE_WORRY_SEED, - MOVE_SWITCHEROO, - MOVE_FELL_STINGER, - MOVE_BELCH, - MOVE_ROTOTILLER, - MOVE_POWER_UP_PUNCH), +static const u16 sCacneaEggMoveLearnset[] = { + MOVE_GRASS_WHISTLE, + MOVE_ACID, + MOVE_TEETER_DANCE, + MOVE_DYNAMIC_PUNCH, + MOVE_COUNTER, + MOVE_LOW_KICK, + MOVE_SMELLING_SALTS, + MOVE_MAGICAL_LEAF, + MOVE_SEED_BOMB, + MOVE_NASTY_PLOT, + MOVE_DISABLE, + MOVE_BLOCK, + MOVE_WORRY_SEED, + MOVE_SWITCHEROO, + MOVE_FELL_STINGER, + MOVE_BELCH, + MOVE_ROTOTILLER, + MOVE_POWER_UP_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CACNEA #if P_FAMILY_SWABLU - egg_moves(SWABLU, - MOVE_AGILITY, - MOVE_HAZE, - MOVE_PURSUIT, - MOVE_RAGE, - MOVE_FEATHER_DANCE, - MOVE_DRAGON_RUSH, - MOVE_POWER_SWAP, - MOVE_ROOST, - MOVE_HYPER_VOICE, - MOVE_STEEL_WING, - MOVE_PLAY_ROUGH), +static const u16 sSwabluEggMoveLearnset[] = { + MOVE_AGILITY, + MOVE_HAZE, + MOVE_PURSUIT, + MOVE_RAGE, + MOVE_FEATHER_DANCE, + MOVE_DRAGON_RUSH, + MOVE_POWER_SWAP, + MOVE_ROOST, + MOVE_HYPER_VOICE, + MOVE_STEEL_WING, + MOVE_PLAY_ROUGH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SWABLU #if P_FAMILY_ZANGOOSE - egg_moves(ZANGOOSE, - MOVE_FLAIL, - MOVE_DOUBLE_KICK, - MOVE_RAZOR_WIND, - MOVE_COUNTER, - MOVE_CURSE, - MOVE_FURY_SWIPES, - MOVE_NIGHT_SLASH, - MOVE_METAL_CLAW, - MOVE_DOUBLE_HIT, - MOVE_DISABLE, - MOVE_IRON_TAIL, - MOVE_FINAL_GAMBIT, - MOVE_FEINT, - MOVE_QUICK_GUARD, - MOVE_BELLY_DRUM), +static const u16 sZangooseEggMoveLearnset[] = { + MOVE_FLAIL, + MOVE_DOUBLE_KICK, + MOVE_RAZOR_WIND, + MOVE_COUNTER, + MOVE_CURSE, + MOVE_FURY_SWIPES, + MOVE_NIGHT_SLASH, + MOVE_METAL_CLAW, + MOVE_DOUBLE_HIT, + MOVE_DISABLE, + MOVE_IRON_TAIL, + MOVE_FINAL_GAMBIT, + MOVE_FEINT, + MOVE_QUICK_GUARD, + MOVE_BELLY_DRUM, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ZANGOOSE #if P_FAMILY_SEVIPER - egg_moves(SEVIPER, - MOVE_STOCKPILE, - MOVE_SWALLOW, - MOVE_SPIT_UP, - MOVE_BODY_SLAM, - MOVE_SCARY_FACE, - MOVE_ASSURANCE, - MOVE_NIGHT_SLASH, - MOVE_SWITCHEROO, - MOVE_IRON_TAIL, - MOVE_WRING_OUT, - MOVE_PUNISHMENT, - MOVE_FINAL_GAMBIT), +static const u16 sSeviperEggMoveLearnset[] = { + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_BODY_SLAM, + MOVE_SCARY_FACE, + MOVE_ASSURANCE, + MOVE_NIGHT_SLASH, + MOVE_SWITCHEROO, + MOVE_IRON_TAIL, + MOVE_WRING_OUT, + MOVE_PUNISHMENT, + MOVE_FINAL_GAMBIT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SEVIPER #if P_FAMILY_BARBOACH - egg_moves(BARBOACH, - MOVE_THRASH, - MOVE_WHIRLPOOL, - MOVE_SPARK, - MOVE_HYDRO_PUMP, - MOVE_FLAIL, - MOVE_TAKE_DOWN, - MOVE_DRAGON_DANCE, - MOVE_EARTH_POWER, - MOVE_MUD_SHOT, - MOVE_MUDDY_WATER), +static const u16 sBarboachEggMoveLearnset[] = { + MOVE_THRASH, + MOVE_WHIRLPOOL, + MOVE_SPARK, + MOVE_HYDRO_PUMP, + MOVE_FLAIL, + MOVE_TAKE_DOWN, + MOVE_DRAGON_DANCE, + MOVE_EARTH_POWER, + MOVE_MUD_SHOT, + MOVE_MUDDY_WATER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BARBOACH #if P_FAMILY_CORPHISH - egg_moves(CORPHISH, - MOVE_MUD_SPORT, - MOVE_ENDEAVOR, - MOVE_BODY_SLAM, - MOVE_ANCIENT_POWER, - MOVE_KNOCK_OFF, - MOVE_SUPERPOWER, - MOVE_METAL_CLAW, - MOVE_DRAGON_DANCE, - MOVE_TRUMP_CARD, - MOVE_CHIP_AWAY, - MOVE_DOUBLE_EDGE, - MOVE_AQUA_JET, - MOVE_SWITCHEROO), +static const u16 sCorphishEggMoveLearnset[] = { + MOVE_MUD_SPORT, + MOVE_ENDEAVOR, + MOVE_BODY_SLAM, + MOVE_ANCIENT_POWER, + MOVE_KNOCK_OFF, + MOVE_SUPERPOWER, + MOVE_METAL_CLAW, + MOVE_DRAGON_DANCE, + MOVE_TRUMP_CARD, + MOVE_CHIP_AWAY, + MOVE_DOUBLE_EDGE, + MOVE_AQUA_JET, + MOVE_SWITCHEROO, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CORPHISH #if P_FAMILY_LILEEP - egg_moves(LILEEP, - MOVE_BARRIER, - MOVE_RECOVER, - MOVE_MIRROR_COAT, - MOVE_WRING_OUT, - MOVE_TICKLE, - MOVE_CURSE, - MOVE_MEGA_DRAIN, - MOVE_ENDURE, - MOVE_STEALTH_ROCK), +static const u16 sLileepEggMoveLearnset[] = { + MOVE_BARRIER, + MOVE_RECOVER, + MOVE_MIRROR_COAT, + MOVE_WRING_OUT, + MOVE_TICKLE, + MOVE_CURSE, + MOVE_MEGA_DRAIN, + MOVE_ENDURE, + MOVE_STEALTH_ROCK, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_LILEEP #if P_FAMILY_ANORITH - egg_moves(ANORITH, - MOVE_RAPID_SPIN, - MOVE_KNOCK_OFF, - MOVE_SCREECH, - MOVE_SAND_ATTACK, - MOVE_CROSS_POISON, - MOVE_CURSE, - MOVE_IRON_DEFENSE, - MOVE_WATER_PULSE, - MOVE_AQUA_JET), +static const u16 sAnorithEggMoveLearnset[] = { + MOVE_RAPID_SPIN, + MOVE_KNOCK_OFF, + MOVE_SCREECH, + MOVE_SAND_ATTACK, + MOVE_CROSS_POISON, + MOVE_CURSE, + MOVE_IRON_DEFENSE, + MOVE_WATER_PULSE, + MOVE_AQUA_JET, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ANORITH #if P_FAMILY_FEEBAS - egg_moves(FEEBAS, - MOVE_MIRROR_COAT, - MOVE_DRAGON_BREATH, - MOVE_MUD_SPORT, - MOVE_HYPNOSIS, - MOVE_CONFUSE_RAY, - MOVE_MIST, - MOVE_HAZE, - MOVE_TICKLE, - MOVE_BRINE, - MOVE_IRON_TAIL, - MOVE_DRAGON_PULSE, - MOVE_CAPTIVATE), +static const u16 sFeebasEggMoveLearnset[] = { + MOVE_MIRROR_COAT, + MOVE_DRAGON_BREATH, + MOVE_MUD_SPORT, + MOVE_HYPNOSIS, + MOVE_CONFUSE_RAY, + MOVE_MIST, + MOVE_HAZE, + MOVE_TICKLE, + MOVE_BRINE, + MOVE_IRON_TAIL, + MOVE_DRAGON_PULSE, + MOVE_CAPTIVATE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_FEEBAS #if P_FAMILY_CASTFORM - egg_moves(CASTFORM, - MOVE_FUTURE_SIGHT, - MOVE_LUCKY_CHANT, - MOVE_DISABLE, - MOVE_AMNESIA, - MOVE_OMINOUS_WIND, - MOVE_HEX, - MOVE_CLEAR_SMOG, - MOVE_REFLECT_TYPE, - MOVE_GUARD_SWAP, - MOVE_COSMIC_POWER), +static const u16 sCastformEggMoveLearnset[] = { + MOVE_FUTURE_SIGHT, + MOVE_LUCKY_CHANT, + MOVE_DISABLE, + MOVE_AMNESIA, + MOVE_OMINOUS_WIND, + MOVE_HEX, + MOVE_CLEAR_SMOG, + MOVE_REFLECT_TYPE, + MOVE_GUARD_SWAP, + MOVE_COSMIC_POWER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CASTFORM #if P_FAMILY_KECLEON - egg_moves(KECLEON, - MOVE_DISABLE, - MOVE_MAGIC_COAT, - MOVE_TRICK, - MOVE_FAKE_OUT, - MOVE_NASTY_PLOT, - MOVE_DIZZY_PUNCH, - MOVE_RECOVER, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_FOUL_PLAY, - MOVE_CAMOUFLAGE, - MOVE_POWER_UP_PUNCH), +static const u16 sKecleonEggMoveLearnset[] = { + MOVE_DISABLE, + MOVE_MAGIC_COAT, + MOVE_TRICK, + MOVE_FAKE_OUT, + MOVE_NASTY_PLOT, + MOVE_DIZZY_PUNCH, + MOVE_RECOVER, + MOVE_SKILL_SWAP, + MOVE_SNATCH, + MOVE_FOUL_PLAY, + MOVE_CAMOUFLAGE, + MOVE_POWER_UP_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_KECLEON #if P_FAMILY_SHUPPET - egg_moves(SHUPPET, - MOVE_DISABLE, - MOVE_DESTINY_BOND, - MOVE_FORESIGHT, - MOVE_ASTONISH, - MOVE_IMPRISON, - MOVE_PURSUIT, - MOVE_SHADOW_SNEAK, - MOVE_CONFUSE_RAY, - MOVE_OMINOUS_WIND, - MOVE_GUNK_SHOT, - MOVE_PHANTOM_FORCE), +static const u16 sShuppetEggMoveLearnset[] = { + MOVE_DISABLE, + MOVE_DESTINY_BOND, + MOVE_FORESIGHT, + MOVE_ASTONISH, + MOVE_IMPRISON, + MOVE_PURSUIT, + MOVE_SHADOW_SNEAK, + MOVE_CONFUSE_RAY, + MOVE_OMINOUS_WIND, + MOVE_GUNK_SHOT, + MOVE_PHANTOM_FORCE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SHUPPET #if P_FAMILY_DUSKULL - egg_moves(DUSKULL, - MOVE_IMPRISON, - MOVE_DESTINY_BOND, - MOVE_PAIN_SPLIT, - MOVE_GRUDGE, - MOVE_MEMENTO, - MOVE_FEINT_ATTACK, - MOVE_OMINOUS_WIND, - MOVE_DARK_PULSE, - MOVE_SKILL_SWAP, - MOVE_HAZE), +static const u16 sDuskullEggMoveLearnset[] = { + MOVE_IMPRISON, + MOVE_DESTINY_BOND, + MOVE_PAIN_SPLIT, + MOVE_GRUDGE, + MOVE_MEMENTO, + MOVE_FEINT_ATTACK, + MOVE_OMINOUS_WIND, + MOVE_DARK_PULSE, + MOVE_SKILL_SWAP, + MOVE_HAZE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DUSKULL #if P_FAMILY_TROPIUS - egg_moves(TROPIUS, - MOVE_HEADBUTT, - MOVE_SLAM, - MOVE_RAZOR_WIND, - MOVE_LEECH_SEED, - MOVE_NATURE_POWER, - MOVE_LEAF_STORM, - MOVE_SYNTHESIS, - MOVE_CURSE, - MOVE_LEAF_BLADE, - MOVE_DRAGON_DANCE, - MOVE_BULLET_SEED, - MOVE_NATURAL_GIFT, - MOVE_DRAGON_HAMMER), +static const u16 sTropiusEggMoveLearnset[] = { + MOVE_HEADBUTT, + MOVE_SLAM, + MOVE_RAZOR_WIND, + MOVE_LEECH_SEED, + MOVE_NATURE_POWER, + MOVE_LEAF_STORM, + MOVE_SYNTHESIS, + MOVE_CURSE, + MOVE_LEAF_BLADE, + MOVE_DRAGON_DANCE, + MOVE_BULLET_SEED, + MOVE_NATURAL_GIFT, + MOVE_DRAGON_HAMMER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TROPIUS #if P_FAMILY_CHIMECHO #if P_GEN_4_CROSS_EVOS - egg_moves(CHINGLING, - MOVE_DISABLE, - MOVE_CURSE, - MOVE_HYPNOSIS, - MOVE_WISH, - MOVE_FUTURE_SIGHT, - MOVE_RECOVER, - MOVE_STORED_POWER, - MOVE_SKILL_SWAP, - MOVE_COSMIC_POWER), +static const u16 sChinglingEggMoveLearnset[] = { + MOVE_DISABLE, + MOVE_CURSE, + MOVE_HYPNOSIS, + MOVE_WISH, + MOVE_FUTURE_SIGHT, + MOVE_RECOVER, + MOVE_STORED_POWER, + MOVE_SKILL_SWAP, + MOVE_COSMIC_POWER, + MOVE_UNAVAILABLE, +}; #endif //P_GEN_4_CROSS_EVOS - egg_moves(CHIMECHO, - MOVE_DISABLE, - MOVE_CURSE, - MOVE_HYPNOSIS, - MOVE_WISH, - MOVE_FUTURE_SIGHT, - MOVE_RECOVER, - MOVE_STORED_POWER, - MOVE_SKILL_SWAP, - MOVE_COSMIC_POWER, - MOVE_CRAFTY_SHIELD, - MOVE_PERISH_SONG), +static const u16 sChimechoEggMoveLearnset[] = { + MOVE_DISABLE, + MOVE_CURSE, + MOVE_HYPNOSIS, + MOVE_WISH, + MOVE_FUTURE_SIGHT, + MOVE_RECOVER, + MOVE_STORED_POWER, + MOVE_SKILL_SWAP, + MOVE_COSMIC_POWER, + MOVE_CRAFTY_SHIELD, + MOVE_PERISH_SONG, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CHIMECHO #if P_FAMILY_ABSOL - egg_moves(ABSOL, - MOVE_BATON_PASS, - MOVE_FEINT_ATTACK, - MOVE_DOUBLE_EDGE, - MOVE_MAGIC_COAT, - MOVE_CURSE, - MOVE_MEAN_LOOK, - MOVE_ZEN_HEADBUTT, - MOVE_PUNISHMENT, - MOVE_SUCKER_PUNCH, - MOVE_ASSURANCE, - MOVE_ME_FIRST, - MOVE_MEGAHORN, - MOVE_HEX, - MOVE_PERISH_SONG, - MOVE_PLAY_ROUGH), +static const u16 sAbsolEggMoveLearnset[] = { + MOVE_BATON_PASS, + MOVE_FEINT_ATTACK, + MOVE_DOUBLE_EDGE, + MOVE_MAGIC_COAT, + MOVE_CURSE, + MOVE_MEAN_LOOK, + MOVE_ZEN_HEADBUTT, + MOVE_PUNISHMENT, + MOVE_SUCKER_PUNCH, + MOVE_ASSURANCE, + MOVE_ME_FIRST, + MOVE_MEGAHORN, + MOVE_HEX, + MOVE_PERISH_SONG, + MOVE_PLAY_ROUGH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ABSOL #if P_FAMILY_SNORUNT - egg_moves(SNORUNT, - MOVE_BLOCK, - MOVE_SPIKES, - MOVE_ROLLOUT, - MOVE_DISABLE, - MOVE_BIDE, - MOVE_WEATHER_BALL, - MOVE_AVALANCHE, - MOVE_HEX, - MOVE_FAKE_TEARS, - MOVE_SWITCHEROO), +static const u16 sSnoruntEggMoveLearnset[] = { + MOVE_BLOCK, + MOVE_SPIKES, + MOVE_ROLLOUT, + MOVE_DISABLE, + MOVE_BIDE, + MOVE_WEATHER_BALL, + MOVE_AVALANCHE, + MOVE_HEX, + MOVE_FAKE_TEARS, + MOVE_SWITCHEROO, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SNORUNT #if P_FAMILY_SPHEAL - egg_moves(SPHEAL, - MOVE_WATER_SPORT, - MOVE_STOCKPILE, - MOVE_SWALLOW, - MOVE_SPIT_UP, - MOVE_YAWN, - MOVE_CURSE, - MOVE_FISSURE, - MOVE_SIGNAL_BEAM, - MOVE_AQUA_RING, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, - MOVE_WATER_PULSE, - MOVE_BELLY_DRUM), +static const u16 sSphealEggMoveLearnset[] = { + MOVE_WATER_SPORT, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_YAWN, + MOVE_CURSE, + MOVE_FISSURE, + MOVE_SIGNAL_BEAM, + MOVE_AQUA_RING, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_WATER_PULSE, + MOVE_BELLY_DRUM, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SPHEAL #if P_FAMILY_CLAMPERL - egg_moves(CLAMPERL, - MOVE_REFRESH, - MOVE_MUD_SPORT, - MOVE_BODY_SLAM, - MOVE_SUPERSONIC, - MOVE_BARRIER, - MOVE_CONFUSE_RAY, - MOVE_AQUA_RING, - MOVE_MUDDY_WATER, - MOVE_WATER_PULSE, - MOVE_BRINE, - MOVE_ENDURE), +static const u16 sClamperlEggMoveLearnset[] = { + MOVE_REFRESH, + MOVE_MUD_SPORT, + MOVE_BODY_SLAM, + MOVE_SUPERSONIC, + MOVE_BARRIER, + MOVE_CONFUSE_RAY, + MOVE_AQUA_RING, + MOVE_MUDDY_WATER, + MOVE_WATER_PULSE, + MOVE_BRINE, + MOVE_ENDURE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CLAMPERL #if P_FAMILY_RELICANTH - egg_moves(RELICANTH, - MOVE_MAGNITUDE, - MOVE_SKULL_BASH, - MOVE_WATER_SPORT, - MOVE_AMNESIA, - MOVE_SLEEP_TALK, - MOVE_AQUA_TAIL, - MOVE_SNORE, - MOVE_MUD_SLAP, - MOVE_MUDDY_WATER, - MOVE_MUD_SHOT, - MOVE_BRINE, - MOVE_ZEN_HEADBUTT), +static const u16 sRelicanthEggMoveLearnset[] = { + MOVE_MAGNITUDE, + MOVE_SKULL_BASH, + MOVE_WATER_SPORT, + MOVE_AMNESIA, + MOVE_SLEEP_TALK, + MOVE_AQUA_TAIL, + MOVE_SNORE, + MOVE_MUD_SLAP, + MOVE_MUDDY_WATER, + MOVE_MUD_SHOT, + MOVE_BRINE, + MOVE_ZEN_HEADBUTT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_RELICANTH #if P_FAMILY_LUVDISC - egg_moves(LUVDISC, - MOVE_SPLASH, - MOVE_SUPERSONIC, - MOVE_WATER_SPORT, - MOVE_MUD_SPORT, - MOVE_CAPTIVATE, - MOVE_AQUA_RING, - MOVE_AQUA_JET, - MOVE_HEAL_PULSE, - MOVE_BRINE, - MOVE_ENTRAINMENT), +static const u16 sLuvdiscEggMoveLearnset[] = { + MOVE_SPLASH, + MOVE_SUPERSONIC, + MOVE_WATER_SPORT, + MOVE_MUD_SPORT, + MOVE_CAPTIVATE, + MOVE_AQUA_RING, + MOVE_AQUA_JET, + MOVE_HEAL_PULSE, + MOVE_BRINE, + MOVE_ENTRAINMENT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_LUVDISC #if P_FAMILY_BAGON - egg_moves(BAGON, - MOVE_HYDRO_PUMP, - MOVE_THRASH, - MOVE_DRAGON_RAGE, - MOVE_TWISTER, - MOVE_DRAGON_DANCE, - MOVE_FIRE_FANG, - MOVE_DRAGON_RUSH, - MOVE_DRAGON_PULSE, - MOVE_ENDURE, - MOVE_DEFENSE_CURL), +static const u16 sBagonEggMoveLearnset[] = { + MOVE_HYDRO_PUMP, + MOVE_THRASH, + MOVE_DRAGON_RAGE, + MOVE_TWISTER, + MOVE_DRAGON_DANCE, + MOVE_FIRE_FANG, + MOVE_DRAGON_RUSH, + MOVE_DRAGON_PULSE, + MOVE_ENDURE, + MOVE_DEFENSE_CURL, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BAGON #if P_FAMILY_TURTWIG - egg_moves(TURTWIG, - MOVE_WORRY_SEED, - MOVE_GROWTH, - MOVE_TICKLE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SAND_TOMB, - MOVE_SEED_BOMB, - MOVE_THRASH, - MOVE_AMNESIA, - MOVE_SUPERPOWER, - MOVE_STOCKPILE, - MOVE_SWALLOW, - MOVE_SPIT_UP, - MOVE_EARTH_POWER, - MOVE_WIDE_GUARD, - MOVE_GRASSY_TERRAIN, - MOVE_HEAVY_SLAM), +static const u16 sTurtwigEggMoveLearnset[] = { + MOVE_WORRY_SEED, + MOVE_GROWTH, + MOVE_TICKLE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_SAND_TOMB, + MOVE_SEED_BOMB, + MOVE_THRASH, + MOVE_AMNESIA, + MOVE_SUPERPOWER, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_EARTH_POWER, + MOVE_WIDE_GUARD, + MOVE_GRASSY_TERRAIN, + MOVE_HEAVY_SLAM, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TURTWIG #if P_FAMILY_CHIMCHAR - egg_moves(CHIMCHAR, - MOVE_FIRE_PUNCH, - MOVE_THUNDER_PUNCH, - MOVE_DOUBLE_KICK, - MOVE_ENCORE, - MOVE_HEAT_WAVE, - MOVE_FOCUS_ENERGY, - MOVE_HELPING_HAND, - MOVE_FAKE_OUT, - MOVE_BLAZE_KICK, - MOVE_COUNTER, - MOVE_ASSIST, - MOVE_QUICK_GUARD, - MOVE_FOCUS_PUNCH, - MOVE_SUBMISSION, - MOVE_POWER_UP_PUNCH), +static const u16 sChimcharEggMoveLearnset[] = { + MOVE_FIRE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_DOUBLE_KICK, + MOVE_ENCORE, + MOVE_HEAT_WAVE, + MOVE_FOCUS_ENERGY, + MOVE_HELPING_HAND, + MOVE_FAKE_OUT, + MOVE_BLAZE_KICK, + MOVE_COUNTER, + MOVE_ASSIST, + MOVE_QUICK_GUARD, + MOVE_FOCUS_PUNCH, + MOVE_SUBMISSION, + MOVE_POWER_UP_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CHIMCHAR #if P_FAMILY_PIPLUP - egg_moves(PIPLUP, - MOVE_DOUBLE_HIT, - MOVE_SUPERSONIC, - MOVE_YAWN, - MOVE_MUD_SPORT, - MOVE_MUD_SLAP, - MOVE_SNORE, - MOVE_FLAIL, - MOVE_AGILITY, - MOVE_AQUA_RING, - MOVE_HYDRO_PUMP, - MOVE_FEATHER_DANCE, - MOVE_BIDE, - MOVE_ICY_WIND, - MOVE_POWER_TRIP), +static const u16 sPiplupEggMoveLearnset[] = { + MOVE_DOUBLE_HIT, + MOVE_SUPERSONIC, + MOVE_YAWN, + MOVE_MUD_SPORT, + MOVE_MUD_SLAP, + MOVE_SNORE, + MOVE_FLAIL, + MOVE_AGILITY, + MOVE_AQUA_RING, + MOVE_HYDRO_PUMP, + MOVE_FEATHER_DANCE, + MOVE_BIDE, + MOVE_ICY_WIND, + MOVE_POWER_TRIP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PIPLUP #if P_FAMILY_STARLY - egg_moves(STARLY, - MOVE_FEATHER_DANCE, - MOVE_FURY_ATTACK, - MOVE_PURSUIT, - MOVE_ASTONISH, - MOVE_SAND_ATTACK, - MOVE_FORESIGHT, - MOVE_DOUBLE_EDGE, - MOVE_STEEL_WING, - MOVE_UPROAR, - MOVE_ROOST, - MOVE_DETECT, - MOVE_REVENGE, - MOVE_MIRROR_MOVE), +static const u16 sStarlyEggMoveLearnset[] = { + MOVE_FEATHER_DANCE, + MOVE_FURY_ATTACK, + MOVE_PURSUIT, + MOVE_ASTONISH, + MOVE_SAND_ATTACK, + MOVE_FORESIGHT, + MOVE_DOUBLE_EDGE, + MOVE_STEEL_WING, + MOVE_UPROAR, + MOVE_ROOST, + MOVE_DETECT, + MOVE_REVENGE, + MOVE_MIRROR_MOVE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_STARLY #if P_FAMILY_BIDOOF - egg_moves(BIDOOF, - MOVE_QUICK_ATTACK, - MOVE_WATER_SPORT, - MOVE_DOUBLE_EDGE, - MOVE_FURY_SWIPES, - MOVE_DEFENSE_CURL, - MOVE_ROLLOUT, - MOVE_ODOR_SLEUTH, - MOVE_AQUA_TAIL, - MOVE_ROCK_CLIMB, - MOVE_SLEEP_TALK, - MOVE_ENDURE, - MOVE_SKULL_BASH, - MOVE_MUD_SPORT), +static const u16 sBidoofEggMoveLearnset[] = { + MOVE_QUICK_ATTACK, + MOVE_WATER_SPORT, + MOVE_DOUBLE_EDGE, + MOVE_FURY_SWIPES, + MOVE_DEFENSE_CURL, + MOVE_ROLLOUT, + MOVE_ODOR_SLEUTH, + MOVE_AQUA_TAIL, + MOVE_ROCK_CLIMB, + MOVE_SLEEP_TALK, + MOVE_ENDURE, + MOVE_SKULL_BASH, + MOVE_MUD_SPORT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BIDOOF #if P_FAMILY_SHINX - egg_moves(SHINX, - MOVE_ICE_FANG, - MOVE_FIRE_FANG, - MOVE_THUNDER_FANG, - MOVE_QUICK_ATTACK, - MOVE_HOWL, - MOVE_TAKE_DOWN, - MOVE_NIGHT_SLASH, - MOVE_SHOCK_WAVE, - MOVE_SWIFT, - MOVE_DOUBLE_KICK, - MOVE_SIGNAL_BEAM, - MOVE_HELPING_HAND, - MOVE_EERIE_IMPULSE, - MOVE_FAKE_TEARS), +static const u16 sShinxEggMoveLearnset[] = { + MOVE_ICE_FANG, + MOVE_FIRE_FANG, + MOVE_THUNDER_FANG, + MOVE_QUICK_ATTACK, + MOVE_HOWL, + MOVE_TAKE_DOWN, + MOVE_NIGHT_SLASH, + MOVE_SHOCK_WAVE, + MOVE_SWIFT, + MOVE_DOUBLE_KICK, + MOVE_SIGNAL_BEAM, + MOVE_HELPING_HAND, + MOVE_EERIE_IMPULSE, + MOVE_FAKE_TEARS, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SHINX #if P_FAMILY_CRANIDOS - egg_moves(CRANIDOS, - MOVE_CRUNCH, - MOVE_THRASH, - MOVE_DOUBLE_EDGE, - MOVE_LEER, - MOVE_SLAM, - MOVE_STOMP, - MOVE_WHIRLWIND, - MOVE_HAMMER_ARM, - MOVE_CURSE, - MOVE_IRON_TAIL, - MOVE_IRON_HEAD), +static const u16 sCranidosEggMoveLearnset[] = { + MOVE_CRUNCH, + MOVE_THRASH, + MOVE_DOUBLE_EDGE, + MOVE_LEER, + MOVE_SLAM, + MOVE_STOMP, + MOVE_WHIRLWIND, + MOVE_HAMMER_ARM, + MOVE_CURSE, + MOVE_IRON_TAIL, + MOVE_IRON_HEAD, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CRANIDOS #if P_FAMILY_SHIELDON - egg_moves(SHIELDON, - MOVE_HEADBUTT, - MOVE_SCARY_FACE, - MOVE_FOCUS_ENERGY, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_BLAST, - MOVE_BODY_SLAM, - MOVE_SCREECH, - MOVE_CURSE, - MOVE_FISSURE, - MOVE_COUNTER, - MOVE_STEALTH_ROCK, - MOVE_WIDE_GUARD, - MOVE_GUARD_SPLIT), +static const u16 sShieldonEggMoveLearnset[] = { + MOVE_HEADBUTT, + MOVE_SCARY_FACE, + MOVE_FOCUS_ENERGY, + MOVE_DOUBLE_EDGE, + MOVE_ROCK_BLAST, + MOVE_BODY_SLAM, + MOVE_SCREECH, + MOVE_CURSE, + MOVE_FISSURE, + MOVE_COUNTER, + MOVE_STEALTH_ROCK, + MOVE_WIDE_GUARD, + MOVE_GUARD_SPLIT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SHIELDON #if P_FAMILY_PACHIRISU - egg_moves(PACHIRISU, - MOVE_COVET, - MOVE_BITE, - MOVE_FAKE_TEARS, - MOVE_DEFENSE_CURL, - MOVE_ROLLOUT, - MOVE_FLATTER, - MOVE_FLAIL, - MOVE_IRON_TAIL, - MOVE_TAIL_WHIP, - MOVE_FOLLOW_ME, - MOVE_CHARGE, - MOVE_BESTOW, - MOVE_ION_DELUGE, - MOVE_BABY_DOLL_EYES), +static const u16 sPachirisuEggMoveLearnset[] = { + MOVE_COVET, + MOVE_BITE, + MOVE_FAKE_TEARS, + MOVE_DEFENSE_CURL, + MOVE_ROLLOUT, + MOVE_FLATTER, + MOVE_FLAIL, + MOVE_IRON_TAIL, + MOVE_TAIL_WHIP, + MOVE_FOLLOW_ME, + MOVE_CHARGE, + MOVE_BESTOW, + MOVE_ION_DELUGE, + MOVE_BABY_DOLL_EYES, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PACHIRISU #if P_FAMILY_BUIZEL - egg_moves(BUIZEL, - MOVE_MUD_SLAP, - MOVE_HEADBUTT, - MOVE_FURY_SWIPES, - MOVE_SLASH, - MOVE_ODOR_SLEUTH, - MOVE_DOUBLE_SLAP, - MOVE_FURY_CUTTER, - MOVE_BATON_PASS, - MOVE_AQUA_TAIL, - MOVE_AQUA_RING, - MOVE_ME_FIRST, - MOVE_SWITCHEROO, - MOVE_TAIL_SLAP, - MOVE_SOAK, - MOVE_HELPING_HAND), +static const u16 sBuizelEggMoveLearnset[] = { + MOVE_MUD_SLAP, + MOVE_HEADBUTT, + MOVE_FURY_SWIPES, + MOVE_SLASH, + MOVE_ODOR_SLEUTH, + MOVE_DOUBLE_SLAP, + MOVE_FURY_CUTTER, + MOVE_BATON_PASS, + MOVE_AQUA_TAIL, + MOVE_AQUA_RING, + MOVE_ME_FIRST, + MOVE_SWITCHEROO, + MOVE_TAIL_SLAP, + MOVE_SOAK, + MOVE_HELPING_HAND, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BUIZEL #if P_FAMILY_CHERUBI - egg_moves(CHERUBI, - MOVE_RAZOR_LEAF, - MOVE_SWEET_SCENT, - MOVE_TICKLE, - MOVE_NATURE_POWER, - MOVE_GRASS_WHISTLE, - MOVE_AROMATHERAPY, - MOVE_WEATHER_BALL, - MOVE_HEAL_PULSE, - MOVE_HEALING_WISH, - MOVE_SEED_BOMB, - MOVE_NATURAL_GIFT, - MOVE_DEFENSE_CURL, - MOVE_ROLLOUT, - MOVE_FLOWER_SHIELD, - MOVE_GRASSY_TERRAIN), +static const u16 sCherubiEggMoveLearnset[] = { + MOVE_RAZOR_LEAF, + MOVE_SWEET_SCENT, + MOVE_TICKLE, + MOVE_NATURE_POWER, + MOVE_GRASS_WHISTLE, + MOVE_AROMATHERAPY, + MOVE_WEATHER_BALL, + MOVE_HEAL_PULSE, + MOVE_HEALING_WISH, + MOVE_SEED_BOMB, + MOVE_NATURAL_GIFT, + MOVE_DEFENSE_CURL, + MOVE_ROLLOUT, + MOVE_FLOWER_SHIELD, + MOVE_GRASSY_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CHERUBI #if P_FAMILY_SHELLOS - egg_moves(SHELLOS_WEST_SEA, - MOVE_COUNTER, - MOVE_MIRROR_COAT, - MOVE_STOCKPILE, - MOVE_SWALLOW, - MOVE_SPIT_UP, - MOVE_YAWN, - MOVE_MEMENTO, - MOVE_CURSE, - MOVE_AMNESIA, - MOVE_FISSURE, - MOVE_TRUMP_CARD, - MOVE_SLUDGE, - MOVE_CLEAR_SMOG, - MOVE_BRINE, - MOVE_MIST, - MOVE_ACID_ARMOR), +static const u16 sShellosEggMoveLearnset[] = { + MOVE_COUNTER, + MOVE_MIRROR_COAT, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_YAWN, + MOVE_MEMENTO, + MOVE_CURSE, + MOVE_AMNESIA, + MOVE_FISSURE, + MOVE_TRUMP_CARD, + MOVE_SLUDGE, + MOVE_CLEAR_SMOG, + MOVE_BRINE, + MOVE_MIST, + MOVE_ACID_ARMOR, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SHELLOS #if P_FAMILY_DRIFLOON - egg_moves(DRIFLOON, - MOVE_MEMENTO, - MOVE_BODY_SLAM, - MOVE_DESTINY_BOND, - MOVE_DISABLE, - MOVE_HAZE, - MOVE_HYPNOSIS, - MOVE_WEATHER_BALL, - MOVE_CLEAR_SMOG, - MOVE_DEFOG, - MOVE_TAILWIND), +static const u16 sDrifloonEggMoveLearnset[] = { + MOVE_MEMENTO, + MOVE_BODY_SLAM, + MOVE_DESTINY_BOND, + MOVE_DISABLE, + MOVE_HAZE, + MOVE_HYPNOSIS, + MOVE_WEATHER_BALL, + MOVE_CLEAR_SMOG, + MOVE_DEFOG, + MOVE_TAILWIND, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DRIFLOON #if P_FAMILY_BUNEARY - egg_moves(BUNEARY, - MOVE_FAKE_TEARS, - MOVE_FAKE_OUT, - MOVE_ENCORE, - MOVE_SWEET_KISS, - MOVE_DOUBLE_HIT, - MOVE_LOW_KICK, - MOVE_SKY_UPPERCUT, - MOVE_SWITCHEROO, - MOVE_THUNDER_PUNCH, - MOVE_ICE_PUNCH, - MOVE_FIRE_PUNCH, - MOVE_FLAIL, - MOVE_FOCUS_PUNCH, - MOVE_CIRCLE_THROW, - MOVE_COPYCAT, - MOVE_TEETER_DANCE, - MOVE_COSMIC_POWER, - MOVE_MUD_SPORT, - MOVE_POWER_UP_PUNCH), +static const u16 sBunearyEggMoveLearnset[] = { + MOVE_FAKE_TEARS, + MOVE_FAKE_OUT, + MOVE_ENCORE, + MOVE_SWEET_KISS, + MOVE_DOUBLE_HIT, + MOVE_LOW_KICK, + MOVE_SKY_UPPERCUT, + MOVE_SWITCHEROO, + MOVE_THUNDER_PUNCH, + MOVE_ICE_PUNCH, + MOVE_FIRE_PUNCH, + MOVE_FLAIL, + MOVE_FOCUS_PUNCH, + MOVE_CIRCLE_THROW, + MOVE_COPYCAT, + MOVE_TEETER_DANCE, + MOVE_COSMIC_POWER, + MOVE_MUD_SPORT, + MOVE_POWER_UP_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BUNEARY #if P_FAMILY_GLAMEOW - egg_moves(GLAMEOW, - MOVE_BITE, - MOVE_TAIL_WHIP, - MOVE_QUICK_ATTACK, - MOVE_SAND_ATTACK, - MOVE_FAKE_TEARS, - MOVE_ASSURANCE, - MOVE_FLAIL, - MOVE_SNATCH, - MOVE_WAKE_UP_SLAP, - MOVE_LAST_RESORT), +static const u16 sGlameowEggMoveLearnset[] = { + MOVE_BITE, + MOVE_TAIL_WHIP, + MOVE_QUICK_ATTACK, + MOVE_SAND_ATTACK, + MOVE_FAKE_TEARS, + MOVE_ASSURANCE, + MOVE_FLAIL, + MOVE_SNATCH, + MOVE_WAKE_UP_SLAP, + MOVE_LAST_RESORT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_GLAMEOW #if P_FAMILY_STUNKY - egg_moves(STUNKY, - MOVE_PURSUIT, - MOVE_LEER, - MOVE_SMOG, - MOVE_DOUBLE_EDGE, - MOVE_CRUNCH, - MOVE_SCARY_FACE, - MOVE_ASTONISH, - MOVE_PUNISHMENT, - MOVE_HAZE, - MOVE_IRON_TAIL, - MOVE_FOUL_PLAY, - MOVE_FLAME_BURST, - MOVE_PLAY_ROUGH), +static const u16 sStunkyEggMoveLearnset[] = { + MOVE_PURSUIT, + MOVE_LEER, + MOVE_SMOG, + MOVE_DOUBLE_EDGE, + MOVE_CRUNCH, + MOVE_SCARY_FACE, + MOVE_ASTONISH, + MOVE_PUNISHMENT, + MOVE_HAZE, + MOVE_IRON_TAIL, + MOVE_FOUL_PLAY, + MOVE_FLAME_BURST, + MOVE_PLAY_ROUGH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_STUNKY #if P_FAMILY_CHATOT - egg_moves(CHATOT, - MOVE_ENCORE, - MOVE_NIGHT_SHADE, - MOVE_AGILITY, - MOVE_NASTY_PLOT, - MOVE_SUPERSONIC, - MOVE_STEEL_WING, - MOVE_SLEEP_TALK, - MOVE_DEFOG, - MOVE_AIR_CUTTER, - MOVE_BOOMBURST), +static const u16 sChatotEggMoveLearnset[] = { + MOVE_ENCORE, + MOVE_NIGHT_SHADE, + MOVE_AGILITY, + MOVE_NASTY_PLOT, + MOVE_SUPERSONIC, + MOVE_STEEL_WING, + MOVE_SLEEP_TALK, + MOVE_DEFOG, + MOVE_AIR_CUTTER, + MOVE_BOOMBURST, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CHATOT #if P_FAMILY_SPIRITOMB - egg_moves(SPIRITOMB, - MOVE_DESTINY_BOND, - MOVE_PAIN_SPLIT, - MOVE_SMOKESCREEN, - MOVE_IMPRISON, - MOVE_GRUDGE, - MOVE_SHADOW_SNEAK, - MOVE_CAPTIVATE, - MOVE_NIGHTMARE, - MOVE_FOUL_PLAY, - MOVE_DISABLE), +static const u16 sSpiritombEggMoveLearnset[] = { + MOVE_DESTINY_BOND, + MOVE_PAIN_SPLIT, + MOVE_SMOKESCREEN, + MOVE_IMPRISON, + MOVE_GRUDGE, + MOVE_SHADOW_SNEAK, + MOVE_CAPTIVATE, + MOVE_NIGHTMARE, + MOVE_FOUL_PLAY, + MOVE_DISABLE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SPIRITOMB #if P_FAMILY_GIBLE - egg_moves(GIBLE, - MOVE_DRAGON_BREATH, - MOVE_OUTRAGE, - MOVE_TWISTER, - MOVE_SCARY_FACE, - MOVE_DOUBLE_EDGE, - MOVE_THRASH, - MOVE_METAL_CLAW, - MOVE_SAND_TOMB, - MOVE_BODY_SLAM, - MOVE_IRON_HEAD, - MOVE_MUD_SHOT, - MOVE_ROCK_CLIMB, - MOVE_IRON_TAIL), +static const u16 sGibleEggMoveLearnset[] = { + MOVE_DRAGON_BREATH, + MOVE_OUTRAGE, + MOVE_TWISTER, + MOVE_SCARY_FACE, + MOVE_DOUBLE_EDGE, + MOVE_THRASH, + MOVE_METAL_CLAW, + MOVE_SAND_TOMB, + MOVE_BODY_SLAM, + MOVE_IRON_HEAD, + MOVE_MUD_SHOT, + MOVE_ROCK_CLIMB, + MOVE_IRON_TAIL, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_GIBLE #if P_FAMILY_RIOLU - egg_moves(RIOLU, - MOVE_CROSS_CHOP, - MOVE_DETECT, - MOVE_BITE, - MOVE_MIND_READER, - MOVE_SKY_UPPERCUT, - MOVE_HIGH_JUMP_KICK, - MOVE_AGILITY, - MOVE_VACUUM_WAVE, - MOVE_CRUNCH, - MOVE_LOW_KICK, - MOVE_IRON_DEFENSE, - MOVE_BLAZE_KICK, - MOVE_BULLET_PUNCH, - MOVE_FOLLOW_ME, - MOVE_CIRCLE_THROW, - MOVE_METEOR_MASH), +static const u16 sRioluEggMoveLearnset[] = { + MOVE_CROSS_CHOP, + MOVE_DETECT, + MOVE_BITE, + MOVE_MIND_READER, + MOVE_SKY_UPPERCUT, + MOVE_HIGH_JUMP_KICK, + MOVE_AGILITY, + MOVE_VACUUM_WAVE, + MOVE_CRUNCH, + MOVE_LOW_KICK, + MOVE_IRON_DEFENSE, + MOVE_BLAZE_KICK, + MOVE_BULLET_PUNCH, + MOVE_FOLLOW_ME, + MOVE_CIRCLE_THROW, + MOVE_METEOR_MASH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_RIOLU #if P_FAMILY_HIPPOPOTAS - egg_moves(HIPPOPOTAS, - MOVE_STOCKPILE, - MOVE_SWALLOW, - MOVE_SPIT_UP, - MOVE_CURSE, - MOVE_SLACK_OFF, - MOVE_BODY_SLAM, - MOVE_SAND_TOMB, - MOVE_REVENGE, - MOVE_SLEEP_TALK, - MOVE_WHIRLWIND), +static const u16 sHippopotasEggMoveLearnset[] = { + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_CURSE, + MOVE_SLACK_OFF, + MOVE_BODY_SLAM, + MOVE_SAND_TOMB, + MOVE_REVENGE, + MOVE_SLEEP_TALK, + MOVE_WHIRLWIND, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_HIPPOPOTAS #if P_FAMILY_SKORUPI - egg_moves(SKORUPI, - MOVE_FEINT_ATTACK, - MOVE_SCREECH, - MOVE_SAND_ATTACK, - MOVE_SLASH, - MOVE_CONFUSE_RAY, - MOVE_WHIRLWIND, - MOVE_AGILITY, - MOVE_PURSUIT, - MOVE_NIGHT_SLASH, - MOVE_IRON_TAIL, - MOVE_TWINEEDLE, - MOVE_POISON_TAIL), +static const u16 sSkorupiEggMoveLearnset[] = { + MOVE_FEINT_ATTACK, + MOVE_SCREECH, + MOVE_SAND_ATTACK, + MOVE_SLASH, + MOVE_CONFUSE_RAY, + MOVE_WHIRLWIND, + MOVE_AGILITY, + MOVE_PURSUIT, + MOVE_NIGHT_SLASH, + MOVE_IRON_TAIL, + MOVE_TWINEEDLE, + MOVE_POISON_TAIL, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SKORUPI #if P_FAMILY_CROAGUNK - egg_moves(CROAGUNK, - MOVE_ME_FIRST, - MOVE_FEINT, - MOVE_DYNAMIC_PUNCH, - MOVE_HEADBUTT, - MOVE_VACUUM_WAVE, - MOVE_MEDITATE, - MOVE_FAKE_OUT, - MOVE_WAKE_UP_SLAP, - MOVE_SMELLING_SALTS, - MOVE_CROSS_CHOP, - MOVE_BULLET_PUNCH, - MOVE_COUNTER, - MOVE_DRAIN_PUNCH, - MOVE_ACUPRESSURE, - MOVE_QUICK_GUARD), +static const u16 sCroagunkEggMoveLearnset[] = { + MOVE_ME_FIRST, + MOVE_FEINT, + MOVE_DYNAMIC_PUNCH, + MOVE_HEADBUTT, + MOVE_VACUUM_WAVE, + MOVE_MEDITATE, + MOVE_FAKE_OUT, + MOVE_WAKE_UP_SLAP, + MOVE_SMELLING_SALTS, + MOVE_CROSS_CHOP, + MOVE_BULLET_PUNCH, + MOVE_COUNTER, + MOVE_DRAIN_PUNCH, + MOVE_ACUPRESSURE, + MOVE_QUICK_GUARD, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CROAGUNK #if P_FAMILY_CARNIVINE - egg_moves(CARNIVINE, - MOVE_SLEEP_POWDER, - MOVE_STUN_SPORE, - MOVE_RAZOR_LEAF, - MOVE_SLAM, - MOVE_SYNTHESIS, - MOVE_MAGICAL_LEAF, - MOVE_LEECH_SEED, - MOVE_WORRY_SEED, - MOVE_GIGA_DRAIN, - MOVE_RAGE_POWDER, - MOVE_GRASS_WHISTLE, - MOVE_ACID_SPRAY), +static const u16 sCarnivineEggMoveLearnset[] = { + MOVE_SLEEP_POWDER, + MOVE_STUN_SPORE, + MOVE_RAZOR_LEAF, + MOVE_SLAM, + MOVE_SYNTHESIS, + MOVE_MAGICAL_LEAF, + MOVE_LEECH_SEED, + MOVE_WORRY_SEED, + MOVE_GIGA_DRAIN, + MOVE_RAGE_POWDER, + MOVE_GRASS_WHISTLE, + MOVE_ACID_SPRAY, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CARNIVINE #if P_FAMILY_FINNEON - egg_moves(FINNEON, - MOVE_SWEET_KISS, - MOVE_CHARM, - MOVE_FLAIL, - MOVE_AQUA_TAIL, - MOVE_SPLASH, - MOVE_PSYBEAM, - MOVE_TICKLE, - MOVE_AGILITY, - MOVE_BRINE, - MOVE_AURORA_BEAM, - MOVE_SIGNAL_BEAM, - MOVE_CONFUSE_RAY), +static const u16 sFinneonEggMoveLearnset[] = { + MOVE_SWEET_KISS, + MOVE_CHARM, + MOVE_FLAIL, + MOVE_AQUA_TAIL, + MOVE_SPLASH, + MOVE_PSYBEAM, + MOVE_TICKLE, + MOVE_AGILITY, + MOVE_BRINE, + MOVE_AURORA_BEAM, + MOVE_SIGNAL_BEAM, + MOVE_CONFUSE_RAY, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_FINNEON #if P_FAMILY_SNOVER - egg_moves(SNOVER, - MOVE_LEECH_SEED, - MOVE_MAGICAL_LEAF, - MOVE_SEED_BOMB, - MOVE_GROWTH, - MOVE_DOUBLE_EDGE, - MOVE_MIST, - MOVE_STOMP, - MOVE_SKULL_BASH, - MOVE_AVALANCHE, - MOVE_NATURAL_GIFT, - MOVE_BULLET_SEED), +static const u16 sSnoverEggMoveLearnset[] = { + MOVE_LEECH_SEED, + MOVE_MAGICAL_LEAF, + MOVE_SEED_BOMB, + MOVE_GROWTH, + MOVE_DOUBLE_EDGE, + MOVE_MIST, + MOVE_STOMP, + MOVE_SKULL_BASH, + MOVE_AVALANCHE, + MOVE_NATURAL_GIFT, + MOVE_BULLET_SEED, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SNOVER #if P_FAMILY_SNIVY - egg_moves(SNIVY, - MOVE_CAPTIVATE, - MOVE_NATURAL_GIFT, - MOVE_GLARE, - MOVE_IRON_TAIL, - MOVE_MAGICAL_LEAF, - MOVE_SWEET_SCENT, - MOVE_MIRROR_COAT, - MOVE_PURSUIT, - MOVE_MEAN_LOOK, - MOVE_TWISTER, - MOVE_GRASSY_TERRAIN), +static const u16 sSnivyEggMoveLearnset[] = { + MOVE_CAPTIVATE, + MOVE_NATURAL_GIFT, + MOVE_GLARE, + MOVE_IRON_TAIL, + MOVE_MAGICAL_LEAF, + MOVE_SWEET_SCENT, + MOVE_MIRROR_COAT, + MOVE_PURSUIT, + MOVE_MEAN_LOOK, + MOVE_TWISTER, + MOVE_GRASSY_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SNIVY #if P_FAMILY_TEPIG - egg_moves(TEPIG, - MOVE_COVET, - MOVE_BODY_SLAM, - MOVE_THRASH, - MOVE_MAGNITUDE, - MOVE_SUPERPOWER, - MOVE_CURSE, - MOVE_ENDEAVOR, - MOVE_YAWN, - MOVE_SLEEP_TALK, - MOVE_HEAVY_SLAM, - MOVE_SUCKER_PUNCH, - MOVE_BURN_UP), +static const u16 sTepigEggMoveLearnset[] = { + MOVE_COVET, + MOVE_BODY_SLAM, + MOVE_THRASH, + MOVE_MAGNITUDE, + MOVE_SUPERPOWER, + MOVE_CURSE, + MOVE_ENDEAVOR, + MOVE_YAWN, + MOVE_SLEEP_TALK, + MOVE_HEAVY_SLAM, + MOVE_SUCKER_PUNCH, + MOVE_BURN_UP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TEPIG #if P_FAMILY_OSHAWOTT - egg_moves(OSHAWOTT, - MOVE_COPYCAT, - MOVE_DETECT, - MOVE_AIR_SLASH, - MOVE_ASSURANCE, - MOVE_BRINE, - MOVE_NIGHT_SLASH, - MOVE_TRUMP_CARD, - MOVE_SCREECH, - MOVE_SACRED_SWORD), +static const u16 sOshawottEggMoveLearnset[] = { + MOVE_COPYCAT, + MOVE_DETECT, + MOVE_AIR_SLASH, + MOVE_ASSURANCE, + MOVE_BRINE, + MOVE_NIGHT_SLASH, + MOVE_TRUMP_CARD, + MOVE_SCREECH, + MOVE_SACRED_SWORD, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_OSHAWOTT #if P_FAMILY_PATRAT - egg_moves(PATRAT, - MOVE_FORESIGHT, - MOVE_IRON_TAIL, - MOVE_SCREECH, - MOVE_ASSURANCE, - MOVE_PURSUIT, - MOVE_REVENGE, - MOVE_FLAIL, - MOVE_TEARFUL_LOOK, - MOVE_BULLET_SEED), +static const u16 sPatratEggMoveLearnset[] = { + MOVE_FORESIGHT, + MOVE_IRON_TAIL, + MOVE_SCREECH, + MOVE_ASSURANCE, + MOVE_PURSUIT, + MOVE_REVENGE, + MOVE_FLAIL, + MOVE_TEARFUL_LOOK, + MOVE_BULLET_SEED, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PATRAT #if P_FAMILY_LILLIPUP - egg_moves(LILLIPUP, - MOVE_HOWL, - MOVE_SAND_ATTACK, - MOVE_MUD_SLAP, - MOVE_LICK, - MOVE_CHARM, - MOVE_ENDURE, - MOVE_YAWN, - MOVE_PURSUIT, - MOVE_FIRE_FANG, - MOVE_THUNDER_FANG, - MOVE_ICE_FANG, - MOVE_AFTER_YOU, - MOVE_PSYCHIC_FANGS), +static const u16 sLillipupEggMoveLearnset[] = { + MOVE_HOWL, + MOVE_SAND_ATTACK, + MOVE_MUD_SLAP, + MOVE_LICK, + MOVE_CHARM, + MOVE_ENDURE, + MOVE_YAWN, + MOVE_PURSUIT, + MOVE_FIRE_FANG, + MOVE_THUNDER_FANG, + MOVE_ICE_FANG, + MOVE_AFTER_YOU, + MOVE_PSYCHIC_FANGS, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_LILLIPUP #if P_FAMILY_PURRLOIN - egg_moves(PURRLOIN, - MOVE_PAY_DAY, - MOVE_FOUL_PLAY, - MOVE_FEINT_ATTACK, - MOVE_FAKE_TEARS, - MOVE_CHARM, - MOVE_ENCORE, - MOVE_YAWN, - MOVE_COVET, - MOVE_COPYCAT), +static const u16 sPurrloinEggMoveLearnset[] = { + MOVE_PAY_DAY, + MOVE_FOUL_PLAY, + MOVE_FEINT_ATTACK, + MOVE_FAKE_TEARS, + MOVE_CHARM, + MOVE_ENCORE, + MOVE_YAWN, + MOVE_COVET, + MOVE_COPYCAT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PURRLOIN #if P_FAMILY_PANSAGE - egg_moves(PANSAGE, - MOVE_COVET, - MOVE_LOW_KICK, - MOVE_TICKLE, - MOVE_NASTY_PLOT, - MOVE_ROLE_PLAY, - MOVE_ASTONISH, - MOVE_GRASS_WHISTLE, - MOVE_MAGICAL_LEAF, - MOVE_BULLET_SEED, - MOVE_LEAF_STORM, - MOVE_DISARMING_VOICE, - MOVE_SPIKY_SHIELD), +static const u16 sPansageEggMoveLearnset[] = { + MOVE_COVET, + MOVE_LOW_KICK, + MOVE_TICKLE, + MOVE_NASTY_PLOT, + MOVE_ROLE_PLAY, + MOVE_ASTONISH, + MOVE_GRASS_WHISTLE, + MOVE_MAGICAL_LEAF, + MOVE_BULLET_SEED, + MOVE_LEAF_STORM, + MOVE_DISARMING_VOICE, + MOVE_SPIKY_SHIELD, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PANSAGE #if P_FAMILY_PANSEAR - egg_moves(PANSEAR, - MOVE_COVET, - MOVE_LOW_KICK, - MOVE_TICKLE, - MOVE_NASTY_PLOT, - MOVE_ROLE_PLAY, - MOVE_ASTONISH, - MOVE_SLEEP_TALK, - MOVE_FIRE_SPIN, - MOVE_FIRE_PUNCH, - MOVE_HEAT_WAVE, - MOVE_DISARMING_VOICE, - MOVE_BELCH, - MOVE_FLARE_BLITZ), +static const u16 sPansearEggMoveLearnset[] = { + MOVE_COVET, + MOVE_LOW_KICK, + MOVE_TICKLE, + MOVE_NASTY_PLOT, + MOVE_ROLE_PLAY, + MOVE_ASTONISH, + MOVE_SLEEP_TALK, + MOVE_FIRE_SPIN, + MOVE_FIRE_PUNCH, + MOVE_HEAT_WAVE, + MOVE_DISARMING_VOICE, + MOVE_BELCH, + MOVE_FLARE_BLITZ, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PANSEAR #if P_FAMILY_PANPOUR - egg_moves(PANPOUR, - MOVE_COVET, - MOVE_LOW_KICK, - MOVE_TICKLE, - MOVE_NASTY_PLOT, - MOVE_ROLE_PLAY, - MOVE_ASTONISH, - MOVE_AQUA_RING, - MOVE_AQUA_TAIL, - MOVE_MUD_SPORT, - MOVE_HYDRO_PUMP, - MOVE_DISARMING_VOICE), +static const u16 sPanpourEggMoveLearnset[] = { + MOVE_COVET, + MOVE_LOW_KICK, + MOVE_TICKLE, + MOVE_NASTY_PLOT, + MOVE_ROLE_PLAY, + MOVE_ASTONISH, + MOVE_AQUA_RING, + MOVE_AQUA_TAIL, + MOVE_MUD_SPORT, + MOVE_HYDRO_PUMP, + MOVE_DISARMING_VOICE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PANPOUR #if P_FAMILY_MUNNA - egg_moves(MUNNA, - MOVE_SLEEP_TALK, - MOVE_SECRET_POWER, - MOVE_BARRIER, - MOVE_MAGIC_COAT, - MOVE_HELPING_HAND, - MOVE_BATON_PASS, - MOVE_SWIFT, - MOVE_CURSE, - MOVE_SONIC_BOOM, - MOVE_HEALING_WISH), +static const u16 sMunnaEggMoveLearnset[] = { + MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, + MOVE_BARRIER, + MOVE_MAGIC_COAT, + MOVE_HELPING_HAND, + MOVE_BATON_PASS, + MOVE_SWIFT, + MOVE_CURSE, + MOVE_SONIC_BOOM, + MOVE_HEALING_WISH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MUNNA #if P_FAMILY_PIDOVE - egg_moves(PIDOVE, - MOVE_STEEL_WING, - MOVE_HYPNOSIS, - MOVE_UPROAR, - MOVE_BESTOW, - MOVE_WISH, - MOVE_MORNING_SUN, - MOVE_LUCKY_CHANT, - MOVE_NIGHT_SLASH), +static const u16 sPidoveEggMoveLearnset[] = { + MOVE_STEEL_WING, + MOVE_HYPNOSIS, + MOVE_UPROAR, + MOVE_BESTOW, + MOVE_WISH, + MOVE_MORNING_SUN, + MOVE_LUCKY_CHANT, + MOVE_NIGHT_SLASH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PIDOVE #if P_FAMILY_BLITZLE - egg_moves(BLITZLE, - MOVE_ME_FIRST, - MOVE_TAKE_DOWN, - MOVE_SAND_ATTACK, - MOVE_DOUBLE_KICK, - MOVE_SCREECH, - MOVE_RAGE, - MOVE_ENDURE, - MOVE_DOUBLE_EDGE, - MOVE_SHOCK_WAVE, - MOVE_SNATCH, - MOVE_FEINT), +static const u16 sBlitzleEggMoveLearnset[] = { + MOVE_ME_FIRST, + MOVE_TAKE_DOWN, + MOVE_SAND_ATTACK, + MOVE_DOUBLE_KICK, + MOVE_SCREECH, + MOVE_RAGE, + MOVE_ENDURE, + MOVE_DOUBLE_EDGE, + MOVE_SHOCK_WAVE, + MOVE_SNATCH, + MOVE_FEINT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BLITZLE #if P_FAMILY_ROGGENROLA - egg_moves(ROGGENROLA, - MOVE_MAGNITUDE, - MOVE_CURSE, - MOVE_AUTOTOMIZE, - MOVE_ROCK_TOMB, - MOVE_LOCK_ON, - MOVE_HEAVY_SLAM, - MOVE_TAKE_DOWN, - MOVE_GRAVITY, - MOVE_WIDE_GUARD), +static const u16 sRoggenrolaEggMoveLearnset[] = { + MOVE_MAGNITUDE, + MOVE_CURSE, + MOVE_AUTOTOMIZE, + MOVE_ROCK_TOMB, + MOVE_LOCK_ON, + MOVE_HEAVY_SLAM, + MOVE_TAKE_DOWN, + MOVE_GRAVITY, + MOVE_WIDE_GUARD, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ROGGENROLA #if P_FAMILY_WOOBAT - egg_moves(WOOBAT, - MOVE_CHARM, - MOVE_KNOCK_OFF, - MOVE_FAKE_TEARS, - MOVE_SUPERSONIC, - MOVE_SYNCHRONOISE, - MOVE_STORED_POWER, - MOVE_ROOST, - MOVE_FLATTER, - MOVE_HELPING_HAND, - MOVE_CAPTIVATE, - MOVE_VENOM_DRENCH, - MOVE_PSYCHO_SHIFT), +static const u16 sWoobatEggMoveLearnset[] = { + MOVE_CHARM, + MOVE_KNOCK_OFF, + MOVE_FAKE_TEARS, + MOVE_SUPERSONIC, + MOVE_SYNCHRONOISE, + MOVE_STORED_POWER, + MOVE_ROOST, + MOVE_FLATTER, + MOVE_HELPING_HAND, + MOVE_CAPTIVATE, + MOVE_VENOM_DRENCH, + MOVE_PSYCHO_SHIFT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_WOOBAT #if P_FAMILY_DRILBUR - egg_moves(DRILBUR, - MOVE_IRON_DEFENSE, - MOVE_RAPID_SPIN, - MOVE_EARTH_POWER, - MOVE_CRUSH_CLAW, - MOVE_METAL_SOUND, - MOVE_SUBMISSION, - MOVE_SKULL_BASH, - MOVE_ROCK_CLIMB), +static const u16 sDrilburEggMoveLearnset[] = { + MOVE_IRON_DEFENSE, + MOVE_RAPID_SPIN, + MOVE_EARTH_POWER, + MOVE_CRUSH_CLAW, + MOVE_METAL_SOUND, + MOVE_SUBMISSION, + MOVE_SKULL_BASH, + MOVE_ROCK_CLIMB, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DRILBUR #if P_FAMILY_AUDINO - egg_moves(AUDINO, - MOVE_WISH, - MOVE_HEAL_BELL, - MOVE_LUCKY_CHANT, - MOVE_ENCORE, - MOVE_BESTOW, - MOVE_SWEET_KISS, - MOVE_YAWN, - MOVE_SLEEP_TALK, - MOVE_HEALING_WISH, - MOVE_AMNESIA, - MOVE_DRAINING_KISS), +static const u16 sAudinoEggMoveLearnset[] = { + MOVE_WISH, + MOVE_HEAL_BELL, + MOVE_LUCKY_CHANT, + MOVE_ENCORE, + MOVE_BESTOW, + MOVE_SWEET_KISS, + MOVE_YAWN, + MOVE_SLEEP_TALK, + MOVE_HEALING_WISH, + MOVE_AMNESIA, + MOVE_DRAINING_KISS, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_AUDINO #if P_FAMILY_TIMBURR - egg_moves(TIMBURR, - MOVE_DRAIN_PUNCH, - MOVE_ENDURE, - MOVE_COUNTER, - MOVE_COMET_PUNCH, - MOVE_FORESIGHT, - MOVE_SMELLING_SALTS, - MOVE_DETECT, - MOVE_WIDE_GUARD, - MOVE_FORCE_PALM, - MOVE_REVERSAL, - MOVE_MACH_PUNCH, - MOVE_POWER_UP_PUNCH), +static const u16 sTimburrEggMoveLearnset[] = { + MOVE_DRAIN_PUNCH, + MOVE_ENDURE, + MOVE_COUNTER, + MOVE_COMET_PUNCH, + MOVE_FORESIGHT, + MOVE_SMELLING_SALTS, + MOVE_DETECT, + MOVE_WIDE_GUARD, + MOVE_FORCE_PALM, + MOVE_REVERSAL, + MOVE_MACH_PUNCH, + MOVE_POWER_UP_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TIMBURR #if P_FAMILY_TYMPOLE - egg_moves(TYMPOLE, - MOVE_WATER_PULSE, - MOVE_REFRESH, - MOVE_MUD_SPORT, - MOVE_MUD_BOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_MIST, - MOVE_EARTH_POWER, - MOVE_AFTER_YOU, - MOVE_VENOM_DRENCH), +static const u16 sTympoleEggMoveLearnset[] = { + MOVE_WATER_PULSE, + MOVE_REFRESH, + MOVE_MUD_SPORT, + MOVE_MUD_BOMB, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_MIST, + MOVE_EARTH_POWER, + MOVE_AFTER_YOU, + MOVE_VENOM_DRENCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TYMPOLE #if P_FAMILY_SEWADDLE - egg_moves(SEWADDLE, - MOVE_SILVER_WIND, - MOVE_SCREECH, - MOVE_RAZOR_WIND, - MOVE_MIND_READER, - MOVE_AGILITY, - MOVE_ME_FIRST, - MOVE_BATON_PASS, - MOVE_CAMOUFLAGE, - MOVE_AIR_SLASH, - MOVE_GRASSY_TERRAIN), +static const u16 sSewaddleEggMoveLearnset[] = { + MOVE_SILVER_WIND, + MOVE_SCREECH, + MOVE_RAZOR_WIND, + MOVE_MIND_READER, + MOVE_AGILITY, + MOVE_ME_FIRST, + MOVE_BATON_PASS, + MOVE_CAMOUFLAGE, + MOVE_AIR_SLASH, + MOVE_GRASSY_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SEWADDLE #if P_FAMILY_VENIPEDE - egg_moves(VENIPEDE, - MOVE_TWINEEDLE, - MOVE_PIN_MISSILE, - MOVE_TOXIC_SPIKES, - MOVE_SPIKES, - MOVE_TAKE_DOWN, - MOVE_ROCK_CLIMB), +static const u16 sVenipedeEggMoveLearnset[] = { + MOVE_TWINEEDLE, + MOVE_PIN_MISSILE, + MOVE_TOXIC_SPIKES, + MOVE_SPIKES, + MOVE_TAKE_DOWN, + MOVE_ROCK_CLIMB, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_VENIPEDE #if P_FAMILY_COTTONEE - egg_moves(COTTONEE, - MOVE_NATURAL_GIFT, - MOVE_ENCORE, - MOVE_TICKLE, - MOVE_FAKE_TEARS, - MOVE_GRASS_WHISTLE, - MOVE_MEMENTO, - MOVE_BEAT_UP, - MOVE_SWITCHEROO, - MOVE_WORRY_SEED, - MOVE_CAPTIVATE, - MOVE_MISTY_TERRAIN), +static const u16 sCottoneeEggMoveLearnset[] = { + MOVE_NATURAL_GIFT, + MOVE_ENCORE, + MOVE_TICKLE, + MOVE_FAKE_TEARS, + MOVE_GRASS_WHISTLE, + MOVE_MEMENTO, + MOVE_BEAT_UP, + MOVE_SWITCHEROO, + MOVE_WORRY_SEED, + MOVE_CAPTIVATE, + MOVE_MISTY_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_COTTONEE #if P_FAMILY_PETILIL - egg_moves(PETILIL, - MOVE_NATURAL_GIFT, - MOVE_CHARM, - MOVE_ENDURE, - MOVE_INGRAIN, - MOVE_WORRY_SEED, - MOVE_GRASS_WHISTLE, - MOVE_SWEET_SCENT, - MOVE_BIDE, - MOVE_HEALING_WISH, - MOVE_ENCORE), +static const u16 sPetililEggMoveLearnset[] = { + MOVE_NATURAL_GIFT, + MOVE_CHARM, + MOVE_ENDURE, + MOVE_INGRAIN, + MOVE_WORRY_SEED, + MOVE_GRASS_WHISTLE, + MOVE_SWEET_SCENT, + MOVE_BIDE, + MOVE_HEALING_WISH, + MOVE_ENCORE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PETILIL #if P_FAMILY_BASCULIN - egg_moves(BASCULIN, - MOVE_SWIFT, - MOVE_BUBBLE_BEAM, - MOVE_MUD_SHOT, - MOVE_MUDDY_WATER, - MOVE_AGILITY, - MOVE_WHIRLPOOL, - MOVE_RAGE, - MOVE_BRINE, - MOVE_REVENGE, - MOVE_HEAD_SMASH), +static const u16 sBasculinEggMoveLearnset[] = { + MOVE_SWIFT, + MOVE_BUBBLE_BEAM, + MOVE_MUD_SHOT, + MOVE_MUDDY_WATER, + MOVE_AGILITY, + MOVE_WHIRLPOOL, + MOVE_RAGE, + MOVE_BRINE, + MOVE_REVENGE, + MOVE_HEAD_SMASH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BASCULIN #if P_FAMILY_SANDILE - egg_moves(SANDILE, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_CLIMB, - MOVE_PURSUIT, - MOVE_UPROAR, - MOVE_FIRE_FANG, - MOVE_THUNDER_FANG, - MOVE_BEAT_UP, - MOVE_FOCUS_ENERGY, - MOVE_COUNTER, - MOVE_MEAN_LOOK, - MOVE_ME_FIRST, - MOVE_POWER_TRIP), +static const u16 sSandileEggMoveLearnset[] = { + MOVE_DOUBLE_EDGE, + MOVE_ROCK_CLIMB, + MOVE_PURSUIT, + MOVE_UPROAR, + MOVE_FIRE_FANG, + MOVE_THUNDER_FANG, + MOVE_BEAT_UP, + MOVE_FOCUS_ENERGY, + MOVE_COUNTER, + MOVE_MEAN_LOOK, + MOVE_ME_FIRST, + MOVE_POWER_TRIP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SANDILE #if P_FAMILY_DARUMAKA - egg_moves(DARUMAKA, - MOVE_SLEEP_TALK, - MOVE_FOCUS_PUNCH, - MOVE_FOCUS_ENERGY, - MOVE_ENDURE, - MOVE_HAMMER_ARM, - MOVE_TAKE_DOWN, - MOVE_FLAME_WHEEL, - MOVE_ENCORE, - MOVE_YAWN, - MOVE_SNATCH, - MOVE_EXTRASENSORY), +static const u16 sDarumakaEggMoveLearnset[] = { + MOVE_SLEEP_TALK, + MOVE_FOCUS_PUNCH, + MOVE_FOCUS_ENERGY, + MOVE_ENDURE, + MOVE_HAMMER_ARM, + MOVE_TAKE_DOWN, + MOVE_FLAME_WHEEL, + MOVE_ENCORE, + MOVE_YAWN, + MOVE_SNATCH, + MOVE_EXTRASENSORY, + MOVE_UNAVAILABLE, +}; #if P_GALARIAN_FORMS - egg_moves(DARUMAKA_GALARIAN, - MOVE_FOCUS_PUNCH, - MOVE_HAMMER_ARM, - MOVE_TAKE_DOWN, - MOVE_FLAME_WHEEL, - MOVE_YAWN, - MOVE_FREEZE_DRY, - MOVE_INCINERATE, - MOVE_POWER_UP_PUNCH), +static const u16 sDarumakaGalarianEggMoveLearnset[] = { + MOVE_FOCUS_PUNCH, + MOVE_HAMMER_ARM, + MOVE_TAKE_DOWN, + MOVE_FLAME_WHEEL, + MOVE_YAWN, + MOVE_FREEZE_DRY, + MOVE_INCINERATE, + MOVE_POWER_UP_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_GALARIAN_FORMS #endif //P_FAMILY_DARUMAKA #if P_FAMILY_MARACTUS - egg_moves(MARACTUS, - MOVE_BULLET_SEED, - MOVE_BOUNCE, - MOVE_WORRY_SEED, - MOVE_LEECH_SEED, - MOVE_SEED_BOMB, - MOVE_WOOD_HAMMER, - MOVE_SPIKES, - MOVE_GRASS_WHISTLE, - MOVE_GRASSY_TERRAIN), +static const u16 sMaractusEggMoveLearnset[] = { + MOVE_BULLET_SEED, + MOVE_BOUNCE, + MOVE_WORRY_SEED, + MOVE_LEECH_SEED, + MOVE_SEED_BOMB, + MOVE_WOOD_HAMMER, + MOVE_SPIKES, + MOVE_GRASS_WHISTLE, + MOVE_GRASSY_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MARACTUS #if P_FAMILY_DWEBBLE - egg_moves(DWEBBLE, - MOVE_ENDURE, - MOVE_IRON_DEFENSE, - MOVE_NIGHT_SLASH, - MOVE_SAND_TOMB, - MOVE_COUNTER, - MOVE_CURSE, - MOVE_SPIKES, - MOVE_BLOCK, - MOVE_WIDE_GUARD, - MOVE_ROTOTILLER), +static const u16 sDwebbleEggMoveLearnset[] = { + MOVE_ENDURE, + MOVE_IRON_DEFENSE, + MOVE_NIGHT_SLASH, + MOVE_SAND_TOMB, + MOVE_COUNTER, + MOVE_CURSE, + MOVE_SPIKES, + MOVE_BLOCK, + MOVE_WIDE_GUARD, + MOVE_ROTOTILLER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DWEBBLE #if P_FAMILY_SCRAGGY - egg_moves(SCRAGGY, - MOVE_DRAIN_PUNCH, - MOVE_COUNTER, - MOVE_DRAGON_DANCE, - MOVE_DETECT, - MOVE_FAKE_OUT, - MOVE_FIRE_PUNCH, - MOVE_ICE_PUNCH, - MOVE_THUNDER_PUNCH, - MOVE_AMNESIA, - MOVE_FEINT_ATTACK, - MOVE_ZEN_HEADBUTT, - MOVE_QUICK_GUARD, - MOVE_POWER_UP_PUNCH, - MOVE_ACID_SPRAY), +static const u16 sScraggyEggMoveLearnset[] = { + MOVE_DRAIN_PUNCH, + MOVE_COUNTER, + MOVE_DRAGON_DANCE, + MOVE_DETECT, + MOVE_FAKE_OUT, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_AMNESIA, + MOVE_FEINT_ATTACK, + MOVE_ZEN_HEADBUTT, + MOVE_QUICK_GUARD, + MOVE_POWER_UP_PUNCH, + MOVE_ACID_SPRAY, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SCRAGGY #if P_FAMILY_SIGILYPH - egg_moves(SIGILYPH, - MOVE_STORED_POWER, - MOVE_PSYCHO_SHIFT, - MOVE_ANCIENT_POWER, - MOVE_STEEL_WING, - MOVE_ROOST, - MOVE_SKILL_SWAP, - MOVE_FUTURE_SIGHT), +static const u16 sSigilyphEggMoveLearnset[] = { + MOVE_STORED_POWER, + MOVE_PSYCHO_SHIFT, + MOVE_ANCIENT_POWER, + MOVE_STEEL_WING, + MOVE_ROOST, + MOVE_SKILL_SWAP, + MOVE_FUTURE_SIGHT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SIGILYPH #if P_FAMILY_YAMASK - egg_moves(YAMASK, - MOVE_MEMENTO, - MOVE_FAKE_TEARS, - MOVE_NASTY_PLOT, - MOVE_ENDURE, - MOVE_HEAL_BLOCK, - MOVE_IMPRISON, - MOVE_NIGHTMARE, - MOVE_DISABLE, - MOVE_ALLY_SWITCH, - MOVE_TOXIC_SPIKES, - MOVE_CRAFTY_SHIELD), +static const u16 sYamaskEggMoveLearnset[] = { + MOVE_MEMENTO, + MOVE_FAKE_TEARS, + MOVE_NASTY_PLOT, + MOVE_ENDURE, + MOVE_HEAL_BLOCK, + MOVE_IMPRISON, + MOVE_NIGHTMARE, + MOVE_DISABLE, + MOVE_ALLY_SWITCH, + MOVE_TOXIC_SPIKES, + MOVE_CRAFTY_SHIELD, + MOVE_UNAVAILABLE, +}; #if P_GALARIAN_FORMS - egg_moves(YAMASK_GALARIAN, - MOVE_MEMENTO), +static const u16 sYamaskGalarianEggMoveLearnset[] = { + MOVE_MEMENTO, + MOVE_UNAVAILABLE, +}; #endif //P_GALARIAN_FORMS #endif //P_FAMILY_YAMASK #if P_FAMILY_TIRTOUGA - egg_moves(TIRTOUGA, - MOVE_WATER_PULSE, - MOVE_KNOCK_OFF, - MOVE_ROCK_THROW, - MOVE_SLAM, - MOVE_IRON_DEFENSE, - MOVE_FLAIL, - MOVE_WHIRLPOOL, - MOVE_BODY_SLAM, - MOVE_BIDE, - MOVE_GUARD_SWAP, - MOVE_LIQUIDATION), +static const u16 sTirtougaEggMoveLearnset[] = { + MOVE_WATER_PULSE, + MOVE_KNOCK_OFF, + MOVE_ROCK_THROW, + MOVE_SLAM, + MOVE_IRON_DEFENSE, + MOVE_FLAIL, + MOVE_WHIRLPOOL, + MOVE_BODY_SLAM, + MOVE_BIDE, + MOVE_GUARD_SWAP, + MOVE_LIQUIDATION, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TIRTOUGA #if P_FAMILY_ARCHEN - egg_moves(ARCHEN, - MOVE_STEEL_WING, - MOVE_DEFOG, - MOVE_DRAGON_PULSE, - MOVE_HEAD_SMASH, - MOVE_KNOCK_OFF, - MOVE_EARTH_POWER, - MOVE_BITE, - MOVE_ALLY_SWITCH, - MOVE_SWITCHEROO), +static const u16 sArchenEggMoveLearnset[] = { + MOVE_STEEL_WING, + MOVE_DEFOG, + MOVE_DRAGON_PULSE, + MOVE_HEAD_SMASH, + MOVE_KNOCK_OFF, + MOVE_EARTH_POWER, + MOVE_BITE, + MOVE_ALLY_SWITCH, + MOVE_SWITCHEROO, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ARCHEN #if P_FAMILY_TRUBBISH - egg_moves(TRUBBISH, - MOVE_SPIKES, - MOVE_ROLLOUT, - MOVE_HAZE, - MOVE_CURSE, - MOVE_ROCK_BLAST, - MOVE_SAND_ATTACK, - MOVE_MUD_SPORT, - MOVE_SELF_DESTRUCT, - MOVE_AUTOTOMIZE), +static const u16 sTrubbishEggMoveLearnset[] = { + MOVE_SPIKES, + MOVE_ROLLOUT, + MOVE_HAZE, + MOVE_CURSE, + MOVE_ROCK_BLAST, + MOVE_SAND_ATTACK, + MOVE_MUD_SPORT, + MOVE_SELF_DESTRUCT, + MOVE_AUTOTOMIZE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TRUBBISH #if P_FAMILY_ZORUA - egg_moves(ZORUA, - MOVE_DETECT, - MOVE_CAPTIVATE, - MOVE_DARK_PULSE, - MOVE_SNATCH, - MOVE_MEMENTO, - MOVE_SUCKER_PUNCH, - MOVE_EXTRASENSORY, - MOVE_COUNTER, - MOVE_COPYCAT), +static const u16 sZoruaEggMoveLearnset[] = { + MOVE_DETECT, + MOVE_CAPTIVATE, + MOVE_DARK_PULSE, + MOVE_SNATCH, + MOVE_MEMENTO, + MOVE_SUCKER_PUNCH, + MOVE_EXTRASENSORY, + MOVE_COUNTER, + MOVE_COPYCAT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ZORUA #if P_FAMILY_MINCCINO - egg_moves(MINCCINO, - MOVE_IRON_TAIL, - MOVE_TAIL_WHIP, - MOVE_AQUA_TAIL, - MOVE_MUD_SLAP, - MOVE_KNOCK_OFF, - MOVE_FAKE_TEARS, - MOVE_SLEEP_TALK, - MOVE_ENDURE, - MOVE_FLAIL), +static const u16 sMinccinoEggMoveLearnset[] = { + MOVE_IRON_TAIL, + MOVE_TAIL_WHIP, + MOVE_AQUA_TAIL, + MOVE_MUD_SLAP, + MOVE_KNOCK_OFF, + MOVE_FAKE_TEARS, + MOVE_SLEEP_TALK, + MOVE_ENDURE, + MOVE_FLAIL, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MINCCINO #if P_FAMILY_GOTHITA - egg_moves(GOTHITA, - MOVE_MIRROR_COAT, - MOVE_UPROAR, - MOVE_MIRACLE_EYE, - MOVE_CAPTIVATE, - MOVE_MEAN_LOOK, - MOVE_DARK_PULSE, - MOVE_HEAL_PULSE), +static const u16 sGothitaEggMoveLearnset[] = { + MOVE_MIRROR_COAT, + MOVE_UPROAR, + MOVE_MIRACLE_EYE, + MOVE_CAPTIVATE, + MOVE_MEAN_LOOK, + MOVE_DARK_PULSE, + MOVE_HEAL_PULSE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_GOTHITA #if P_FAMILY_SOLOSIS - egg_moves(SOLOSIS, - MOVE_NIGHT_SHADE, - MOVE_ASTONISH, - MOVE_CONFUSE_RAY, - MOVE_ACID_ARMOR, - MOVE_TRICK, - MOVE_IMPRISON, - MOVE_SECRET_POWER, - MOVE_ASTONISH, - MOVE_HELPING_HAND), +static const u16 sSolosisEggMoveLearnset[] = { + MOVE_NIGHT_SHADE, + MOVE_ASTONISH, + MOVE_CONFUSE_RAY, + MOVE_ACID_ARMOR, + MOVE_TRICK, + MOVE_IMPRISON, + MOVE_SECRET_POWER, + MOVE_ASTONISH, + MOVE_HELPING_HAND, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SOLOSIS #if P_FAMILY_DUCKLETT - egg_moves(DUCKLETT, - MOVE_STEEL_WING, - MOVE_BRINE, - MOVE_GUST, - MOVE_AIR_CUTTER, - MOVE_MIRROR_MOVE, - MOVE_ME_FIRST, - MOVE_LUCKY_CHANT, - MOVE_MUD_SPORT, - MOVE_AQUA_JET), +static const u16 sDucklettEggMoveLearnset[] = { + MOVE_STEEL_WING, + MOVE_BRINE, + MOVE_GUST, + MOVE_AIR_CUTTER, + MOVE_MIRROR_MOVE, + MOVE_ME_FIRST, + MOVE_LUCKY_CHANT, + MOVE_MUD_SPORT, + MOVE_AQUA_JET, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DUCKLETT #if P_FAMILY_VANILLITE - egg_moves(VANILLITE, - MOVE_WATER_PULSE, - MOVE_NATURAL_GIFT, - MOVE_IMPRISON, - MOVE_AUTOTOMIZE, - MOVE_IRON_DEFENSE, - MOVE_MAGNET_RISE, - MOVE_ICE_SHARD, - MOVE_POWDER_SNOW), +static const u16 sVanilliteEggMoveLearnset[] = { + MOVE_WATER_PULSE, + MOVE_NATURAL_GIFT, + MOVE_IMPRISON, + MOVE_AUTOTOMIZE, + MOVE_IRON_DEFENSE, + MOVE_MAGNET_RISE, + MOVE_ICE_SHARD, + MOVE_POWDER_SNOW, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_VANILLITE #if P_FAMILY_DEERLING - egg_moves(DEERLING, - MOVE_FAKE_TEARS, - MOVE_NATURAL_GIFT, - MOVE_SYNTHESIS, - MOVE_WORRY_SEED, - MOVE_ODOR_SLEUTH, - MOVE_AGILITY, - MOVE_SLEEP_TALK, - MOVE_BATON_PASS, - MOVE_GRASS_WHISTLE, - MOVE_HEADBUTT), +static const u16 sDeerlingEggMoveLearnset[] = { + MOVE_FAKE_TEARS, + MOVE_NATURAL_GIFT, + MOVE_SYNTHESIS, + MOVE_WORRY_SEED, + MOVE_ODOR_SLEUTH, + MOVE_AGILITY, + MOVE_SLEEP_TALK, + MOVE_BATON_PASS, + MOVE_GRASS_WHISTLE, + MOVE_HEADBUTT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DEERLING #if P_FAMILY_EMOLGA - egg_moves(EMOLGA, - MOVE_ROOST, - MOVE_IRON_TAIL, - MOVE_ASTONISH, - MOVE_AIR_SLASH, - MOVE_SHOCK_WAVE, - MOVE_CHARM, - MOVE_COVET, - MOVE_TICKLE, - MOVE_BATON_PASS, - MOVE_ION_DELUGE, - MOVE_SPEED_SWAP), +static const u16 sEmolgaEggMoveLearnset[] = { + MOVE_ROOST, + MOVE_IRON_TAIL, + MOVE_ASTONISH, + MOVE_AIR_SLASH, + MOVE_SHOCK_WAVE, + MOVE_CHARM, + MOVE_COVET, + MOVE_TICKLE, + MOVE_BATON_PASS, + MOVE_ION_DELUGE, + MOVE_SPEED_SWAP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_EMOLGA #if P_FAMILY_KARRABLAST - egg_moves(KARRABLAST, - MOVE_MEGAHORN, - MOVE_PURSUIT, - MOVE_COUNTER, - MOVE_HORN_ATTACK, - MOVE_FEINT_ATTACK, - MOVE_BUG_BITE, - MOVE_SCREECH, - MOVE_KNOCK_OFF, - MOVE_DRILL_RUN), +static const u16 sKarrablastEggMoveLearnset[] = { + MOVE_MEGAHORN, + MOVE_PURSUIT, + MOVE_COUNTER, + MOVE_HORN_ATTACK, + MOVE_FEINT_ATTACK, + MOVE_BUG_BITE, + MOVE_SCREECH, + MOVE_KNOCK_OFF, + MOVE_DRILL_RUN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_KARRABLAST #if P_FAMILY_FOONGUS - egg_moves(FOONGUS, - MOVE_GASTRO_ACID, - MOVE_GROWTH, - MOVE_POISON_POWDER, - MOVE_STUN_SPORE, - MOVE_ROLLOUT, - MOVE_DEFENSE_CURL, - MOVE_ENDURE, - MOVE_BODY_SLAM), +static const u16 sFoongusEggMoveLearnset[] = { + MOVE_GASTRO_ACID, + MOVE_GROWTH, + MOVE_POISON_POWDER, + MOVE_STUN_SPORE, + MOVE_ROLLOUT, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_BODY_SLAM, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_FOONGUS #if P_FAMILY_FRILLISH - egg_moves(FRILLISH, - MOVE_ACID_ARMOR, - MOVE_CONFUSE_RAY, - MOVE_PAIN_SPLIT, - MOVE_MIST, - MOVE_RECOVER, - MOVE_CONSTRICT), +static const u16 sFrillishEggMoveLearnset[] = { + MOVE_ACID_ARMOR, + MOVE_CONFUSE_RAY, + MOVE_PAIN_SPLIT, + MOVE_MIST, + MOVE_RECOVER, + MOVE_CONSTRICT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_FRILLISH #if P_FAMILY_ALOMOMOLA - egg_moves(ALOMOMOLA, - MOVE_PAIN_SPLIT, - MOVE_REFRESH, - MOVE_TICKLE, - MOVE_MIRROR_COAT, - MOVE_MIST, - MOVE_ENDURE), +static const u16 sAlomomolaEggMoveLearnset[] = { + MOVE_PAIN_SPLIT, + MOVE_REFRESH, + MOVE_TICKLE, + MOVE_MIRROR_COAT, + MOVE_MIST, + MOVE_ENDURE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ALOMOMOLA #if P_FAMILY_JOLTIK - egg_moves(JOLTIK, - MOVE_PIN_MISSILE, - MOVE_POISON_STING, - MOVE_CROSS_POISON, - MOVE_ROCK_CLIMB, - MOVE_PURSUIT, - MOVE_DISABLE, - MOVE_FEINT_ATTACK, - MOVE_CAMOUFLAGE, - MOVE_LUNGE), +static const u16 sJoltikEggMoveLearnset[] = { + MOVE_PIN_MISSILE, + MOVE_POISON_STING, + MOVE_CROSS_POISON, + MOVE_ROCK_CLIMB, + MOVE_PURSUIT, + MOVE_DISABLE, + MOVE_FEINT_ATTACK, + MOVE_CAMOUFLAGE, + MOVE_LUNGE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_JOLTIK #if P_FAMILY_FERROSEED - egg_moves(FERROSEED, - MOVE_BULLET_SEED, - MOVE_LEECH_SEED, - MOVE_SPIKES, - MOVE_WORRY_SEED, - MOVE_SEED_BOMB, - MOVE_GRAVITY, - MOVE_ROCK_CLIMB, - MOVE_STEALTH_ROCK, - MOVE_ACID_SPRAY), +static const u16 sFerroseedEggMoveLearnset[] = { + MOVE_BULLET_SEED, + MOVE_LEECH_SEED, + MOVE_SPIKES, + MOVE_WORRY_SEED, + MOVE_SEED_BOMB, + MOVE_GRAVITY, + MOVE_ROCK_CLIMB, + MOVE_STEALTH_ROCK, + MOVE_ACID_SPRAY, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_FERROSEED #if P_FAMILY_ELGYEM - egg_moves(ELGYEM, - MOVE_TELEPORT, - MOVE_DISABLE, - MOVE_ASTONISH, - MOVE_POWER_SWAP, - MOVE_GUARD_SWAP, - MOVE_BARRIER, - MOVE_NASTY_PLOT, - MOVE_SKILL_SWAP, - MOVE_COSMIC_POWER, - MOVE_ALLY_SWITCH), +static const u16 sElgyemEggMoveLearnset[] = { + MOVE_TELEPORT, + MOVE_DISABLE, + MOVE_ASTONISH, + MOVE_POWER_SWAP, + MOVE_GUARD_SWAP, + MOVE_BARRIER, + MOVE_NASTY_PLOT, + MOVE_SKILL_SWAP, + MOVE_COSMIC_POWER, + MOVE_ALLY_SWITCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ELGYEM #if P_FAMILY_LITWICK - egg_moves(LITWICK, - MOVE_ACID_ARMOR, - MOVE_HEAT_WAVE, - MOVE_HAZE, - MOVE_ENDURE, - MOVE_CAPTIVATE, - MOVE_ACID, - MOVE_CLEAR_SMOG, - MOVE_POWER_SPLIT), +static const u16 sLitwickEggMoveLearnset[] = { + MOVE_ACID_ARMOR, + MOVE_HEAT_WAVE, + MOVE_HAZE, + MOVE_ENDURE, + MOVE_CAPTIVATE, + MOVE_ACID, + MOVE_CLEAR_SMOG, + MOVE_POWER_SPLIT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_LITWICK #if P_FAMILY_AXEW - egg_moves(AXEW, - MOVE_COUNTER, - MOVE_FOCUS_ENERGY, - MOVE_REVERSAL, - MOVE_ENDURE, - MOVE_RAZOR_WIND, - MOVE_NIGHT_SLASH, - MOVE_ENDEAVOR, - MOVE_IRON_TAIL, - MOVE_DRAGON_PULSE, - MOVE_HARDEN), +static const u16 sAxewEggMoveLearnset[] = { + MOVE_COUNTER, + MOVE_FOCUS_ENERGY, + MOVE_REVERSAL, + MOVE_ENDURE, + MOVE_RAZOR_WIND, + MOVE_NIGHT_SLASH, + MOVE_ENDEAVOR, + MOVE_IRON_TAIL, + MOVE_DRAGON_PULSE, + MOVE_HARDEN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_AXEW #if P_FAMILY_CUBCHOO - egg_moves(CUBCHOO, - MOVE_YAWN, - MOVE_AVALANCHE, - MOVE_ENCORE, - MOVE_ICE_PUNCH, - MOVE_NIGHT_SLASH, - MOVE_ASSURANCE, - MOVE_SLEEP_TALK, - MOVE_FOCUS_PUNCH, - MOVE_PLAY_ROUGH), +static const u16 sCubchooEggMoveLearnset[] = { + MOVE_YAWN, + MOVE_AVALANCHE, + MOVE_ENCORE, + MOVE_ICE_PUNCH, + MOVE_NIGHT_SLASH, + MOVE_ASSURANCE, + MOVE_SLEEP_TALK, + MOVE_FOCUS_PUNCH, + MOVE_PLAY_ROUGH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CUBCHOO #if P_FAMILY_SHELMET - egg_moves(SHELMET, - MOVE_ENDURE, - MOVE_BATON_PASS, - MOVE_DOUBLE_EDGE, - MOVE_ENCORE, - MOVE_GUARD_SPLIT, - MOVE_MIND_READER, - MOVE_MUD_SLAP, - MOVE_SPIKES, - MOVE_FEINT, - MOVE_PURSUIT, - MOVE_TOXIC_SPIKES), +static const u16 sShelmetEggMoveLearnset[] = { + MOVE_ENDURE, + MOVE_BATON_PASS, + MOVE_DOUBLE_EDGE, + MOVE_ENCORE, + MOVE_GUARD_SPLIT, + MOVE_MIND_READER, + MOVE_MUD_SLAP, + MOVE_SPIKES, + MOVE_FEINT, + MOVE_PURSUIT, + MOVE_TOXIC_SPIKES, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SHELMET #if P_FAMILY_STUNFISK - egg_moves(STUNFISK, - MOVE_SHOCK_WAVE, - MOVE_EARTH_POWER, - MOVE_YAWN, - MOVE_SLEEP_TALK, - MOVE_ASTONISH, - MOVE_CURSE, - MOVE_SPITE, - MOVE_SPARK, - MOVE_PAIN_SPLIT, - MOVE_EERIE_IMPULSE, - MOVE_REFLECT_TYPE, - MOVE_ME_FIRST), +static const u16 sStunfiskEggMoveLearnset[] = { + MOVE_SHOCK_WAVE, + MOVE_EARTH_POWER, + MOVE_YAWN, + MOVE_SLEEP_TALK, + MOVE_ASTONISH, + MOVE_CURSE, + MOVE_SPITE, + MOVE_SPARK, + MOVE_PAIN_SPLIT, + MOVE_EERIE_IMPULSE, + MOVE_REFLECT_TYPE, + MOVE_ME_FIRST, + MOVE_UNAVAILABLE, +}; #if P_GALARIAN_FORMS - egg_moves(STUNFISK_GALARIAN, - MOVE_BIND, - MOVE_YAWN, - MOVE_ASTONISH, - MOVE_CURSE, - MOVE_SPITE, - MOVE_COUNTER, - MOVE_PAIN_SPLIT, - MOVE_REFLECT_TYPE), +static const u16 sStunfiskGalarianEggMoveLearnset[] = { + MOVE_BIND, + MOVE_YAWN, + MOVE_ASTONISH, + MOVE_CURSE, + MOVE_SPITE, + MOVE_COUNTER, + MOVE_PAIN_SPLIT, + MOVE_REFLECT_TYPE, + MOVE_UNAVAILABLE, +}; #endif //P_GALARIAN_FORMS #endif //P_FAMILY_STUNFISK #if P_FAMILY_MIENFOO - egg_moves(MIENFOO, - MOVE_ENDURE, - MOVE_VITAL_THROW, - MOVE_BATON_PASS, - MOVE_SMELLING_SALTS, - MOVE_LOW_KICK, - MOVE_FEINT, - MOVE_ME_FIRST, - MOVE_KNOCK_OFF, - MOVE_ALLY_SWITCH), +static const u16 sMienfooEggMoveLearnset[] = { + MOVE_ENDURE, + MOVE_VITAL_THROW, + MOVE_BATON_PASS, + MOVE_SMELLING_SALTS, + MOVE_LOW_KICK, + MOVE_FEINT, + MOVE_ME_FIRST, + MOVE_KNOCK_OFF, + MOVE_ALLY_SWITCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MIENFOO #if P_FAMILY_DRUDDIGON - egg_moves(DRUDDIGON, - MOVE_FIRE_FANG, - MOVE_THUNDER_FANG, - MOVE_CRUSH_CLAW, - MOVE_FEINT_ATTACK, - MOVE_PURSUIT, - MOVE_IRON_TAIL, - MOVE_POISON_TAIL, - MOVE_SNATCH, - MOVE_METAL_CLAW, - MOVE_GLARE, - MOVE_SUCKER_PUNCH), +static const u16 sDruddigonEggMoveLearnset[] = { + MOVE_FIRE_FANG, + MOVE_THUNDER_FANG, + MOVE_CRUSH_CLAW, + MOVE_FEINT_ATTACK, + MOVE_PURSUIT, + MOVE_IRON_TAIL, + MOVE_POISON_TAIL, + MOVE_SNATCH, + MOVE_METAL_CLAW, + MOVE_GLARE, + MOVE_SUCKER_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DRUDDIGON #if P_FAMILY_PAWNIARD - egg_moves(PAWNIARD, - MOVE_REVENGE, - MOVE_SUCKER_PUNCH, - MOVE_PURSUIT, - MOVE_HEADBUTT, - MOVE_STEALTH_ROCK, - MOVE_PSYCHO_CUT, - MOVE_MEAN_LOOK, - MOVE_QUICK_GUARD), +static const u16 sPawniardEggMoveLearnset[] = { + MOVE_REVENGE, + MOVE_SUCKER_PUNCH, + MOVE_PURSUIT, + MOVE_HEADBUTT, + MOVE_STEALTH_ROCK, + MOVE_PSYCHO_CUT, + MOVE_MEAN_LOOK, + MOVE_QUICK_GUARD, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PAWNIARD #if P_FAMILY_BOUFFALANT - egg_moves(BOUFFALANT, - MOVE_STOMP, - MOVE_ROCK_CLIMB, - MOVE_HEADBUTT, - MOVE_SKULL_BASH, - MOVE_MUD_SHOT, - MOVE_MUD_SLAP, - MOVE_IRON_HEAD, - MOVE_AMNESIA, - MOVE_BELCH, - MOVE_COTTON_GUARD), +static const u16 sBouffalantEggMoveLearnset[] = { + MOVE_STOMP, + MOVE_ROCK_CLIMB, + MOVE_HEADBUTT, + MOVE_SKULL_BASH, + MOVE_MUD_SHOT, + MOVE_MUD_SLAP, + MOVE_IRON_HEAD, + MOVE_AMNESIA, + MOVE_BELCH, + MOVE_COTTON_GUARD, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BOUFFALANT #if P_FAMILY_VULLABY - egg_moves(VULLABY, - MOVE_STEEL_WING, - MOVE_MEAN_LOOK, - MOVE_ROOST, - MOVE_SCARY_FACE, - MOVE_KNOCK_OFF, - MOVE_FAKE_TEARS, - MOVE_FOUL_PLAY), +static const u16 sVullabyEggMoveLearnset[] = { + MOVE_STEEL_WING, + MOVE_MEAN_LOOK, + MOVE_ROOST, + MOVE_SCARY_FACE, + MOVE_KNOCK_OFF, + MOVE_FAKE_TEARS, + MOVE_FOUL_PLAY, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_VULLABY #if P_FAMILY_HEATMOR - egg_moves(HEATMOR, - MOVE_PURSUIT, - MOVE_WRAP, - MOVE_NIGHT_SLASH, - MOVE_CURSE, - MOVE_BODY_SLAM, - MOVE_HEAT_WAVE, - MOVE_FEINT_ATTACK, - MOVE_SUCKER_PUNCH, - MOVE_TICKLE, - MOVE_SLEEP_TALK, - MOVE_BELCH), +static const u16 sHeatmorEggMoveLearnset[] = { + MOVE_PURSUIT, + MOVE_WRAP, + MOVE_NIGHT_SLASH, + MOVE_CURSE, + MOVE_BODY_SLAM, + MOVE_HEAT_WAVE, + MOVE_FEINT_ATTACK, + MOVE_SUCKER_PUNCH, + MOVE_TICKLE, + MOVE_SLEEP_TALK, + MOVE_BELCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_HEATMOR #if P_FAMILY_DURANT - egg_moves(DURANT, - MOVE_SCREECH, - MOVE_ENDURE, - MOVE_ROCK_CLIMB, - MOVE_BATON_PASS, - MOVE_THUNDER_FANG, - MOVE_FEINT_ATTACK), +static const u16 sDurantEggMoveLearnset[] = { + MOVE_SCREECH, + MOVE_ENDURE, + MOVE_ROCK_CLIMB, + MOVE_BATON_PASS, + MOVE_THUNDER_FANG, + MOVE_FEINT_ATTACK, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DURANT #if P_FAMILY_DEINO - egg_moves(DEINO, - MOVE_FIRE_FANG, - MOVE_THUNDER_FANG, - MOVE_ICE_FANG, - MOVE_DOUBLE_HIT, - MOVE_ASTONISH, - MOVE_EARTH_POWER, - MOVE_SCREECH, - MOVE_HEAD_SMASH, - MOVE_ASSURANCE, - MOVE_DARK_PULSE, - MOVE_BELCH), +static const u16 sDeinoEggMoveLearnset[] = { + MOVE_FIRE_FANG, + MOVE_THUNDER_FANG, + MOVE_ICE_FANG, + MOVE_DOUBLE_HIT, + MOVE_ASTONISH, + MOVE_EARTH_POWER, + MOVE_SCREECH, + MOVE_HEAD_SMASH, + MOVE_ASSURANCE, + MOVE_DARK_PULSE, + MOVE_BELCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DEINO #if P_FAMILY_LARVESTA - egg_moves(LARVESTA, - MOVE_STRING_SHOT, - MOVE_HARDEN, - MOVE_FORESIGHT, - MOVE_ENDURE, - MOVE_ZEN_HEADBUTT, - MOVE_MORNING_SUN, - MOVE_MAGNET_RISE), +static const u16 sLarvestaEggMoveLearnset[] = { + MOVE_STRING_SHOT, + MOVE_HARDEN, + MOVE_FORESIGHT, + MOVE_ENDURE, + MOVE_ZEN_HEADBUTT, + MOVE_MORNING_SUN, + MOVE_MAGNET_RISE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_LARVESTA #if P_FAMILY_CHESPIN - egg_moves(CHESPIN, - MOVE_SYNTHESIS, - MOVE_BELLY_DRUM, - MOVE_CURSE, - MOVE_QUICK_GUARD, - MOVE_SPIKES, - MOVE_DEFENSE_CURL, - MOVE_ROLLOUT, - MOVE_POWER_UP_PUNCH), +static const u16 sChespinEggMoveLearnset[] = { + MOVE_SYNTHESIS, + MOVE_BELLY_DRUM, + MOVE_CURSE, + MOVE_QUICK_GUARD, + MOVE_SPIKES, + MOVE_DEFENSE_CURL, + MOVE_ROLLOUT, + MOVE_POWER_UP_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CHESPIN #if P_FAMILY_FENNEKIN - egg_moves(FENNEKIN, - MOVE_WISH, - MOVE_HYPNOSIS, - MOVE_HEAT_WAVE, - MOVE_MAGIC_COAT, - MOVE_PSYCHIC_TERRAIN), +static const u16 sFennekinEggMoveLearnset[] = { + MOVE_WISH, + MOVE_HYPNOSIS, + MOVE_HEAT_WAVE, + MOVE_MAGIC_COAT, + MOVE_PSYCHIC_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_FENNEKIN #if P_FAMILY_FROAKIE - egg_moves(FROAKIE, - MOVE_BESTOW, - MOVE_MIND_READER, - MOVE_TOXIC_SPIKES, - MOVE_MUD_SPORT, - MOVE_CAMOUFLAGE, - MOVE_WATER_SPORT, - MOVE_POWER_UP_PUNCH), +static const u16 sFroakieEggMoveLearnset[] = { + MOVE_BESTOW, + MOVE_MIND_READER, + MOVE_TOXIC_SPIKES, + MOVE_MUD_SPORT, + MOVE_CAMOUFLAGE, + MOVE_WATER_SPORT, + MOVE_POWER_UP_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_FROAKIE #if P_FAMILY_BUNNELBY - egg_moves(BUNNELBY, - MOVE_SPIKES, - MOVE_DEFENSE_CURL, - MOVE_ROLLOUT), +static const u16 sBunnelbyEggMoveLearnset[] = { + MOVE_SPIKES, + MOVE_DEFENSE_CURL, + MOVE_ROLLOUT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BUNNELBY #if P_FAMILY_FLETCHLING - egg_moves(FLETCHLING, - MOVE_TAILWIND, - MOVE_SNATCH, - MOVE_QUICK_GUARD), +static const u16 sFletchlingEggMoveLearnset[] = { + MOVE_TAILWIND, + MOVE_SNATCH, + MOVE_QUICK_GUARD, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_FLETCHLING #if P_FAMILY_SCATTERBUG - egg_moves(SCATTERBUG, - MOVE_STUN_SPORE, - MOVE_POISON_POWDER, - MOVE_RAGE_POWDER), +static const u16 sScatterbugEggMoveLearnset[] = { + MOVE_STUN_SPORE, + MOVE_POISON_POWDER, + MOVE_RAGE_POWDER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SCATTERBUG #if P_FAMILY_LITLEO - egg_moves(LITLEO, - MOVE_ENTRAINMENT, - MOVE_YAWN, - MOVE_SNATCH, - MOVE_FIRE_SPIN, - MOVE_FLARE_BLITZ), +static const u16 sLitleoEggMoveLearnset[] = { + MOVE_ENTRAINMENT, + MOVE_YAWN, + MOVE_SNATCH, + MOVE_FIRE_SPIN, + MOVE_FLARE_BLITZ, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_LITLEO #if P_FAMILY_FLABEBE - egg_moves(FLABEBE, - MOVE_COPYCAT, - MOVE_CAPTIVATE, - MOVE_CAMOUFLAGE, - MOVE_TEARFUL_LOOK), +static const u16 sFlabebeEggMoveLearnset[] = { + MOVE_COPYCAT, + MOVE_CAPTIVATE, + MOVE_CAMOUFLAGE, + MOVE_TEARFUL_LOOK, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_FLABEBE #if P_FAMILY_SKIDDO - egg_moves(SKIDDO, - MOVE_DEFENSE_CURL, - MOVE_ROLLOUT, - MOVE_MILK_DRINK, - MOVE_GRASSY_TERRAIN), +static const u16 sSkiddoEggMoveLearnset[] = { + MOVE_DEFENSE_CURL, + MOVE_ROLLOUT, + MOVE_MILK_DRINK, + MOVE_GRASSY_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SKIDDO #if P_FAMILY_PANCHAM - egg_moves(PANCHAM, - MOVE_QUASH, - MOVE_ME_FIRST, - MOVE_QUICK_GUARD, - MOVE_FOUL_PLAY, - MOVE_STORM_THROW, - MOVE_POWER_TRIP), +static const u16 sPanchamEggMoveLearnset[] = { + MOVE_QUASH, + MOVE_ME_FIRST, + MOVE_QUICK_GUARD, + MOVE_FOUL_PLAY, + MOVE_STORM_THROW, + MOVE_POWER_TRIP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PANCHAM #if P_FAMILY_FURFROU - egg_moves(FURFROU, - MOVE_ROLE_PLAY, - MOVE_WORK_UP, - MOVE_MIMIC, - MOVE_CAPTIVATE, - MOVE_REFRESH), +static const u16 sFurfrouEggMoveLearnset[] = { + MOVE_ROLE_PLAY, + MOVE_WORK_UP, + MOVE_MIMIC, + MOVE_CAPTIVATE, + MOVE_REFRESH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_FURFROU #if P_FAMILY_ESPURR - egg_moves(ESPURR, - MOVE_TRICK, - MOVE_YAWN, - MOVE_ASSIST, - MOVE_BARRIER), +static const u16 sEspurrEggMoveLearnset[] = { + MOVE_TRICK, + MOVE_YAWN, + MOVE_ASSIST, + MOVE_BARRIER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ESPURR #if P_FAMILY_HONEDGE - egg_moves(HONEDGE, - MOVE_METAL_SOUND, - MOVE_SHADOW_SNEAK, - MOVE_DESTINY_BOND, - MOVE_WIDE_GUARD), +static const u16 sHonedgeEggMoveLearnset[] = { + MOVE_METAL_SOUND, + MOVE_SHADOW_SNEAK, + MOVE_DESTINY_BOND, + MOVE_WIDE_GUARD, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_HONEDGE #if P_FAMILY_SPRITZEE - egg_moves(SPRITZEE, - MOVE_DISABLE, - MOVE_WISH, - MOVE_CAPTIVATE, - MOVE_REFRESH, - MOVE_NASTY_PLOT), +static const u16 sSpritzeeEggMoveLearnset[] = { + MOVE_DISABLE, + MOVE_WISH, + MOVE_CAPTIVATE, + MOVE_REFRESH, + MOVE_NASTY_PLOT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SPRITZEE #if P_FAMILY_SWIRLIX - egg_moves(SWIRLIX, - MOVE_AFTER_YOU, - MOVE_YAWN, - MOVE_BELLY_DRUM, - MOVE_COPYCAT, - MOVE_STICKY_WEB), +static const u16 sSwirlixEggMoveLearnset[] = { + MOVE_AFTER_YOU, + MOVE_YAWN, + MOVE_BELLY_DRUM, + MOVE_COPYCAT, + MOVE_STICKY_WEB, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SWIRLIX #if P_FAMILY_INKAY - egg_moves(INKAY, - MOVE_SIMPLE_BEAM, - MOVE_POWER_SPLIT, - MOVE_CAMOUFLAGE, - MOVE_FLATTER, - MOVE_DESTINY_BOND, - MOVE_GUARD_SWAP), +static const u16 sInkayEggMoveLearnset[] = { + MOVE_SIMPLE_BEAM, + MOVE_POWER_SPLIT, + MOVE_CAMOUFLAGE, + MOVE_FLATTER, + MOVE_DESTINY_BOND, + MOVE_GUARD_SWAP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_INKAY #if P_FAMILY_BINACLE - egg_moves(BINACLE, - MOVE_TICKLE, - MOVE_SWITCHEROO, - MOVE_HELPING_HAND, - MOVE_WATER_SPORT), +static const u16 sBinacleEggMoveLearnset[] = { + MOVE_TICKLE, + MOVE_SWITCHEROO, + MOVE_HELPING_HAND, + MOVE_WATER_SPORT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BINACLE #if P_FAMILY_SKRELP - egg_moves(SKRELP, - MOVE_TOXIC_SPIKES, - MOVE_PLAY_ROUGH, - MOVE_HAZE, - MOVE_ACID_ARMOR, - MOVE_VENOM_DRENCH), +static const u16 sSkrelpEggMoveLearnset[] = { + MOVE_TOXIC_SPIKES, + MOVE_PLAY_ROUGH, + MOVE_HAZE, + MOVE_ACID_ARMOR, + MOVE_VENOM_DRENCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SKRELP #if P_FAMILY_CLAUNCHER - egg_moves(CLAUNCHER, - MOVE_AQUA_JET, - MOVE_ENTRAINMENT, - MOVE_ENDURE, - MOVE_CRABHAMMER, - MOVE_HELPING_HAND), +static const u16 sClauncherEggMoveLearnset[] = { + MOVE_AQUA_JET, + MOVE_ENTRAINMENT, + MOVE_ENDURE, + MOVE_CRABHAMMER, + MOVE_HELPING_HAND, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CLAUNCHER #if P_FAMILY_HELIOPTILE - egg_moves(HELIOPTILE, - MOVE_AGILITY, - MOVE_GLARE, - MOVE_CAMOUFLAGE, - MOVE_ELECTRIC_TERRAIN), +static const u16 sHelioptileEggMoveLearnset[] = { + MOVE_AGILITY, + MOVE_GLARE, + MOVE_CAMOUFLAGE, + MOVE_ELECTRIC_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_HELIOPTILE #if P_FAMILY_TYRUNT - egg_moves(TYRUNT, - MOVE_DRAGON_DANCE, - MOVE_THUNDER_FANG, - MOVE_ICE_FANG, - MOVE_POISON_FANG, - MOVE_ROCK_POLISH, - MOVE_FIRE_FANG, - MOVE_CURSE), +static const u16 sTyruntEggMoveLearnset[] = { + MOVE_DRAGON_DANCE, + MOVE_THUNDER_FANG, + MOVE_ICE_FANG, + MOVE_POISON_FANG, + MOVE_ROCK_POLISH, + MOVE_FIRE_FANG, + MOVE_CURSE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TYRUNT #if P_FAMILY_AMAURA - egg_moves(AMAURA, - MOVE_HAZE, - MOVE_BARRIER, - MOVE_MIRROR_COAT, - MOVE_MAGNET_RISE, - MOVE_DISCHARGE), +static const u16 sAmauraEggMoveLearnset[] = { + MOVE_HAZE, + MOVE_BARRIER, + MOVE_MIRROR_COAT, + MOVE_MAGNET_RISE, + MOVE_DISCHARGE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_AMAURA #if P_FAMILY_HAWLUCHA - egg_moves(HAWLUCHA, - MOVE_AGILITY, - MOVE_ME_FIRST, - MOVE_ALLY_SWITCH, - MOVE_ENTRAINMENT, - MOVE_MUD_SPORT, - MOVE_BATON_PASS, - MOVE_QUICK_GUARD, - MOVE_FEINT), +static const u16 sHawluchaEggMoveLearnset[] = { + MOVE_AGILITY, + MOVE_ME_FIRST, + MOVE_ALLY_SWITCH, + MOVE_ENTRAINMENT, + MOVE_MUD_SPORT, + MOVE_BATON_PASS, + MOVE_QUICK_GUARD, + MOVE_FEINT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_HAWLUCHA #if P_FAMILY_DEDENNE - egg_moves(DEDENNE, - MOVE_EERIE_IMPULSE, - MOVE_COVET, - MOVE_HELPING_HAND, - MOVE_NATURAL_GIFT, - MOVE_TEARFUL_LOOK), +static const u16 sDedenneEggMoveLearnset[] = { + MOVE_EERIE_IMPULSE, + MOVE_COVET, + MOVE_HELPING_HAND, + MOVE_NATURAL_GIFT, + MOVE_TEARFUL_LOOK, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DEDENNE #if P_FAMILY_GOOMY - egg_moves(GOOMY, - MOVE_ACID_ARMOR, - MOVE_CURSE, - MOVE_IRON_TAIL, - MOVE_POISON_TAIL, - MOVE_COUNTER, - MOVE_ENDURE), +static const u16 sGoomyEggMoveLearnset[] = { + MOVE_ACID_ARMOR, + MOVE_CURSE, + MOVE_IRON_TAIL, + MOVE_POISON_TAIL, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_GOOMY #if P_FAMILY_KLEFKI - egg_moves(KLEFKI, - MOVE_SWITCHEROO, - MOVE_THIEF, - MOVE_LOCK_ON, - MOVE_IRON_DEFENSE), +static const u16 sKlefkiEggMoveLearnset[] = { + MOVE_SWITCHEROO, + MOVE_THIEF, + MOVE_LOCK_ON, + MOVE_IRON_DEFENSE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_KLEFKI #if P_FAMILY_PHANTUMP - egg_moves(PHANTUMP, - MOVE_GRUDGE, - MOVE_BESTOW, - MOVE_IMPRISON, - MOVE_VENOM_DRENCH, - MOVE_POWER_UP_PUNCH), +static const u16 sPhantumpEggMoveLearnset[] = { + MOVE_GRUDGE, + MOVE_BESTOW, + MOVE_IMPRISON, + MOVE_VENOM_DRENCH, + MOVE_POWER_UP_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PHANTUMP #if P_FAMILY_PUMPKABOO - egg_moves(PUMPKABOO, - MOVE_DISABLE, - MOVE_BESTOW, - MOVE_DESTINY_BOND, - MOVE_CURSE), +static const u16 sPumpkabooEggMoveLearnset[] = { + MOVE_DISABLE, + MOVE_BESTOW, + MOVE_DESTINY_BOND, + MOVE_CURSE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PUMPKABOO #if P_FAMILY_BERGMITE - egg_moves(BERGMITE, - MOVE_RECOVER, - MOVE_MIST, - MOVE_BARRIER, - MOVE_MIRROR_COAT), +static const u16 sBergmiteEggMoveLearnset[] = { + MOVE_RECOVER, + MOVE_MIST, + MOVE_BARRIER, + MOVE_MIRROR_COAT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BERGMITE #if P_FAMILY_NOIBAT - egg_moves(NOIBAT, - MOVE_SWITCHEROO, - MOVE_SNATCH, - MOVE_OUTRAGE, - MOVE_TAILWIND), +static const u16 sNoibatEggMoveLearnset[] = { + MOVE_SWITCHEROO, + MOVE_SNATCH, + MOVE_OUTRAGE, + MOVE_TAILWIND, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_NOIBAT #if P_FAMILY_ROWLET - egg_moves(ROWLET, - MOVE_CURSE, - MOVE_CONFUSE_RAY, - MOVE_OMINOUS_WIND, - MOVE_HAZE, - MOVE_BATON_PASS, - MOVE_DEFOG), +static const u16 sRowletEggMoveLearnset[] = { + MOVE_CURSE, + MOVE_CONFUSE_RAY, + MOVE_OMINOUS_WIND, + MOVE_HAZE, + MOVE_BATON_PASS, + MOVE_DEFOG, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ROWLET #if P_FAMILY_LITTEN - egg_moves(LITTEN, - MOVE_NASTY_PLOT, - MOVE_BODY_SLAM, - MOVE_CRUNCH, - MOVE_FAKE_OUT, - MOVE_REVENGE, - MOVE_HEAT_WAVE, - MOVE_POWER_TRIP), +static const u16 sLittenEggMoveLearnset[] = { + MOVE_NASTY_PLOT, + MOVE_BODY_SLAM, + MOVE_CRUNCH, + MOVE_FAKE_OUT, + MOVE_REVENGE, + MOVE_HEAT_WAVE, + MOVE_POWER_TRIP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_LITTEN #if P_FAMILY_POPPLIO - egg_moves(POPPLIO, - MOVE_CHARM, - MOVE_AMNESIA, - MOVE_AQUA_RING, - MOVE_AROMATIC_MIST, - MOVE_PERISH_SONG, - MOVE_WONDER_ROOM), +static const u16 sPopplioEggMoveLearnset[] = { + MOVE_CHARM, + MOVE_AMNESIA, + MOVE_AQUA_RING, + MOVE_AROMATIC_MIST, + MOVE_PERISH_SONG, + MOVE_WONDER_ROOM, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_POPPLIO #if P_FAMILY_PIKIPEK - egg_moves(PIKIPEK, - MOVE_BRAVE_BIRD, - MOVE_BOOMBURST, - MOVE_MIRROR_MOVE, - MOVE_TAILWIND, - MOVE_UPROAR), +static const u16 sPikipekEggMoveLearnset[] = { + MOVE_BRAVE_BIRD, + MOVE_BOOMBURST, + MOVE_MIRROR_MOVE, + MOVE_TAILWIND, + MOVE_UPROAR, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PIKIPEK #if P_FAMILY_YUNGOOS - egg_moves(YUNGOOS, - MOVE_REVENGE, - MOVE_LAST_RESORT, - MOVE_FIRE_FANG, - MOVE_ICE_FANG, - MOVE_THUNDER_FANG), +static const u16 sYungoosEggMoveLearnset[] = { + MOVE_REVENGE, + MOVE_LAST_RESORT, + MOVE_FIRE_FANG, + MOVE_ICE_FANG, + MOVE_THUNDER_FANG, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_YUNGOOS #if P_FAMILY_GRUBBIN - egg_moves(GRUBBIN, - MOVE_HARDEN, - MOVE_ELECTROWEB, - MOVE_MUD_SHOT, - MOVE_ENDURE), +static const u16 sGrubbinEggMoveLearnset[] = { + MOVE_HARDEN, + MOVE_ELECTROWEB, + MOVE_MUD_SHOT, + MOVE_ENDURE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_GRUBBIN #if P_FAMILY_CRABRAWLER - egg_moves(CRABRAWLER, - MOVE_WIDE_GUARD, - MOVE_SUPERPOWER, - MOVE_ENDEAVOR, - MOVE_AMNESIA), +static const u16 sCrabrawlerEggMoveLearnset[] = { + MOVE_WIDE_GUARD, + MOVE_SUPERPOWER, + MOVE_ENDEAVOR, + MOVE_AMNESIA, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CRABRAWLER #if P_FAMILY_ORICORIO - egg_moves(ORICORIO_BAILE, - MOVE_PLUCK, - MOVE_TAILWIND, - MOVE_SAFEGUARD, - MOVE_CAPTIVATE), +static const u16 sOricorioEggMoveLearnset[] = { + MOVE_PLUCK, + MOVE_TAILWIND, + MOVE_SAFEGUARD, + MOVE_CAPTIVATE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ORICORIO #if P_FAMILY_CUTIEFLY - egg_moves(CUTIEFLY, - MOVE_BATON_PASS, - MOVE_SKILL_SWAP, - MOVE_SPEED_SWAP, - MOVE_BESTOW, - MOVE_MOONBLAST, - MOVE_POWDER, - MOVE_STICKY_WEB), +static const u16 sCutieflyEggMoveLearnset[] = { + MOVE_BATON_PASS, + MOVE_SKILL_SWAP, + MOVE_SPEED_SWAP, + MOVE_BESTOW, + MOVE_MOONBLAST, + MOVE_POWDER, + MOVE_STICKY_WEB, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CUTIEFLY #if P_FAMILY_ROCKRUFF - egg_moves(ROCKRUFF, - MOVE_CRUSH_CLAW, - MOVE_FIRE_FANG, - MOVE_THUNDER_FANG, - MOVE_SUCKER_PUNCH, - MOVE_THRASH), +static const u16 sRockruffEggMoveLearnset[] = { + MOVE_CRUSH_CLAW, + MOVE_FIRE_FANG, + MOVE_THUNDER_FANG, + MOVE_SUCKER_PUNCH, + MOVE_THRASH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ROCKRUFF #if P_FAMILY_WISHIWASHI - egg_moves(WISHIWASHI, - MOVE_MUDDY_WATER, - MOVE_MIST, - MOVE_WATER_PULSE, - MOVE_WATER_SPORT, - MOVE_WHIRLPOOL), +static const u16 sWishiwashiEggMoveLearnset[] = { + MOVE_MUDDY_WATER, + MOVE_MIST, + MOVE_WATER_PULSE, + MOVE_WATER_SPORT, + MOVE_WHIRLPOOL, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_WISHIWASHI #if P_FAMILY_MAREANIE - egg_moves(MAREANIE, - MOVE_STOCKPILE, - MOVE_SWALLOW, - MOVE_SPIT_UP, - MOVE_HAZE), +static const u16 sMareanieEggMoveLearnset[] = { + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_HAZE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MAREANIE #if P_FAMILY_MUDBRAY - egg_moves(MUDBRAY, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MAGNITUDE, - MOVE_CLOSE_COMBAT, - MOVE_MUD_BOMB), +static const u16 sMudbrayEggMoveLearnset[] = { + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_MAGNITUDE, + MOVE_CLOSE_COMBAT, + MOVE_MUD_BOMB, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MUDBRAY #if P_FAMILY_DEWPIDER - egg_moves(DEWPIDER, - MOVE_POWER_SPLIT, - MOVE_AURORA_BEAM, - MOVE_STOCKPILE, - MOVE_SPIT_UP, - MOVE_STICKY_WEB), +static const u16 sDewpiderEggMoveLearnset[] = { + MOVE_POWER_SPLIT, + MOVE_AURORA_BEAM, + MOVE_STOCKPILE, + MOVE_SPIT_UP, + MOVE_STICKY_WEB, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DEWPIDER #if P_FAMILY_FOMANTIS - egg_moves(FOMANTIS, - MOVE_WEATHER_BALL, - MOVE_GIGA_DRAIN, - MOVE_AROMATHERAPY, - MOVE_DEFOG, - MOVE_LEAF_STORM), +static const u16 sFomantisEggMoveLearnset[] = { + MOVE_WEATHER_BALL, + MOVE_GIGA_DRAIN, + MOVE_AROMATHERAPY, + MOVE_DEFOG, + MOVE_LEAF_STORM, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_FOMANTIS #if P_FAMILY_MORELULL - egg_moves(MORELULL, - MOVE_AMNESIA, - MOVE_POISON_POWDER, - MOVE_STUN_SPORE, - MOVE_GROWTH, - MOVE_LEECH_SEED), +static const u16 sMorelullEggMoveLearnset[] = { + MOVE_AMNESIA, + MOVE_POISON_POWDER, + MOVE_STUN_SPORE, + MOVE_GROWTH, + MOVE_LEECH_SEED, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MORELULL #if P_FAMILY_SALANDIT - egg_moves(SALANDIT, - MOVE_BELCH, - MOVE_KNOCK_OFF, - MOVE_SAND_ATTACK, - MOVE_SNATCH, - MOVE_FAKE_OUT), +static const u16 sSalanditEggMoveLearnset[] = { + MOVE_BELCH, + MOVE_KNOCK_OFF, + MOVE_SAND_ATTACK, + MOVE_SNATCH, + MOVE_FAKE_OUT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SALANDIT #if P_FAMILY_STUFFUL - egg_moves(STUFFUL, - MOVE_ICE_PUNCH, - MOVE_THUNDER_PUNCH, - MOVE_FORCE_PALM, - MOVE_ENDURE, - MOVE_WIDE_GUARD, - MOVE_MEGA_KICK, - MOVE_STOMPING_TANTRUM), +static const u16 sStuffulEggMoveLearnset[] = { + MOVE_ICE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_FORCE_PALM, + MOVE_ENDURE, + MOVE_WIDE_GUARD, + MOVE_MEGA_KICK, + MOVE_STOMPING_TANTRUM, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_STUFFUL #if P_FAMILY_BOUNSWEET - egg_moves(BOUNSWEET, - MOVE_GRASS_WHISTLE, - MOVE_SYNTHESIS, - MOVE_PLAY_ROUGH, - MOVE_FEINT, - MOVE_CHARM, - MOVE_ACUPRESSURE), +static const u16 sBounsweetEggMoveLearnset[] = { + MOVE_GRASS_WHISTLE, + MOVE_SYNTHESIS, + MOVE_PLAY_ROUGH, + MOVE_FEINT, + MOVE_CHARM, + MOVE_ACUPRESSURE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BOUNSWEET #if P_FAMILY_COMFEY - egg_moves(COMFEY, - MOVE_ENDURE, - MOVE_AMNESIA, - MOVE_AFTER_YOU, - MOVE_LUCKY_CHANT), +static const u16 sComfeyEggMoveLearnset[] = { + MOVE_ENDURE, + MOVE_AMNESIA, + MOVE_AFTER_YOU, + MOVE_LUCKY_CHANT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_COMFEY #if P_FAMILY_ORANGURU - egg_moves(ORANGURU, - MOVE_EXTRASENSORY, - MOVE_WONDER_ROOM, - MOVE_PSYCHIC_TERRAIN), +static const u16 sOranguruEggMoveLearnset[] = { + MOVE_EXTRASENSORY, + MOVE_WONDER_ROOM, + MOVE_PSYCHIC_TERRAIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ORANGURU #if P_FAMILY_PASSIMIAN - egg_moves(PASSIMIAN, - MOVE_SEISMIC_TOSS, - MOVE_VITAL_THROW, - MOVE_QUICK_GUARD, - MOVE_IRON_HEAD, - MOVE_QUICK_ATTACK, - MOVE_FEINT), +static const u16 sPassimianEggMoveLearnset[] = { + MOVE_SEISMIC_TOSS, + MOVE_VITAL_THROW, + MOVE_QUICK_GUARD, + MOVE_IRON_HEAD, + MOVE_QUICK_ATTACK, + MOVE_FEINT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PASSIMIAN #if P_FAMILY_WIMPOD - egg_moves(WIMPOD, - MOVE_SPIKES, - MOVE_METAL_CLAW, - MOVE_WIDE_GUARD, - MOVE_HARDEN, - MOVE_AQUA_JET), +static const u16 sWimpodEggMoveLearnset[] = { + MOVE_SPIKES, + MOVE_METAL_CLAW, + MOVE_WIDE_GUARD, + MOVE_HARDEN, + MOVE_AQUA_JET, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_WIMPOD #if P_FAMILY_SANDYGAST - egg_moves(SANDYGAST, - MOVE_AMNESIA, - MOVE_DESTINY_BOND, - MOVE_ANCIENT_POWER, - MOVE_STOCKPILE, - MOVE_SWALLOW, - MOVE_SPIT_UP, - MOVE_CURSE), +static const u16 sSandygastEggMoveLearnset[] = { + MOVE_AMNESIA, + MOVE_DESTINY_BOND, + MOVE_ANCIENT_POWER, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_CURSE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SANDYGAST #if P_FAMILY_PYUKUMUKU - egg_moves(PYUKUMUKU, - MOVE_ENDURE, - MOVE_VENOM_DRENCH, - MOVE_BESTOW, - MOVE_TICKLE, - MOVE_SPITE), +static const u16 sPyukumukuEggMoveLearnset[] = { + MOVE_ENDURE, + MOVE_VENOM_DRENCH, + MOVE_BESTOW, + MOVE_TICKLE, + MOVE_SPITE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PYUKUMUKU #if P_FAMILY_KOMALA - egg_moves(KOMALA, - MOVE_CHARM, - MOVE_WISH, - MOVE_PLAY_ROUGH, - MOVE_SING), +static const u16 sKomalaEggMoveLearnset[] = { + MOVE_CHARM, + MOVE_WISH, + MOVE_PLAY_ROUGH, + MOVE_SING, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_KOMALA #if P_FAMILY_TURTONATOR - egg_moves(TURTONATOR, - MOVE_WIDE_GUARD, - MOVE_REVENGE, - MOVE_HEAD_SMASH, - MOVE_FIRE_SPIN), +static const u16 sTurtonatorEggMoveLearnset[] = { + MOVE_WIDE_GUARD, + MOVE_REVENGE, + MOVE_HEAD_SMASH, + MOVE_FIRE_SPIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TURTONATOR #if P_FAMILY_TOGEDEMARU - egg_moves(TOGEDEMARU, - MOVE_REVERSAL, - MOVE_PRESENT, - MOVE_ENCORE, - MOVE_TWINEEDLE, - MOVE_WISH, - MOVE_FAKE_OUT, - MOVE_TICKLE, - MOVE_FLAIL, - MOVE_DISARMING_VOICE), +static const u16 sTogedemaruEggMoveLearnset[] = { + MOVE_REVERSAL, + MOVE_PRESENT, + MOVE_ENCORE, + MOVE_TWINEEDLE, + MOVE_WISH, + MOVE_FAKE_OUT, + MOVE_TICKLE, + MOVE_FLAIL, + MOVE_DISARMING_VOICE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TOGEDEMARU #if P_FAMILY_MIMIKYU - egg_moves(MIMIKYU, - MOVE_GRUDGE, - MOVE_DESTINY_BOND, - MOVE_CURSE, - MOVE_NIGHTMARE), +static const u16 sMimikyuEggMoveLearnset[] = { + MOVE_GRUDGE, + MOVE_DESTINY_BOND, + MOVE_CURSE, + MOVE_NIGHTMARE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MIMIKYU #if P_FAMILY_BRUXISH - egg_moves(BRUXISH, - MOVE_WATER_PULSE, - MOVE_POISON_FANG, - MOVE_ICE_FANG, - MOVE_RAGE), +static const u16 sBruxishEggMoveLearnset[] = { + MOVE_WATER_PULSE, + MOVE_POISON_FANG, + MOVE_ICE_FANG, + MOVE_RAGE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BRUXISH #if P_FAMILY_DRAMPA - egg_moves(DRAMPA, - MOVE_HURRICANE, - MOVE_DRAGON_RUSH, - MOVE_RAZOR_WIND, - MOVE_MIST, - MOVE_PLAY_ROUGH), +static const u16 sDrampaEggMoveLearnset[] = { + MOVE_HURRICANE, + MOVE_DRAGON_RUSH, + MOVE_RAZOR_WIND, + MOVE_MIST, + MOVE_PLAY_ROUGH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DRAMPA #if P_FAMILY_JANGMO_O - egg_moves(JANGMO_O, - MOVE_COUNTER, - MOVE_REVERSAL, - MOVE_DRAGON_BREATH), +static const u16 sJangmoOEggMoveLearnset[] = { + MOVE_COUNTER, + MOVE_REVERSAL, + MOVE_DRAGON_BREATH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_JANGMO_O #if P_FAMILY_GROOKEY - egg_moves(GROOKEY, - MOVE_GROWTH, - MOVE_HAMMER_ARM, - MOVE_FAKE_OUT, - MOVE_STRENGTH, - MOVE_NATURE_POWER, - MOVE_WORRY_SEED, - MOVE_LEECH_SEED), +static const u16 sGrookeyEggMoveLearnset[] = { + MOVE_GROWTH, + MOVE_HAMMER_ARM, + MOVE_FAKE_OUT, + MOVE_STRENGTH, + MOVE_NATURE_POWER, + MOVE_WORRY_SEED, + MOVE_LEECH_SEED, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_GROOKEY #if P_FAMILY_SCORBUNNY - egg_moves(SCORBUNNY, - MOVE_HIGH_JUMP_KICK, - MOVE_SAND_ATTACK, - MOVE_SUCKER_PUNCH, - MOVE_SUPER_FANG), +static const u16 sScorbunnyEggMoveLearnset[] = { + MOVE_HIGH_JUMP_KICK, + MOVE_SAND_ATTACK, + MOVE_SUCKER_PUNCH, + MOVE_SUPER_FANG, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SCORBUNNY #if P_FAMILY_SOBBLE - egg_moves(SOBBLE, - MOVE_AQUA_JET, - MOVE_DOUBLE_TEAM, - MOVE_AQUA_RING, - MOVE_MIST, - MOVE_HAZE, - MOVE_ICE_SHARD, - MOVE_FELL_STINGER), +static const u16 sSobbleEggMoveLearnset[] = { + MOVE_AQUA_JET, + MOVE_DOUBLE_TEAM, + MOVE_AQUA_RING, + MOVE_MIST, + MOVE_HAZE, + MOVE_ICE_SHARD, + MOVE_FELL_STINGER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SOBBLE #if P_FAMILY_SKWOVET - egg_moves(SKWOVET, - MOVE_ROLLOUT, - MOVE_DEFENSE_CURL, - MOVE_LAST_RESORT, - MOVE_BELLY_DRUM), +static const u16 sSkwovetEggMoveLearnset[] = { + MOVE_ROLLOUT, + MOVE_DEFENSE_CURL, + MOVE_LAST_RESORT, + MOVE_BELLY_DRUM, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SKWOVET #if P_FAMILY_ROOKIDEE - egg_moves(ROOKIDEE, - MOVE_SKY_ATTACK, - MOVE_SAND_ATTACK, - MOVE_TAILWIND, - MOVE_DEFOG, - MOVE_ROCK_SMASH, - MOVE_SPITE, - MOVE_ROOST), +static const u16 sRookideeEggMoveLearnset[] = { + MOVE_SKY_ATTACK, + MOVE_SAND_ATTACK, + MOVE_TAILWIND, + MOVE_DEFOG, + MOVE_ROCK_SMASH, + MOVE_SPITE, + MOVE_ROOST, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ROOKIDEE #if P_FAMILY_BLIPBUG - egg_moves(BLIPBUG, - MOVE_INFESTATION, - MOVE_SUPERSONIC, - MOVE_STICKY_WEB, - MOVE_RECOVER), +static const u16 sBlipbugEggMoveLearnset[] = { + MOVE_INFESTATION, + MOVE_SUPERSONIC, + MOVE_STICKY_WEB, + MOVE_RECOVER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BLIPBUG #if P_FAMILY_NICKIT - egg_moves(NICKIT, - MOVE_QUICK_GUARD, - MOVE_KNOCK_OFF, - MOVE_HOWL, - MOVE_TORMENT), +static const u16 sNickitEggMoveLearnset[] = { + MOVE_QUICK_GUARD, + MOVE_KNOCK_OFF, + MOVE_HOWL, + MOVE_TORMENT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_NICKIT #if P_FAMILY_GOSSIFLEUR - egg_moves(GOSSIFLEUR, - MOVE_GROWTH, - MOVE_LEECH_SEED, - MOVE_WORRY_SEED, - MOVE_POISON_POWDER, - MOVE_STUN_SPORE, - MOVE_SLEEP_POWDER), +static const u16 sGossifleurEggMoveLearnset[] = { + MOVE_GROWTH, + MOVE_LEECH_SEED, + MOVE_WORRY_SEED, + MOVE_POISON_POWDER, + MOVE_STUN_SPORE, + MOVE_SLEEP_POWDER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_GOSSIFLEUR #if P_FAMILY_WOOLOO - egg_moves(WOOLOO, - MOVE_STOMP, - MOVE_SWAGGER, - MOVE_COUNTER), +static const u16 sWoolooEggMoveLearnset[] = { + MOVE_STOMP, + MOVE_SWAGGER, + MOVE_COUNTER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_WOOLOO #if P_FAMILY_CHEWTLE - egg_moves(CHEWTLE, - MOVE_SKULL_BASH, - MOVE_GASTRO_ACID, - MOVE_DRAGON_TAIL), +static const u16 sChewtleEggMoveLearnset[] = { + MOVE_SKULL_BASH, + MOVE_GASTRO_ACID, + MOVE_DRAGON_TAIL, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CHEWTLE #if P_FAMILY_YAMPER - egg_moves(YAMPER, - MOVE_DOUBLE_EDGE, - MOVE_SAND_ATTACK, - MOVE_FLAME_CHARGE, - MOVE_DISCHARGE, - MOVE_HOWL), +static const u16 sYamperEggMoveLearnset[] = { + MOVE_DOUBLE_EDGE, + MOVE_SAND_ATTACK, + MOVE_FLAME_CHARGE, + MOVE_DISCHARGE, + MOVE_HOWL, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_YAMPER #if P_FAMILY_ROLYCOLY - egg_moves(ROLYCOLY, - MOVE_EXPLOSION, - MOVE_MUD_SLAP, - MOVE_BLOCK), +static const u16 sRolycolyEggMoveLearnset[] = { + MOVE_EXPLOSION, + MOVE_MUD_SLAP, + MOVE_BLOCK, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ROLYCOLY #if P_FAMILY_APPLIN - egg_moves(APPLIN, - MOVE_SUCKER_PUNCH, - MOVE_ROLLOUT, - MOVE_DEFENSE_CURL, - MOVE_RECYCLE), +static const u16 sApplinEggMoveLearnset[] = { + MOVE_SUCKER_PUNCH, + MOVE_ROLLOUT, + MOVE_DEFENSE_CURL, + MOVE_RECYCLE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_APPLIN #if P_FAMILY_SILICOBRA - egg_moves(SILICOBRA, - MOVE_DRAGON_RUSH, - MOVE_MUD_SLAP, - MOVE_LAST_RESORT, - MOVE_BELCH, - MOVE_POISON_TAIL), +static const u16 sSilicobraEggMoveLearnset[] = { + MOVE_DRAGON_RUSH, + MOVE_MUD_SLAP, + MOVE_LAST_RESORT, + MOVE_BELCH, + MOVE_POISON_TAIL, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SILICOBRA #if P_FAMILY_CRAMORANT - egg_moves(CRAMORANT, - MOVE_DEFOG, - MOVE_AERIAL_ACE, - MOVE_FEATHER_DANCE, - MOVE_AQUA_RING, - MOVE_ROOST), +static const u16 sCramorantEggMoveLearnset[] = { + MOVE_DEFOG, + MOVE_AERIAL_ACE, + MOVE_FEATHER_DANCE, + MOVE_AQUA_RING, + MOVE_ROOST, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CRAMORANT #if P_FAMILY_ARROKUDA - egg_moves(ARROKUDA, - MOVE_THRASH, - MOVE_ACUPRESSURE, - MOVE_SLASH, - MOVE_NIGHT_SLASH), +static const u16 sArrokudaEggMoveLearnset[] = { + MOVE_THRASH, + MOVE_ACUPRESSURE, + MOVE_SLASH, + MOVE_NIGHT_SLASH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ARROKUDA #if P_FAMILY_TOXEL - egg_moves(TOXEL, - MOVE_ENDEAVOR, - MOVE_METAL_SOUND, - MOVE_POWER_UP_PUNCH), +static const u16 sToxelEggMoveLearnset[] = { + MOVE_ENDEAVOR, + MOVE_METAL_SOUND, + MOVE_POWER_UP_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TOXEL #if P_FAMILY_SIZZLIPEDE - egg_moves(SIZZLIPEDE, - MOVE_KNOCK_OFF, - MOVE_STRUGGLE_BUG, - MOVE_ROLLOUT, - MOVE_DEFENSE_CURL), +static const u16 sSizzlipedeEggMoveLearnset[] = { + MOVE_KNOCK_OFF, + MOVE_STRUGGLE_BUG, + MOVE_ROLLOUT, + MOVE_DEFENSE_CURL, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SIZZLIPEDE #if P_FAMILY_CLOBBOPUS - egg_moves(CLOBBOPUS, - MOVE_PAIN_SPLIT, - MOVE_SOAK, - MOVE_SUCKER_PUNCH, - MOVE_CIRCLE_THROW, - MOVE_SEISMIC_TOSS, - MOVE_POWER_UP_PUNCH), +static const u16 sClobbopusEggMoveLearnset[] = { + MOVE_PAIN_SPLIT, + MOVE_SOAK, + MOVE_SUCKER_PUNCH, + MOVE_CIRCLE_THROW, + MOVE_SEISMIC_TOSS, + MOVE_POWER_UP_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CLOBBOPUS #if P_FAMILY_HATENNA - egg_moves(HATENNA, - MOVE_AROMATIC_MIST, - MOVE_NUZZLE, - MOVE_AFTER_YOU, - MOVE_QUASH), +static const u16 sHatennaEggMoveLearnset[] = { + MOVE_AROMATIC_MIST, + MOVE_NUZZLE, + MOVE_AFTER_YOU, + MOVE_QUASH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_HATENNA #if P_FAMILY_MILCERY - egg_moves(MILCERY, - MOVE_BABY_DOLL_EYES, - MOVE_LAST_RESORT), +static const u16 sMilceryEggMoveLearnset[] = { + MOVE_BABY_DOLL_EYES, + MOVE_LAST_RESORT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MILCERY #if P_FAMILY_PINCURCHIN - egg_moves(PINCURCHIN, - MOVE_MEMENTO, - MOVE_SUCKER_PUNCH), +static const u16 sPincurchinEggMoveLearnset[] = { + MOVE_MEMENTO, + MOVE_SUCKER_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PINCURCHIN #if P_FAMILY_SNOM - egg_moves(SNOM, - MOVE_FAIRY_WIND, - MOVE_MIRROR_COAT, - MOVE_BUG_BITE), +static const u16 sSnomEggMoveLearnset[] = { + MOVE_FAIRY_WIND, + MOVE_MIRROR_COAT, + MOVE_BUG_BITE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SNOM #if P_FAMILY_STONJOURNER - egg_moves(STONJOURNER, - MOVE_CURSE, - MOVE_ANCIENT_POWER), +static const u16 sStonjournerEggMoveLearnset[] = { + MOVE_CURSE, + MOVE_ANCIENT_POWER, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_STONJOURNER #if P_FAMILY_EISCUE - egg_moves(EISCUE, - MOVE_SOAK, - MOVE_AQUA_RING, - MOVE_BELLY_DRUM, - MOVE_DOUBLE_EDGE, - MOVE_ICICLE_CRASH, - MOVE_HEAD_SMASH), +static const u16 sEiscueEggMoveLearnset[] = { + MOVE_SOAK, + MOVE_AQUA_RING, + MOVE_BELLY_DRUM, + MOVE_DOUBLE_EDGE, + MOVE_ICICLE_CRASH, + MOVE_HEAD_SMASH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_EISCUE #if P_FAMILY_INDEEDEE - egg_moves(INDEEDEE, - MOVE_PSYCH_UP, - MOVE_FAKE_OUT, - MOVE_EXTRASENSORY), +static const u16 sIndeedeeEggMoveLearnset[] = { + MOVE_PSYCH_UP, + MOVE_FAKE_OUT, + MOVE_EXTRASENSORY, + MOVE_UNAVAILABLE, +}; - egg_moves(INDEEDEE_FEMALE, - MOVE_PSYCH_UP, - MOVE_FAKE_OUT, - MOVE_PSYCHO_SHIFT, - MOVE_HEAL_PULSE), +static const u16 sIndeedeeFemaleEggMoveLearnset[] = { + MOVE_PSYCH_UP, + MOVE_FAKE_OUT, + MOVE_PSYCHO_SHIFT, + MOVE_HEAL_PULSE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_INDEEDEE #if P_FAMILY_MORPEKO - egg_moves(MORPEKO, - MOVE_SWAGGER, - MOVE_SUPER_FANG, - MOVE_CHARGE, - MOVE_TICKLE, - MOVE_RAPID_SPIN, - MOVE_QUASH, - MOVE_PARTING_SHOT, - MOVE_FAKE_OUT), +static const u16 sMorpekoEggMoveLearnset[] = { + MOVE_SWAGGER, + MOVE_SUPER_FANG, + MOVE_CHARGE, + MOVE_TICKLE, + MOVE_RAPID_SPIN, + MOVE_QUASH, + MOVE_PARTING_SHOT, + MOVE_FAKE_OUT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MORPEKO #if P_FAMILY_CUFANT - egg_moves(CUFANT, - MOVE_DOUBLE_EDGE, - MOVE_BELCH, - MOVE_CURSE, - MOVE_SLAM, - MOVE_FISSURE, - MOVE_SWAGGER, - MOVE_WHIRLWIND, - MOVE_DEFENSE_CURL), +static const u16 sCufantEggMoveLearnset[] = { + MOVE_DOUBLE_EDGE, + MOVE_BELCH, + MOVE_CURSE, + MOVE_SLAM, + MOVE_FISSURE, + MOVE_SWAGGER, + MOVE_WHIRLWIND, + MOVE_DEFENSE_CURL, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CUFANT #if P_FAMILY_DURALUDON - egg_moves(DURALUDON, - MOVE_SLASH, - MOVE_NIGHT_SLASH, - MOVE_MIRROR_COAT), +static const u16 sDuraludonEggMoveLearnset[] = { + MOVE_SLASH, + MOVE_NIGHT_SLASH, + MOVE_MIRROR_COAT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DURALUDON #if P_FAMILY_DREEPY - egg_moves(DREEPY, - MOVE_CURSE, - MOVE_GRUDGE, - MOVE_CONFUSE_RAY, - MOVE_DOUBLE_TEAM, - MOVE_DISABLE, - MOVE_DRAGON_TAIL, - MOVE_SUCKER_PUNCH), +static const u16 sDreepyEggMoveLearnset[] = { + MOVE_CURSE, + MOVE_GRUDGE, + MOVE_CONFUSE_RAY, + MOVE_DOUBLE_TEAM, + MOVE_DISABLE, + MOVE_DRAGON_TAIL, + MOVE_SUCKER_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DREEPY #if P_FAMILY_SPRIGATITO - egg_moves(SPRIGATITO, - MOVE_ALLY_SWITCH, - MOVE_COPYCAT, - MOVE_LEECH_SEED, - MOVE_PETAL_BLIZZARD, - MOVE_SUCKER_PUNCH), +static const u16 sSprigatitoEggMoveLearnset[] = { + MOVE_ALLY_SWITCH, + MOVE_COPYCAT, + MOVE_LEECH_SEED, + MOVE_PETAL_BLIZZARD, + MOVE_SUCKER_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SPRIGATITO #if P_FAMILY_FUECOCO - egg_moves(FUECOCO, - MOVE_BELCH, - MOVE_CURSE, - MOVE_ENCORE, - MOVE_SLACK_OFF), +static const u16 sFuecocoEggMoveLearnset[] = { + MOVE_BELCH, + MOVE_CURSE, + MOVE_ENCORE, + MOVE_SLACK_OFF, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_FUECOCO #if P_FAMILY_QUAXLY - egg_moves(QUAXLY, - MOVE_DETECT, - MOVE_LAST_RESORT, - MOVE_RAPID_SPIN, - MOVE_ROOST), +static const u16 sQuaxlyEggMoveLearnset[] = { + MOVE_DETECT, + MOVE_LAST_RESORT, + MOVE_RAPID_SPIN, + MOVE_ROOST, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_QUAXLY #if P_FAMILY_LECHONK - egg_moves(LECHONK, - MOVE_ENDEAVOR, - MOVE_SPIT_UP, - MOVE_STOCKPILE, - MOVE_STUFF_CHEEKS, - MOVE_SWALLOW), +static const u16 sLechonkEggMoveLearnset[] = { + MOVE_ENDEAVOR, + MOVE_SPIT_UP, + MOVE_STOCKPILE, + MOVE_STUFF_CHEEKS, + MOVE_SWALLOW, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_LECHONK #if P_FAMILY_TAROUNTULA - egg_moves(TAROUNTULA, - MOVE_FIRST_IMPRESSION, - MOVE_LUNGE, - MOVE_MEMENTO, - MOVE_SUCKER_PUNCH), +static const u16 sTarountulaEggMoveLearnset[] = { + MOVE_FIRST_IMPRESSION, + MOVE_LUNGE, + MOVE_MEMENTO, + MOVE_SUCKER_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TAROUNTULA #if P_FAMILY_NYMBLE - egg_moves(NYMBLE, - MOVE_COUNTER, - MOVE_SKITTER_SMACK), +static const u16 sNymbleEggMoveLearnset[] = { + MOVE_COUNTER, + MOVE_SKITTER_SMACK, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_NYMBLE #if P_FAMILY_PAWMI - egg_moves(PAWMI, - MOVE_FAKE_OUT, - MOVE_MACH_PUNCH, - MOVE_SWEET_KISS, - MOVE_WISH), +static const u16 sPawmiEggMoveLearnset[] = { + MOVE_FAKE_OUT, + MOVE_MACH_PUNCH, + MOVE_SWEET_KISS, + MOVE_WISH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_PAWMI #if P_FAMILY_TANDEMAUS - egg_moves(TANDEMAUS, - MOVE_AFTER_YOU, - MOVE_BATON_PASS, - MOVE_BITE, - MOVE_FEINT, - MOVE_SWITCHEROO, - MOVE_TICKLE), +static const u16 sTandemausEggMoveLearnset[] = { + MOVE_AFTER_YOU, + MOVE_BATON_PASS, + MOVE_BITE, + MOVE_FEINT, + MOVE_SWITCHEROO, + MOVE_TICKLE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TANDEMAUS #if P_FAMILY_FIDOUGH - egg_moves(FIDOUGH, - MOVE_COPYCAT, - MOVE_HOWL, - MOVE_SWEET_SCENT, - MOVE_WISH, - MOVE_YAWN), +static const u16 sFidoughEggMoveLearnset[] = { + MOVE_COPYCAT, + MOVE_HOWL, + MOVE_SWEET_SCENT, + MOVE_WISH, + MOVE_YAWN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_FIDOUGH #if P_FAMILY_SMOLIV - egg_moves(SMOLIV, - MOVE_MEMENTO, - MOVE_STRENGTH_SAP, - MOVE_SYNTHESIS, - MOVE_WEATHER_BALL), +static const u16 sSmolivEggMoveLearnset[] = { + MOVE_MEMENTO, + MOVE_STRENGTH_SAP, + MOVE_SYNTHESIS, + MOVE_WEATHER_BALL, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SMOLIV #if P_FAMILY_SQUAWKABILLY - egg_moves(SQUAWKABILLY, - MOVE_DOUBLE_EDGE, - MOVE_FINAL_GAMBIT, - MOVE_FLATTER, - MOVE_PARTING_SHOT), +static const u16 sSquawkabillyEggMoveLearnset[] = { + MOVE_DOUBLE_EDGE, + MOVE_FINAL_GAMBIT, + MOVE_FLATTER, + MOVE_PARTING_SHOT, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SQUAWKABILLY #if P_FAMILY_NACLI - egg_moves(NACLI, - MOVE_ANCIENT_POWER, - MOVE_CURSE, - MOVE_FISSURE, - MOVE_POWER_GEM), +static const u16 sNacliEggMoveLearnset[] = { + MOVE_ANCIENT_POWER, + MOVE_CURSE, + MOVE_FISSURE, + MOVE_POWER_GEM, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_NACLI #if P_FAMILY_CHARCADET - egg_moves(CHARCADET, - MOVE_DESTINY_BOND, - MOVE_DISABLE, - MOVE_SPITE), +static const u16 sCharcadetEggMoveLearnset[] = { + MOVE_DESTINY_BOND, + MOVE_DISABLE, + MOVE_SPITE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CHARCADET #if P_FAMILY_TADBULB - egg_moves(TADBULB, - MOVE_MUDDY_WATER, - MOVE_PARABOLIC_CHARGE, - MOVE_SOAK), +static const u16 sTadbulbEggMoveLearnset[] = { + MOVE_MUDDY_WATER, + MOVE_PARABOLIC_CHARGE, + MOVE_SOAK, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TADBULB #if P_FAMILY_WATTREL - egg_moves(WATTREL, - MOVE_ENDEAVOR, - MOVE_FEATHER_DANCE, - MOVE_SPIT_UP, - MOVE_STOCKPILE, - MOVE_SWALLOW, - MOVE_WEATHER_BALL), +static const u16 sWattrelEggMoveLearnset[] = { + MOVE_ENDEAVOR, + MOVE_FEATHER_DANCE, + MOVE_SPIT_UP, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_WEATHER_BALL, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_WATTREL #if P_FAMILY_MASCHIFF - egg_moves(MASCHIFF, - MOVE_DESTINY_BOND, - MOVE_ENDEAVOR, - MOVE_PLAY_ROUGH, - MOVE_RETALIATE), +static const u16 sMaschiffEggMoveLearnset[] = { + MOVE_DESTINY_BOND, + MOVE_ENDEAVOR, + MOVE_PLAY_ROUGH, + MOVE_RETALIATE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_MASCHIFF #if P_FAMILY_SHROODLE - egg_moves(SHROODLE, - MOVE_COPYCAT, - MOVE_CROSS_POISON, - MOVE_PARTING_SHOT, - MOVE_SUPER_FANG, - MOVE_SWAGGER, - MOVE_TOXIC), +static const u16 sShroodleEggMoveLearnset[] = { + MOVE_COPYCAT, + MOVE_CROSS_POISON, + MOVE_PARTING_SHOT, + MOVE_SUPER_FANG, + MOVE_SWAGGER, + MOVE_TOXIC, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_SHROODLE #if P_FAMILY_BRAMBLIN - egg_moves(BRAMBLIN, - MOVE_BEAT_UP, - MOVE_BLOCK, - MOVE_LEECH_SEED, - MOVE_SHADOW_SNEAK, - MOVE_STRENGTH_SAP), +static const u16 sBramblinEggMoveLearnset[] = { + MOVE_BEAT_UP, + MOVE_BLOCK, + MOVE_LEECH_SEED, + MOVE_SHADOW_SNEAK, + MOVE_STRENGTH_SAP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BRAMBLIN #if P_FAMILY_TOEDSCOOL - egg_moves(TOEDSCOOL, - MOVE_ACUPRESSURE, - MOVE_KNOCK_OFF, - MOVE_LEECH_SEED, - MOVE_MIRROR_COAT, - MOVE_RAGE_POWDER, - MOVE_RAPID_SPIN, - MOVE_TICKLE, - MOVE_TOXIC), +static const u16 sToedscoolEggMoveLearnset[] = { + MOVE_ACUPRESSURE, + MOVE_KNOCK_OFF, + MOVE_LEECH_SEED, + MOVE_MIRROR_COAT, + MOVE_RAGE_POWDER, + MOVE_RAPID_SPIN, + MOVE_TICKLE, + MOVE_TOXIC, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TOEDSCOOL #if P_FAMILY_KLAWF - egg_moves(KLAWF, - MOVE_ANCIENT_POWER, - MOVE_CRABHAMMER, - MOVE_ENDEAVOR, - MOVE_KNOCK_OFF), +static const u16 sKlawfEggMoveLearnset[] = { + MOVE_ANCIENT_POWER, + MOVE_CRABHAMMER, + MOVE_ENDEAVOR, + MOVE_KNOCK_OFF, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_KLAWF #if P_FAMILY_CAPSAKID - egg_moves(CAPSAKID, - MOVE_INGRAIN, - MOVE_LEECH_SEED, - MOVE_RAGE_POWDER, - MOVE_ROLLOUT, - MOVE_WORRY_SEED), +static const u16 sCapsakidEggMoveLearnset[] = { + MOVE_INGRAIN, + MOVE_LEECH_SEED, + MOVE_RAGE_POWDER, + MOVE_ROLLOUT, + MOVE_WORRY_SEED, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CAPSAKID #if P_FAMILY_RELLOR - egg_moves(RELLOR, - MOVE_COSMIC_POWER, - MOVE_MEMENTO, - MOVE_RECOVER, - MOVE_WEATHER_BALL), +static const u16 sRellorEggMoveLearnset[] = { + MOVE_COSMIC_POWER, + MOVE_MEMENTO, + MOVE_RECOVER, + MOVE_WEATHER_BALL, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_RELLOR #if P_FAMILY_FLITTLE - egg_moves(FLITTLE, - MOVE_ALLY_SWITCH, - MOVE_HYPNOSIS, - MOVE_ROOST), +static const u16 sFlittleEggMoveLearnset[] = { + MOVE_ALLY_SWITCH, + MOVE_HYPNOSIS, + MOVE_ROOST, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_FLITTLE #if P_FAMILY_TINKATINK - egg_moves(TINKATINK, - MOVE_FEINT, - MOVE_ICE_HAMMER, - MOVE_QUASH), +static const u16 sTinkatinkEggMoveLearnset[] = { + MOVE_FEINT, + MOVE_ICE_HAMMER, + MOVE_QUASH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TINKATINK #if P_FAMILY_WIGLETT - egg_moves(WIGLETT, - MOVE_FINAL_GAMBIT, - MOVE_MEMENTO), +static const u16 sWiglettEggMoveLearnset[] = { + MOVE_FINAL_GAMBIT, + MOVE_MEMENTO, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_WIGLETT #if P_FAMILY_BOMBIRDIER - egg_moves(BOMBIRDIER, - MOVE_FEATHER_DANCE, - MOVE_POWER_TRIP, - MOVE_ROOST, - MOVE_SKY_ATTACK, - MOVE_SUCKER_PUNCH), +static const u16 sBombirdierEggMoveLearnset[] = { + MOVE_FEATHER_DANCE, + MOVE_POWER_TRIP, + MOVE_ROOST, + MOVE_SKY_ATTACK, + MOVE_SUCKER_PUNCH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_BOMBIRDIER #if P_FAMILY_FINIZEN - egg_moves(FINIZEN, - MOVE_BOOMBURST, - MOVE_BOUNCE, - MOVE_COUNTER, - MOVE_HAZE, - MOVE_TICKLE), +static const u16 sFinizenEggMoveLearnset[] = { + MOVE_BOOMBURST, + MOVE_BOUNCE, + MOVE_COUNTER, + MOVE_HAZE, + MOVE_TICKLE, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_FINIZEN #if P_FAMILY_VAROOM - egg_moves(VAROOM, - MOVE_HAZE, - MOVE_PARTING_SHOT, - MOVE_SELF_DESTRUCT, - MOVE_TORMENT, - MOVE_TOXIC), +static const u16 sVaroomEggMoveLearnset[] = { + MOVE_HAZE, + MOVE_PARTING_SHOT, + MOVE_SELF_DESTRUCT, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_VAROOM #if P_FAMILY_CYCLIZAR - egg_moves(CYCLIZAR, - MOVE_AQUA_TAIL, - MOVE_IRON_TAIL, - MOVE_KNOCK_OFF, - MOVE_POWER_WHIP), +static const u16 sCyclizarEggMoveLearnset[] = { + MOVE_AQUA_TAIL, + MOVE_IRON_TAIL, + MOVE_KNOCK_OFF, + MOVE_POWER_WHIP, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CYCLIZAR #if P_FAMILY_ORTHWORM - egg_moves(ORTHWORM, - MOVE_COIL, - MOVE_CURSE, - MOVE_METAL_BURST), +static const u16 sOrthwormEggMoveLearnset[] = { + MOVE_COIL, + MOVE_CURSE, + MOVE_METAL_BURST, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_ORTHWORM #if P_FAMILY_GLIMMET - egg_moves(GLIMMET, - MOVE_EXPLOSION, - MOVE_MEMENTO, - MOVE_TOXIC), +static const u16 sGlimmetEggMoveLearnset[] = { + MOVE_EXPLOSION, + MOVE_MEMENTO, + MOVE_TOXIC, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_GLIMMET #if P_FAMILY_GREAVARD - egg_moves(GREAVARD, - MOVE_ALLY_SWITCH, - MOVE_DESTINY_BOND, - MOVE_DISABLE, - MOVE_HOWL, - MOVE_MEMENTO, - MOVE_SHADOW_SNEAK, - MOVE_YAWN), +static const u16 sGreavardEggMoveLearnset[] = { + MOVE_ALLY_SWITCH, + MOVE_DESTINY_BOND, + MOVE_DISABLE, + MOVE_HOWL, + MOVE_MEMENTO, + MOVE_SHADOW_SNEAK, + MOVE_YAWN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_GREAVARD #if P_FAMILY_FLAMIGO - egg_moves(FLAMIGO, - MOVE_DOUBLE_TEAM, - MOVE_QUICK_GUARD, - MOVE_SKY_ATTACK), +static const u16 sFlamigoEggMoveLearnset[] = { + MOVE_DOUBLE_TEAM, + MOVE_QUICK_GUARD, + MOVE_SKY_ATTACK, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_FLAMIGO #if P_FAMILY_CETODDLE - egg_moves(CETODDLE, - MOVE_BELLY_DRUM, - MOVE_ENTRAINMENT, - MOVE_ICICLE_CRASH, - MOVE_SUPERPOWER, - MOVE_YAWN), +static const u16 sCetoddleEggMoveLearnset[] = { + MOVE_BELLY_DRUM, + MOVE_ENTRAINMENT, + MOVE_ICICLE_CRASH, + MOVE_SUPERPOWER, + MOVE_YAWN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_CETODDLE #if P_FAMILY_VELUZA - egg_moves(VELUZA, - MOVE_RECOVER, - MOVE_THRASH), +static const u16 sVeluzaEggMoveLearnset[] = { + MOVE_RECOVER, + MOVE_THRASH, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_VELUZA #if P_FAMILY_DONDOZO - egg_moves(DONDOZO, - MOVE_CURSE, - MOVE_FISSURE, - MOVE_THRASH, - MOVE_YAWN), +static const u16 sDondozoEggMoveLearnset[] = { + MOVE_CURSE, + MOVE_FISSURE, + MOVE_THRASH, + MOVE_YAWN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_DONDOZO #if P_FAMILY_TATSUGIRI - egg_moves(TATSUGIRI, - MOVE_BATON_PASS, - MOVE_COUNTER, - MOVE_RAPID_SPIN), +static const u16 sTatsugiriEggMoveLearnset[] = { + MOVE_BATON_PASS, + MOVE_COUNTER, + MOVE_RAPID_SPIN, + MOVE_UNAVAILABLE, +}; #endif //P_FAMILY_TATSUGIRI #if P_FAMILY_FRIGIBAX - egg_moves(FRIGIBAX, - MOVE_AQUA_TAIL, - MOVE_DRAGON_RUSH, - MOVE_FREEZE_DRY, - MOVE_ICICLE_SPEAR), -#endif //P_FAMILY_FRIGIBAX - - EGG_MOVES_TERMINATOR +static const u16 sFrigibaxEggMoveLearnset[] = { + MOVE_AQUA_TAIL, + MOVE_DRAGON_RUSH, + MOVE_FREEZE_DRY, + MOVE_ICICLE_SPEAR, + MOVE_UNAVAILABLE, }; - +#endif //P_FAMILY_FRIGIBAX diff --git a/src/data/pokemon/species_info.h b/src/data/pokemon/species_info.h index 92a5094e5d..183a97b46d 100644 --- a/src/data/pokemon/species_info.h +++ b/src/data/pokemon/species_info.h @@ -98,11 +98,13 @@ const struct SpeciesInfo gSpeciesInfo[] = .shinyPalette = gMonShinyPalette_CircledQuestionMark, .iconSprite = gMonIcon_QuestionMark, .iconPalIndex = 0, + FOOTPRINT(QuestionMark) #if OW_FOLLOWERS_ENABLED .followerData = {TAG_NONE, OBJ_EVENT_PAL_TAG_SUBSTITUTE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, COMP, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Substitute, gDummySpriteAffineAnimTable}, #endif .levelUpLearnset = sNoneLevelUpLearnset, .teachableLearnset = sNoneTeachableLearnset, + .eggMoveLearnset = sNoneEggMoveLearnset, }, #include "species_info/gen_1_families.h" @@ -189,7 +191,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .iconPalIndex = 0, //.iconSpriteFemale = gMonIcon_QuestionMarkF, //.iconPalIndexFemale = 1, - //FOOTPRINT(None) + FOOTPRINT(QuestionMark) .levelUpLearnset = sNoneLevelUpLearnset, .teachableLearnset = sNoneTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 100, SPECIES_NONE}, diff --git a/src/data/pokemon/species_info/gen_1_families.h b/src/data/pokemon/species_info/gen_1_families.h index ab1a72e9b7..e281ef6d1d 100644 --- a/src/data/pokemon/species_info/gen_1_families.h +++ b/src/data/pokemon/species_info/gen_1_families.h @@ -62,6 +62,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sBulbasaurLevelUpLearnset, .teachableLearnset = sBulbasaurTeachableLearnset, + .eggMoveLearnset = sBulbasaurEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_IVYSAUR}), }, @@ -375,6 +376,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sCharmanderLevelUpLearnset, .teachableLearnset = sCharmanderTeachableLearnset, + .eggMoveLearnset = sCharmanderEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_CHARMELEON}), }, @@ -736,6 +738,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sSquirtleLevelUpLearnset, .teachableLearnset = sSquirtleTeachableLearnset, + .eggMoveLearnset = sSquirtleEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_WARTORTLE}), }, @@ -1572,6 +1575,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sPidgeyLevelUpLearnset, .teachableLearnset = sPidgeyTeachableLearnset, + .eggMoveLearnset = sPidgeyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_PIDGEOTTO}), }, @@ -1831,6 +1835,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sRattataLevelUpLearnset, .teachableLearnset = sRattataTeachableLearnset, + .eggMoveLearnset = sRattataEggMoveLearnset, .formSpeciesIdTable = sRattataFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_RATICATE}), }, @@ -1961,6 +1966,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isAlolanForm = TRUE, .levelUpLearnset = sRattataAlolanLevelUpLearnset, .teachableLearnset = sRattataAlolanTeachableLearnset, + .eggMoveLearnset = sRattataAlolanEggMoveLearnset, .formSpeciesIdTable = sRattataFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL_NIGHT, 20, SPECIES_RATICATE_ALOLAN}, {EVO_NONE, 0, SPECIES_RATICATE_ALOLAN_TOTEM}), @@ -2139,6 +2145,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sSpearowLevelUpLearnset, .teachableLearnset = sSpearowTeachableLearnset, + .eggMoveLearnset = sSpearowEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_FEAROW}), }, @@ -2266,6 +2273,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sEkansLevelUpLearnset, .teachableLearnset = sEkansTeachableLearnset, + .eggMoveLearnset = sEkansEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 22, SPECIES_ARBOK}), }, @@ -2393,6 +2401,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sPichuLevelUpLearnset, .teachableLearnset = sPichuTeachableLearnset, + .eggMoveLearnset = sPichuEggMoveLearnset, .formSpeciesIdTable = sPichuFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_PIKACHU}), }, @@ -2452,6 +2461,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sPichuLevelUpLearnset, .teachableLearnset = sPichuTeachableLearnset, + .eggMoveLearnset = sPichuEggMoveLearnset, .formSpeciesIdTable = sPichuFormSpeciesIdTable, }, #endif //P_GEN_2_CROSS_EVOS @@ -3596,6 +3606,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sSandshrewLevelUpLearnset, .teachableLearnset = sSandshrewTeachableLearnset, + .eggMoveLearnset = sSandshrewEggMoveLearnset, .formSpeciesIdTable = sSandshrewFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 22, SPECIES_SANDSLASH}), }, @@ -3723,6 +3734,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isAlolanForm = TRUE, .levelUpLearnset = sSandshrewAlolanLevelUpLearnset, .teachableLearnset = sSandshrewAlolanTeachableLearnset, + .eggMoveLearnset = sSandshrewAlolanEggMoveLearnset, .formSpeciesIdTable = sSandshrewFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_ITEM, ITEM_ICE_STONE, SPECIES_SANDSLASH_ALOLAN}), }, @@ -3852,6 +3864,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sNidoranFLevelUpLearnset, .teachableLearnset = sNidoranFTeachableLearnset, + .eggMoveLearnset = sNidoranFEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_NIDORINA}), }, @@ -4042,6 +4055,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sNidoranMLevelUpLearnset, .teachableLearnset = sNidoranMTeachableLearnset, + .eggMoveLearnset = sNidoranMEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_NIDORINO}), }, @@ -4244,6 +4258,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sCleffaLevelUpLearnset, .teachableLearnset = sCleffaTeachableLearnset, + .eggMoveLearnset = sCleffaEggMoveLearnset, .evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_CLEFAIRY}), }, #endif //P_GEN_2_CROSS_EVOS @@ -4442,6 +4457,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sVulpixLevelUpLearnset, .teachableLearnset = sVulpixTeachableLearnset, + .eggMoveLearnset = sVulpixEggMoveLearnset, .formSpeciesIdTable = sVulpixFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_ITEM, ITEM_FIRE_STONE, SPECIES_NINETALES}), }, @@ -4570,6 +4586,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isAlolanForm = TRUE, .levelUpLearnset = sVulpixAlolanLevelUpLearnset, .teachableLearnset = sVulpixAlolanTeachableLearnset, + .eggMoveLearnset = sVulpixAlolanEggMoveLearnset, .formSpeciesIdTable = sVulpixFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_ITEM, ITEM_ICE_STONE, SPECIES_NINETALES_ALOLAN}), }, @@ -4707,6 +4724,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sIgglybuffLevelUpLearnset, .teachableLearnset = sIgglybuffTeachableLearnset, + .eggMoveLearnset = sIgglybuffEggMoveLearnset, .evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_JIGGLYPUFF}), }, #endif //P_GEN_2_CROSS_EVOS @@ -4909,6 +4927,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sZubatLevelUpLearnset, .teachableLearnset = sZubatTeachableLearnset, + .eggMoveLearnset = sZubatEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 22, SPECIES_GOLBAT}), }, @@ -5108,6 +5127,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sOddishLevelUpLearnset, .teachableLearnset = sOddishTeachableLearnset, + .eggMoveLearnset = sOddishEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 21, SPECIES_GLOOM}), }, @@ -5385,6 +5405,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sParasLevelUpLearnset, .teachableLearnset = sParasTeachableLearnset, + .eggMoveLearnset = sParasEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 24, SPECIES_PARASECT}), }, @@ -5513,6 +5534,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sVenonatLevelUpLearnset, .teachableLearnset = sVenonatTeachableLearnset, + .eggMoveLearnset = sVenonatEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 31, SPECIES_VENOMOTH}), }, @@ -5652,6 +5674,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sDiglettLevelUpLearnset, .teachableLearnset = sDiglettTeachableLearnset, + .eggMoveLearnset = sDiglettEggMoveLearnset, .formSpeciesIdTable = sDiglettFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 26, SPECIES_DUGTRIO}), }, @@ -5780,6 +5803,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isAlolanForm = TRUE, .levelUpLearnset = sDiglettAlolanLevelUpLearnset, .teachableLearnset = sDiglettAlolanTeachableLearnset, + .eggMoveLearnset = sDiglettAlolanEggMoveLearnset, .formSpeciesIdTable = sDiglettFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 26, SPECIES_DUGTRIO_ALOLAN}), }, @@ -5911,6 +5935,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sMeowthLevelUpLearnset, .teachableLearnset = sMeowthTeachableLearnset, + .eggMoveLearnset = sMeowthEggMoveLearnset, .formSpeciesIdTable = sMeowthFormSpeciesIdTable, .formChangeTable = sMeowthFormChangeTable, .evolutions = EVOLUTION({EVO_LEVEL, 28, SPECIES_PERSIAN}), @@ -6040,6 +6065,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isAlolanForm = TRUE, .levelUpLearnset = sMeowthAlolanLevelUpLearnset, .teachableLearnset = sMeowthAlolanTeachableLearnset, + .eggMoveLearnset = sMeowthAlolanEggMoveLearnset, .formSpeciesIdTable = sMeowthFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_PERSIAN_ALOLAN}), }, @@ -6168,6 +6194,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isGalarianForm = TRUE, .levelUpLearnset = sMeowthGalarianLevelUpLearnset, .teachableLearnset = sMeowthGalarianTeachableLearnset, + .eggMoveLearnset = sMeowthGalarianEggMoveLearnset, .formSpeciesIdTable = sMeowthFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 28, SPECIES_PERRSERKER}), }, @@ -6285,6 +6312,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isGigantamax = TRUE, .levelUpLearnset = sMeowthLevelUpLearnset, .teachableLearnset = sMeowthTeachableLearnset, + .eggMoveLearnset = sMeowthEggMoveLearnset, .formSpeciesIdTable = sMeowthFormSpeciesIdTable, .formChangeTable = sMeowthFormChangeTable, }, @@ -6350,6 +6378,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sPsyduckLevelUpLearnset, .teachableLearnset = sPsyduckTeachableLearnset, + .eggMoveLearnset = sPsyduckEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 33, SPECIES_GOLDUCK}), }, @@ -6474,6 +6503,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sMankeyLevelUpLearnset, .teachableLearnset = sMankeyTeachableLearnset, + .eggMoveLearnset = sMankeyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 28, SPECIES_PRIMEAPE}), }, @@ -6535,7 +6565,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sPrimeapeLevelUpLearnset, .teachableLearnset = sPrimeapeTeachableLearnset, - .evolutions = EVOLUTION({EVO_LEVEL_MOVE_TWENTY_TIMES, MOVE_RAGE_FIST, SPECIES_ANNIHILAPE}), + .evolutions = EVOLUTION({EVO_USE_MOVE_TWENTY_TIMES, MOVE_RAGE_FIST, SPECIES_ANNIHILAPE}), }, #if P_GEN_9_CROSS_EVOS @@ -6586,7 +6616,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Annihilape, .iconSprite = gMonIcon_Annihilape, .iconPalIndex = 0, - //FOOTPRINT(Annihilape) + FOOTPRINT(Annihilape) .levelUpLearnset = sAnnihilapeLevelUpLearnset, .teachableLearnset = sAnnihilapeTeachableLearnset, }, @@ -6653,6 +6683,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sGrowlitheLevelUpLearnset, .teachableLearnset = sGrowlitheTeachableLearnset, + .eggMoveLearnset = sGrowlitheEggMoveLearnset, .formSpeciesIdTable = sGrowlitheFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_ITEM, ITEM_FIRE_STONE, SPECIES_ARCANINE}), }, @@ -6907,6 +6938,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sPoliwagLevelUpLearnset, .teachableLearnset = sPoliwagTeachableLearnset, + .eggMoveLearnset = sPoliwagEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_POLIWHIRL}), }, @@ -7188,6 +7220,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sAbraLevelUpLearnset, .teachableLearnset = sAbraTeachableLearnset, + .eggMoveLearnset = sAbraEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_KADABRA}), }, @@ -7461,6 +7494,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sMachopLevelUpLearnset, .teachableLearnset = sMachopTeachableLearnset, + .eggMoveLearnset = sMachopEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 28, SPECIES_MACHOKE}), }, @@ -7717,6 +7751,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sBellsproutLevelUpLearnset, .teachableLearnset = sBellsproutTeachableLearnset, + .eggMoveLearnset = sBellsproutEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 21, SPECIES_WEEPINBELL}), }, @@ -7911,6 +7946,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sTentacoolLevelUpLearnset, .teachableLearnset = sTentacoolTeachableLearnset, + .eggMoveLearnset = sTentacoolEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_TENTACRUEL}), }, @@ -8058,6 +8094,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sGeodudeLevelUpLearnset, .teachableLearnset = sGeodudeTeachableLearnset, + .eggMoveLearnset = sGeodudeEggMoveLearnset, .formSpeciesIdTable = sGeodudeFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_GRAVELER}), }, @@ -8250,6 +8287,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isAlolanForm = TRUE, .levelUpLearnset = sGeodudeAlolanLevelUpLearnset, .teachableLearnset = sGeodudeAlolanTeachableLearnset, + .eggMoveLearnset = sGeodudeAlolanEggMoveLearnset, .formSpeciesIdTable = sGeodudeFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_GRAVELER_ALOLAN}), }, @@ -8444,6 +8482,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sPonytaLevelUpLearnset, .teachableLearnset = sPonytaTeachableLearnset, + .eggMoveLearnset = sPonytaEggMoveLearnset, .formSpeciesIdTable = sPonytaFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_RAPIDASH}), }, @@ -8569,6 +8608,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isGalarianForm = TRUE, .levelUpLearnset = sPonytaGalarianLevelUpLearnset, .teachableLearnset = sPonytaGalarianTeachableLearnset, + .eggMoveLearnset = sPonytaGalarianEggMoveLearnset, .formSpeciesIdTable = sPonytaFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_RAPIDASH_GALARIAN}), }, @@ -8697,6 +8737,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sSlowpokeLevelUpLearnset, .teachableLearnset = sSlowpokeTeachableLearnset, + .eggMoveLearnset = sSlowpokeEggMoveLearnset, .formSpeciesIdTable = sSlowpokeFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 37, SPECIES_SLOWBRO}, {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING}, @@ -8948,6 +8989,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isGalarianForm = TRUE, .levelUpLearnset = sSlowpokeGalarianLevelUpLearnset, .teachableLearnset = sSlowpokeGalarianTeachableLearnset, + .eggMoveLearnset = sSlowpokeGalarianEggMoveLearnset, .formSpeciesIdTable = sSlowpokeFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_ITEM, ITEM_GALARICA_CUFF, SPECIES_SLOWBRO_GALARIAN}, {EVO_ITEM, ITEM_GALARICA_WREATH, SPECIES_SLOWKING_GALARIAN}), @@ -9351,6 +9393,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sFarfetchdLevelUpLearnset, .teachableLearnset = sFarfetchdTeachableLearnset, + .eggMoveLearnset = sFarfetchdEggMoveLearnset, .formSpeciesIdTable = sFarfetchdFormSpeciesIdTable, }, @@ -9415,6 +9458,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isGalarianForm = TRUE, .levelUpLearnset = sFarfetchdGalarianLevelUpLearnset, .teachableLearnset = sFarfetchdGalarianTeachableLearnset, + .eggMoveLearnset = sFarfetchdGalarianEggMoveLearnset, .formSpeciesIdTable = sFarfetchdFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_CRITICAL_HITS, 3, SPECIES_SIRFETCHD}), }, @@ -9546,6 +9590,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sDoduoLevelUpLearnset, .teachableLearnset = sDoduoTeachableLearnset, + .eggMoveLearnset = sDoduoEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 31, SPECIES_DODRIO}), }, @@ -9680,6 +9725,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sSeelLevelUpLearnset, .teachableLearnset = sSeelTeachableLearnset, + .eggMoveLearnset = sSeelEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_DEWGONG}), }, @@ -9804,6 +9850,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sGrimerLevelUpLearnset, .teachableLearnset = sGrimerTeachableLearnset, + .eggMoveLearnset = sGrimerEggMoveLearnset, .formSpeciesIdTable = sGrimerFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_MUK}), }, @@ -9933,6 +9980,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isAlolanForm = TRUE, .levelUpLearnset = sGrimerAlolanLevelUpLearnset, .teachableLearnset = sGrimerAlolanTeachableLearnset, + .eggMoveLearnset = sGrimerAlolanEggMoveLearnset, .formSpeciesIdTable = sGrimerFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_MUK_ALOLAN}), }, @@ -10066,6 +10114,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sShellderLevelUpLearnset, .teachableLearnset = sShellderTeachableLearnset, + .eggMoveLearnset = sShellderEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_WATER_STONE, SPECIES_CLOYSTER}), }, @@ -10192,6 +10241,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sGastlyLevelUpLearnset, .teachableLearnset = sGastlyTeachableLearnset, + .eggMoveLearnset = sGastlyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_HAUNTER}), }, @@ -10260,9 +10310,9 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_UPDATED_ABILITIES >= GEN_7 -#define GENGAR_ABILITIES {ABILITY_CURSED_BODY, ABILITY_NONE} +#define GENGAR_ABILITIES {ABILITY_CURSED_BODY, ABILITY_NONE, ABILITY_NONE} #else -#define GENGAR_ABILITIES {ABILITY_LEVITATE, ABILITY_NONE} +#define GENGAR_ABILITIES {ABILITY_LEVITATE, ABILITY_NONE, ABILITY_NONE} #endif [SPECIES_GENGAR] = @@ -10507,6 +10557,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sOnixLevelUpLearnset, .teachableLearnset = sOnixTeachableLearnset, + .eggMoveLearnset = sOnixEggMoveLearnset, .evolutions = EVOLUTION({EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_STEELIX}, {EVO_ITEM, ITEM_METAL_COAT, SPECIES_STEELIX}), }, @@ -10700,6 +10751,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sDrowzeeLevelUpLearnset, .teachableLearnset = sDrowzeeTeachableLearnset, + .eggMoveLearnset = sDrowzeeEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 26, SPECIES_HYPNO}), }, @@ -10828,6 +10880,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sKrabbyLevelUpLearnset, .teachableLearnset = sKrabbyTeachableLearnset, + .eggMoveLearnset = sKrabbyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 28, SPECIES_KINGLER}), }, @@ -11274,6 +11327,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sExeggcuteLevelUpLearnset, .teachableLearnset = sExeggcuteTeachableLearnset, + .eggMoveLearnset = sExeggcuteEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_LEAF_STONE, SPECIES_EXEGGUTOR}, {EVO_NONE, 0, SPECIES_EXEGGUTOR_ALOLAN}), }, @@ -11475,6 +11529,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sCuboneLevelUpLearnset, .teachableLearnset = sCuboneTeachableLearnset, + .eggMoveLearnset = sCuboneEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 28, SPECIES_MAROWAK}, {EVO_NONE, 0, SPECIES_MAROWAK_ALOLAN}, {EVO_NONE, 0, SPECIES_MAROWAK_ALOLAN_TOTEM}), @@ -11716,6 +11771,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sTyrogueLevelUpLearnset, .teachableLearnset = sTyrogueTeachableLearnset, + .eggMoveLearnset = sTyrogueEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL_ATK_LT_DEF, 20, SPECIES_HITMONCHAN}, {EVO_LEVEL_ATK_GT_DEF, 20, SPECIES_HITMONLEE}, {EVO_LEVEL_ATK_EQ_DEF, 20, SPECIES_HITMONTOP}), @@ -11965,6 +12021,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sLickitungLevelUpLearnset, .teachableLearnset = sLickitungTeachableLearnset, + .eggMoveLearnset = sLickitungEggMoveLearnset, .evolutions = EVOLUTION({EVO_MOVE, MOVE_ROLLOUT, SPECIES_LICKILICKY}), }, @@ -12097,6 +12154,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sKoffingLevelUpLearnset, .teachableLearnset = sKoffingTeachableLearnset, + .eggMoveLearnset = sKoffingEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_WEEZING}, {EVO_NONE, 0, SPECIES_WEEZING_GALARIAN}), }, @@ -12300,6 +12358,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sRhyhornLevelUpLearnset, .teachableLearnset = sRhyhornTeachableLearnset, + .eggMoveLearnset = sRhyhornEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 42, SPECIES_RHYDON}), }, @@ -12503,6 +12562,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sHappinyLevelUpLearnset, .teachableLearnset = sHappinyTeachableLearnset, + .eggMoveLearnset = sHappinyEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM_HOLD_DAY, ITEM_OVAL_STONE, SPECIES_CHANSEY}, {EVO_ITEM_DAY, ITEM_OVAL_STONE, SPECIES_CHANSEY}), }, @@ -12567,6 +12627,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sChanseyLevelUpLearnset, .teachableLearnset = sChanseyTeachableLearnset, + .eggMoveLearnset = sChanseyEggMoveLearnset, .evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_BLISSEY}), }, @@ -12693,6 +12754,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sTangelaLevelUpLearnset, .teachableLearnset = sTangelaTeachableLearnset, + .eggMoveLearnset = sTangelaEggMoveLearnset, .evolutions = EVOLUTION({EVO_MOVE, MOVE_ANCIENT_POWER, SPECIES_TANGROWTH}), }, @@ -12820,6 +12882,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sKangaskhanLevelUpLearnset, .teachableLearnset = sKangaskhanTeachableLearnset, + .eggMoveLearnset = sKangaskhanEggMoveLearnset, .formSpeciesIdTable = sKangaskhanFormSpeciesIdTable, .formChangeTable = sKangaskhanFormChangeTable, }, @@ -12876,6 +12939,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isMegaEvolution = TRUE, .levelUpLearnset = sKangaskhanLevelUpLearnset, .teachableLearnset = sKangaskhanTeachableLearnset, + .eggMoveLearnset = sKangaskhanEggMoveLearnset, .formSpeciesIdTable = sKangaskhanFormSpeciesIdTable, .formChangeTable = sKangaskhanFormChangeTable, }, @@ -12942,6 +13006,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sHorseaLevelUpLearnset, .teachableLearnset = sHorseaTeachableLearnset, + .eggMoveLearnset = sHorseaEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 32, SPECIES_SEADRA}), }, @@ -13145,6 +13210,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sGoldeenLevelUpLearnset, .teachableLearnset = sGoldeenTeachableLearnset, + .eggMoveLearnset = sGoldeenEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 33, SPECIES_SEAKING}), }, @@ -13406,6 +13472,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sMimeJrLevelUpLearnset, .teachableLearnset = sMimeJrTeachableLearnset, + .eggMoveLearnset = sMimeJrEggMoveLearnset, .evolutions = EVOLUTION({EVO_MOVE, MOVE_MIMIC, SPECIES_MR_MIME}, {EVO_NONE, 0, SPECIES_MR_MIME_GALARIAN}), }, @@ -13473,6 +13540,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sMrMimeLevelUpLearnset, .teachableLearnset = sMrMimeTeachableLearnset, + .eggMoveLearnset = sMrMimeEggMoveLearnset, .formSpeciesIdTable = sMrMimeFormSpeciesIdTable, }, @@ -13536,6 +13604,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isGalarianForm = TRUE, .levelUpLearnset = sMrMimeGalarianLevelUpLearnset, .teachableLearnset = sMrMimeGalarianTeachableLearnset, + .eggMoveLearnset = sMrMimeGalarianEggMoveLearnset, .formSpeciesIdTable = sMrMimeFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 42, SPECIES_MR_RIME}), }, @@ -13663,6 +13732,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sScytherLevelUpLearnset, .teachableLearnset = sScytherTeachableLearnset, + .eggMoveLearnset = sScytherEggMoveLearnset, .evolutions = EVOLUTION({EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR}, {EVO_ITEM, ITEM_BLACK_AUGURITE, SPECIES_KLEAVOR}, {EVO_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR}), @@ -13840,7 +13910,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Kleavor, .iconSprite = gMonIcon_Kleavor, .iconPalIndex = 2, - //FOOTPRINT(Kleavor) + FOOTPRINT(Kleavor) FOLLOWER( sPicTable_Kleavor, SIZE_32x32, @@ -13916,6 +13986,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sSmoochumLevelUpLearnset, .teachableLearnset = sSmoochumTeachableLearnset, + .eggMoveLearnset = sSmoochumEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_JYNX}), }, #endif //P_GEN_2_CROSS_EVOS @@ -14043,6 +14114,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sElekidLevelUpLearnset, .teachableLearnset = sElekidTeachableLearnset, + .eggMoveLearnset = sElekidEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_ELECTABUZZ}), }, #endif //P_GEN_2_CROSS_EVOS @@ -14243,6 +14315,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sMagbyLevelUpLearnset, .teachableLearnset = sMagbyTeachableLearnset, + .eggMoveLearnset = sMagbyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_MAGMAR}), }, #endif //P_GEN_2_CROSS_EVOS @@ -14440,6 +14513,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sPinsirLevelUpLearnset, .teachableLearnset = sPinsirTeachableLearnset, + .eggMoveLearnset = sPinsirEggMoveLearnset, .formSpeciesIdTable = sPinsirFormSpeciesIdTable, .formChangeTable = sPinsirFormChangeTable, }, @@ -14497,6 +14571,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isMegaEvolution = TRUE, .levelUpLearnset = sPinsirLevelUpLearnset, .teachableLearnset = sPinsirTeachableLearnset, + .eggMoveLearnset = sPinsirEggMoveLearnset, .formSpeciesIdTable = sPinsirFormSpeciesIdTable, .formChangeTable = sPinsirFormChangeTable, }, @@ -14619,6 +14694,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isPaldeanForm = TRUE, .levelUpLearnset = sTaurosPaldeanCombatBreedLevelUpLearnset, .teachableLearnset = sTaurosPaldeanCombatBreedTeachableLearnset, + .eggMoveLearnset = sTaurosPaldeanCombatBreedEggMoveLearnset, .formSpeciesIdTable = sTaurosFormSpeciesIdTable, }, @@ -14673,6 +14749,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isPaldeanForm = TRUE, .levelUpLearnset = sTaurosPaldeanBlazeBreedLevelUpLearnset, .teachableLearnset = sTaurosPaldeanBlazeBreedTeachableLearnset, + .eggMoveLearnset = sTaurosPaldeanBlazeBreedEggMoveLearnset, .formSpeciesIdTable = sTaurosFormSpeciesIdTable, }, @@ -14727,6 +14804,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isPaldeanForm = TRUE, .levelUpLearnset = sTaurosPaldeanAquaBreedLevelUpLearnset, .teachableLearnset = sTaurosPaldeanAquaBreedTeachableLearnset, + .eggMoveLearnset = sTaurosPaldeanAquaBreedEggMoveLearnset, .formSpeciesIdTable = sTaurosFormSpeciesIdTable, }, #endif //P_PALDEAN_FORMS @@ -14985,6 +15063,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sLaprasLevelUpLearnset, .teachableLearnset = sLaprasTeachableLearnset, + .eggMoveLearnset = sLaprasEggMoveLearnset, .formSpeciesIdTable = sLaprasFormSpeciesIdTable, .formChangeTable = sLaprasFormChangeTable, }, @@ -15043,6 +15122,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isGigantamax = TRUE, .levelUpLearnset = sLaprasLevelUpLearnset, .teachableLearnset = sLaprasTeachableLearnset, + .eggMoveLearnset = sLaprasEggMoveLearnset, .formSpeciesIdTable = sLaprasFormSpeciesIdTable, .formChangeTable = sLaprasFormChangeTable, }, @@ -15173,6 +15253,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sEeveeLevelUpLearnset, .teachableLearnset = sEeveeTeachableLearnset, + .eggMoveLearnset = sEeveeEggMoveLearnset, .formSpeciesIdTable = sEeveeFormSpeciesIdTable, .formChangeTable = sEeveeFormChangeTable, .evolutions = EVOLUTION({EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_JOLTEON}, @@ -15239,6 +15320,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isGigantamax = TRUE, .levelUpLearnset = sEeveeLevelUpLearnset, .teachableLearnset = sEeveeTeachableLearnset, + .eggMoveLearnset = sEeveeEggMoveLearnset, .formSpeciesIdTable = sEeveeFormSpeciesIdTable, .formChangeTable = sEeveeFormChangeTable, }, @@ -15300,6 +15382,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .allPerfectIVs = TRUE, .levelUpLearnset = sEeveeLevelUpLearnset, .teachableLearnset = sEeveeTeachableLearnset, + .eggMoveLearnset = sEeveeEggMoveLearnset, .formSpeciesIdTable = sEeveeFormSpeciesIdTable, }, @@ -16054,6 +16137,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sOmanyteLevelUpLearnset, .teachableLearnset = sOmanyteTeachableLearnset, + .eggMoveLearnset = sOmanyteEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_OMASTAR}), }, @@ -16183,6 +16267,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sKabutoLevelUpLearnset, .teachableLearnset = sKabutoTeachableLearnset, + .eggMoveLearnset = sKabutoEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_KABUTOPS}), }, @@ -16313,6 +16398,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sAerodactylLevelUpLearnset, .teachableLearnset = sAerodactylTeachableLearnset, + .eggMoveLearnset = sAerodactylEggMoveLearnset, .formSpeciesIdTable = sAerodactylFormSpeciesIdTable, .formChangeTable = sAerodactylFormChangeTable, }, @@ -16369,6 +16455,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isMegaEvolution = TRUE, .levelUpLearnset = sAerodactylLevelUpLearnset, .teachableLearnset = sAerodactylTeachableLearnset, + .eggMoveLearnset = sAerodactylEggMoveLearnset, .formSpeciesIdTable = sAerodactylFormSpeciesIdTable, .formChangeTable = sAerodactylFormChangeTable, }, @@ -16437,6 +16524,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sMunchlaxLevelUpLearnset, .teachableLearnset = sMunchlaxTeachableLearnset, + .eggMoveLearnset = sMunchlaxEggMoveLearnset, .evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_SNORLAX}), }, #endif //P_GEN_4_CROSS_EVOS @@ -16501,6 +16589,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sSnorlaxLevelUpLearnset, .teachableLearnset = sSnorlaxTeachableLearnset, + .eggMoveLearnset = sSnorlaxEggMoveLearnset, .formSpeciesIdTable = sSnorlaxFormSpeciesIdTable, .formChangeTable = sSnorlaxFormChangeTable, }, @@ -16559,6 +16648,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isGigantamax = TRUE, .levelUpLearnset = sSnorlaxLevelUpLearnset, .teachableLearnset = sSnorlaxTeachableLearnset, + .eggMoveLearnset = sSnorlaxEggMoveLearnset, .formSpeciesIdTable = sSnorlaxFormSpeciesIdTable, .formChangeTable = sSnorlaxFormChangeTable, }, @@ -17036,6 +17126,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = ) .levelUpLearnset = sDratiniLevelUpLearnset, .teachableLearnset = sDratiniTeachableLearnset, + .eggMoveLearnset = sDratiniEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_DRAGONAIR}), }, @@ -17433,4 +17524,4 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #ifdef __INTELLISENSE__ }; -#endif \ No newline at end of file +#endif diff --git a/src/data/pokemon/species_info/gen_2_families.h b/src/data/pokemon/species_info/gen_2_families.h index 89870c24ab..67177d85b1 100644 --- a/src/data/pokemon/species_info/gen_2_families.h +++ b/src/data/pokemon/species_info/gen_2_families.h @@ -62,6 +62,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sChikoritaLevelUpLearnset, .teachableLearnset = sChikoritaTeachableLearnset, + .eggMoveLearnset = sChikoritaEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_BAYLEEF}), }, @@ -258,6 +259,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sCyndaquilLevelUpLearnset, .teachableLearnset = sCyndaquilTeachableLearnset, + .eggMoveLearnset = sCyndaquilEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 14, SPECIES_QUILAVA}), }, @@ -518,6 +520,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sTotodileLevelUpLearnset, .teachableLearnset = sTotodileTeachableLearnset, + .eggMoveLearnset = sTotodileEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_CROCONAW}), }, @@ -712,6 +715,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sSentretLevelUpLearnset, .teachableLearnset = sSentretTeachableLearnset, + .eggMoveLearnset = sSentretEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 15, SPECIES_FURRET}), }, @@ -835,6 +839,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sHoothootLevelUpLearnset, .teachableLearnset = sHoothootTeachableLearnset, + .eggMoveLearnset = sHoothootEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_NOCTOWL}), }, @@ -968,6 +973,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sLedybaLevelUpLearnset, .teachableLearnset = sLedybaTeachableLearnset, + .eggMoveLearnset = sLedybaEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_LEDIAN}), }, @@ -1096,6 +1102,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sSpinarakLevelUpLearnset, .teachableLearnset = sSpinarakTeachableLearnset, + .eggMoveLearnset = sSpinarakEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 22, SPECIES_ARIADOS}), }, @@ -1226,6 +1233,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sChinchouLevelUpLearnset, .teachableLearnset = sChinchouTeachableLearnset, + .eggMoveLearnset = sChinchouEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 27, SPECIES_LANTURN}), }, @@ -1352,6 +1360,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sTogepiLevelUpLearnset, .teachableLearnset = sTogepiTeachableLearnset, + .eggMoveLearnset = sTogepiEggMoveLearnset, .evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_TOGETIC}), }, @@ -1548,6 +1557,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sNatuLevelUpLearnset, .teachableLearnset = sNatuTeachableLearnset, + .eggMoveLearnset = sNatuEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_XATU}), }, @@ -1675,6 +1685,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sMareepLevelUpLearnset, .teachableLearnset = sMareepTeachableLearnset, + .eggMoveLearnset = sMareepEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 15, SPECIES_FLAAFFY}), }, @@ -1934,6 +1945,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sAzurillLevelUpLearnset, .teachableLearnset = sAzurillTeachableLearnset, + .eggMoveLearnset = sAzurillEggMoveLearnset, .evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_MARILL}), }, #endif //P_GEN_3_CROSS_EVOS @@ -2000,6 +2012,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sMarillLevelUpLearnset, .teachableLearnset = sMarillTeachableLearnset, + .eggMoveLearnset = sMarillEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_AZUMARILL}), }, @@ -2136,6 +2149,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sBonslyLevelUpLearnset, .teachableLearnset = sBonslyTeachableLearnset, + .eggMoveLearnset = sBonslyEggMoveLearnset, .evolutions = EVOLUTION({EVO_MOVE, MOVE_MIMIC, SPECIES_SUDOWOODO}), }, #endif //P_GEN_4_CROSS_EVOS @@ -2202,6 +2216,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sSudowoodoLevelUpLearnset, .teachableLearnset = sSudowoodoTeachableLearnset, + .eggMoveLearnset = sSudowoodoEggMoveLearnset, }, #endif //P_FAMILY_SUDOWOODO @@ -2265,6 +2280,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sHoppipLevelUpLearnset, .teachableLearnset = sHoppipTeachableLearnset, + .eggMoveLearnset = sHoppipEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_SKIPLOOM}), }, @@ -2463,6 +2479,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sAipomLevelUpLearnset, .teachableLearnset = sAipomTeachableLearnset, + .eggMoveLearnset = sAipomEggMoveLearnset, .evolutions = EVOLUTION({EVO_MOVE, MOVE_DOUBLE_HIT, SPECIES_AMBIPOM}), }, @@ -2592,6 +2609,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sSunkernLevelUpLearnset, .teachableLearnset = sSunkernTeachableLearnset, + .eggMoveLearnset = sSunkernEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_SUN_STONE, SPECIES_SUNFLORA}), }, @@ -2717,6 +2735,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sYanmaLevelUpLearnset, .teachableLearnset = sYanmaTeachableLearnset, + .eggMoveLearnset = sYanmaEggMoveLearnset, .evolutions = EVOLUTION({EVO_MOVE, MOVE_ANCIENT_POWER, SPECIES_YANMEGA}), }, @@ -2848,6 +2867,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sWooperLevelUpLearnset, .teachableLearnset = sWooperTeachableLearnset, + .eggMoveLearnset = sWooperEggMoveLearnset, .formSpeciesIdTable = sWooperFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_QUAGSIRE}), }, @@ -2968,6 +2988,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .isPaldeanForm = TRUE, .levelUpLearnset = sWooperPaldeanLevelUpLearnset, .teachableLearnset = sWooperPaldeanTeachableLearnset, + .eggMoveLearnset = sWooperPaldeanEggMoveLearnset, .formSpeciesIdTable = sWooperFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_CLODSIRE}), }, @@ -3019,7 +3040,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Clodsire, .iconSprite = gMonIcon_Clodsire, .iconPalIndex = 0, - //FOOTPRINT(Clodsire) + FOOTPRINT(Clodsire) .levelUpLearnset = sClodsireLevelUpLearnset, .teachableLearnset = sClodsireTeachableLearnset, }, @@ -3090,6 +3111,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sMurkrowLevelUpLearnset, .teachableLearnset = sMurkrowTeachableLearnset, + .eggMoveLearnset = sMurkrowEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_DUSK_STONE, SPECIES_HONCHKROW}), }, @@ -3217,6 +3239,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sMisdreavusLevelUpLearnset, .teachableLearnset = sMisdreavusTeachableLearnset, + .eggMoveLearnset = sMisdreavusEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_DUSK_STONE, SPECIES_MISMAGIUS}), }, @@ -3576,6 +3599,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sGirafarigLevelUpLearnset, .teachableLearnset = sGirafarigTeachableLearnset, + .eggMoveLearnset = sGirafarigEggMoveLearnset, .evolutions = EVOLUTION({EVO_MOVE, MOVE_TWIN_BEAM, SPECIES_FARIGIRAF}), }, @@ -3627,7 +3651,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Farigiraf, .iconSprite = gMonIcon_Farigiraf, .iconPalIndex = 0, - //FOOTPRINT(Farigiraf) + FOOTPRINT(Farigiraf) .levelUpLearnset = sFarigirafLevelUpLearnset, .teachableLearnset = sFarigirafTeachableLearnset, }, @@ -3693,6 +3717,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sPinecoLevelUpLearnset, .teachableLearnset = sPinecoTeachableLearnset, + .eggMoveLearnset = sPinecoEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 31, SPECIES_FORRETRESS}), }, @@ -3823,6 +3848,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sDunsparceLevelUpLearnset, .teachableLearnset = sDunsparceTeachableLearnset, + .eggMoveLearnset = sDunsparceEggMoveLearnset, .evolutions = EVOLUTION({EVO_MOVE_TWO_SEGMENT, MOVE_HYPER_DRILL, SPECIES_DUDUNSPARCE_TWO_SEGMENT}, {EVO_MOVE_THREE_SEGMENT, MOVE_HYPER_DRILL, SPECIES_DUDUNSPARCE_THREE_SEGMENT}), }, @@ -3875,7 +3901,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Dudunsparce, .iconSprite = gMonIcon_Dudunsparce, .iconPalIndex = 0, - //FOOTPRINT(Dudunsparce), + FOOTPRINT(Dudunsparce) .levelUpLearnset = sDudunsparceLevelUpLearnset, .teachableLearnset = sDudunsparceTeachableLearnset, .formSpeciesIdTable = sDudunsparceFormSpeciesIdTable, @@ -3928,7 +3954,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Dudunsparce, .iconSprite = gMonIcon_Dudunsparce, .iconPalIndex = 0, - //FOOTPRINT(Dudunsparce), + FOOTPRINT(Dudunsparce) .levelUpLearnset = sDudunsparceLevelUpLearnset, .teachableLearnset = sDudunsparceTeachableLearnset, .formSpeciesIdTable = sDudunsparceFormSpeciesIdTable, @@ -4000,6 +4026,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sGligarLevelUpLearnset, .teachableLearnset = sGligarTeachableLearnset, + .eggMoveLearnset = sGligarEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM_HOLD_NIGHT, ITEM_RAZOR_FANG, SPECIES_GLISCOR}, {EVO_ITEM_NIGHT, ITEM_RAZOR_FANG, SPECIES_GLISCOR}), }, @@ -4131,6 +4158,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sSnubbullLevelUpLearnset, .teachableLearnset = sSnubbullTeachableLearnset, + .eggMoveLearnset = sSnubbullEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 23, SPECIES_GRANBULL}), }, @@ -4269,6 +4297,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sQwilfishLevelUpLearnset, .teachableLearnset = sQwilfishTeachableLearnset, + .eggMoveLearnset = sQwilfishEggMoveLearnset, .formSpeciesIdTable = sQwilfishFormSpeciesIdTable, }, @@ -4385,7 +4414,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Overqwil, .iconSprite = gMonIcon_Overqwil, .iconPalIndex = 2, - //FOOTPRINT(Overqwil) + FOOTPRINT(Overqwil) FOLLOWER( sPicTable_Overqwil, SIZE_32x32, @@ -4462,6 +4491,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sShuckleLevelUpLearnset, .teachableLearnset = sShuckleTeachableLearnset, + .eggMoveLearnset = sShuckleEggMoveLearnset, }, #endif //P_FAMILY_SHUCKLE @@ -4528,6 +4558,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sHeracrossLevelUpLearnset, .teachableLearnset = sHeracrossTeachableLearnset, + .eggMoveLearnset = sHeracrossEggMoveLearnset, .formSpeciesIdTable = sHeracrossFormSpeciesIdTable, .formChangeTable = sHeracrossFormChangeTable, }, @@ -4584,6 +4615,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .isMegaEvolution = TRUE, .levelUpLearnset = sHeracrossLevelUpLearnset, .teachableLearnset = sHeracrossTeachableLearnset, + .eggMoveLearnset = sHeracrossEggMoveLearnset, .formSpeciesIdTable = sHeracrossFormSpeciesIdTable, .formChangeTable = sHeracrossFormChangeTable, }, @@ -4655,6 +4687,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sSneaselLevelUpLearnset, .teachableLearnset = sSneaselTeachableLearnset, + .eggMoveLearnset = sSneaselEggMoveLearnset, .formSpeciesIdTable = sSneaselFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_ITEM_HOLD_NIGHT, ITEM_RAZOR_CLAW, SPECIES_WEAVILE}, {EVO_ITEM_NIGHT, ITEM_RAZOR_CLAW, SPECIES_WEAVILE}), @@ -4846,7 +4879,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Sneasler, .iconSprite = gMonIcon_Sneasler, .iconPalIndex = 2, - //FOOTPRINT(Sneasler) + FOOTPRINT(Sneasler) FOLLOWER( sPicTable_Sneasler, SIZE_32x32, @@ -4921,6 +4954,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sTeddiursaLevelUpLearnset, .teachableLearnset = sTeddiursaTeachableLearnset, + .eggMoveLearnset = sTeddiursaEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_URSARING}), }, @@ -5037,7 +5071,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Ursaluna, .iconSprite = gMonIcon_Ursaluna, .iconPalIndex = 2, - //FOOTPRINT(Ursaluna) + FOOTPRINT(Ursaluna) FOLLOWER( sPicTable_Ursaluna, SIZE_32x32, @@ -5098,7 +5132,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_UrsalunaBloodmoon, .iconSprite = gMonIcon_UrsalunaBloodmoon, .iconPalIndex = 2, - //FOOTPRINT(UrsalunaBloodmoon) + FOOTPRINT(Ursaluna) .levelUpLearnset = sUrsalunaBloodmoonLevelUpLearnset, .teachableLearnset = sUrsalunaBloodmoonTeachableLearnset, .formSpeciesIdTable = sUrsalunaFormSpeciesIdTable, @@ -5165,6 +5199,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sSlugmaLevelUpLearnset, .teachableLearnset = sSlugmaTeachableLearnset, + .eggMoveLearnset = sSlugmaEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_MAGCARGO}), }, @@ -5295,6 +5330,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sSwinubLevelUpLearnset, .teachableLearnset = sSwinubTeachableLearnset, + .eggMoveLearnset = sSwinubEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 33, SPECIES_PILOSWINE}), }, @@ -5506,6 +5542,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sCorsolaLevelUpLearnset, .teachableLearnset = sCorsolaTeachableLearnset, + .eggMoveLearnset = sCorsolaEggMoveLearnset, .formSpeciesIdTable = sCorsolaFormSpeciesIdTable, }, @@ -5569,6 +5606,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .isGalarianForm = TRUE, .levelUpLearnset = sCorsolaGalarianLevelUpLearnset, .teachableLearnset = sCorsolaGalarianTeachableLearnset, + .eggMoveLearnset = sCorsolaGalarianEggMoveLearnset, .formSpeciesIdTable = sCorsolaFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_CURSOLA}), }, @@ -5694,6 +5732,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sRemoraidLevelUpLearnset, .teachableLearnset = sRemoraidTeachableLearnset, + .eggMoveLearnset = sRemoraidEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_OCTILLERY}), }, @@ -5823,6 +5862,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sDelibirdLevelUpLearnset, .teachableLearnset = sDelibirdTeachableLearnset, + .eggMoveLearnset = sDelibirdEggMoveLearnset, }, #endif //P_FAMILY_DELIBIRD @@ -5886,6 +5926,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sMantykeLevelUpLearnset, .teachableLearnset = sMantykeTeachableLearnset, + .eggMoveLearnset = sMantykeEggMoveLearnset, .evolutions = EVOLUTION({EVO_SPECIFIC_MON_IN_PARTY, SPECIES_REMORAID, SPECIES_MANTINE}), }, #endif //P_GEN_4_CROSS_EVOS @@ -5955,6 +5996,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sMantineLevelUpLearnset, .teachableLearnset = sMantineTeachableLearnset, + .eggMoveLearnset = sMantineEggMoveLearnset, }, #endif //P_FAMILY_MANTINE @@ -6018,6 +6060,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sSkarmoryLevelUpLearnset, .teachableLearnset = sSkarmoryTeachableLearnset, + .eggMoveLearnset = sSkarmoryEggMoveLearnset, }, #endif //P_FAMILY_SKARMORY @@ -6080,6 +6123,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sHoundourLevelUpLearnset, .teachableLearnset = sHoundourTeachableLearnset, + .eggMoveLearnset = sHoundourEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 24, SPECIES_HOUNDOOM}), }, @@ -6265,6 +6309,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sPhanpyLevelUpLearnset, .teachableLearnset = sPhanpyTeachableLearnset, + .eggMoveLearnset = sPhanpyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_DONPHAN}), }, @@ -6393,7 +6438,8 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sStantlerLevelUpLearnset, .teachableLearnset = sStantlerTeachableLearnset, - .evolutions = EVOLUTION({EVO_LEVEL_MOVE_TWENTY_TIMES, MOVE_PSYSHIELD_BASH, SPECIES_WYRDEER}), + .eggMoveLearnset = sStantlerEggMoveLearnset, + .evolutions = EVOLUTION({EVO_USE_MOVE_TWENTY_TIMES, MOVE_PSYSHIELD_BASH, SPECIES_WYRDEER}), }, #if P_GEN_8_CROSS_EVOS @@ -6445,7 +6491,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Wyrdeer, .iconSprite = gMonIcon_Wyrdeer, .iconPalIndex = 2, - //FOOTPRINT(Wyrdeer) + FOOTPRINT(Wyrdeer) FOLLOWER( sPicTable_Wyrdeer, SIZE_32x32, @@ -6584,6 +6630,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sMiltankLevelUpLearnset, .teachableLearnset = sMiltankTeachableLearnset, + .eggMoveLearnset = sMiltankEggMoveLearnset, }, #endif //P_FAMILY_MILTANK @@ -6868,6 +6915,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = ) .levelUpLearnset = sLarvitarLevelUpLearnset, .teachableLearnset = sLarvitarTeachableLearnset, + .eggMoveLearnset = sLarvitarEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_PUPITAR}), }, diff --git a/src/data/pokemon/species_info/gen_3_families.h b/src/data/pokemon/species_info/gen_3_families.h index 0c1ddfef88..2a2519a554 100644 --- a/src/data/pokemon/species_info/gen_3_families.h +++ b/src/data/pokemon/species_info/gen_3_families.h @@ -62,6 +62,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sTreeckoLevelUpLearnset, .teachableLearnset = sTreeckoTeachableLearnset, + .eggMoveLearnset = sTreeckoEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_GROVYLE}), }, @@ -313,6 +314,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sTorchicLevelUpLearnset, .teachableLearnset = sTorchicTeachableLearnset, + .eggMoveLearnset = sTorchicEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_COMBUSKEN}), }, @@ -571,6 +573,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sMudkipLevelUpLearnset, .teachableLearnset = sMudkipTeachableLearnset, + .eggMoveLearnset = sMudkipEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_MARSHTOMP}), }, @@ -826,6 +829,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sPoochyenaLevelUpLearnset, .teachableLearnset = sPoochyenaTeachableLearnset, + .eggMoveLearnset = sPoochyenaEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_MIGHTYENA}), }, @@ -959,6 +963,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sZigzagoonLevelUpLearnset, .teachableLearnset = sZigzagoonTeachableLearnset, + .eggMoveLearnset = sZigzagoonEggMoveLearnset, .formSpeciesIdTable = sZigzagoonFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_LINOONE}), }, @@ -1086,6 +1091,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .isGalarianForm = TRUE, .levelUpLearnset = sZigzagoonGalarianLevelUpLearnset, .teachableLearnset = sZigzagoonGalarianTeachableLearnset, + .eggMoveLearnset = sZigzagoonGalarianEggMoveLearnset, .formSpeciesIdTable = sZigzagoonFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_LINOONE_GALARIAN}), }, @@ -1628,6 +1634,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sLotadLevelUpLearnset, .teachableLearnset = sLotadTeachableLearnset, + .eggMoveLearnset = sLotadEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 14, SPECIES_LOMBRE}), }, @@ -1825,6 +1832,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sSeedotLevelUpLearnset, .teachableLearnset = sSeedotTeachableLearnset, + .eggMoveLearnset = sSeedotEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 14, SPECIES_NUZLEAF}), }, @@ -2029,6 +2037,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sTaillowLevelUpLearnset, .teachableLearnset = sTaillowTeachableLearnset, + .eggMoveLearnset = sTaillowEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 22, SPECIES_SWELLOW}), }, @@ -2160,6 +2169,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sWingullLevelUpLearnset, .teachableLearnset = sWingullTeachableLearnset, + .eggMoveLearnset = sWingullEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_PELIPPER}), }, @@ -2299,6 +2309,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sRaltsLevelUpLearnset, .teachableLearnset = sRaltsTeachableLearnset, + .eggMoveLearnset = sRaltsEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_KIRLIA}), }, @@ -2681,6 +2692,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sSurskitLevelUpLearnset, .teachableLearnset = sSurskitTeachableLearnset, + .eggMoveLearnset = sSurskitEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 22, SPECIES_MASQUERAIN}), }, @@ -2815,6 +2827,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sShroomishLevelUpLearnset, .teachableLearnset = sShroomishTeachableLearnset, + .eggMoveLearnset = sShroomishEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 23, SPECIES_BRELOOM}), }, @@ -2940,6 +2953,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sSlakothLevelUpLearnset, .teachableLearnset = sSlakothTeachableLearnset, + .eggMoveLearnset = sSlakothEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_VIGOROTH}), }, @@ -3131,6 +3145,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sNincadaLevelUpLearnset, .teachableLearnset = sNincadaTeachableLearnset, + .eggMoveLearnset = sNincadaEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL_NINJASK, 20, SPECIES_NINJASK}, {EVO_LEVEL_SHEDINJA, 20, SPECIES_SHEDINJA}), }, @@ -3317,6 +3332,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sWhismurLevelUpLearnset, .teachableLearnset = sWhismurTeachableLearnset, + .eggMoveLearnset = sWhismurEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_LOUDRED}), }, @@ -3510,6 +3526,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sMakuhitaLevelUpLearnset, .teachableLearnset = sMakuhitaTeachableLearnset, + .eggMoveLearnset = sMakuhitaEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 24, SPECIES_HARIYAMA}), }, @@ -3635,6 +3652,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sNosepassLevelUpLearnset, .teachableLearnset = sNosepassTeachableLearnset, + .eggMoveLearnset = sNosepassEggMoveLearnset, .evolutions = EVOLUTION({EVO_MAPSEC, MAPSEC_NEW_MAUVILLE, SPECIES_PROBOPASS}, {EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_PROBOPASS}), }, @@ -3764,6 +3782,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sSkittyLevelUpLearnset, .teachableLearnset = sSkittyTeachableLearnset, + .eggMoveLearnset = sSkittyEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_MOON_STONE, SPECIES_DELCATTY}), }, @@ -3896,6 +3915,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sSableyeLevelUpLearnset, .teachableLearnset = sSableyeTeachableLearnset, + .eggMoveLearnset = sSableyeEggMoveLearnset, .formSpeciesIdTable = sSableyeFormSpeciesIdTable, .formChangeTable = sSableyeFormChangeTable, }, @@ -3952,6 +3972,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .isMegaEvolution = TRUE, .levelUpLearnset = sSableyeLevelUpLearnset, .teachableLearnset = sSableyeTeachableLearnset, + .eggMoveLearnset = sSableyeEggMoveLearnset, .formSpeciesIdTable = sSableyeFormSpeciesIdTable, .formChangeTable = sSableyeFormChangeTable, }, @@ -4025,6 +4046,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sMawileLevelUpLearnset, .teachableLearnset = sMawileTeachableLearnset, + .eggMoveLearnset = sMawileEggMoveLearnset, .formSpeciesIdTable = sMawileFormSpeciesIdTable, .formChangeTable = sMawileFormChangeTable, }, @@ -4082,6 +4104,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .isMegaEvolution = TRUE, .levelUpLearnset = sMawileLevelUpLearnset, .teachableLearnset = sMawileTeachableLearnset, + .eggMoveLearnset = sMawileEggMoveLearnset, .formSpeciesIdTable = sMawileFormSpeciesIdTable, .formChangeTable = sMawileFormChangeTable, }, @@ -4148,6 +4171,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sAronLevelUpLearnset, .teachableLearnset = sAronTeachableLearnset, + .eggMoveLearnset = sAronEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 32, SPECIES_LAIRON}), }, @@ -4404,6 +4428,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sMedititeLevelUpLearnset, .teachableLearnset = sMedititeTeachableLearnset, + .eggMoveLearnset = sMedititeEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 37, SPECIES_MEDICHAM}), }, @@ -4590,6 +4615,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sElectrikeLevelUpLearnset, .teachableLearnset = sElectrikeTeachableLearnset, + .eggMoveLearnset = sElectrikeEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 26, SPECIES_MANECTRIC}), }, @@ -4772,6 +4798,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sPlusleLevelUpLearnset, .teachableLearnset = sPlusleTeachableLearnset, + .eggMoveLearnset = sPlusleEggMoveLearnset, }, #endif //P_FAMILY_PLUSLE @@ -4835,6 +4862,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sMinunLevelUpLearnset, .teachableLearnset = sMinunTeachableLearnset, + .eggMoveLearnset = sMinunEggMoveLearnset, }, #endif //P_FAMILY_MINUN @@ -4904,6 +4932,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sVolbeatLevelUpLearnset, .teachableLearnset = sVolbeatTeachableLearnset, + .eggMoveLearnset = sVolbeatEggMoveLearnset, }, [SPECIES_ILLUMISE] = @@ -4971,6 +5000,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sIllumiseLevelUpLearnset, .teachableLearnset = sIllumiseTeachableLearnset, + .eggMoveLearnset = sIllumiseEggMoveLearnset, }, #endif //P_FAMILY_VOLBEAT_ILLUMISE @@ -5036,6 +5066,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sBudewLevelUpLearnset, .teachableLearnset = sBudewTeachableLearnset, + .eggMoveLearnset = sBudewEggMoveLearnset, .evolutions = EVOLUTION({EVO_FRIENDSHIP_DAY, 0, SPECIES_ROSELIA}), }, #endif //P_GEN_4_CROSS_EVOS @@ -5104,6 +5135,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sRoseliaLevelUpLearnset, .teachableLearnset = sRoseliaTeachableLearnset, + .eggMoveLearnset = sRoseliaEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_SHINY_STONE, SPECIES_ROSERADE}), }, @@ -5249,6 +5281,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sGulpinLevelUpLearnset, .teachableLearnset = sGulpinTeachableLearnset, + .eggMoveLearnset = sGulpinEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 26, SPECIES_SWALOT}), }, @@ -5379,6 +5412,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sCarvanhaLevelUpLearnset, .teachableLearnset = sCarvanhaTeachableLearnset, + .eggMoveLearnset = sCarvanhaEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_SHARPEDO}), }, @@ -5564,6 +5598,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sWailmerLevelUpLearnset, .teachableLearnset = sWailmerTeachableLearnset, + .eggMoveLearnset = sWailmerEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_WAILORD}), }, @@ -5692,6 +5727,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sNumelLevelUpLearnset, .teachableLearnset = sNumelTeachableLearnset, + .eggMoveLearnset = sNumelEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 33, SPECIES_CAMERUPT}), }, @@ -5881,6 +5917,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sTorkoalLevelUpLearnset, .teachableLearnset = sTorkoalTeachableLearnset, + .eggMoveLearnset = sTorkoalEggMoveLearnset, }, #endif //P_FAMILY_TORKOAL @@ -5943,6 +5980,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sSpoinkLevelUpLearnset, .teachableLearnset = sSpoinkTeachableLearnset, + .eggMoveLearnset = sSpoinkEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 32, SPECIES_GRUMPIG}), }, @@ -6068,6 +6106,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sSpindaLevelUpLearnset, .teachableLearnset = sSpindaTeachableLearnset, + .eggMoveLearnset = sSpindaEggMoveLearnset, }, #endif //P_FAMILY_SPINDA @@ -6135,6 +6174,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sTrapinchLevelUpLearnset, .teachableLearnset = sTrapinchTeachableLearnset, + .eggMoveLearnset = sTrapinchEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_VIBRAVA}), }, @@ -6337,6 +6377,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sCacneaLevelUpLearnset, .teachableLearnset = sCacneaTeachableLearnset, + .eggMoveLearnset = sCacneaEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 32, SPECIES_CACTURNE}), }, @@ -6464,6 +6505,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sSwabluLevelUpLearnset, .teachableLearnset = sSwabluTeachableLearnset, + .eggMoveLearnset = sSwabluEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_ALTARIA}), }, @@ -6649,6 +6691,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sZangooseLevelUpLearnset, .teachableLearnset = sZangooseTeachableLearnset, + .eggMoveLearnset = sZangooseEggMoveLearnset, }, #endif //P_FAMILY_ZANGOOSE @@ -6714,6 +6757,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sSeviperLevelUpLearnset, .teachableLearnset = sSeviperTeachableLearnset, + .eggMoveLearnset = sSeviperEggMoveLearnset, }, #endif //P_FAMILY_SEVIPER @@ -6919,6 +6963,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sBarboachLevelUpLearnset, .teachableLearnset = sBarboachTeachableLearnset, + .eggMoveLearnset = sBarboachEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_WHISCASH}), }, @@ -7042,6 +7087,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sCorphishLevelUpLearnset, .teachableLearnset = sCorphishTeachableLearnset, + .eggMoveLearnset = sCorphishEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_CRAWDAUNT}), }, @@ -7299,6 +7345,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sLileepLevelUpLearnset, .teachableLearnset = sLileepTeachableLearnset, + .eggMoveLearnset = sLileepEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_CRADILY}), }, @@ -7435,6 +7482,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sAnorithLevelUpLearnset, .teachableLearnset = sAnorithTeachableLearnset, + .eggMoveLearnset = sAnorithEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_ARMALDO}), }, @@ -7564,6 +7612,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sFeebasLevelUpLearnset, .teachableLearnset = sFeebasTeachableLearnset, + .eggMoveLearnset = sFeebasEggMoveLearnset, .evolutions = EVOLUTION({EVO_BEAUTY, 170, SPECIES_MILOTIC}, {EVO_TRADE_ITEM, ITEM_PRISM_SCALE, SPECIES_MILOTIC}, {EVO_ITEM, ITEM_PRISM_SCALE, SPECIES_MILOTIC}), @@ -7697,6 +7746,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sCastformLevelUpLearnset, .teachableLearnset = sCastformTeachableLearnset, + .eggMoveLearnset = sCastformEggMoveLearnset, .formSpeciesIdTable = sCastformFormSpeciesIdTable, .formChangeTable = sCastformFormChangeTable, }, @@ -7762,6 +7812,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sCastformLevelUpLearnset, .teachableLearnset = sCastformTeachableLearnset, + .eggMoveLearnset = sCastformEggMoveLearnset, .formSpeciesIdTable = sCastformFormSpeciesIdTable, .formChangeTable = sCastformFormChangeTable, }, @@ -7827,6 +7878,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sCastformLevelUpLearnset, .teachableLearnset = sCastformTeachableLearnset, + .eggMoveLearnset = sCastformEggMoveLearnset, .formSpeciesIdTable = sCastformFormSpeciesIdTable, .formChangeTable = sCastformFormChangeTable, }, @@ -7892,6 +7944,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sCastformLevelUpLearnset, .teachableLearnset = sCastformTeachableLearnset, + .eggMoveLearnset = sCastformEggMoveLearnset, .formSpeciesIdTable = sCastformFormSpeciesIdTable, .formChangeTable = sCastformFormChangeTable, }, @@ -7957,6 +8010,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sKecleonLevelUpLearnset, .teachableLearnset = sKecleonTeachableLearnset, + .eggMoveLearnset = sKecleonEggMoveLearnset, }, #endif //P_FAMILY_KECLEON @@ -8021,6 +8075,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sShuppetLevelUpLearnset, .teachableLearnset = sShuppetTeachableLearnset, + .eggMoveLearnset = sShuppetEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 37, SPECIES_BANETTE}), }, @@ -8208,6 +8263,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sDuskullLevelUpLearnset, .teachableLearnset = sDuskullTeachableLearnset, + .eggMoveLearnset = sDuskullEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 37, SPECIES_DUSCLOPS}), }, @@ -8407,6 +8463,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sTropiusLevelUpLearnset, .teachableLearnset = sTropiusTeachableLearnset, + .eggMoveLearnset = sTropiusEggMoveLearnset, }, #endif //P_FAMILY_TROPIUS @@ -8471,6 +8528,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sChinglingLevelUpLearnset, .teachableLearnset = sChinglingTeachableLearnset, + .eggMoveLearnset = sChinglingEggMoveLearnset, .evolutions = EVOLUTION({EVO_FRIENDSHIP_NIGHT, 0, SPECIES_CHIMECHO}), }, #endif //P_GEN_4_CROSS_EVOS @@ -8542,6 +8600,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sChimechoLevelUpLearnset, .teachableLearnset = sChimechoTeachableLearnset, + .eggMoveLearnset = sChimechoEggMoveLearnset, }, #endif //P_FAMILY_CHIMECHO @@ -8606,6 +8665,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sAbsolLevelUpLearnset, .teachableLearnset = sAbsolTeachableLearnset, + .eggMoveLearnset = sAbsolEggMoveLearnset, .formSpeciesIdTable = sAbsolFormSpeciesIdTable, .formChangeTable = sAbsolFormChangeTable, }, @@ -8663,6 +8723,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .isMegaEvolution = TRUE, .levelUpLearnset = sAbsolLevelUpLearnset, .teachableLearnset = sAbsolTeachableLearnset, + .eggMoveLearnset = sAbsolEggMoveLearnset, .formSpeciesIdTable = sAbsolFormSpeciesIdTable, .formChangeTable = sAbsolFormChangeTable, }, @@ -8730,6 +8791,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sSnoruntLevelUpLearnset, .teachableLearnset = sSnoruntTeachableLearnset, + .eggMoveLearnset = sSnoruntEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 42, SPECIES_GLALIE}, {EVO_ITEM_FEMALE, ITEM_DAWN_STONE, SPECIES_FROSLASS}), }, @@ -8978,6 +9040,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sSphealLevelUpLearnset, .teachableLearnset = sSphealTeachableLearnset, + .eggMoveLearnset = sSphealEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 32, SPECIES_SEALEO}), }, @@ -9170,6 +9233,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sClamperlLevelUpLearnset, .teachableLearnset = sClamperlTeachableLearnset, + .eggMoveLearnset = sClamperlEggMoveLearnset, .evolutions = EVOLUTION({EVO_TRADE_ITEM, ITEM_DEEP_SEA_TOOTH, SPECIES_HUNTAIL}, {EVO_TRADE_ITEM, ITEM_DEEP_SEA_SCALE, SPECIES_GOREBYSS}, {EVO_ITEM, ITEM_DEEP_SEA_TOOTH, SPECIES_HUNTAIL}, @@ -9365,6 +9429,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sRelicanthLevelUpLearnset, .teachableLearnset = sRelicanthTeachableLearnset, + .eggMoveLearnset = sRelicanthEggMoveLearnset, }, #endif //P_FAMILY_RELICANTH @@ -9428,6 +9493,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sLuvdiscLevelUpLearnset, .teachableLearnset = sLuvdiscTeachableLearnset, + .eggMoveLearnset = sLuvdiscEggMoveLearnset, }, #endif //P_FAMILY_LUVDISC @@ -9491,6 +9557,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = ) .levelUpLearnset = sBagonLevelUpLearnset, .teachableLearnset = sBagonTeachableLearnset, + .eggMoveLearnset = sBagonEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_SHELGON}), }, @@ -11139,4 +11206,4 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = #ifdef __INTELLISENSE__ }; -#endif \ No newline at end of file +#endif diff --git a/src/data/pokemon/species_info/gen_4_families.h b/src/data/pokemon/species_info/gen_4_families.h index 8e80949cf7..34a7e4a1df 100644 --- a/src/data/pokemon/species_info/gen_4_families.h +++ b/src/data/pokemon/species_info/gen_4_families.h @@ -64,6 +64,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sTurtwigLevelUpLearnset, .teachableLearnset = sTurtwigTeachableLearnset, + .eggMoveLearnset = sTurtwigEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_GROTLE}), }, @@ -264,6 +265,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sChimcharLevelUpLearnset, .teachableLearnset = sChimcharTeachableLearnset, + .eggMoveLearnset = sChimcharEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 14, SPECIES_MONFERNO}), }, @@ -468,6 +470,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sPiplupLevelUpLearnset, .teachableLearnset = sPiplupTeachableLearnset, + .eggMoveLearnset = sPiplupEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_PRINPLUP}), }, @@ -676,6 +679,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sStarlyLevelUpLearnset, .teachableLearnset = sStarlyTeachableLearnset, + .eggMoveLearnset = sStarlyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 14, SPECIES_STARAVIA}), }, @@ -884,6 +888,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sBidoofLevelUpLearnset, .teachableLearnset = sBidoofTeachableLearnset, + .eggMoveLearnset = sBidoofEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 15, SPECIES_BIBAREL}), }, @@ -1155,6 +1160,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sShinxLevelUpLearnset, .teachableLearnset = sShinxTeachableLearnset, + .eggMoveLearnset = sShinxEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 15, SPECIES_LUXIO}), }, @@ -1359,6 +1365,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sCranidosLevelUpLearnset, .teachableLearnset = sCranidosTeachableLearnset, + .eggMoveLearnset = sCranidosEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_RAMPARDOS}), }, @@ -1486,6 +1493,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sShieldonLevelUpLearnset, .teachableLearnset = sShieldonTeachableLearnset, + .eggMoveLearnset = sShieldonEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_BASTIODON}), }, @@ -2216,6 +2224,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sPachirisuLevelUpLearnset, .teachableLearnset = sPachirisuTeachableLearnset, + .eggMoveLearnset = sPachirisuEggMoveLearnset, }, #endif //P_FAMILY_PACHIRISU @@ -2282,6 +2291,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sBuizelLevelUpLearnset, .teachableLearnset = sBuizelTeachableLearnset, + .eggMoveLearnset = sBuizelEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 26, SPECIES_FLOATZEL}), }, @@ -2412,6 +2422,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sCherubiLevelUpLearnset, .teachableLearnset = sCherubiTeachableLearnset, + .eggMoveLearnset = sCherubiEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_CHERRIM_OVERCAST}), }, @@ -2597,6 +2608,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sShellosLevelUpLearnset, .teachableLearnset = sShellosTeachableLearnset, + .eggMoveLearnset = sShellosEggMoveLearnset, .formSpeciesIdTable = sShellosFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_GASTRODON_WEST_SEA}), }, @@ -2661,6 +2673,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sShellosLevelUpLearnset, .teachableLearnset = sShellosTeachableLearnset, + .eggMoveLearnset = sShellosEggMoveLearnset, .formSpeciesIdTable = sShellosFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_GASTRODON_EAST_SEA}), }, @@ -2854,6 +2867,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sDrifloonLevelUpLearnset, .teachableLearnset = sDrifloonTeachableLearnset, + .eggMoveLearnset = sDrifloonEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 28, SPECIES_DRIFBLIM}), }, @@ -2982,6 +2996,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sBunearyLevelUpLearnset, .teachableLearnset = sBunearyTeachableLearnset, + .eggMoveLearnset = sBunearyEggMoveLearnset, .evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_LOPUNNY}), }, @@ -3168,6 +3183,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sGlameowLevelUpLearnset, .teachableLearnset = sGlameowTeachableLearnset, + .eggMoveLearnset = sGlameowEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_PURUGLY}), }, @@ -3295,6 +3311,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sStunkyLevelUpLearnset, .teachableLearnset = sStunkyTeachableLearnset, + .eggMoveLearnset = sStunkyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_SKUNTANK}), }, @@ -3555,6 +3572,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sChatotLevelUpLearnset, .teachableLearnset = sChatotTeachableLearnset, + .eggMoveLearnset = sChatotEggMoveLearnset, }, #endif //P_FAMILY_CHATOT @@ -3620,6 +3638,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sSpiritombLevelUpLearnset, .teachableLearnset = sSpiritombTeachableLearnset, + .eggMoveLearnset = sSpiritombEggMoveLearnset, }, #endif //P_FAMILY_SPIRITOMB @@ -3688,6 +3707,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sGibleLevelUpLearnset, .teachableLearnset = sGibleTeachableLearnset, + .eggMoveLearnset = sGibleEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 24, SPECIES_GABITE}), }, @@ -3949,6 +3969,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sRioluLevelUpLearnset, .teachableLearnset = sRioluTeachableLearnset, + .eggMoveLearnset = sRioluEggMoveLearnset, .evolutions = EVOLUTION({EVO_FRIENDSHIP_DAY, 0, SPECIES_LUCARIO}), }, @@ -4143,6 +4164,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sHippopotasLevelUpLearnset, .teachableLearnset = sHippopotasTeachableLearnset, + .eggMoveLearnset = sHippopotasEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_HIPPOWDON}), }, @@ -4277,6 +4299,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sSkorupiLevelUpLearnset, .teachableLearnset = sSkorupiTeachableLearnset, + .eggMoveLearnset = sSkorupiEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_DRAPION}), }, @@ -4410,6 +4433,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sCroagunkLevelUpLearnset, .teachableLearnset = sCroagunkTeachableLearnset, + .eggMoveLearnset = sCroagunkEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 37, SPECIES_TOXICROAK}), }, @@ -4543,6 +4567,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sCarnivineLevelUpLearnset, .teachableLearnset = sCarnivineTeachableLearnset, + .eggMoveLearnset = sCarnivineEggMoveLearnset, }, #endif //P_FAMILY_CARNIVINE @@ -4611,6 +4636,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sFinneonLevelUpLearnset, .teachableLearnset = sFinneonTeachableLearnset, + .eggMoveLearnset = sFinneonEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 31, SPECIES_LUMINEON}), }, @@ -4747,6 +4773,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = */ .levelUpLearnset = sSnoverLevelUpLearnset, .teachableLearnset = sSnoverTeachableLearnset, + .eggMoveLearnset = sSnoverEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_ABOMASNOW}), }, @@ -5988,7 +6015,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_GiratinaAltered, .iconSprite = gMonIcon_GiratinaAltered, .iconPalIndex = 0, - FOOTPRINT(Giratina) + FOOTPRINT(GiratinaAltered) /* FOLLOWER( sPicTable_GiratinaAltered, @@ -6055,7 +6082,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_GiratinaOrigin, .iconSprite = gMonIcon_GiratinaOrigin, .iconPalIndex = 0, - FOOTPRINT(Giratina) + FOOTPRINT(GiratinaOrigin) /* FOLLOWER( sPicTable_GiratinaOrigin, diff --git a/src/data/pokemon/species_info/gen_5_families.h b/src/data/pokemon/species_info/gen_5_families.h index 98b69f2e4e..dc37717018 100644 --- a/src/data/pokemon/species_info/gen_5_families.h +++ b/src/data/pokemon/species_info/gen_5_families.h @@ -130,6 +130,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sSnivyLevelUpLearnset, .teachableLearnset = sSnivyTeachableLearnset, + .eggMoveLearnset = sSnivyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 17, SPECIES_SERVINE}), }, @@ -320,6 +321,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sTepigLevelUpLearnset, .teachableLearnset = sTepigTeachableLearnset, + .eggMoveLearnset = sTepigEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 17, SPECIES_PIGNITE}), }, @@ -511,6 +513,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sOshawottLevelUpLearnset, .teachableLearnset = sOshawottTeachableLearnset, + .eggMoveLearnset = sOshawottEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 17, SPECIES_DEWOTT}), }, @@ -769,6 +772,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sPatratLevelUpLearnset, .teachableLearnset = sPatratTeachableLearnset, + .eggMoveLearnset = sPatratEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_WATCHOG}), }, @@ -896,6 +900,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sLillipupLevelUpLearnset, .teachableLearnset = sLillipupTeachableLearnset, + .eggMoveLearnset = sLillipupEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_HERDIER}), }, @@ -1092,6 +1097,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sPurrloinLevelUpLearnset, .teachableLearnset = sPurrloinTeachableLearnset, + .eggMoveLearnset = sPurrloinEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_LIEPARD}), }, @@ -1219,6 +1225,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sPansageLevelUpLearnset, .teachableLearnset = sPansageTeachableLearnset, + .eggMoveLearnset = sPansageEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_LEAF_STONE, SPECIES_SIMISAGE}), }, @@ -1347,6 +1354,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sPansearLevelUpLearnset, .teachableLearnset = sPansearTeachableLearnset, + .eggMoveLearnset = sPansearEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_FIRE_STONE, SPECIES_SIMISEAR}), }, @@ -1475,6 +1483,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sPanpourLevelUpLearnset, .teachableLearnset = sPanpourTeachableLearnset, + .eggMoveLearnset = sPanpourEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_WATER_STONE, SPECIES_SIMIPOUR}), }, @@ -1603,6 +1612,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sMunnaLevelUpLearnset, .teachableLearnset = sMunnaTeachableLearnset, + .eggMoveLearnset = sMunnaEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_MOON_STONE, SPECIES_MUSHARNA}), }, @@ -1731,6 +1741,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sPidoveLevelUpLearnset, .teachableLearnset = sPidoveTeachableLearnset, + .eggMoveLearnset = sPidoveEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 21, SPECIES_TRANQUILL}), }, @@ -1935,6 +1946,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sBlitzleLevelUpLearnset, .teachableLearnset = sBlitzleTeachableLearnset, + .eggMoveLearnset = sBlitzleEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 27, SPECIES_ZEBSTRIKA}), }, @@ -2064,6 +2076,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sRoggenrolaLevelUpLearnset, .teachableLearnset = sRoggenrolaTeachableLearnset, + .eggMoveLearnset = sRoggenrolaEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_BOLDORE}), }, @@ -2267,6 +2280,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sWoobatLevelUpLearnset, .teachableLearnset = sWoobatTeachableLearnset, + .eggMoveLearnset = sWoobatEggMoveLearnset, .evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_SWOOBAT}), }, @@ -2396,6 +2410,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sDrilburLevelUpLearnset, .teachableLearnset = sDrilburTeachableLearnset, + .eggMoveLearnset = sDrilburEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 31, SPECIES_EXCADRILL}), }, @@ -2526,6 +2541,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sAudinoLevelUpLearnset, .teachableLearnset = sAudinoTeachableLearnset, + .eggMoveLearnset = sAudinoEggMoveLearnset, .formSpeciesIdTable = sAudinoFormSpeciesIdTable, .formChangeTable = sAudinoFormChangeTable, }, @@ -2584,6 +2600,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .isMegaEvolution = TRUE, .levelUpLearnset = sAudinoLevelUpLearnset, .teachableLearnset = sAudinoTeachableLearnset, + .eggMoveLearnset = sAudinoEggMoveLearnset, .formSpeciesIdTable = sAudinoFormSpeciesIdTable, .formChangeTable = sAudinoFormChangeTable, }, @@ -2651,6 +2668,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sTimburrLevelUpLearnset, .teachableLearnset = sTimburrTeachableLearnset, + .eggMoveLearnset = sTimburrEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_GURDURR}), }, @@ -2842,6 +2860,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sTympoleLevelUpLearnset, .teachableLearnset = sTympoleTeachableLearnset, + .eggMoveLearnset = sTympoleEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_PALPITOAD}), }, @@ -3170,6 +3189,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sSewaddleLevelUpLearnset, .teachableLearnset = sSewaddleTeachableLearnset, + .eggMoveLearnset = sSewaddleEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_SWADLOON}), }, @@ -3373,6 +3393,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sVenipedeLevelUpLearnset, .teachableLearnset = sVenipedeTeachableLearnset, + .eggMoveLearnset = sVenipedeEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 22, SPECIES_WHIRLIPEDE}), }, @@ -3586,6 +3607,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sCottoneeLevelUpLearnset, .teachableLearnset = sCottoneeTeachableLearnset, + .eggMoveLearnset = sCottoneeEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_SUN_STONE, SPECIES_WHIMSICOTT}), }, @@ -3716,6 +3738,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sPetililLevelUpLearnset, .teachableLearnset = sPetililTeachableLearnset, + .eggMoveLearnset = sPetililEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_SUN_STONE, SPECIES_LILLIGANT}, {EVO_NONE, 0, SPECIES_LILLIGANT_HISUIAN}), }, @@ -3918,6 +3941,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sBasculinLevelUpLearnset, .teachableLearnset = sBasculinTeachableLearnset, + .eggMoveLearnset = sBasculinEggMoveLearnset, .formSpeciesIdTable = sBasculinFormSpeciesIdTable, }, @@ -3983,6 +4007,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sBasculinLevelUpLearnset, .teachableLearnset = sBasculinTeachableLearnset, + .eggMoveLearnset = sBasculinEggMoveLearnset, .formSpeciesIdTable = sBasculinFormSpeciesIdTable, }, @@ -4050,8 +4075,8 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .levelUpLearnset = sBasculinWhiteStripedLevelUpLearnset, .teachableLearnset = sBasculinWhiteStripedTeachableLearnset, .formSpeciesIdTable = sBasculinFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_LEVEL_RECOIL_DAMAGE_MALE, 294, SPECIES_BASCULEGION_MALE}, - {EVO_LEVEL_RECOIL_DAMAGE_FEMALE, 294, SPECIES_BASCULEGION_FEMALE}), + .evolutions = EVOLUTION({EVO_RECOIL_DAMAGE_MALE, 294, SPECIES_BASCULEGION_MALE}, + {EVO_RECOIL_DAMAGE_FEMALE, 294, SPECIES_BASCULEGION_FEMALE}), }, [SPECIES_BASCULEGION_MALE] = @@ -4102,7 +4127,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_BasculegionMale, .iconSprite = gMonIcon_BasculegionMale, .iconPalIndex = 1, - //FOOTPRINT(Basculegion), + FOOTPRINT(Basculegion) /* FOLLOWER( sPicTable_BasculegionMale, @@ -4165,7 +4190,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_BasculegionFemale, .iconSprite = gMonIcon_BasculegionFemale, .iconPalIndex = 0, - //FOOTPRINT(Basculegion), + FOOTPRINT(Basculegion) /* FOLLOWER( sPicTable_BasculegionFemale, @@ -4245,6 +4270,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sSandileLevelUpLearnset, .teachableLearnset = sSandileTeachableLearnset, + .eggMoveLearnset = sSandileEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 29, SPECIES_KROKOROK}), }, @@ -4443,6 +4469,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sDarumakaLevelUpLearnset, .teachableLearnset = sDarumakaTeachableLearnset, + .eggMoveLearnset = sDarumakaEggMoveLearnset, .formSpeciesIdTable = sDarumakaFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_DARMANITAN_STANDARD_MODE}), }, @@ -4626,6 +4653,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .isGalarianForm = TRUE, .levelUpLearnset = sDarumakaGalarianLevelUpLearnset, .teachableLearnset = sDarumakaGalarianTeachableLearnset, + .eggMoveLearnset = sDarumakaGalarianEggMoveLearnset, .formSpeciesIdTable = sDarumakaFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_ITEM, ITEM_ICE_STONE, SPECIES_DARMANITAN_GALARIAN_STANDARD_MODE}), }, @@ -4814,6 +4842,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sMaractusLevelUpLearnset, .teachableLearnset = sMaractusTeachableLearnset, + .eggMoveLearnset = sMaractusEggMoveLearnset, }, #endif //P_FAMILY_MARACTUS @@ -4879,6 +4908,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sDwebbleLevelUpLearnset, .teachableLearnset = sDwebbleTeachableLearnset, + .eggMoveLearnset = sDwebbleEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_CRUSTLE}), }, @@ -5008,6 +5038,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sScraggyLevelUpLearnset, .teachableLearnset = sScraggyTeachableLearnset, + .eggMoveLearnset = sScraggyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 39, SPECIES_SCRAFTY}), }, @@ -5138,6 +5169,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sSigilyphLevelUpLearnset, .teachableLearnset = sSigilyphTeachableLearnset, + .eggMoveLearnset = sSigilyphEggMoveLearnset, }, #endif //P_FAMILY_SIGILYPH @@ -5204,6 +5236,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sYamaskLevelUpLearnset, .teachableLearnset = sYamaskTeachableLearnset, + .eggMoveLearnset = sYamaskEggMoveLearnset, .formSpeciesIdTable = sYamaskFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_COFAGRIGUS}), }, @@ -5334,6 +5367,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .isGalarianForm = TRUE, .levelUpLearnset = sYamaskGalarianLevelUpLearnset, .teachableLearnset = sYamaskGalarianTeachableLearnset, + .eggMoveLearnset = sYamaskGalarianEggMoveLearnset, .formSpeciesIdTable = sYamaskFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_SCRIPT_TRIGGER_DMG, 49, SPECIES_RUNERIGUS}), }, @@ -5463,6 +5497,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sTirtougaLevelUpLearnset, .teachableLearnset = sTirtougaTeachableLearnset, + .eggMoveLearnset = sTirtougaEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 37, SPECIES_CARRACOSTA}), }, @@ -5590,6 +5625,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sArchenLevelUpLearnset, .teachableLearnset = sArchenTeachableLearnset, + .eggMoveLearnset = sArchenEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 37, SPECIES_ARCHEOPS}), }, @@ -5719,6 +5755,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sTrubbishLevelUpLearnset, .teachableLearnset = sTrubbishTeachableLearnset, + .eggMoveLearnset = sTrubbishEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_GARBODOR}), }, @@ -5911,6 +5948,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sZoruaLevelUpLearnset, .teachableLearnset = sZoruaTeachableLearnset, + .eggMoveLearnset = sZoruaEggMoveLearnset, .formSpeciesIdTable = sZoruaFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_ZOROARK}), }, @@ -6171,6 +6209,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sMinccinoLevelUpLearnset, .teachableLearnset = sMinccinoTeachableLearnset, + .eggMoveLearnset = sMinccinoEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_SHINY_STONE, SPECIES_CINCCINO}), }, @@ -6299,6 +6338,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sGothitaLevelUpLearnset, .teachableLearnset = sGothitaTeachableLearnset, + .eggMoveLearnset = sGothitaEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 32, SPECIES_GOTHORITA}), }, @@ -6491,6 +6531,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sSolosisLevelUpLearnset, .teachableLearnset = sSolosisTeachableLearnset, + .eggMoveLearnset = sSolosisEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 32, SPECIES_DUOSION}), }, @@ -6683,6 +6724,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sDucklettLevelUpLearnset, .teachableLearnset = sDucklettTeachableLearnset, + .eggMoveLearnset = sDucklettEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_SWANNA}), }, @@ -6811,6 +6853,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sVanilliteLevelUpLearnset, .teachableLearnset = sVanilliteTeachableLearnset, + .eggMoveLearnset = sVanilliteEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_VANILLISH}), }, @@ -7003,6 +7046,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sDeerlingLevelUpLearnset, .teachableLearnset = sDeerlingTeachableLearnset, + .eggMoveLearnset = sDeerlingEggMoveLearnset, .formSpeciesIdTable = sDeerlingFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_SAWSBUCK_SPRING}), }, @@ -7067,6 +7111,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sDeerlingLevelUpLearnset, .teachableLearnset = sDeerlingTeachableLearnset, + .eggMoveLearnset = sDeerlingEggMoveLearnset, .formSpeciesIdTable = sDeerlingFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_SAWSBUCK_SUMMER}), }, @@ -7131,6 +7176,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sDeerlingLevelUpLearnset, .teachableLearnset = sDeerlingTeachableLearnset, + .eggMoveLearnset = sDeerlingEggMoveLearnset, .formSpeciesIdTable = sDeerlingFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_SAWSBUCK_AUTUMN}), }, @@ -7195,6 +7241,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sDeerlingLevelUpLearnset, .teachableLearnset = sDeerlingTeachableLearnset, + .eggMoveLearnset = sDeerlingEggMoveLearnset, .formSpeciesIdTable = sDeerlingFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_SAWSBUCK_WINTER}), }, @@ -7515,6 +7562,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sEmolgaLevelUpLearnset, .teachableLearnset = sEmolgaTeachableLearnset, + .eggMoveLearnset = sEmolgaEggMoveLearnset, }, #endif //P_FAMILY_EMOLGA @@ -7579,6 +7627,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sKarrablastLevelUpLearnset, .teachableLearnset = sKarrablastTeachableLearnset, + .eggMoveLearnset = sKarrablastEggMoveLearnset, .evolutions = EVOLUTION({EVO_TRADE_SPECIFIC_MON, SPECIES_SHELMET, SPECIES_ESCAVALIER}), }, @@ -7708,6 +7757,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sFoongusLevelUpLearnset, .teachableLearnset = sFoongusTeachableLearnset, + .eggMoveLearnset = sFoongusEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 39, SPECIES_AMOONGUSS}), }, @@ -7846,6 +7896,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sFrillishLevelUpLearnset, .teachableLearnset = sFrillishTeachableLearnset, + .eggMoveLearnset = sFrillishEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_JELLICENT}), }, @@ -7981,6 +8032,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sAlomomolaLevelUpLearnset, .teachableLearnset = sAlomomolaTeachableLearnset, + .eggMoveLearnset = sAlomomolaEggMoveLearnset, }, #endif //P_FAMILY_ALOMOMOLA @@ -8045,6 +8097,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sJoltikLevelUpLearnset, .teachableLearnset = sJoltikTeachableLearnset, + .eggMoveLearnset = sJoltikEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_GALVANTULA}), }, @@ -8173,6 +8226,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sFerroseedLevelUpLearnset, .teachableLearnset = sFerroseedTeachableLearnset, + .eggMoveLearnset = sFerroseedEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_FERROTHORN}), }, @@ -8692,6 +8746,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sElgyemLevelUpLearnset, .teachableLearnset = sElgyemTeachableLearnset, + .eggMoveLearnset = sElgyemEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 42, SPECIES_BEHEEYEM}), }, @@ -8824,6 +8879,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sLitwickLevelUpLearnset, .teachableLearnset = sLitwickTeachableLearnset, + .eggMoveLearnset = sLitwickEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 41, SPECIES_LAMPENT}), }, @@ -9024,6 +9080,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sAxewLevelUpLearnset, .teachableLearnset = sAxewTeachableLearnset, + .eggMoveLearnset = sAxewEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_FRAXURE}), }, @@ -9214,6 +9271,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sCubchooLevelUpLearnset, .teachableLearnset = sCubchooTeachableLearnset, + .eggMoveLearnset = sCubchooEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 37, SPECIES_BEARTIC}), }, @@ -9407,6 +9465,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sShelmetLevelUpLearnset, .teachableLearnset = sShelmetTeachableLearnset, + .eggMoveLearnset = sShelmetEggMoveLearnset, .evolutions = EVOLUTION({EVO_TRADE_SPECIFIC_MON, SPECIES_KARRABLAST, SPECIES_ACCELGOR}), }, @@ -9535,6 +9594,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sStunfiskLevelUpLearnset, .teachableLearnset = sStunfiskTeachableLearnset, + .eggMoveLearnset = sStunfiskEggMoveLearnset, .formSpeciesIdTable = sStunfiskFormSpeciesIdTable, }, @@ -9600,6 +9660,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .isGalarianForm = TRUE, .levelUpLearnset = sStunfiskGalarianLevelUpLearnset, .teachableLearnset = sStunfiskGalarianTeachableLearnset, + .eggMoveLearnset = sStunfiskGalarianEggMoveLearnset, .formSpeciesIdTable = sStunfiskFormSpeciesIdTable, }, #endif //P_GALARIAN_FORMS @@ -9666,6 +9727,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sMienfooLevelUpLearnset, .teachableLearnset = sMienfooTeachableLearnset, + .eggMoveLearnset = sMienfooEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 50, SPECIES_MIENSHAO}), }, @@ -9794,6 +9856,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sDruddigonLevelUpLearnset, .teachableLearnset = sDruddigonTeachableLearnset, + .eggMoveLearnset = sDruddigonEggMoveLearnset, }, #endif //P_FAMILY_DRUDDIGON @@ -9989,6 +10052,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sPawniardLevelUpLearnset, .teachableLearnset = sPawniardTeachableLearnset, + .eggMoveLearnset = sPawniardEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 52, SPECIES_BISHARP}), }, @@ -10103,7 +10167,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Kingambit, .iconSprite = gMonIcon_Kingambit, .iconPalIndex = 0, - //FOOTPRINT(Kingambit) + FOOTPRINT(Kingambit) .levelUpLearnset = sKingambitLevelUpLearnset, .teachableLearnset = sKingambitTeachableLearnset, }, @@ -10171,6 +10235,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sBouffalantLevelUpLearnset, .teachableLearnset = sBouffalantTeachableLearnset, + .eggMoveLearnset = sBouffalantEggMoveLearnset, }, #endif //P_FAMILY_BOUFFALANT @@ -10431,6 +10496,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sVullabyLevelUpLearnset, .teachableLearnset = sVullabyTeachableLearnset, + .eggMoveLearnset = sVullabyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 54, SPECIES_MANDIBUZZ}), }, @@ -10558,6 +10624,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sHeatmorLevelUpLearnset, .teachableLearnset = sHeatmorTeachableLearnset, + .eggMoveLearnset = sHeatmorEggMoveLearnset, }, #endif //P_FAMILY_HEATMOR @@ -10622,6 +10689,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sDurantLevelUpLearnset, .teachableLearnset = sDurantTeachableLearnset, + .eggMoveLearnset = sDurantEggMoveLearnset, }, #endif //P_FAMILY_DURANT @@ -10686,6 +10754,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sDeinoLevelUpLearnset, .teachableLearnset = sDeinoTeachableLearnset, + .eggMoveLearnset = sDeinoEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 50, SPECIES_ZWEILOUS}), }, @@ -10877,6 +10946,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = */ .levelUpLearnset = sLarvestaLevelUpLearnset, .teachableLearnset = sLarvestaTeachableLearnset, + .eggMoveLearnset = sLarvestaEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 59, SPECIES_VOLCARONA}), }, diff --git a/src/data/pokemon/species_info/gen_6_families.h b/src/data/pokemon/species_info/gen_6_families.h index 289a1ad5f9..bc9ec2f874 100644 --- a/src/data/pokemon/species_info/gen_6_families.h +++ b/src/data/pokemon/species_info/gen_6_families.h @@ -64,6 +64,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sChespinLevelUpLearnset, .teachableLearnset = sChespinTeachableLearnset, + .eggMoveLearnset = sChespinEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_QUILLADIN}), }, @@ -254,6 +255,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sFennekinLevelUpLearnset, .teachableLearnset = sFennekinTeachableLearnset, + .eggMoveLearnset = sFennekinEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_BRAIXEN}), }, @@ -444,6 +446,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sFroakieLevelUpLearnset, .teachableLearnset = sFroakieTeachableLearnset, + .eggMoveLearnset = sFroakieEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_FROGADIER}), }, @@ -748,6 +751,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sBunnelbyLevelUpLearnset, .teachableLearnset = sBunnelbyTeachableLearnset, + .eggMoveLearnset = sBunnelbyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_DIGGERSBY}), }, @@ -875,6 +879,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sFletchlingLevelUpLearnset, .teachableLearnset = sFletchlingTeachableLearnset, + .eggMoveLearnset = sFletchlingEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 17, SPECIES_FLETCHINDER}), }, @@ -1062,6 +1067,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .tmIlliterate = TRUE, \ .levelUpLearnset = sScatterbugLevelUpLearnset, \ .teachableLearnset = sScatterbugTeachableLearnset, \ + .eggMoveLearnset = sScatterbugEggMoveLearnset, \ .formSpeciesIdTable = sScatterbugFormSpeciesIdTable, \ .evolutions = EVOLUTION({EVO_LEVEL, 9, SPECIES_SPEWPA_##evolution}), \ } \ @@ -1467,6 +1473,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sLitleoLevelUpLearnset, .teachableLearnset = sLitleoTeachableLearnset, + .eggMoveLearnset = sLitleoEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_PYROAR}), }, @@ -1593,6 +1600,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = /*) */ \ .levelUpLearnset = sFlabebeLevelUpLearnset, \ .teachableLearnset = sFlabebeTeachableLearnset, \ + .eggMoveLearnset = sFlabebeEggMoveLearnset, \ .formSpeciesIdTable = sFlabebeFormSpeciesIdTable, \ .evolutions = EVOLUTION({EVO_LEVEL, 19, SPECIES_FLOETTE_ ##FORM##_FLOWER}) @@ -1935,6 +1943,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sSkiddoLevelUpLearnset, .teachableLearnset = sSkiddoTeachableLearnset, + .eggMoveLearnset = sSkiddoEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 32, SPECIES_GOGOAT}), }, @@ -2063,6 +2072,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sPanchamLevelUpLearnset, .teachableLearnset = sPanchamTeachableLearnset, + .eggMoveLearnset = sPanchamEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL_DARK_TYPE_MON_IN_PARTY, 32, SPECIES_PANGORO}), }, @@ -2186,6 +2196,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = /*) */ \ .levelUpLearnset = sFurfrouLevelUpLearnset, \ .teachableLearnset = sFurfrouTeachableLearnset, \ + .eggMoveLearnset = sFurfrouEggMoveLearnset, \ .formSpeciesIdTable = sFurfrouFormSpeciesIdTable, \ } @@ -2262,6 +2273,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sEspurrLevelUpLearnset, .teachableLearnset = sEspurrTeachableLearnset, + .eggMoveLearnset = sEspurrEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL_MALE, 25, SPECIES_MEOWSTIC_MALE}, {EVO_LEVEL_FEMALE, 25, SPECIES_MEOWSTIC_FEMALE}), }, @@ -2455,6 +2467,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sHonedgeLevelUpLearnset, .teachableLearnset = sHonedgeTeachableLearnset, + .eggMoveLearnset = sHonedgeEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_DOUBLADE}), }, @@ -2714,6 +2727,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sSpritzeeLevelUpLearnset, .teachableLearnset = sSpritzeeTeachableLearnset, + .eggMoveLearnset = sSpritzeeEggMoveLearnset, .evolutions = EVOLUTION({EVO_TRADE_ITEM, ITEM_SACHET, SPECIES_AROMATISSE}, {EVO_ITEM, ITEM_SACHET, SPECIES_AROMATISSE}), }, @@ -2842,6 +2856,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sSwirlixLevelUpLearnset, .teachableLearnset = sSwirlixTeachableLearnset, + .eggMoveLearnset = sSwirlixEggMoveLearnset, .evolutions = EVOLUTION({EVO_TRADE_ITEM, ITEM_WHIPPED_DREAM, SPECIES_SLURPUFF}, {EVO_ITEM, ITEM_WHIPPED_DREAM, SPECIES_SLURPUFF}), }, @@ -2971,6 +2986,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sInkayLevelUpLearnset, .teachableLearnset = sInkayTeachableLearnset, + .eggMoveLearnset = sInkayEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_MALAMAR}), }, @@ -3098,6 +3114,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sBinacleLevelUpLearnset, .teachableLearnset = sBinacleTeachableLearnset, + .eggMoveLearnset = sBinacleEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 39, SPECIES_BARBARACLE}), }, @@ -3226,6 +3243,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sSkrelpLevelUpLearnset, .teachableLearnset = sSkrelpTeachableLearnset, + .eggMoveLearnset = sSkrelpEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 48, SPECIES_DRAGALGE}), }, @@ -3354,6 +3372,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sClauncherLevelUpLearnset, .teachableLearnset = sClauncherTeachableLearnset, + .eggMoveLearnset = sClauncherEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 37, SPECIES_CLAWITZER}), }, @@ -3482,6 +3501,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sHelioptileLevelUpLearnset, .teachableLearnset = sHelioptileTeachableLearnset, + .eggMoveLearnset = sHelioptileEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_SUN_STONE, SPECIES_HELIOLISK}), }, @@ -3610,6 +3630,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sTyruntLevelUpLearnset, .teachableLearnset = sTyruntTeachableLearnset, + .eggMoveLearnset = sTyruntEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL_DAY, 39, SPECIES_TYRANTRUM}), }, @@ -3737,6 +3758,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sAmauraLevelUpLearnset, .teachableLearnset = sAmauraTeachableLearnset, + .eggMoveLearnset = sAmauraEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL_NIGHT, 39, SPECIES_AURORUS}), }, @@ -3869,6 +3891,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sHawluchaLevelUpLearnset, .teachableLearnset = sHawluchaTeachableLearnset, + .eggMoveLearnset = sHawluchaEggMoveLearnset, }, #endif //P_FAMILY_HAWLUCHA @@ -3933,6 +3956,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sDedenneLevelUpLearnset, .teachableLearnset = sDedenneTeachableLearnset, + .eggMoveLearnset = sDedenneEggMoveLearnset, }, #endif //P_FAMILY_DEDENNE @@ -4064,6 +4088,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sGoomyLevelUpLearnset, .teachableLearnset = sGoomyTeachableLearnset, + .eggMoveLearnset = sGoomyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_SLIGGOO}, {EVO_NONE, 0, SPECIES_SLIGGOO_HISUIAN}), }, @@ -4394,6 +4419,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sKlefkiLevelUpLearnset, .teachableLearnset = sKlefkiTeachableLearnset, + .eggMoveLearnset = sKlefkiEggMoveLearnset, }, #endif //P_FAMILY_KLEFKI @@ -4459,6 +4485,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sPhantumpLevelUpLearnset, .teachableLearnset = sPhantumpTeachableLearnset, + .eggMoveLearnset = sPhantumpEggMoveLearnset, .evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_TREVENANT}, {EVO_ITEM, ITEM_LINKING_CORD, SPECIES_TREVENANT}), }, @@ -4587,6 +4614,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sPumpkabooLevelUpLearnset, .teachableLearnset = sPumpkabooTeachableLearnset, + .eggMoveLearnset = sPumpkabooEggMoveLearnset, .formSpeciesIdTable = sPumpkabooFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_GOURGEIST_AVERAGE}, {EVO_ITEM, ITEM_LINKING_CORD, SPECIES_GOURGEIST_AVERAGE}), @@ -4641,6 +4669,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = FOOTPRINT(Pumpkaboo) .levelUpLearnset = sPumpkabooLevelUpLearnset, .teachableLearnset = sPumpkabooTeachableLearnset, + .eggMoveLearnset = sPumpkabooEggMoveLearnset, .formSpeciesIdTable = sPumpkabooFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_GOURGEIST_SMALL}, {EVO_ITEM, ITEM_LINKING_CORD, SPECIES_GOURGEIST_SMALL}), @@ -4695,6 +4724,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = FOOTPRINT(Pumpkaboo) .levelUpLearnset = sPumpkabooLevelUpLearnset, .teachableLearnset = sPumpkabooTeachableLearnset, + .eggMoveLearnset = sPumpkabooEggMoveLearnset, .formSpeciesIdTable = sPumpkabooFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_GOURGEIST_LARGE}, {EVO_ITEM, ITEM_LINKING_CORD, SPECIES_GOURGEIST_LARGE}), @@ -4751,6 +4781,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = FOOTPRINT(Pumpkaboo) .levelUpLearnset = sPumpkabooLevelUpLearnset, .teachableLearnset = sPumpkabooTeachableLearnset, + .eggMoveLearnset = sPumpkabooEggMoveLearnset, .formSpeciesIdTable = sPumpkabooFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_GOURGEIST_SUPER}, {EVO_ITEM, ITEM_LINKING_CORD, SPECIES_GOURGEIST_SUPER}), @@ -5048,6 +5079,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sBergmiteLevelUpLearnset, .teachableLearnset = sBergmiteTeachableLearnset, + .eggMoveLearnset = sBergmiteEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 37, SPECIES_AVALUGG}, {EVO_NONE, 0, SPECIES_AVALUGG_HISUIAN}), }, @@ -5247,6 +5279,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = */ .levelUpLearnset = sNoibatLevelUpLearnset, .teachableLearnset = sNoibatTeachableLearnset, + .eggMoveLearnset = sNoibatEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 48, SPECIES_NOIVERN}), }, diff --git a/src/data/pokemon/species_info/gen_7_families.h b/src/data/pokemon/species_info/gen_7_families.h index dd40bfc3d9..61846f658e 100644 --- a/src/data/pokemon/species_info/gen_7_families.h +++ b/src/data/pokemon/species_info/gen_7_families.h @@ -64,6 +64,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sRowletLevelUpLearnset, .teachableLearnset = sRowletTeachableLearnset, + .eggMoveLearnset = sRowletEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 17, SPECIES_DARTRIX}), }, @@ -323,6 +324,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sLittenLevelUpLearnset, .teachableLearnset = sLittenTeachableLearnset, + .eggMoveLearnset = sLittenEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 17, SPECIES_TORRACAT}), }, @@ -513,6 +515,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sPopplioLevelUpLearnset, .teachableLearnset = sPopplioTeachableLearnset, + .eggMoveLearnset = sPopplioEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 17, SPECIES_BRIONNE}), }, @@ -704,6 +707,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sPikipekLevelUpLearnset, .teachableLearnset = sPikipekTeachableLearnset, + .eggMoveLearnset = sPikipekEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 14, SPECIES_TRUMBEAK}), }, @@ -897,6 +901,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sYungoosLevelUpLearnset, .teachableLearnset = sYungoosTeachableLearnset, + .eggMoveLearnset = sYungoosEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL_DAY, 20, SPECIES_GUMSHOOS}), }, @@ -1083,6 +1088,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sGrubbinLevelUpLearnset, .teachableLearnset = sGrubbinTeachableLearnset, + .eggMoveLearnset = sGrubbinEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_CHARJABUG}), }, @@ -1336,6 +1342,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sCrabrawlerLevelUpLearnset, .teachableLearnset = sCrabrawlerTeachableLearnset, + .eggMoveLearnset = sCrabrawlerEggMoveLearnset, .evolutions = EVOLUTION({EVO_SPECIFIC_MAP, MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM, SPECIES_CRABOMINABLE}, {EVO_ITEM, ITEM_ICE_STONE, SPECIES_CRABOMINABLE}), }, @@ -1466,6 +1473,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sOricorioLevelUpLearnset, .teachableLearnset = sOricorioTeachableLearnset, + .eggMoveLearnset = sOricorioEggMoveLearnset, .formSpeciesIdTable = sOricorioFormSpeciesIdTable, .formChangeTable = sOricorioFormChangeTable, }, @@ -1521,6 +1529,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = FOOTPRINT(Oricorio) .levelUpLearnset = sOricorioLevelUpLearnset, .teachableLearnset = sOricorioTeachableLearnset, + .eggMoveLearnset = sOricorioEggMoveLearnset, .formSpeciesIdTable = sOricorioFormSpeciesIdTable, .formChangeTable = sOricorioFormChangeTable, }, @@ -1576,6 +1585,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = FOOTPRINT(Oricorio) .levelUpLearnset = sOricorioLevelUpLearnset, .teachableLearnset = sOricorioTeachableLearnset, + .eggMoveLearnset = sOricorioEggMoveLearnset, .formSpeciesIdTable = sOricorioFormSpeciesIdTable, .formChangeTable = sOricorioFormChangeTable, }, @@ -1631,6 +1641,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = FOOTPRINT(Oricorio) .levelUpLearnset = sOricorioLevelUpLearnset, .teachableLearnset = sOricorioTeachableLearnset, + .eggMoveLearnset = sOricorioEggMoveLearnset, .formSpeciesIdTable = sOricorioFormSpeciesIdTable, .formChangeTable = sOricorioFormChangeTable, }, @@ -1699,6 +1710,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sCutieflyLevelUpLearnset, .teachableLearnset = sCutieflyTeachableLearnset, + .eggMoveLearnset = sCutieflyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_RIBOMBEE}, {EVO_NONE, 0, SPECIES_RIBOMBEE_TOTEM}), }, @@ -1884,6 +1896,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sRockruffLevelUpLearnset, .teachableLearnset = sRockruffTeachableLearnset, + .eggMoveLearnset = sRockruffEggMoveLearnset, .formSpeciesIdTable = sRockruffFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL_DAY, 25, SPECIES_LYCANROC_MIDDAY}, {EVO_LEVEL_NIGHT, 25, SPECIES_LYCANROC_MIDNIGHT}), @@ -1945,6 +1958,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sRockruffLevelUpLearnset, .teachableLearnset = sRockruffTeachableLearnset, + .eggMoveLearnset = sRockruffEggMoveLearnset, .formSpeciesIdTable = sRockruffFormSpeciesIdTable, .evolutions = EVOLUTION({EVO_LEVEL_DUSK, 25, SPECIES_LYCANROC_DUSK}), }, @@ -2201,6 +2215,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sWishiwashiLevelUpLearnset, .teachableLearnset = sWishiwashiTeachableLearnset, + .eggMoveLearnset = sWishiwashiEggMoveLearnset, .formSpeciesIdTable = sWishiwashiFormSpeciesIdTable, .formChangeTable = sWishiwashiFormChangeTable, }, @@ -2255,6 +2270,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = FOOTPRINT(Wishiwashi) .levelUpLearnset = sWishiwashiLevelUpLearnset, .teachableLearnset = sWishiwashiTeachableLearnset, + .eggMoveLearnset = sWishiwashiEggMoveLearnset, .formSpeciesIdTable = sWishiwashiFormSpeciesIdTable, .formChangeTable = sWishiwashiFormChangeTable, }, @@ -2322,6 +2338,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sMareanieLevelUpLearnset, .teachableLearnset = sMareanieTeachableLearnset, + .eggMoveLearnset = sMareanieEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_TOXAPEX}), }, @@ -2451,6 +2468,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sMudbrayLevelUpLearnset, .teachableLearnset = sMudbrayTeachableLearnset, + .eggMoveLearnset = sMudbrayEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_MUDSDALE}), }, @@ -2580,6 +2598,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sDewpiderLevelUpLearnset, .teachableLearnset = sDewpiderTeachableLearnset, + .eggMoveLearnset = sDewpiderEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 22, SPECIES_ARAQUANID}, {EVO_NONE, 0, SPECIES_ARAQUANID_TOTEM}), }, @@ -2768,6 +2787,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sFomantisLevelUpLearnset, .teachableLearnset = sFomantisTeachableLearnset, + .eggMoveLearnset = sFomantisEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL_DAY, 34, SPECIES_LURANTIS}, {EVO_NONE, 0, SPECIES_LURANTIS_TOTEM}), }, @@ -2957,6 +2977,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sMorelullLevelUpLearnset, .teachableLearnset = sMorelullTeachableLearnset, + .eggMoveLearnset = sMorelullEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 24, SPECIES_SHIINOTIC}), }, @@ -3087,6 +3108,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sSalanditLevelUpLearnset, .teachableLearnset = sSalanditTeachableLearnset, + .eggMoveLearnset = sSalanditEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL_FEMALE, 33, SPECIES_SALAZZLE}, {EVO_NONE, 0, SPECIES_SALAZZLE_TOTEM}), }, @@ -3274,6 +3296,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sStuffulLevelUpLearnset, .teachableLearnset = sStuffulTeachableLearnset, + .eggMoveLearnset = sStuffulEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 27, SPECIES_BEWEAR}), }, @@ -3402,6 +3425,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sBounsweetLevelUpLearnset, .teachableLearnset = sBounsweetTeachableLearnset, + .eggMoveLearnset = sBounsweetEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_STEENEE}), }, @@ -3599,6 +3623,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sComfeyLevelUpLearnset, .teachableLearnset = sComfeyTeachableLearnset, + .eggMoveLearnset = sComfeyEggMoveLearnset, }, #endif //P_FAMILY_COMFEY @@ -3663,6 +3688,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sOranguruLevelUpLearnset, .teachableLearnset = sOranguruTeachableLearnset, + .eggMoveLearnset = sOranguruEggMoveLearnset, }, #endif //P_FAMILY_ORANGURU @@ -3727,6 +3753,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sPassimianLevelUpLearnset, .teachableLearnset = sPassimianTeachableLearnset, + .eggMoveLearnset = sPassimianEggMoveLearnset, }, #endif //P_FAMILY_PASSIMIAN @@ -3791,6 +3818,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sWimpodLevelUpLearnset, .teachableLearnset = sWimpodTeachableLearnset, + .eggMoveLearnset = sWimpodEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_GOLISOPOD}), }, @@ -3919,6 +3947,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sSandygastLevelUpLearnset, .teachableLearnset = sSandygastTeachableLearnset, + .eggMoveLearnset = sSandygastEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 42, SPECIES_PALOSSAND}), }, @@ -4047,6 +4076,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sPyukumukuLevelUpLearnset, .teachableLearnset = sPyukumukuTeachableLearnset, + .eggMoveLearnset = sPyukumukuEggMoveLearnset, }, #endif //P_FAMILY_PYUKUMUKU @@ -4366,6 +4396,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sKomalaLevelUpLearnset, .teachableLearnset = sKomalaTeachableLearnset, + .eggMoveLearnset = sKomalaEggMoveLearnset, }, #endif //P_FAMILY_KOMALA @@ -4431,6 +4462,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sTurtonatorLevelUpLearnset, .teachableLearnset = sTurtonatorTeachableLearnset, + .eggMoveLearnset = sTurtonatorEggMoveLearnset, }, #endif //P_FAMILY_TURTONATOR @@ -4492,6 +4524,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sTogedemaruLevelUpLearnset, .teachableLearnset = sTogedemaruTeachableLearnset, + .eggMoveLearnset = sTogedemaruEggMoveLearnset, .formSpeciesIdTable = sTogedemaruFormSpeciesIdTable, }, @@ -4553,6 +4586,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .isTotem = TRUE, .levelUpLearnset = sTogedemaruLevelUpLearnset, .teachableLearnset = sTogedemaruTeachableLearnset, + .eggMoveLearnset = sTogedemaruEggMoveLearnset, .formSpeciesIdTable = sTogedemaruFormSpeciesIdTable, }, #endif //P_FAMILY_TOGEDEMARU @@ -4615,6 +4649,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sMimikyuLevelUpLearnset, .teachableLearnset = sMimikyuTeachableLearnset, + .eggMoveLearnset = sMimikyuEggMoveLearnset, .formSpeciesIdTable = sMimikyuFormSpeciesIdTable, .formChangeTable = sMimikyuFormChangeTable, }, @@ -4666,6 +4701,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = FOOTPRINT(Mimikyu) .levelUpLearnset = sMimikyuLevelUpLearnset, .teachableLearnset = sMimikyuTeachableLearnset, + .eggMoveLearnset = sMimikyuEggMoveLearnset, .formSpeciesIdTable = sMimikyuFormSpeciesIdTable, .formChangeTable = sMimikyuFormChangeTable, }, @@ -4718,6 +4754,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .isTotem = TRUE, .levelUpLearnset = sMimikyuLevelUpLearnset, .teachableLearnset = sMimikyuTeachableLearnset, + .eggMoveLearnset = sMimikyuEggMoveLearnset, .formSpeciesIdTable = sMimikyuFormSpeciesIdTable, .formChangeTable = sMimikyuTotemFormChangeTable, }, @@ -4770,6 +4807,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .isTotem = TRUE, .levelUpLearnset = sMimikyuLevelUpLearnset, .teachableLearnset = sMimikyuTeachableLearnset, + .eggMoveLearnset = sMimikyuEggMoveLearnset, .formSpeciesIdTable = sMimikyuFormSpeciesIdTable, .formChangeTable = sMimikyuTotemFormChangeTable, }, @@ -4837,6 +4875,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sBruxishLevelUpLearnset, .teachableLearnset = sBruxishTeachableLearnset, + .eggMoveLearnset = sBruxishEggMoveLearnset, }, #endif //P_FAMILY_BRUXISH @@ -4902,6 +4941,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sDrampaLevelUpLearnset, .teachableLearnset = sDrampaTeachableLearnset, + .eggMoveLearnset = sDrampaEggMoveLearnset, }, #endif //P_FAMILY_DRAMPA @@ -5033,6 +5073,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = */ .levelUpLearnset = sJangmoOLevelUpLearnset, .teachableLearnset = sJangmoOTeachableLearnset, + .eggMoveLearnset = sJangmoOEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_HAKAMO_O}), }, diff --git a/src/data/pokemon/species_info/gen_8_families.h b/src/data/pokemon/species_info/gen_8_families.h index 192d6090e6..5c6ac3d04b 100644 --- a/src/data/pokemon/species_info/gen_8_families.h +++ b/src/data/pokemon/species_info/gen_8_families.h @@ -64,6 +64,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sGrookeyLevelUpLearnset, .teachableLearnset = sGrookeyTeachableLearnset, + .eggMoveLearnset = sGrookeyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_THWACKEY}), }, @@ -310,6 +311,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sScorbunnyLevelUpLearnset, .teachableLearnset = sScorbunnyTeachableLearnset, + .eggMoveLearnset = sScorbunnyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_RABOOT}), }, @@ -559,6 +561,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sSobbleLevelUpLearnset, .teachableLearnset = sSobbleTeachableLearnset, + .eggMoveLearnset = sSobbleEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_DRIZZILE}), }, @@ -807,6 +810,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sSkwovetLevelUpLearnset, .teachableLearnset = sSkwovetTeachableLearnset, + .eggMoveLearnset = sSkwovetEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 24, SPECIES_GREEDENT}), }, @@ -935,6 +939,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sRookideeLevelUpLearnset, .teachableLearnset = sRookideeTeachableLearnset, + .eggMoveLearnset = sRookideeEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_CORVISQUIRE}), }, @@ -1185,6 +1190,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .tmIlliterate = TRUE, .levelUpLearnset = sBlipbugLevelUpLearnset, .teachableLearnset = sBlipbugTeachableLearnset, + .eggMoveLearnset = sBlipbugEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 10, SPECIES_DOTTLER}), }, @@ -1438,6 +1444,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sNickitLevelUpLearnset, .teachableLearnset = sNickitTeachableLearnset, + .eggMoveLearnset = sNickitEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_THIEVUL}), }, @@ -1565,6 +1572,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sGossifleurLevelUpLearnset, .teachableLearnset = sGossifleurTeachableLearnset, + .eggMoveLearnset = sGossifleurEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_ELDEGOSS}), }, @@ -1692,6 +1700,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sWoolooLevelUpLearnset, .teachableLearnset = sWoolooTeachableLearnset, + .eggMoveLearnset = sWoolooEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 24, SPECIES_DUBWOOL}), }, @@ -1818,6 +1827,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sChewtleLevelUpLearnset, .teachableLearnset = sChewtleTeachableLearnset, + .eggMoveLearnset = sChewtleEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 22, SPECIES_DREDNAW}), }, @@ -2003,6 +2013,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sYamperLevelUpLearnset, .teachableLearnset = sYamperTeachableLearnset, + .eggMoveLearnset = sYamperEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_BOLTUND}), }, @@ -2130,6 +2141,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sRolycolyLevelUpLearnset, .teachableLearnset = sRolycolyTeachableLearnset, + .eggMoveLearnset = sRolycolyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_CARKOL}), }, @@ -2379,6 +2391,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .tmIlliterate = TRUE, .levelUpLearnset = sApplinLevelUpLearnset, .teachableLearnset = sApplinTeachableLearnset, + .eggMoveLearnset = sApplinEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_TART_APPLE, SPECIES_FLAPPLE}, {EVO_ITEM, ITEM_SWEET_APPLE, SPECIES_APPLETUN}, {EVO_ITEM, ITEM_SYRUPY_APPLE, SPECIES_DIPPLIN}), @@ -2672,7 +2685,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Dipplin, .iconSprite = gMonIcon_Dipplin, .iconPalIndex = 1, - //FOOTPRINT(Dipplin) + FOOTPRINT(Dipplin) .levelUpLearnset = sDipplinLevelUpLearnset, .teachableLearnset = sDipplinTeachableLearnset, .evolutions = EVOLUTION({EVO_MOVE, MOVE_DRAGON_CHEER, SPECIES_HYDRAPPLE}), @@ -2725,7 +2738,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Hydrapple, .iconSprite = gMonIcon_Hydrapple, .iconPalIndex = 5, - //FOOTPRINT(Hydrapple) + FOOTPRINT(Hydrapple) .levelUpLearnset = sHydrappleLevelUpLearnset, .teachableLearnset = sHydrappleTeachableLearnset, }, @@ -2792,6 +2805,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sSilicobraLevelUpLearnset, .teachableLearnset = sSilicobraTeachableLearnset, + .eggMoveLearnset = sSilicobraEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_SANDACONDA}), }, @@ -2977,6 +2991,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sCramorantLevelUpLearnset, .teachableLearnset = sCramorantTeachableLearnset, + .eggMoveLearnset = sCramorantEggMoveLearnset, .formSpeciesIdTable = sCramorantFormSpeciesIdTable, .formChangeTable = sCramorantFormChangeTable, }, @@ -3031,6 +3046,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = FOOTPRINT(Cramorant) .levelUpLearnset = sCramorantLevelUpLearnset, .teachableLearnset = sCramorantTeachableLearnset, + .eggMoveLearnset = sCramorantEggMoveLearnset, .formSpeciesIdTable = sCramorantFormSpeciesIdTable, .formChangeTable = sCramorantFormChangeTable, }, @@ -3085,6 +3101,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = FOOTPRINT(Cramorant) .levelUpLearnset = sCramorantLevelUpLearnset, .teachableLearnset = sCramorantTeachableLearnset, + .eggMoveLearnset = sCramorantEggMoveLearnset, .formSpeciesIdTable = sCramorantFormSpeciesIdTable, .formChangeTable = sCramorantFormChangeTable, }, @@ -3151,6 +3168,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sArrokudaLevelUpLearnset, .teachableLearnset = sArrokudaTeachableLearnset, + .eggMoveLearnset = sArrokudaEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 26, SPECIES_BARRASKEWDA}), }, @@ -3278,6 +3296,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sToxelLevelUpLearnset, .teachableLearnset = sToxelTeachableLearnset, + .eggMoveLearnset = sToxelEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL_NATURE_AMPED, 30, SPECIES_TOXTRICITY_AMPED}, {EVO_LEVEL_NATURE_LOW_KEY, 30, SPECIES_TOXTRICITY_LOW_KEY}), }, @@ -3586,6 +3605,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sSizzlipedeLevelUpLearnset, .teachableLearnset = sSizzlipedeTeachableLearnset, + .eggMoveLearnset = sSizzlipedeEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 28, SPECIES_CENTISKORCH}), }, @@ -3772,6 +3792,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sClobbopusLevelUpLearnset, .teachableLearnset = sClobbopusTeachableLearnset, + .eggMoveLearnset = sClobbopusEggMoveLearnset, .evolutions = EVOLUTION({EVO_MOVE, MOVE_TAUNT, SPECIES_GRAPPLOCT}), }, @@ -4156,6 +4177,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sHatennaLevelUpLearnset, .teachableLearnset = sHatennaTeachableLearnset, + .eggMoveLearnset = sHatennaEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 32, SPECIES_HATTREM}), }, @@ -4652,6 +4674,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sMilceryLevelUpLearnset, .teachableLearnset = sMilceryTeachableLearnset, + .eggMoveLearnset = sMilceryEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_ALCREMIE_STRAWBERRY_VANILLA_CREAM}, {EVO_LEVEL, 0, SPECIES_ALCREMIE_STRAWBERRY_RUBY_CREAM}, {EVO_LEVEL, 0, SPECIES_ALCREMIE_STRAWBERRY_MATCHA_CREAM}, @@ -4952,6 +4975,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sPincurchinLevelUpLearnset, .teachableLearnset = sPincurchinTeachableLearnset, + .eggMoveLearnset = sPincurchinEggMoveLearnset, }, #endif //P_FAMILY_PINCURCHIN @@ -5017,6 +5041,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sSnomLevelUpLearnset, .teachableLearnset = sSnomTeachableLearnset, + .eggMoveLearnset = sSnomEggMoveLearnset, .evolutions = EVOLUTION({EVO_FRIENDSHIP_NIGHT, 0, SPECIES_FROSMOTH}), }, @@ -5145,6 +5170,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sStonjournerLevelUpLearnset, .teachableLearnset = sStonjournerTeachableLearnset, + .eggMoveLearnset = sStonjournerEggMoveLearnset, }, #endif //P_FAMILY_STONJOURNER @@ -5209,6 +5235,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sEiscueLevelUpLearnset, .teachableLearnset = sEiscueTeachableLearnset, + .eggMoveLearnset = sEiscueEggMoveLearnset, .formSpeciesIdTable = sEiscueFormSpeciesIdTable, .formChangeTable = sEiscueFormChangeTable, }, @@ -5263,6 +5290,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = FOOTPRINT(Eiscue) .levelUpLearnset = sEiscueLevelUpLearnset, .teachableLearnset = sEiscueTeachableLearnset, + .eggMoveLearnset = sEiscueEggMoveLearnset, .formSpeciesIdTable = sEiscueFormSpeciesIdTable, .formChangeTable = sEiscueFormChangeTable, }, @@ -5382,6 +5410,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = FOOTPRINT(Indeedee) .levelUpLearnset = sIndeedeeFemaleLevelUpLearnset, .teachableLearnset = sIndeedeeFemaleTeachableLearnset, + .eggMoveLearnset = sIndeedeeFemaleEggMoveLearnset, .formSpeciesIdTable = sIndeedeeFormSpeciesIdTable, }, #endif //P_FAMILY_INDEEDEE @@ -5447,6 +5476,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sMorpekoLevelUpLearnset, .teachableLearnset = sMorpekoTeachableLearnset, + .eggMoveLearnset = sMorpekoEggMoveLearnset, .formSpeciesIdTable = sMorpekoFormSpeciesIdTable, .formChangeTable = sMorpekoFormChangeTable, }, @@ -5501,6 +5531,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = FOOTPRINT(Morpeko) .levelUpLearnset = sMorpekoLevelUpLearnset, .teachableLearnset = sMorpekoTeachableLearnset, + .eggMoveLearnset = sMorpekoEggMoveLearnset, .formSpeciesIdTable = sMorpekoFormSpeciesIdTable, .formChangeTable = sMorpekoFormChangeTable, }, @@ -5568,6 +5599,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sCufantLevelUpLearnset, .teachableLearnset = sCufantTeachableLearnset, + .eggMoveLearnset = sCufantEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_COPPERAJAH}), }, @@ -6009,6 +6041,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sDuraludonLevelUpLearnset, .teachableLearnset = sDuraludonTeachableLearnset, + .eggMoveLearnset = sDuraludonEggMoveLearnset, .formSpeciesIdTable = sDuraludonFormSpeciesIdTable, .formChangeTable = sDuraludonFormChangeTable, .evolutions = EVOLUTION({EVO_ITEM, ITEM_METAL_ALLOY, SPECIES_ARCHALUDON}), @@ -6066,6 +6099,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .isGigantamax = TRUE, .levelUpLearnset = sDuraludonLevelUpLearnset, .teachableLearnset = sDuraludonTeachableLearnset, + .eggMoveLearnset = sDuraludonEggMoveLearnset, .formSpeciesIdTable = sDuraludonFormSpeciesIdTable, .formChangeTable = sDuraludonFormChangeTable, }, @@ -6119,7 +6153,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Archaludon, .iconSprite = gMonIcon_Archaludon, .iconPalIndex = 0, - //FOOTPRINT(Archaludon) + FOOTPRINT(Archaludon) .levelUpLearnset = sArchaludonLevelUpLearnset, .teachableLearnset = sArchaludonTeachableLearnset, }, @@ -6188,6 +6222,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = */ .levelUpLearnset = sDreepyLevelUpLearnset, .teachableLearnset = sDreepyTeachableLearnset, + .eggMoveLearnset = sDreepyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 50, SPECIES_DRAKLOAK}), }, @@ -7654,7 +7689,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_EnamorusIncarnate, .iconSprite = gMonIcon_EnamorusIncarnate, .iconPalIndex = 1, - //FOOTPRINT(EnamorusIncarnate) + FOOTPRINT(Enamorus) /* FOLLOWER( sPicTable_EnamorusIncarnate, @@ -7718,7 +7753,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_EnamorusTherian, .iconSprite = gMonIcon_EnamorusTherian, .iconPalIndex = 1, - //FOOTPRINT(Enamorus) + FOOTPRINT(Enamorus) /* FOLLOWER( sPicTable_EnamorusTherian, diff --git a/src/data/pokemon/species_info/gen_9_families.h b/src/data/pokemon/species_info/gen_9_families.h index 43b969fb70..538a121725 100644 --- a/src/data/pokemon/species_info/gen_9_families.h +++ b/src/data/pokemon/species_info/gen_9_families.h @@ -51,9 +51,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Sprigatito, .iconSprite = gMonIcon_Sprigatito, .iconPalIndex = 1, - //FOOTPRINT(Sprigatito) + FOOTPRINT(Sprigatito) .levelUpLearnset = sSprigatitoLevelUpLearnset, .teachableLearnset = sSprigatitoTeachableLearnset, + .eggMoveLearnset = sSprigatitoEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_FLORAGATO}), }, @@ -104,7 +105,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Floragato, .iconSprite = gMonIcon_Floragato, .iconPalIndex = 1, - //FOOTPRINT(Floragato) + FOOTPRINT(Floragato) .levelUpLearnset = sFloragatoLevelUpLearnset, .teachableLearnset = sFloragatoTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_MEOWSCARADA}), @@ -157,7 +158,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Meowscarada, .iconSprite = gMonIcon_Meowscarada, .iconPalIndex = 1, - //FOOTPRINT(Meowscarada) + FOOTPRINT(Meowscarada) .levelUpLearnset = sMeowscaradaLevelUpLearnset, .teachableLearnset = sMeowscaradaTeachableLearnset, }, @@ -211,9 +212,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Fuecoco, .iconSprite = gMonIcon_Fuecoco, .iconPalIndex = 2, - //FOOTPRINT(Fuecoco) + FOOTPRINT(Fuecoco) .levelUpLearnset = sFuecocoLevelUpLearnset, .teachableLearnset = sFuecocoTeachableLearnset, + .eggMoveLearnset = sFuecocoEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_CROCALOR}), }, @@ -264,7 +266,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Crocalor, .iconSprite = gMonIcon_Crocalor, .iconPalIndex = 0, - //FOOTPRINT(Crocalor) + FOOTPRINT(Crocalor) .levelUpLearnset = sCrocalorLevelUpLearnset, .teachableLearnset = sCrocalorTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_SKELEDIRGE}), @@ -317,7 +319,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Skeledirge, .iconSprite = gMonIcon_Skeledirge, .iconPalIndex = 0, - //FOOTPRINT(Skeledirge) + FOOTPRINT(Skeledirge) .levelUpLearnset = sSkeledirgeLevelUpLearnset, .teachableLearnset = sSkeledirgeTeachableLearnset, }, @@ -371,9 +373,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Quaxly, .iconSprite = gMonIcon_Quaxly, .iconPalIndex = 0, - //FOOTPRINT(Quaxly) + FOOTPRINT(Quaxly) .levelUpLearnset = sQuaxlyLevelUpLearnset, .teachableLearnset = sQuaxlyTeachableLearnset, + .eggMoveLearnset = sQuaxlyEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_QUAXWELL}), }, @@ -424,7 +427,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Quaxwell, .iconSprite = gMonIcon_Quaxwell, .iconPalIndex = 0, - //FOOTPRINT(Quaxwell) + FOOTPRINT(Quaxwell) .levelUpLearnset = sQuaxwellLevelUpLearnset, .teachableLearnset = sQuaxwellTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_QUAQUAVAL}), @@ -477,7 +480,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Quaquaval, .iconSprite = gMonIcon_Quaquaval, .iconPalIndex = 0, - //FOOTPRINT(Quaquaval) + FOOTPRINT(Quaquaval) .levelUpLearnset = sQuaquavalLevelUpLearnset, .teachableLearnset = sQuaquavalTeachableLearnset, }, @@ -531,9 +534,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Lechonk, .iconSprite = gMonIcon_Lechonk, .iconPalIndex = 1, - //FOOTPRINT(Lechonk) + FOOTPRINT(Lechonk) .levelUpLearnset = sLechonkLevelUpLearnset, .teachableLearnset = sLechonkTeachableLearnset, + .eggMoveLearnset = sLechonkEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL_MALE, 18, SPECIES_OINKOLOGNE_MALE}, {EVO_LEVEL_FEMALE, 18, SPECIES_OINKOLOGNE_FEMALE}), }, @@ -584,7 +588,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_OinkologneMale, .iconSprite = gMonIcon_OinkologneMale, .iconPalIndex = 1, - //FOOTPRINT(Oinkologne) + FOOTPRINT(Oinkologne) .levelUpLearnset = sOinkologneMaleLevelUpLearnset, .teachableLearnset = sOinkologneTeachableLearnset, .formSpeciesIdTable = sOinkologneFormSpeciesIdTable, @@ -637,7 +641,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_OinkologneFemale, .iconSprite = gMonIcon_OinkologneFemale, .iconPalIndex = 0, - //FOOTPRINT(Oinkologne) + FOOTPRINT(Oinkologne) .levelUpLearnset = sOinkologneFemaleLevelUpLearnset, .teachableLearnset = sOinkologneTeachableLearnset, .formSpeciesIdTable = sOinkologneFormSpeciesIdTable, @@ -692,9 +696,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tarountula, .iconSprite = gMonIcon_Tarountula, .iconPalIndex = 1, - //FOOTPRINT(Tarountula) + FOOTPRINT(Tarountula) .levelUpLearnset = sTarountulaLevelUpLearnset, .teachableLearnset = sTarountulaTeachableLearnset, + .eggMoveLearnset = sTarountulaEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 15, SPECIES_SPIDOPS}), }, @@ -745,7 +750,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Spidops, .iconSprite = gMonIcon_Spidops, .iconPalIndex = 1, - //FOOTPRINT(Spidops) + FOOTPRINT(Spidops) .levelUpLearnset = sSpidopsLevelUpLearnset, .teachableLearnset = sSpidopsTeachableLearnset, }, @@ -799,9 +804,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Nymble, .iconSprite = gMonIcon_Nymble, .iconPalIndex = 0, - //FOOTPRINT(Nymble) + FOOTPRINT(Nymble) .levelUpLearnset = sNymbleLevelUpLearnset, .teachableLearnset = sNymbleTeachableLearnset, + .eggMoveLearnset = sNymbleEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 24, SPECIES_LOKIX}), }, @@ -852,7 +858,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Lokix, .iconSprite = gMonIcon_Lokix, .iconPalIndex = 0, - //FOOTPRINT(Lokix) + FOOTPRINT(Lokix) .levelUpLearnset = sLokixLevelUpLearnset, .teachableLearnset = sLokixTeachableLearnset, }, @@ -906,9 +912,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Pawmi, .iconSprite = gMonIcon_Pawmi, .iconPalIndex = 0, - //FOOTPRINT(Pawmi) + FOOTPRINT(Pawmi) .levelUpLearnset = sPawmiLevelUpLearnset, .teachableLearnset = sPawmiTeachableLearnset, + .eggMoveLearnset = sPawmiEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_PAWMO}), }, @@ -959,7 +966,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Pawmo, .iconSprite = gMonIcon_Pawmo, .iconPalIndex = 0, - //FOOTPRINT(Pawmo) + FOOTPRINT(Pawmo) .levelUpLearnset = sPawmoLevelUpLearnset, .teachableLearnset = sPawmoTeachableLearnset, .evolutions = EVOLUTION({EVO_NONE, 0, SPECIES_PAWMOT}), @@ -1012,7 +1019,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Pawmot, .iconSprite = gMonIcon_Pawmot, .iconPalIndex = 0, - //FOOTPRINT(Pawmot) + FOOTPRINT(Pawmot) .levelUpLearnset = sPawmotLevelUpLearnset, .teachableLearnset = sPawmotTeachableLearnset, }, @@ -1066,9 +1073,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tandemaus, .iconSprite = gMonIcon_Tandemaus, .iconPalIndex = 1, - //FOOTPRINT(Tandemaus) + FOOTPRINT(Tandemaus) .levelUpLearnset = sTandemausLevelUpLearnset, .teachableLearnset = sTandemausTeachableLearnset, + .eggMoveLearnset = sTandemausEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL_FAMILY_OF_FOUR, 25, SPECIES_MAUSHOLD_FAMILY_OF_FOUR}, {EVO_LEVEL_FAMILY_OF_THREE, 25, SPECIES_MAUSHOLD_FAMILY_OF_THREE}), }, @@ -1120,7 +1128,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Maushold, .iconSprite = gMonIcon_MausholdFamilyOfThree, .iconPalIndex = 1, - /*FOOTPRINT(Maushold)*/ + FOOTPRINT(MausholdFamilyOfThree) .levelUpLearnset = sMausholdLevelUpLearnset, .teachableLearnset = sMausholdTeachableLearnset, .formSpeciesIdTable = sMausholdFormSpeciesIdTable, @@ -1172,7 +1180,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Maushold, .iconSprite = gMonIcon_MausholdFamilyOfFour, .iconPalIndex = 1, - /*FOOTPRINT(Maushold)*/ + FOOTPRINT(MausholdFamilyOfFour) .levelUpLearnset = sMausholdLevelUpLearnset, .teachableLearnset = sMausholdTeachableLearnset, .formSpeciesIdTable = sMausholdFormSpeciesIdTable, @@ -1227,9 +1235,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Fidough, .iconSprite = gMonIcon_Fidough, .iconPalIndex = 1, - //FOOTPRINT(Fidough) + FOOTPRINT(Fidough) .levelUpLearnset = sFidoughLevelUpLearnset, .teachableLearnset = sFidoughTeachableLearnset, + .eggMoveLearnset = sFidoughEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 26, SPECIES_DACHSBUN}), }, @@ -1280,7 +1289,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Dachsbun, .iconSprite = gMonIcon_Dachsbun, .iconPalIndex = 0, - //FOOTPRINT(Dachsbun) + FOOTPRINT(Dachsbun) .levelUpLearnset = sDachsbunLevelUpLearnset, .teachableLearnset = sDachsbunTeachableLearnset, }, @@ -1334,9 +1343,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Smoliv, .iconSprite = gMonIcon_Smoliv, .iconPalIndex = 1, - //FOOTPRINT(Smoliv) + FOOTPRINT(Smoliv) .levelUpLearnset = sSmolivLevelUpLearnset, .teachableLearnset = sSmolivTeachableLearnset, + .eggMoveLearnset = sSmolivEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_DOLLIV}), }, @@ -1387,7 +1397,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Dolliv, .iconSprite = gMonIcon_Dolliv, .iconPalIndex = 1, - //FOOTPRINT(Dolliv) + FOOTPRINT(Dolliv) .levelUpLearnset = sDollivLevelUpLearnset, .teachableLearnset = sDollivTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_ARBOLIVA}), @@ -1440,7 +1450,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Arboliva, .iconSprite = gMonIcon_Arboliva, .iconPalIndex = 1, - //FOOTPRINT(Arboliva) + FOOTPRINT(Arboliva) .levelUpLearnset = sArbolivaLevelUpLearnset, .teachableLearnset = sArbolivaTeachableLearnset, }, @@ -1494,9 +1504,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_SquawkabillyGreenPlumage, .iconSprite = gMonIcon_SquawkabillyGreenPlumage, .iconPalIndex = 1, - /*FOOTPRINT(Squawkabilly)*/ + FOOTPRINT(Squawkabilly) .levelUpLearnset = sSquawkabillyLevelUpLearnset, .teachableLearnset = sSquawkabillyTeachableLearnset, + .eggMoveLearnset = sSquawkabillyEggMoveLearnset, .formSpeciesIdTable = sSquawkabillyFormSpeciesIdTable, }, @@ -1547,9 +1558,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_SquawkabillyBluePlumage, .iconSprite = gMonIcon_SquawkabillyBluePlumage, .iconPalIndex = 0, - /*FOOTPRINT(Squawkabilly)*/ + FOOTPRINT(Squawkabilly) .levelUpLearnset = sSquawkabillyLevelUpLearnset, .teachableLearnset = sSquawkabillyTeachableLearnset, + .eggMoveLearnset = sSquawkabillyEggMoveLearnset, .formSpeciesIdTable = sSquawkabillyFormSpeciesIdTable, }, @@ -1600,9 +1612,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_SquawkabillyYellowPlumage, .iconSprite = gMonIcon_SquawkabillyYellowPlumage, .iconPalIndex = 1, - /*FOOTPRINT(Squawkabilly)*/ + FOOTPRINT(Squawkabilly) .levelUpLearnset = sSquawkabillyLevelUpLearnset, .teachableLearnset = sSquawkabillyTeachableLearnset, + .eggMoveLearnset = sSquawkabillyEggMoveLearnset, .formSpeciesIdTable = sSquawkabillyFormSpeciesIdTable, }, @@ -1653,9 +1666,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_SquawkabillyWhitePlumage, .iconSprite = gMonIcon_SquawkabillyWhitePlumage, .iconPalIndex = 0, - /*FOOTPRINT(Squawkabilly)*/ + FOOTPRINT(Squawkabilly) .levelUpLearnset = sSquawkabillyLevelUpLearnset, .teachableLearnset = sSquawkabillyTeachableLearnset, + .eggMoveLearnset = sSquawkabillyEggMoveLearnset, .formSpeciesIdTable = sSquawkabillyFormSpeciesIdTable, }, #endif //P_FAMILY_SQUAWKABILLY @@ -1708,9 +1722,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Nacli, .iconSprite = gMonIcon_Nacli, .iconPalIndex = 2, - //FOOTPRINT(Nacli) + FOOTPRINT(Nacli) .levelUpLearnset = sNacliLevelUpLearnset, .teachableLearnset = sNacliTeachableLearnset, + .eggMoveLearnset = sNacliEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 24, SPECIES_NACLSTACK}), }, @@ -1761,7 +1776,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Naclstack, .iconSprite = gMonIcon_Naclstack, .iconPalIndex = 2, - //FOOTPRINT(Naclstack) + FOOTPRINT(Naclstack) .levelUpLearnset = sNaclstackLevelUpLearnset, .teachableLearnset = sNaclstackTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_GARGANACL}), @@ -1814,7 +1829,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Garganacl, .iconSprite = gMonIcon_Garganacl, .iconPalIndex = 2, - //FOOTPRINT(Garganacl) + FOOTPRINT(Garganacl) .levelUpLearnset = sGarganaclLevelUpLearnset, .teachableLearnset = sGarganaclTeachableLearnset, }, @@ -1868,9 +1883,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Charcadet, .iconSprite = gMonIcon_Charcadet, .iconPalIndex = 0, - //FOOTPRINT(Charcadet) + FOOTPRINT(Charcadet) .levelUpLearnset = sCharcadetLevelUpLearnset, .teachableLearnset = sCharcadetTeachableLearnset, + .eggMoveLearnset = sCharcadetEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_AUSPICIOUS_ARMOR, SPECIES_ARMAROUGE}, {EVO_ITEM, ITEM_MALICIOUS_ARMOR, SPECIES_CERULEDGE}), }, @@ -1922,7 +1938,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Armarouge, .iconSprite = gMonIcon_Armarouge, .iconPalIndex = 0, - //FOOTPRINT(Armarouge) + FOOTPRINT(Armarouge) .levelUpLearnset = sArmarougeLevelUpLearnset, .teachableLearnset = sArmarougeTeachableLearnset, }, @@ -1974,7 +1990,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Ceruledge, .iconSprite = gMonIcon_Ceruledge, .iconPalIndex = 2, - //FOOTPRINT(Ceruledge) + FOOTPRINT(Ceruledge) .levelUpLearnset = sCeruledgeLevelUpLearnset, .teachableLearnset = sCeruledgeTeachableLearnset, }, @@ -2029,9 +2045,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tadbulb, .iconSprite = gMonIcon_Tadbulb, .iconPalIndex = 0, - //FOOTPRINT(Tadbulb) + FOOTPRINT(Tadbulb) .levelUpLearnset = sTadbulbLevelUpLearnset, .teachableLearnset = sTadbulbTeachableLearnset, + .eggMoveLearnset = sTadbulbEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_BELLIBOLT}), }, @@ -2082,7 +2099,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Bellibolt, .iconSprite = gMonIcon_Bellibolt, .iconPalIndex = 0, - //FOOTPRINT(Bellibolt) + FOOTPRINT(Bellibolt) .levelUpLearnset = sBelliboltLevelUpLearnset, .teachableLearnset = sBelliboltTeachableLearnset, }, @@ -2136,9 +2153,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Wattrel, .iconSprite = gMonIcon_Wattrel, .iconPalIndex = 0, - //FOOTPRINT(Wattrel) + FOOTPRINT(Wattrel) .levelUpLearnset = sWattrelLevelUpLearnset, .teachableLearnset = sWattrelTeachableLearnset, + .eggMoveLearnset = sWattrelEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_KILOWATTREL}), }, @@ -2189,7 +2207,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Kilowattrel, .iconSprite = gMonIcon_Kilowattrel, .iconPalIndex = 0, - //FOOTPRINT(Kilowattrel) + FOOTPRINT(Kilowattrel) .levelUpLearnset = sKilowattrelLevelUpLearnset, .teachableLearnset = sKilowattrelTeachableLearnset, }, @@ -2243,9 +2261,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Maschiff, .iconSprite = gMonIcon_Maschiff, .iconPalIndex = 0, - //FOOTPRINT(Maschiff) + FOOTPRINT(Maschiff) .levelUpLearnset = sMaschiffLevelUpLearnset, .teachableLearnset = sMaschiffTeachableLearnset, + .eggMoveLearnset = sMaschiffEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_MABOSSTIFF}), }, @@ -2296,7 +2315,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Mabosstiff, .iconSprite = gMonIcon_Mabosstiff, .iconPalIndex = 0, - //FOOTPRINT(Mabosstiff) + FOOTPRINT(Mabosstiff) .levelUpLearnset = sMabosstiffLevelUpLearnset, .teachableLearnset = sMabosstiffTeachableLearnset, }, @@ -2350,9 +2369,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Shroodle, .iconSprite = gMonIcon_Shroodle, .iconPalIndex = 0, - //FOOTPRINT(Shroodle) + FOOTPRINT(Shroodle) .levelUpLearnset = sShroodleLevelUpLearnset, .teachableLearnset = sShroodleTeachableLearnset, + .eggMoveLearnset = sShroodleEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 28, SPECIES_GRAFAIAI}), }, @@ -2403,7 +2423,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Grafaiai, .iconSprite = gMonIcon_Grafaiai, .iconPalIndex = 0, - //FOOTPRINT(Grafaiai) + FOOTPRINT(Grafaiai) .levelUpLearnset = sGrafaiaiLevelUpLearnset, .teachableLearnset = sGrafaiaiTeachableLearnset, }, @@ -2457,9 +2477,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Bramblin, .iconSprite = gMonIcon_Bramblin, .iconPalIndex = 1, - //FOOTPRINT(Bramblin) + FOOTPRINT(Bramblin) .levelUpLearnset = sBramblinLevelUpLearnset, .teachableLearnset = sBramblinTeachableLearnset, + .eggMoveLearnset = sBramblinEggMoveLearnset, .evolutions = EVOLUTION({EVO_NONE, 0, SPECIES_BRAMBLEGHAST}), }, @@ -2510,7 +2531,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Brambleghast, .iconSprite = gMonIcon_Brambleghast, .iconPalIndex = 2, - //FOOTPRINT(Brambleghast) + FOOTPRINT(Brambleghast) .levelUpLearnset = sBrambleghastLevelUpLearnset, .teachableLearnset = sBrambleghastTeachableLearnset, }, @@ -2564,9 +2585,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Toedscool, .iconSprite = gMonIcon_Toedscool, .iconPalIndex = 0, - //FOOTPRINT(Toedscool) + FOOTPRINT(Toedscool) .levelUpLearnset = sToedscoolLevelUpLearnset, .teachableLearnset = sToedscoolTeachableLearnset, + .eggMoveLearnset = sToedscoolEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_TOEDSCRUEL}), }, @@ -2617,7 +2639,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Toedscruel, .iconSprite = gMonIcon_Toedscruel, .iconPalIndex = 0, - //FOOTPRINT(Toedscruel) + FOOTPRINT(Toedscruel) .levelUpLearnset = sToedscruelLevelUpLearnset, .teachableLearnset = sToedscruelTeachableLearnset, }, @@ -2671,9 +2693,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Klawf, .iconSprite = gMonIcon_Klawf, .iconPalIndex = 0, - //FOOTPRINT(Klawf) + FOOTPRINT(Klawf) .levelUpLearnset = sKlawfLevelUpLearnset, .teachableLearnset = sKlawfTeachableLearnset, + .eggMoveLearnset = sKlawfEggMoveLearnset, }, #endif //P_FAMILY_KLAWF @@ -2725,9 +2748,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Capsakid, .iconSprite = gMonIcon_Capsakid, .iconPalIndex = 1, - //FOOTPRINT(Capsakid) + FOOTPRINT(Capsakid) .levelUpLearnset = sCapsakidLevelUpLearnset, .teachableLearnset = sCapsakidTeachableLearnset, + .eggMoveLearnset = sCapsakidEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_FIRE_STONE, SPECIES_SCOVILLAIN}), }, @@ -2778,7 +2802,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Scovillain, .iconSprite = gMonIcon_Scovillain, .iconPalIndex = 1, - //FOOTPRINT(Scovillain) + FOOTPRINT(Scovillain) .levelUpLearnset = sScovillainLevelUpLearnset, .teachableLearnset = sScovillainTeachableLearnset, }, @@ -2832,9 +2856,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Rellor, .iconSprite = gMonIcon_Rellor, .iconPalIndex = 0, - //FOOTPRINT(Rellor) + FOOTPRINT(Rellor) .levelUpLearnset = sRellorLevelUpLearnset, .teachableLearnset = sRellorTeachableLearnset, + .eggMoveLearnset = sRellorEggMoveLearnset, .evolutions = EVOLUTION({EVO_NONE, 0, SPECIES_RABSCA}), }, @@ -2885,7 +2910,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Rabsca, .iconSprite = gMonIcon_Rabsca, .iconPalIndex = 0, - //FOOTPRINT(Rabsca) + FOOTPRINT(Rabsca) .levelUpLearnset = sRabscaLevelUpLearnset, .teachableLearnset = sRabscaTeachableLearnset, }, @@ -2939,9 +2964,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Flittle, .iconSprite = gMonIcon_Flittle, .iconPalIndex = 1, - //FOOTPRINT(Flittle) + FOOTPRINT(Flittle) .levelUpLearnset = sFlittleLevelUpLearnset, .teachableLearnset = sFlittleTeachableLearnset, + .eggMoveLearnset = sFlittleEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_ESPATHRA}), }, @@ -2992,7 +3018,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Espathra, .iconSprite = gMonIcon_Espathra, .iconPalIndex = 0, - //FOOTPRINT(Espathra) + FOOTPRINT(Espathra) .levelUpLearnset = sEspathraLevelUpLearnset, .teachableLearnset = sEspathraTeachableLearnset, }, @@ -3046,9 +3072,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tinkatink, .iconSprite = gMonIcon_Tinkatink, .iconPalIndex = 1, - //FOOTPRINT(Tinkatink) + FOOTPRINT(Tinkatink) .levelUpLearnset = sTinkatinkLevelUpLearnset, .teachableLearnset = sTinkatinkTeachableLearnset, + .eggMoveLearnset = sTinkatinkEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 24, SPECIES_TINKATUFF}), }, @@ -3099,7 +3126,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tinkatuff, .iconSprite = gMonIcon_Tinkatuff, .iconPalIndex = 1, - //FOOTPRINT(Tinkatuff) + FOOTPRINT(Tinkatuff) .levelUpLearnset = sTinkatuffLevelUpLearnset, .teachableLearnset = sTinkatuffTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_TINKATON}), @@ -3152,7 +3179,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tinkaton, .iconSprite = gMonIcon_Tinkaton, .iconPalIndex = 1, - //FOOTPRINT(Tinkaton) + FOOTPRINT(Tinkaton) .levelUpLearnset = sTinkatonLevelUpLearnset, .teachableLearnset = sTinkatonTeachableLearnset, }, @@ -3205,9 +3232,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Wiglett, .iconSprite = gMonIcon_Wiglett, .iconPalIndex = 0, - //FOOTPRINT(Wiglett) + FOOTPRINT(Wiglett) .levelUpLearnset = sWiglettLevelUpLearnset, .teachableLearnset = sWiglettTeachableLearnset, + .eggMoveLearnset = sWiglettEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 26, SPECIES_WUGTRIO}), }, @@ -3257,7 +3285,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Wugtrio, .iconSprite = gMonIcon_Wugtrio, .iconPalIndex = 0, - //FOOTPRINT(Wugtrio) + FOOTPRINT(Wugtrio) .levelUpLearnset = sWugtrioLevelUpLearnset, .teachableLearnset = sWugtrioTeachableLearnset, }, @@ -3312,9 +3340,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Bombirdier, .iconSprite = gMonIcon_Bombirdier, .iconPalIndex = 0, - //FOOTPRINT(Bombirdier) + FOOTPRINT(Bombirdier) .levelUpLearnset = sBombirdierLevelUpLearnset, .teachableLearnset = sBombirdierTeachableLearnset, + .eggMoveLearnset = sBombirdierEggMoveLearnset, }, #endif //P_FAMILY_BOMBIRDIER @@ -3365,9 +3394,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Finizen, .iconSprite = gMonIcon_Finizen, .iconPalIndex = 0, - //FOOTPRINT(Finizen) + FOOTPRINT(Finizen) .levelUpLearnset = sFinizenLevelUpLearnset, .teachableLearnset = sFinizenTeachableLearnset, + .eggMoveLearnset = sFinizenEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_PALAFIN_ZERO}), }, @@ -3418,7 +3448,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_PalafinZero, .iconSprite = gMonIcon_PalafinZero, .iconPalIndex = 0, - /*FOOTPRINT(Palafin)*/ + FOOTPRINT(Palafin) .levelUpLearnset = sPalafinLevelUpLearnset, .teachableLearnset = sPalafinTeachableLearnset, .formSpeciesIdTable = sPalafinFormSpeciesIdTable, @@ -3472,7 +3502,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_PalafinHero, .iconSprite = gMonIcon_PalafinHero, .iconPalIndex = 0, - /*FOOTPRINT(Palafin)*/ + FOOTPRINT(Palafin) .levelUpLearnset = sPalafinLevelUpLearnset, .teachableLearnset = sPalafinTeachableLearnset, .formSpeciesIdTable = sPalafinFormSpeciesIdTable, @@ -3528,9 +3558,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Varoom, .iconSprite = gMonIcon_Varoom, .iconPalIndex = 2, - //FOOTPRINT(Varoom) + FOOTPRINT(Varoom) .levelUpLearnset = sVaroomLevelUpLearnset, .teachableLearnset = sVaroomTeachableLearnset, + .eggMoveLearnset = sVaroomEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_REVAVROOM}), }, @@ -3581,7 +3612,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Revavroom, .iconSprite = gMonIcon_Revavroom, .iconPalIndex = 0, - //FOOTPRINT(Revavroom) + FOOTPRINT(Revavroom) .levelUpLearnset = sRevavroomLevelUpLearnset, .teachableLearnset = sRevavroomTeachableLearnset, }, @@ -3635,9 +3666,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Cyclizar, .iconSprite = gMonIcon_Cyclizar, .iconPalIndex = 1, - //FOOTPRINT(Cyclizar) + FOOTPRINT(Cyclizar) .levelUpLearnset = sCyclizarLevelUpLearnset, .teachableLearnset = sCyclizarTeachableLearnset, + .eggMoveLearnset = sCyclizarEggMoveLearnset, }, #endif //P_FAMILY_CYCLIZAR @@ -3689,9 +3721,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Orthworm, .iconSprite = gMonIcon_Orthworm, .iconPalIndex = 0, - //FOOTPRINT(Orthworm) + FOOTPRINT(Orthworm) .levelUpLearnset = sOrthwormLevelUpLearnset, .teachableLearnset = sOrthwormTeachableLearnset, + .eggMoveLearnset = sOrthwormEggMoveLearnset, }, #endif //P_FAMILY_ORTHWORM @@ -3744,9 +3777,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Glimmet, .iconSprite = gMonIcon_Glimmet, .iconPalIndex = 0, - //FOOTPRINT(Glimmet) + FOOTPRINT(Glimmet) .levelUpLearnset = sGlimmetLevelUpLearnset, .teachableLearnset = sGlimmetTeachableLearnset, + .eggMoveLearnset = sGlimmetEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_GLIMMORA}), }, @@ -3798,7 +3832,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Glimmora, .iconSprite = gMonIcon_Glimmora, .iconPalIndex = 0, - //FOOTPRINT(Glimmora) + FOOTPRINT(Glimmora) .levelUpLearnset = sGlimmoraLevelUpLearnset, .teachableLearnset = sGlimmoraTeachableLearnset, }, @@ -3852,9 +3886,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Greavard, .iconSprite = gMonIcon_Greavard, .iconPalIndex = 0, - //FOOTPRINT(Greavard) + FOOTPRINT(Greavard) .levelUpLearnset = sGreavardLevelUpLearnset, .teachableLearnset = sGreavardTeachableLearnset, + .eggMoveLearnset = sGreavardEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL_NIGHT, 30, SPECIES_HOUNDSTONE}), }, @@ -3905,7 +3940,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Houndstone, .iconSprite = gMonIcon_Houndstone, .iconPalIndex = 2, - //FOOTPRINT(Houndstone) + FOOTPRINT(Houndstone) .levelUpLearnset = sHoundstoneLevelUpLearnset, .teachableLearnset = sHoundstoneTeachableLearnset, }, @@ -3959,9 +3994,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Flamigo, .iconSprite = gMonIcon_Flamigo, .iconPalIndex = 1, - //FOOTPRINT(Flamigo) + FOOTPRINT(Flamigo) .levelUpLearnset = sFlamigoLevelUpLearnset, .teachableLearnset = sFlamigoTeachableLearnset, + .eggMoveLearnset = sFlamigoEggMoveLearnset, }, #endif //P_FAMILY_FLAMIGO @@ -4013,9 +4049,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Cetoddle, .iconSprite = gMonIcon_Cetoddle, .iconPalIndex = 0, - //FOOTPRINT(Cetoddle) + FOOTPRINT(Cetoddle) .levelUpLearnset = sCetoddleLevelUpLearnset, .teachableLearnset = sCetoddleTeachableLearnset, + .eggMoveLearnset = sCetoddleEggMoveLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_ICE_STONE, SPECIES_CETITAN}), }, @@ -4066,7 +4103,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Cetitan, .iconSprite = gMonIcon_Cetitan, .iconPalIndex = 0, - //FOOTPRINT(Cetitan) + FOOTPRINT(Cetitan) .levelUpLearnset = sCetitanLevelUpLearnset, .teachableLearnset = sCetitanTeachableLearnset, }, @@ -4121,9 +4158,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Veluza, .iconSprite = gMonIcon_Veluza, .iconPalIndex = 1, - //FOOTPRINT(Veluza) + FOOTPRINT(Veluza) .levelUpLearnset = sVeluzaLevelUpLearnset, .teachableLearnset = sVeluzaTeachableLearnset, + .eggMoveLearnset = sVeluzaEggMoveLearnset, }, #endif //P_FAMILY_VELUZA @@ -4176,9 +4214,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Dondozo, .iconSprite = gMonIcon_Dondozo, .iconPalIndex = 0, - //FOOTPRINT(Dondozo) + FOOTPRINT(Dondozo) .levelUpLearnset = sDondozoLevelUpLearnset, .teachableLearnset = sDondozoTeachableLearnset, + .eggMoveLearnset = sDondozoEggMoveLearnset, }, #endif //P_FAMILY_DONDOZO @@ -4230,9 +4269,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TatsugiriCurly, .iconSprite = gMonIcon_TatsugiriCurly, .iconPalIndex = 0, - /*FOOTPRINT(Tatsugiri)*/ + FOOTPRINT(Tatsugiri) .levelUpLearnset = sTatsugiriLevelUpLearnset, .teachableLearnset = sTatsugiriTeachableLearnset, + .eggMoveLearnset = sTatsugiriEggMoveLearnset, .formSpeciesIdTable = sTatsugiriFormSpeciesIdTable, }, @@ -4282,9 +4322,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TatsugiriDroopy, .iconSprite = gMonIcon_TatsugiriDroopy, .iconPalIndex = 0, - /*FOOTPRINT(Tatsugiri)*/ + FOOTPRINT(Tatsugiri) .levelUpLearnset = sTatsugiriLevelUpLearnset, .teachableLearnset = sTatsugiriTeachableLearnset, + .eggMoveLearnset = sTatsugiriEggMoveLearnset, .formSpeciesIdTable = sTatsugiriFormSpeciesIdTable, }, @@ -4334,9 +4375,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TatsugiriStretchy, .iconSprite = gMonIcon_TatsugiriStretchy, .iconPalIndex = 0, - /*FOOTPRINT(Tatsugiri)*/ + FOOTPRINT(Tatsugiri) .levelUpLearnset = sTatsugiriLevelUpLearnset, .teachableLearnset = sTatsugiriTeachableLearnset, + .eggMoveLearnset = sTatsugiriEggMoveLearnset, .formSpeciesIdTable = sTatsugiriFormSpeciesIdTable, }, #endif //P_FAMILY_TATSUGIRI @@ -4389,7 +4431,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_GreatTusk, .iconSprite = gMonIcon_GreatTusk, .iconPalIndex = 0, - //FOOTPRINT(GreatTusk) + FOOTPRINT(GreatTusk) .isParadox = TRUE, .levelUpLearnset = sGreatTuskLevelUpLearnset, .teachableLearnset = sGreatTuskTeachableLearnset, @@ -4444,7 +4486,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_ScreamTail, .iconSprite = gMonIcon_ScreamTail, .iconPalIndex = 0, - //FOOTPRINT(ScreamTail) + FOOTPRINT(ScreamTail) .isParadox = TRUE, .levelUpLearnset = sScreamTailLevelUpLearnset, .teachableLearnset = sScreamTailTeachableLearnset, @@ -4499,7 +4541,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_BruteBonnet, .iconSprite = gMonIcon_BruteBonnet, .iconPalIndex = 1, - //FOOTPRINT(BruteBonnet) + FOOTPRINT(BruteBonnet) .isParadox = TRUE, .levelUpLearnset = sBruteBonnetLevelUpLearnset, .teachableLearnset = sBruteBonnetTeachableLearnset, @@ -4557,7 +4599,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_FlutterMane, .iconSprite = gMonIcon_FlutterMane, .iconPalIndex = 2, - //FOOTPRINT(FlutterMane) + FOOTPRINT(FlutterMane) .isParadox = TRUE, .levelUpLearnset = sFlutterManeLevelUpLearnset, .teachableLearnset = sFlutterManeTeachableLearnset, @@ -4611,7 +4653,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_SlitherWing, .iconSprite = gMonIcon_SlitherWing, .iconPalIndex = 1, - //FOOTPRINT(SlitherWing) + FOOTPRINT(SlitherWing) .isParadox = TRUE, .levelUpLearnset = sSlitherWingLevelUpLearnset, .teachableLearnset = sSlitherWingTeachableLearnset, @@ -4666,7 +4708,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_SandyShocks, .iconSprite = gMonIcon_SandyShocks, .iconPalIndex = 0, - //FOOTPRINT(SandyShocks) + FOOTPRINT(SandyShocks) .isParadox = TRUE, .levelUpLearnset = sSandyShocksLevelUpLearnset, .teachableLearnset = sSandyShocksTeachableLearnset, @@ -4721,7 +4763,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronTreads, .iconSprite = gMonIcon_IronTreads, .iconPalIndex = 1, - //FOOTPRINT(IronTreads) + FOOTPRINT(IronTreads) .isParadox = TRUE, .levelUpLearnset = sIronTreadsLevelUpLearnset, .teachableLearnset = sIronTreadsTeachableLearnset, @@ -4776,7 +4818,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronBundle, .iconSprite = gMonIcon_IronBundle, .iconPalIndex = 0, - //FOOTPRINT(IronBundle) + FOOTPRINT(IronBundle) .isParadox = TRUE, .levelUpLearnset = sIronBundleLevelUpLearnset, .teachableLearnset = sIronBundleTeachableLearnset, @@ -4831,7 +4873,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronHands, .iconSprite = gMonIcon_IronHands, .iconPalIndex = 0, - //FOOTPRINT(IronHands) + FOOTPRINT(IronHands) .isParadox = TRUE, .levelUpLearnset = sIronHandsLevelUpLearnset, .teachableLearnset = sIronHandsTeachableLearnset, @@ -4887,7 +4929,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronJugulis, .iconSprite = gMonIcon_IronJugulis, .iconPalIndex = 0, - //FOOTPRINT(IronJugulis) + FOOTPRINT(IronJugulis) .isParadox = TRUE, .levelUpLearnset = sIronJugulisLevelUpLearnset, .teachableLearnset = sIronJugulisTeachableLearnset, @@ -4943,7 +4985,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronMoth, .iconSprite = gMonIcon_IronMoth, .iconPalIndex = 3, - //FOOTPRINT(IronMoth) + FOOTPRINT(IronMoth) .isParadox = TRUE, .levelUpLearnset = sIronMothLevelUpLearnset, .teachableLearnset = sIronMothTeachableLearnset, @@ -4998,7 +5040,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronThorns, .iconSprite = gMonIcon_IronThorns, .iconPalIndex = 1, - //FOOTPRINT(IronThorns) + FOOTPRINT(IronThorns) .isParadox = TRUE, .levelUpLearnset = sIronThornsLevelUpLearnset, .teachableLearnset = sIronThornsTeachableLearnset, @@ -5053,9 +5095,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Frigibax, .iconSprite = gMonIcon_Frigibax, .iconPalIndex = 0, - //FOOTPRINT(Frigibax) + FOOTPRINT(Frigibax) .levelUpLearnset = sFrigibaxLevelUpLearnset, .teachableLearnset = sFrigibaxTeachableLearnset, + .eggMoveLearnset = sFrigibaxEggMoveLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_ARCTIBAX}), }, @@ -5106,7 +5149,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Arctibax, .iconSprite = gMonIcon_Arctibax, .iconPalIndex = 0, - //FOOTPRINT(Arctibax) + FOOTPRINT(Arctibax) .levelUpLearnset = sArctibaxLevelUpLearnset, .teachableLearnset = sArctibaxTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 54, SPECIES_BAXCALIBUR}), @@ -5159,7 +5202,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Baxcalibur, .iconSprite = gMonIcon_Baxcalibur, .iconPalIndex = 0, - //FOOTPRINT(Baxcalibur) + FOOTPRINT(Baxcalibur) .levelUpLearnset = sBaxcaliburLevelUpLearnset, .teachableLearnset = sBaxcaliburTeachableLearnset, }, @@ -5213,11 +5256,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_GimmighoulChest, .iconSprite = gMonIcon_GimmighoulChest, .iconPalIndex = 0, - //FOOTPRINT(Gimmighoul) + FOOTPRINT(GimmighoulChest) .levelUpLearnset = sGimmighoulLevelUpLearnset, .teachableLearnset = sGimmighoulTeachableLearnset, .formSpeciesIdTable = sGimmighoulFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_LEVEL_ITEM_COUNT_999, ITEM_GIMMIGHOUL_COIN, SPECIES_GHOLDENGO}), + .evolutions = EVOLUTION({EVO_ITEM_COUNT_999, ITEM_GIMMIGHOUL_COIN, SPECIES_GHOLDENGO}), }, [SPECIES_GIMMIGHOUL_ROAMING] = @@ -5267,11 +5310,11 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_GimmighoulRoaming, .iconSprite = gMonIcon_GimmighoulRoaming, .iconPalIndex = 0, - //FOOTPRINT(Gimmighoul) + FOOTPRINT(GimmighoulRoaming) .levelUpLearnset = sGimmighoulLevelUpLearnset, .teachableLearnset = sGimmighoulTeachableLearnset, .formSpeciesIdTable = sGimmighoulFormSpeciesIdTable, - .evolutions = EVOLUTION({EVO_LEVEL_ITEM_COUNT_999, ITEM_GIMMIGHOUL_COIN, SPECIES_GHOLDENGO}), + .evolutions = EVOLUTION({EVO_ITEM_COUNT_999, ITEM_GIMMIGHOUL_COIN, SPECIES_GHOLDENGO}), }, [SPECIES_GHOLDENGO] = @@ -5321,7 +5364,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Gholdengo, .iconSprite = gMonIcon_Gholdengo, .iconPalIndex = 0, - //FOOTPRINT(Gholdengo) + FOOTPRINT(Gholdengo) .levelUpLearnset = sGholdengoLevelUpLearnset, .teachableLearnset = sGholdengoTeachableLearnset, }, @@ -5375,7 +5418,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_WoChien, .iconSprite = gMonIcon_WoChien, .iconPalIndex = 1, - //FOOTPRINT(WoChien) + FOOTPRINT(WoChien) .isLegendary = TRUE, .levelUpLearnset = sWoChienLevelUpLearnset, .teachableLearnset = sWoChienTeachableLearnset, @@ -5430,7 +5473,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_ChienPao, .iconSprite = gMonIcon_ChienPao, .iconPalIndex = 0, - //FOOTPRINT(ChienPao) + FOOTPRINT(ChienPao) .isLegendary = TRUE, .levelUpLearnset = sChienPaoLevelUpLearnset, .teachableLearnset = sChienPaoTeachableLearnset, @@ -5485,7 +5528,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TingLu, .iconSprite = gMonIcon_TingLu, .iconPalIndex = 0, - //FOOTPRINT(TingLu) + FOOTPRINT(TingLu) .isLegendary = TRUE, .levelUpLearnset = sTingLuLevelUpLearnset, .teachableLearnset = sTingLuTeachableLearnset, @@ -5541,7 +5584,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_ChiYu, .iconSprite = gMonIcon_ChiYu, .iconPalIndex = 0, - //FOOTPRINT(ChiYu) + FOOTPRINT(ChiYu) .isLegendary = TRUE, .levelUpLearnset = sChiYuLevelUpLearnset, .teachableLearnset = sChiYuTeachableLearnset, @@ -5597,7 +5640,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_RoaringMoon, .iconSprite = gMonIcon_RoaringMoon, .iconPalIndex = 0, - //FOOTPRINT(RoaringMoon) + FOOTPRINT(RoaringMoon) .isParadox = TRUE, .levelUpLearnset = sRoaringMoonLevelUpLearnset, .teachableLearnset = sRoaringMoonTeachableLearnset, @@ -5651,7 +5694,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronValiant, .iconSprite = gMonIcon_IronValiant, .iconPalIndex = 1, - //FOOTPRINT(IronValiant) + FOOTPRINT(IronValiant) .isParadox = TRUE, .levelUpLearnset = sIronValiantLevelUpLearnset, .teachableLearnset = sIronValiantTeachableLearnset, @@ -5706,7 +5749,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Koraidon, .iconSprite = gMonIcon_Koraidon, .iconPalIndex = 0, - //FOOTPRINT(Koraidon) + FOOTPRINT(Koraidon) .isLegendary = TRUE, .isFrontierBanned = TRUE, .levelUpLearnset = sKoraidonLevelUpLearnset, @@ -5762,7 +5805,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Miraidon, .iconSprite = gMonIcon_Miraidon, .iconPalIndex = 2, - //FOOTPRINT(Miraidon) + FOOTPRINT(Miraidon) .isLegendary = TRUE, .isFrontierBanned = TRUE, .levelUpLearnset = sMiraidonLevelUpLearnset, @@ -5817,7 +5860,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_WalkingWake, .iconSprite = gMonIcon_WalkingWake, .iconPalIndex = 2, - //FOOTPRINT(WalkingWake) + FOOTPRINT(WalkingWake) .isParadox = TRUE, .levelUpLearnset = sWalkingWakeLevelUpLearnset, .teachableLearnset = sWalkingWakeTeachableLearnset, @@ -5871,7 +5914,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronLeaves, .iconSprite = gMonIcon_IronLeaves, .iconPalIndex = 1, - //FOOTPRINT(IronLeaves) + FOOTPRINT(IronLeaves) .isParadox = TRUE, .levelUpLearnset = sIronLeavesLevelUpLearnset, .teachableLearnset = sIronLeavesTeachableLearnset, @@ -5927,7 +5970,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Poltchageist, .iconSprite = gMonIcon_Poltchageist, .iconPalIndex = 1, - //FOOTPRINT(Poltchageist) + FOOTPRINT(Poltchageist) .levelUpLearnset = sPoltchageistLevelUpLearnset, .teachableLearnset = sPoltchageistTeachableLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_UNREMARKABLE_TEACUP, SPECIES_SINISTCHA_UNREMARKABLE}), @@ -5980,7 +6023,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Poltchageist, .iconSprite = gMonIcon_Poltchageist, .iconPalIndex = 1, - //FOOTPRINT(Poltchageist) + FOOTPRINT(Poltchageist) .levelUpLearnset = sPoltchageistLevelUpLearnset, .teachableLearnset = sPoltchageistTeachableLearnset, .evolutions = EVOLUTION({EVO_ITEM, ITEM_MASTERPIECE_TEACUP, SPECIES_SINISTCHA_MASTERPIECE}), @@ -6034,7 +6077,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Sinistcha, .iconSprite = gMonIcon_Sinistcha, .iconPalIndex = 1, - //FOOTPRINT(Sinistcha) + FOOTPRINT(Sinistcha) .levelUpLearnset = sSinistchaLevelUpLearnset, .teachableLearnset = sSinistchaTeachableLearnset, }, @@ -6086,7 +6129,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Sinistcha, .iconSprite = gMonIcon_Sinistcha, .iconPalIndex = 1, - //FOOTPRINT(Sinistcha) + FOOTPRINT(Sinistcha) .levelUpLearnset = sSinistchaLevelUpLearnset, .teachableLearnset = sSinistchaTeachableLearnset, }, @@ -6140,7 +6183,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Okidogi, .iconSprite = gMonIcon_Okidogi, .iconPalIndex = 1, - //FOOTPRINT(Okidogi) + FOOTPRINT(Okidogi) .isLegendary = TRUE, .levelUpLearnset = sOkidogiLevelUpLearnset, .teachableLearnset = sOkidogiTeachableLearnset, @@ -6195,7 +6238,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Munkidori, .iconSprite = gMonIcon_Munkidori, .iconPalIndex = 0, - //FOOTPRINT(Munkidori) + FOOTPRINT(Munkidori) .isLegendary = TRUE, .levelUpLearnset = sMunkidoriLevelUpLearnset, .teachableLearnset = sMunkidoriTeachableLearnset, @@ -6250,7 +6293,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Fezandipiti, .iconSprite = gMonIcon_Fezandipiti, .iconPalIndex = 0, - //FOOTPRINT(Fezandipiti) + FOOTPRINT(Fezandipiti) .isLegendary = TRUE, .levelUpLearnset = sFezandipitiLevelUpLearnset, .teachableLearnset = sFezandipitiTeachableLearnset, @@ -6301,7 +6344,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Ogerpon##Form, \ .iconSprite = gMonIcon_Ogerpon##Form, \ .iconPalIndex = iconpalette, \ - /*FOOTPRINT(Ogerpon)*/ \ + FOOTPRINT(Ogerpon) \ .levelUpLearnset = sOgerponLevelUpLearnset, \ .teachableLearnset = sOgerponTeachableLearnset, \ .formSpeciesIdTable = sOgerponFormSpeciesIdTable, \ @@ -6370,7 +6413,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_GougingFire, .iconSprite = gMonIcon_GougingFire, .iconPalIndex = 5, - //FOOTPRINT(GougingFire) + FOOTPRINT(GougingFire) .isParadox = TRUE, .levelUpLearnset = sGougingFireLevelUpLearnset, .teachableLearnset = sGougingFireTeachableLearnset, @@ -6425,7 +6468,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_RagingBolt, .iconSprite = gMonIcon_RagingBolt, .iconPalIndex = 2, - //FOOTPRINT(RagingBolt) + FOOTPRINT(RagingBolt) .isParadox = TRUE, .levelUpLearnset = sRagingBoltLevelUpLearnset, .teachableLearnset = sRagingBoltTeachableLearnset, @@ -6479,7 +6522,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronBoulder, .iconSprite = gMonIcon_IronBoulder, .iconPalIndex = 5, - //FOOTPRINT(IronBoulder) + FOOTPRINT(IronBoulder) .isParadox = TRUE, .levelUpLearnset = sIronBoulderLevelUpLearnset, .teachableLearnset = sIronBoulderTeachableLearnset, @@ -6534,7 +6577,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronCrown, .iconSprite = gMonIcon_IronCrown, .iconPalIndex = 3, - //FOOTPRINT(IronCrown) + FOOTPRINT(IronCrown) .isParadox = TRUE, .levelUpLearnset = sIronCrownLevelUpLearnset, .teachableLearnset = sIronCrownTeachableLearnset, @@ -6589,7 +6632,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = //.shinyPalette = gMonShinyPalette_TerapagosNormal, .iconSprite = gMonIcon_TerapagosNormal, .iconPalIndex = 0, - //FOOTPRINT(Terapagos) + FOOTPRINT(TerapagosNormal) .isLegendary = TRUE, .isFrontierBanned = TRUE, .levelUpLearnset = sTerapagosLevelUpLearnset, @@ -6646,7 +6689,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = //.shinyPalette = gMonShinyPalette_TerapagosTerastal, .iconSprite = gMonIcon_TerapagosTerastal, .iconPalIndex = 0, - //FOOTPRINT(Terapagos) + FOOTPRINT(TerapagosTerastal) .isLegendary = TRUE, .isFrontierBanned = TRUE, .levelUpLearnset = sTerapagosLevelUpLearnset, @@ -6702,7 +6745,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = //.shinyPalette = gMonShinyPalette_TerapagosStellar, .iconSprite = gMonIcon_TerapagosStellar, .iconPalIndex = 0, - //FOOTPRINT(Terapagos) + FOOTPRINT(TerapagosStellar) .isLegendary = TRUE, .isFrontierBanned = TRUE, .levelUpLearnset = sTerapagosLevelUpLearnset, @@ -6760,7 +6803,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Pecharunt, .iconSprite = gMonIcon_Pecharunt, .iconPalIndex = 0, - //FOOTPRINT(Pecharunt) + FOOTPRINT(Pecharunt) .isMythical = TRUE, .isFrontierBanned = TRUE, .levelUpLearnset = sPecharuntLevelUpLearnset, diff --git a/src/data/pokemon/species_info/shared_dex_text.h b/src/data/pokemon/species_info/shared_dex_text.h index 0e48051537..dbfef82d74 100644 --- a/src/data/pokemon/species_info/shared_dex_text.h +++ b/src/data/pokemon/species_info/shared_dex_text.h @@ -279,4 +279,4 @@ const u8 gOgerponCornerstoneMaskPokedexText[] = _( "In this form, it draws on the power\n" "of stone. Its body is rock-solid,\n" "protecting it from all manner of\n" - "attacks."); \ No newline at end of file + "attacks."); diff --git a/src/daycare.c b/src/daycare.c index 2df37dfbac..8af8367400 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -42,8 +42,6 @@ EWRAM_DATA static u16 sHatchedEggFinalMoves[MAX_MON_MOVES] = {0}; EWRAM_DATA static u16 sHatchedEggEggMoves[EGG_MOVES_ARRAY_COUNT] = {0}; EWRAM_DATA static u16 sHatchedEggMotherMoves[MAX_MON_MOVES] = {0}; -#include "data/pokemon/egg_moves.h" - static const struct WindowTemplate sDaycareLevelMenuWindowTemplate = { .bg = 0, @@ -741,29 +739,18 @@ static void InheritAbility(struct Pokemon *egg, struct BoxPokemon *father, struc // the given array. static u8 GetEggMoves(struct Pokemon *pokemon, u16 *eggMoves) { - u16 eggMoveIdx; u16 numEggMoves; u16 species; - u16 i; + u32 i; + const u16 *eggMoveLearnset; numEggMoves = 0; - eggMoveIdx = 0; species = GetMonData(pokemon, MON_DATA_SPECIES); - for (i = 0; i < ARRAY_COUNT(gEggMoves) - 1; i++) - { - if (gEggMoves[i] == species + EGG_MOVES_SPECIES_OFFSET) - { - eggMoveIdx = i + 1; - break; - } - } + eggMoveLearnset = GetSpeciesEggMoves(species); - for (i = 0; i < EGG_MOVES_ARRAY_COUNT; i++) + for (i = 0; eggMoveLearnset[i] != MOVE_UNAVAILABLE; i++) { - if (gEggMoves[eggMoveIdx + i] > EGG_MOVES_SPECIES_OFFSET) - break; - - eggMoves[i] = gEggMoves[eggMoveIdx + i]; + eggMoves[i] = eggMoveLearnset[i]; numEggMoves++; } @@ -772,30 +759,16 @@ static u8 GetEggMoves(struct Pokemon *pokemon, u16 *eggMoves) u8 GetEggMovesSpecies(u16 species, u16 *eggMoves) { - u16 eggMoveIdx; u16 numEggMoves; - u16 i; + const u16 *eggMoveLearnset; + u32 i; numEggMoves = 0; - eggMoveIdx = 0; - for (i = 0; i < ARRAY_COUNT(gEggMoves) - 1; i++) - { - if (gEggMoves[i] == species + EGG_MOVES_SPECIES_OFFSET) - { - eggMoveIdx = i + 1; - break; - } - } + eggMoveLearnset = GetSpeciesEggMoves(species); - for (i = 0; i < EGG_MOVES_ARRAY_COUNT; i++) + for (i = 0; eggMoveLearnset[i] != MOVE_UNAVAILABLE; i++) { - if (gEggMoves[eggMoveIdx + i] > EGG_MOVES_SPECIES_OFFSET) - { - // TODO: the curly braces around this if statement are required for a matching build. - break; - } - - eggMoves[i] = gEggMoves[eggMoveIdx + i]; + eggMoves[i] = eggMoveLearnset[i]; numEggMoves++; } @@ -804,26 +777,15 @@ u8 GetEggMovesSpecies(u16 species, u16 *eggMoves) bool8 SpeciesCanLearnEggMove(u16 species, u16 move) //Move search PokedexPlus HGSS_Ui { - u16 eggMoveIdx; - u16 i; - eggMoveIdx = 0; - for (i = 0; i < ARRAY_COUNT(gEggMoves) - 1; i++) - { - if (gEggMoves[i] == species + EGG_MOVES_SPECIES_OFFSET) - { - eggMoveIdx = i + 1; - break; - } - } + u32 i; + const u16 *eggMoveLearnset = GetSpeciesEggMoves(species); - for (i = 0; i < EGG_MOVES_ARRAY_COUNT; i++) + for (i = 0; eggMoveLearnset[i] != MOVE_UNAVAILABLE; i++) { - if (gEggMoves[eggMoveIdx + i] > EGG_MOVES_SPECIES_OFFSET) - return FALSE; - - if (move == gEggMoves[eggMoveIdx + i]) + if (eggMoveLearnset[i] == move) return TRUE; } + return FALSE; } @@ -1173,7 +1135,7 @@ static bool8 TryProduceOrHatchEgg(struct DayCare *daycare) } // Try to hatch Egg - if (++daycare->stepCounter == 255) + if (++daycare->stepCounter == ((P_EGG_CYCLE_LENGTH >= GEN_8) ? 127 : 255)) { u32 eggCycles; u8 toSub = GetEggCyclesToSubtract(); diff --git a/src/debug.c b/src/debug.c index c8bf04eff9..049e2f0ed8 100644 --- a/src/debug.c +++ b/src/debug.c @@ -3367,7 +3367,7 @@ static void DebugAction_Give_Pokemon_SelectShiny(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].tDigit]); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, 2); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); - StringCopy(gStringVar1, gNatureNamePointers[0]); + StringCopy(gStringVar1, gNaturesInfo[0].name); StringExpandPlaceholders(gStringVar4, sDebugText_PokemonNature); AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 1, 1, 0, NULL); @@ -3403,7 +3403,7 @@ static void DebugAction_Give_Pokemon_SelectNature(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].tDigit]); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, 2); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); - StringCopy(gStringVar1, gNatureNamePointers[gTasks[taskId].tInput]); + StringCopy(gStringVar1, gNaturesInfo[gTasks[taskId].tInput].name); StringExpandPlaceholders(gStringVar4, sDebugText_PokemonNature); AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 1, 1, 0, NULL); } diff --git a/src/field_specials.c b/src/field_specials.c index 6ac110b7c5..b44c8327aa 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -2792,41 +2792,13 @@ void SetBattleTowerLinkPlayerGfx(void) void ShowNatureGirlMessage(void) { - static const u8 *const sNatureGirlMessages[NUM_NATURES] = { - [NATURE_HARDY] = BattleFrontier_Lounge5_Text_NatureGirlHardy, - [NATURE_LONELY] = BattleFrontier_Lounge5_Text_NatureGirlLonely, - [NATURE_BRAVE] = BattleFrontier_Lounge5_Text_NatureGirlBrave, - [NATURE_ADAMANT] = BattleFrontier_Lounge5_Text_NatureGirlAdamant, - [NATURE_NAUGHTY] = BattleFrontier_Lounge5_Text_NatureGirlNaughty, - [NATURE_BOLD] = BattleFrontier_Lounge5_Text_NatureGirlBold, - [NATURE_DOCILE] = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky, - [NATURE_RELAXED] = BattleFrontier_Lounge5_Text_NatureGirlRelaxed, - [NATURE_IMPISH] = BattleFrontier_Lounge5_Text_NatureGirlImpish, - [NATURE_LAX] = BattleFrontier_Lounge5_Text_NatureGirlLax, - [NATURE_TIMID] = BattleFrontier_Lounge5_Text_NatureGirlTimid, - [NATURE_HASTY] = BattleFrontier_Lounge5_Text_NatureGirlHasty, - [NATURE_SERIOUS] = BattleFrontier_Lounge5_Text_NatureGirlSerious, - [NATURE_JOLLY] = BattleFrontier_Lounge5_Text_NatureGirlJolly, - [NATURE_NAIVE] = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky, - [NATURE_MODEST] = BattleFrontier_Lounge5_Text_NatureGirlModest, - [NATURE_MILD] = BattleFrontier_Lounge5_Text_NatureGirlMild, - [NATURE_QUIET] = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky, - [NATURE_BASHFUL] = BattleFrontier_Lounge5_Text_NatureGirlBashful, - [NATURE_RASH] = BattleFrontier_Lounge5_Text_NatureGirlRash, - [NATURE_CALM] = BattleFrontier_Lounge5_Text_NatureGirlCalm, - [NATURE_GENTLE] = BattleFrontier_Lounge5_Text_NatureGirlGentle, - [NATURE_SASSY] = BattleFrontier_Lounge5_Text_NatureGirlSassy, - [NATURE_CAREFUL] = BattleFrontier_Lounge5_Text_NatureGirlCareful, - [NATURE_QUIRKY] = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky, - }; - u8 nature; if (gSpecialVar_0x8004 >= PARTY_SIZE) gSpecialVar_0x8004 = 0; nature = GetNature(&gPlayerParty[gSpecialVar_0x8004]); - ShowFieldMessage(sNatureGirlMessages[nature]); + ShowFieldMessage(gNaturesInfo[nature].natureGirlMessage); } void UpdateFrontierGambler(u16 daysSince) diff --git a/src/graphics.c b/src/graphics.c index 4f10e0f965..72e9925599 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -126,6 +126,8 @@ const u32 gBattleAnimSpritePal_DragonPulseRing[] = INCBIN_U32("graphics/battle_a const u32 gBattleAnimSpriteGfx_DreepyMissile[] = INCBIN_U32("graphics/battle_anims/sprites/dreepy_missile.4bpp.lz"); const u32 gBattleAnimSpritePal_DreepyMissile[] = INCBIN_U32("graphics/battle_anims/sprites/dreepy_missile.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_DreepyMissileShiny[] = INCBIN_U32("graphics/battle_anims/sprites/dreepy_missile.4bpp.lz"); +const u32 gBattleAnimSpritePal_DreepyMissileShiny[] = INCBIN_U32("graphics/battle_anims/sprites/dreepy_missile_shiny.gbapal.lz"); const u32 gBattleAnimSpriteGfx_Drill[] = INCBIN_U32("graphics/battle_anims/sprites/drill.4bpp.lz"); const u32 gBattleAnimSpritePal_Drill[] = INCBIN_U32("graphics/battle_anims/sprites/drill.gbapal.lz"); @@ -1739,7 +1741,6 @@ const u16 gFrontierPassMedalsGold_Pal[] = INCBIN_U16("graphics/frontier_pass/gol // Pokédex const u16 gPokedexBgHoenn_Pal[] = INCBIN_U16("graphics/pokedex/bg_hoenn.gbapal"); -const u16 gPokedexCaughtScreen_Pal[] = INCBIN_U16("graphics/pokedex/caught_screen.gbapal"); const u16 gPokedexSearchResults_Pal[] = INCBIN_U16("graphics/pokedex/search_results_bg.gbapal"); const u16 gPokedexBgNational_Pal[] = INCBIN_U16("graphics/pokedex/bg_national.gbapal"); const u32 gPokedexMenu_Gfx[] = INCBIN_U32("graphics/pokedex/menu.4bpp.lz"); diff --git a/src/item.c b/src/item.c index 0823f92059..205719fb53 100644 --- a/src/item.c +++ b/src/item.c @@ -13,8 +13,10 @@ #include "item_use.h" #include "battle_pyramid.h" #include "battle_pyramid_bag.h" +#include "graphics.h" #include "constants/battle.h" #include "constants/items.h" +#include "constants/moves.h" #include "constants/item_effects.h" #include "constants/hold_effects.h" diff --git a/src/item_icon.c b/src/item_icon.c index 627b7894d5..14a812b7fa 100644 --- a/src/item_icon.c +++ b/src/item_icon.c @@ -98,14 +98,14 @@ u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, u16 itemId) struct CompressedSpritePalette spritePalette; struct SpriteTemplate *spriteTemplate; - LZDecompressWram(GetItemIconPicOrPalette(itemId, 0), gItemIconDecompressionBuffer); + LZDecompressWram(GetItemIconPic(itemId), gItemIconDecompressionBuffer); CopyItemIconPicTo4x4Buffer(gItemIconDecompressionBuffer, gItemIcon4x4Buffer); spriteSheet.data = gItemIcon4x4Buffer; spriteSheet.size = 0x200; spriteSheet.tag = tilesTag; LoadSpriteSheet(&spriteSheet); - spritePalette.data = GetItemIconPicOrPalette(itemId, 1); + spritePalette.data = GetItemIconPalette(itemId); spritePalette.tag = paletteTag; LoadCompressedSpritePalette(&spritePalette); @@ -135,14 +135,14 @@ u8 AddCustomItemIconSprite(const struct SpriteTemplate *customSpriteTemplate, u1 struct CompressedSpritePalette spritePalette; struct SpriteTemplate *spriteTemplate; - LZDecompressWram(GetItemIconPicOrPalette(itemId, 0), gItemIconDecompressionBuffer); + LZDecompressWram(GetItemIconPic(itemId), gItemIconDecompressionBuffer); CopyItemIconPicTo4x4Buffer(gItemIconDecompressionBuffer, gItemIcon4x4Buffer); spriteSheet.data = gItemIcon4x4Buffer; spriteSheet.size = 0x200; spriteSheet.tag = tilesTag; LoadSpriteSheet(&spriteSheet); - spritePalette.data = GetItemIconPicOrPalette(itemId, 1); + spritePalette.data = GetItemIconPalette(itemId); spritePalette.tag = paletteTag; LoadCompressedSpritePalette(&spritePalette); @@ -159,19 +159,30 @@ u8 AddCustomItemIconSprite(const struct SpriteTemplate *customSpriteTemplate, u1 } } -const void *GetItemIconPicOrPalette(u16 itemId, u8 which) +const void *GetItemIconPic(u16 itemId) { if (itemId == ITEM_LIST_END) - return gItemIconTable[ITEMS_COUNT][which]; // Use last icon, the "return to field" arrow + return gItemIcon_ReturnToFieldArrow; // Use last icon, the "return to field" arrow if (itemId >= ITEMS_COUNT) - return gItemIconTable[0][which]; + return gItemsInfo[0].iconPic; if (itemId >= ITEM_TM01 && itemId < ITEM_HM01 + NUM_HIDDEN_MACHINES) { - if (which) - return gTypesInfo[gMovesInfo[gItemsInfo[itemId].secondaryId].type].paletteTMHM; if (itemId < ITEM_TM01 + NUM_TECHNICAL_MACHINES) return gItemIcon_TM; return gItemIcon_HM; } - return gItemIconTable[itemId][which]; + + return gItemsInfo[itemId].iconPic; +} + +const void *GetItemIconPalette(u16 itemId) +{ + if (itemId == ITEM_LIST_END) + return gItemIconPalette_ReturnToFieldArrow; + if (itemId >= ITEMS_COUNT) + return gItemsInfo[0].iconPalette; + if (itemId >= ITEM_TM01 && itemId < ITEM_HM01 + NUM_HIDDEN_MACHINES) + return gTypesInfo[gMovesInfo[gItemsInfo[itemId].secondaryId].type].paletteTMHM; + + return gItemsInfo[itemId].iconPalette; } diff --git a/src/item_use.c b/src/item_use.c index e711f8cd22..824b308524 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -1254,11 +1254,11 @@ bool32 CannotUseItemsInBattle(u16 itemId, struct Pokemon *mon) cannotUse = TRUE; break; case EFFECT_ITEM_RESTORE_PP: - if (ItemId_GetEffect(itemId)[6] == ITEM4_HEAL_PP) + if (ItemId_GetEffect(itemId)[4] == ITEM4_HEAL_PP) { for (i = 0; i < MAX_MON_MOVES; i++) { - if (GetMonData(mon, MON_DATA_PP1 + i) < CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + i), GetMonData(mon, MON_DATA_PP_BONUSES), i)); + if (GetMonData(mon, MON_DATA_PP1 + i) < CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + i), GetMonData(mon, MON_DATA_PP_BONUSES), i)) break; } if (i == MAX_MON_MOVES) diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index 59aed379d8..f31896a4cb 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -40,51 +40,9 @@ enum { NUM_ANIMDATA }; -enum { - AFFINE_NONE, - AFFINE_TURN_UP, - AFFINE_TURN_UP_AND_DOWN, - AFFINE_TURN_DOWN, - AFFINE_TURN_DOWN_SLOW, - AFFINE_TURN_DOWN_SLIGHT, - AFFINE_TURN_UP_HIGH, - AFFINE_UNUSED_1, - AFFINE_UNUSED_2, - AFFINE_UNUSED_3, - NUM_MON_AFFINES, -}; - #define MON_X 48 #define MON_Y 80 -// The animation the Pokémon does during the feeding scene depends on their nature. -// The below values are offsets into sMonPokeblockAnims of the animation data for that nature. -#define ANIM_HARDY 0 -#define ANIM_LONELY (ANIM_HARDY + 3) -#define ANIM_BRAVE (ANIM_LONELY + 1) -#define ANIM_ADAMANT (ANIM_BRAVE + 1) -#define ANIM_NAUGHTY (ANIM_ADAMANT + 5) -#define ANIM_BOLD (ANIM_NAUGHTY + 3) -#define ANIM_DOCILE (ANIM_BOLD + 2) -#define ANIM_RELAXED (ANIM_DOCILE + 1) -#define ANIM_IMPISH (ANIM_RELAXED + 2) -#define ANIM_LAX (ANIM_IMPISH + 1) -#define ANIM_TIMID (ANIM_LAX + 1) -#define ANIM_HASTY (ANIM_TIMID + 5) -#define ANIM_SERIOUS (ANIM_HASTY + 2) -#define ANIM_JOLLY (ANIM_SERIOUS + 1) -#define ANIM_NAIVE (ANIM_JOLLY + 1) -#define ANIM_MODEST (ANIM_NAIVE + 4) -#define ANIM_MILD (ANIM_MODEST + 3) -#define ANIM_QUIET (ANIM_MILD + 1) -#define ANIM_BASHFUL (ANIM_QUIET + 2) -#define ANIM_RASH (ANIM_BASHFUL + 3) -#define ANIM_CALM (ANIM_RASH + 3) -#define ANIM_GENTLE (ANIM_CALM + 1) -#define ANIM_SASSY (ANIM_GENTLE + 1) -#define ANIM_CAREFUL (ANIM_SASSY + 1) -#define ANIM_QUIRKY (ANIM_CAREFUL + 5) - struct PokeblockFeed { struct Sprite *monSpritePtr; @@ -141,35 +99,6 @@ static void SpriteCB_ThrownPokeblock(struct Sprite *); EWRAM_DATA static struct PokeblockFeed *sPokeblockFeed = NULL; EWRAM_DATA static struct CompressedSpritePalette sPokeblockSpritePal = {0}; -static const u8 sNatureToMonPokeblockAnim[NUM_NATURES][2] = -{ - [NATURE_HARDY] = { ANIM_HARDY, AFFINE_NONE }, - [NATURE_LONELY] = { ANIM_LONELY, AFFINE_NONE }, - [NATURE_BRAVE] = { ANIM_BRAVE, AFFINE_TURN_UP }, - [NATURE_ADAMANT] = { ANIM_ADAMANT, AFFINE_NONE }, - [NATURE_NAUGHTY] = { ANIM_NAUGHTY, AFFINE_NONE }, - [NATURE_BOLD] = { ANIM_BOLD, AFFINE_NONE }, - [NATURE_DOCILE] = { ANIM_DOCILE, AFFINE_NONE }, - [NATURE_RELAXED] = { ANIM_RELAXED, AFFINE_TURN_UP_AND_DOWN }, - [NATURE_IMPISH] = { ANIM_IMPISH, AFFINE_NONE }, - [NATURE_LAX] = { ANIM_LAX, AFFINE_NONE }, - [NATURE_TIMID] = { ANIM_TIMID, AFFINE_NONE }, - [NATURE_HASTY] = { ANIM_HASTY, AFFINE_NONE }, - [NATURE_SERIOUS] = { ANIM_SERIOUS, AFFINE_TURN_DOWN }, - [NATURE_JOLLY] = { ANIM_JOLLY, AFFINE_NONE }, - [NATURE_NAIVE] = { ANIM_NAIVE, AFFINE_NONE }, - [NATURE_MODEST] = { ANIM_MODEST, AFFINE_TURN_DOWN_SLOW }, - [NATURE_MILD] = { ANIM_MILD, AFFINE_NONE }, - [NATURE_QUIET] = { ANIM_QUIET, AFFINE_NONE }, - [NATURE_BASHFUL] = { ANIM_BASHFUL, AFFINE_NONE }, - [NATURE_RASH] = { ANIM_RASH, AFFINE_NONE }, - [NATURE_CALM] = { ANIM_CALM, AFFINE_NONE }, - [NATURE_GENTLE] = { ANIM_GENTLE, AFFINE_TURN_DOWN_SLIGHT }, - [NATURE_SASSY] = { ANIM_SASSY, AFFINE_TURN_UP_HIGH }, - [NATURE_CAREFUL] = { ANIM_CAREFUL, AFFINE_NONE }, - [NATURE_QUIRKY] = { ANIM_QUIRKY, AFFINE_NONE }, -}; - // Data for the animation the Pokémon does while readying to jump for the Pokéblock // Each nature can have up to 8 anim 'stages' it progresses through, and each stage has its own array of data. // The elements in each array correspond in order to the following: @@ -996,7 +925,7 @@ static void CalculateMonAnimLength(void) pokeblockFeed = sPokeblockFeed; pokeblockFeed->monAnimLength = 1; - animId = sNatureToMonPokeblockAnim[pokeblockFeed->nature][0]; + animId = gNaturesInfo[pokeblockFeed->nature].pokeBlockAnim[0]; // Add up the time each stage of the animation will take for (i = 0; i < 8; i++, animId++) @@ -1014,7 +943,7 @@ static void UpdateMonAnim(void) switch (pokeblockFeed->animRunState) { case 0: - pokeblockFeed->animId = sNatureToMonPokeblockAnim[pokeblockFeed->nature][0]; + pokeblockFeed->animId = gNaturesInfo[pokeblockFeed->nature].pokeBlockAnim[0]; pokeblockFeed->monSpritePtr = &gSprites[pokeblockFeed->monSpriteId_]; pokeblockFeed->savedMonSprite = *pokeblockFeed->monSpritePtr; pokeblockFeed->animRunState = 10; @@ -1023,7 +952,7 @@ static void UpdateMonAnim(void) break; case 10: InitMonAnimStage(); - if (sNatureToMonPokeblockAnim[pokeblockFeed->nature][1] != AFFINE_NONE) + if (gNaturesInfo[pokeblockFeed->nature].pokeBlockAnim[1] != AFFINE_NONE) { // Initialize affine anim pokeblockFeed->monSpritePtr->oam.affineMode = ST_OAM_AFFINE_DOUBLE; @@ -1033,13 +962,13 @@ static void UpdateMonAnim(void) } pokeblockFeed->animRunState = 50; case 50: - if (sNatureToMonPokeblockAnim[pokeblockFeed->nature][1] != AFFINE_NONE) + if (gNaturesInfo[pokeblockFeed->nature].pokeBlockAnim[1] != AFFINE_NONE) { // Start affine anim if (!pokeblockFeed->noMonFlip) // double negation, so mon's sprite is flipped - StartSpriteAffineAnim(pokeblockFeed->monSpritePtr, sNatureToMonPokeblockAnim[pokeblockFeed->nature][1] + NUM_MON_AFFINES); + StartSpriteAffineAnim(pokeblockFeed->monSpritePtr, gNaturesInfo[pokeblockFeed->nature].pokeBlockAnim[1] + NUM_MON_AFFINES); else - StartSpriteAffineAnim(pokeblockFeed->monSpritePtr, sNatureToMonPokeblockAnim[pokeblockFeed->nature][1]); + StartSpriteAffineAnim(pokeblockFeed->monSpritePtr, gNaturesInfo[pokeblockFeed->nature].pokeBlockAnim[1]); } pokeblockFeed->animRunState = 60; break; diff --git a/src/pokedex.c b/src/pokedex.c index 928f528d69..6153e72213 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -4093,7 +4093,7 @@ static void Task_HandleCaughtMonPageInput(u8 taskId) } else { - LoadPalette(gPokedexCaughtScreen_Pal + 1, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(7)); + LoadPalette(gPokedexBgHoenn_Pal + 49, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(7)); } } diff --git a/src/pokedex_plus_hgss.c b/src/pokedex_plus_hgss.c index f5cdaf027a..9f657d1673 100644 --- a/src/pokedex_plus_hgss.c +++ b/src/pokedex_plus_hgss.c @@ -193,6 +193,7 @@ static const u8 sText_Stats_eggGroup_WATER_2[] = _("WATER {CIRCLE_2}"); static const u8 sText_Stats_eggGroup_DITTO[] = _("DITTO"); static const u8 sText_Stats_eggGroup_DRAGON[] = _("DRAGON"); static const u8 sText_Stats_eggGroup_NO_EGGS_DISCOVERED[] = _("---"); +static const u8 sText_Stats_eggGroup_UNKNOWN[] = _("???"); static const u8 sText_Dex_SEEN[] = _("SEEN"); static const u8 sText_Dex_OWN[] = _("OWN"); @@ -244,10 +245,10 @@ static const u8 sText_EVO_WATER_SCROLL[] = _("ScrollOfWatrs is used"); static const u8 sText_EVO_ITEM_NIGHT[] = _("{STR_VAR_2} is used, night"); static const u8 sText_EVO_ITEM_DAY[] = _("{STR_VAR_2} is used, day"); static const u8 sText_EVO_ITEM_HOLD[] = _("{LV}{UP_ARROW}, holds {STR_VAR_2}"); -static const u8 sText_EVO_LEVEL_MOVE_TWENTY_TIMES[] = _("{LV}{UP_ARROW} after 20x {STR_VAR_2}"); -static const u8 sText_EVO_LEVEL_RECOIL_DAMAGE_MALE[] = _("{LV}{UP_ARROW} with {STR_VAR_2} recoil, male"); -static const u8 sText_EVO_LEVEL_RECOIL_DAMAGE_FEMALE[] = _("{LV}{UP_ARROW} with {STR_VAR_2} recoil, female"); -static const u8 sText_EVO_LEVEL_ITEM_COUNT_999[] = _("{LV}{UP_ARROW} with 999 {STR_VAR_2} in bag"); +static const u8 sText_EVO_USE_MOVE_TWENTY_TIMES[] = _("{LV}{UP_ARROW} after 20x {STR_VAR_2}"); +static const u8 sText_EVO_RECOIL_DAMAGE_MALE[] = _("{LV}{UP_ARROW} with {STR_VAR_2} recoil, male"); +static const u8 sText_EVO_RECOIL_DAMAGE_FEMALE[] = _("{LV}{UP_ARROW} with {STR_VAR_2} recoil, female"); +static const u8 sText_EVO_ITEM_COUNT_999[] = _("{LV}{UP_ARROW} with 999 {STR_VAR_2} in bag"); static const u8 sText_EVO_UNKNOWN[] = _("Method unknown"); static const u8 sText_EVO_NONE[] = _("{STR_VAR_1} has no evolution."); @@ -303,6 +304,7 @@ static const u32 sPokedexPlusHGSS_ScreenSearchNational_Tilemap[] = INCBIN_U32("g #define MAX_SEARCH_PARAM_CURSOR_POS (MAX_SEARCH_PARAM_ON_SCREEN - 1) #define MAX_MONS_ON_SCREEN 4 +#define MAX_EVOLUTION_ICONS 8 #define LIST_SCROLL_STEP 16 @@ -597,7 +599,7 @@ static void Task_LoadEvolutionScreen(u8 taskId); static void Task_HandleEvolutionScreenInput(u8 taskId); static void Task_SwitchScreensFromEvolutionScreen(u8 taskId); static void Task_ExitEvolutionScreen(u8 taskId); -static u8 PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species, u8 depth, u8 depth_i); +static void PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species, u8 depth, u32 *depth_i, u32 alreadyPrintedIcons[], u32 *icon_depth_i); static u8 PrintPreEvolutions(u8 taskId, u16 species); //Stat bars on scrolling screens static void TryDestroyStatBars(void); @@ -3875,18 +3877,18 @@ static void Task_LoadInfoScreen(u8 taskId) gMain.state++; break; case 6: - { - u32 preservedPalettes = 0; + { + u32 preservedPalettes = 0; - if (gTasks[taskId].tBgLoaded) - preservedPalettes = 0x14; // each bit represents a palette index - if (gTasks[taskId].tMonSpriteDone) - preservedPalettes |= (1 << (gSprites[gTasks[taskId].tMonSpriteId].oam.paletteNum + 16)); - BeginNormalPaletteFade(~preservedPalettes, 0, 16, 0, RGB_BLACK); - SetVBlankCallback(gPokedexVBlankCB); - gMain.state++; - } + if (gTasks[taskId].tBgLoaded) + preservedPalettes = 0x14; // each bit represents a palette index + if (gTasks[taskId].tMonSpriteDone) + preservedPalettes |= (1 << (gSprites[gTasks[taskId].tMonSpriteId].oam.paletteNum + 16)); + BeginNormalPaletteFade(~preservedPalettes, 0, 16, 0, RGB_BLACK); + SetVBlankCallback(gPokedexVBlankCB); + gMain.state++; break; + } case 7: SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); @@ -4952,7 +4954,7 @@ static void Task_LoadStatsScreen(u8 taskId) gMain.state++; break; case 7: - { + { u32 preservedPalettes = 0; if (gTasks[taskId].data[2] != 0) @@ -4962,8 +4964,8 @@ static void Task_LoadStatsScreen(u8 taskId) BeginNormalPaletteFade(~preservedPalettes, 0, 16, 0, RGB_BLACK); SetVBlankCallback(gPokedexVBlankCB); gMain.state++; - } break; + } case 8: SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); @@ -5755,102 +5757,108 @@ static void PrintStatsScreen_Left(u8 taskId) //Egg group 1 switch (sPokedexView->sPokemonStats.eggGroup1) { - case EGG_GROUP_MONSTER : + case EGG_GROUP_MONSTER: StringCopy(gStringVar1, sText_Stats_eggGroup_MONSTER); break; - case EGG_GROUP_WATER_1 : + case EGG_GROUP_WATER_1: StringCopy(gStringVar1, sText_Stats_eggGroup_WATER_1); break; - case EGG_GROUP_BUG : + case EGG_GROUP_BUG: StringCopy(gStringVar1, sText_Stats_eggGroup_BUG); break; - case EGG_GROUP_FLYING : + case EGG_GROUP_FLYING: StringCopy(gStringVar1, sText_Stats_eggGroup_FLYING); break; - case EGG_GROUP_FIELD : + case EGG_GROUP_FIELD: StringCopy(gStringVar1, sText_Stats_eggGroup_FIELD); break; - case EGG_GROUP_FAIRY : + case EGG_GROUP_FAIRY: StringCopy(gStringVar1, sText_Stats_eggGroup_FAIRY); break; - case EGG_GROUP_GRASS : + case EGG_GROUP_GRASS: StringCopy(gStringVar1, sText_Stats_eggGroup_GRASS); break; - case EGG_GROUP_HUMAN_LIKE : + case EGG_GROUP_HUMAN_LIKE: StringCopy(gStringVar1, sText_Stats_eggGroup_HUMAN_LIKE); break; - case EGG_GROUP_WATER_3 : + case EGG_GROUP_WATER_3: StringCopy(gStringVar1, sText_Stats_eggGroup_WATER_3); break; - case EGG_GROUP_MINERAL : + case EGG_GROUP_MINERAL: StringCopy(gStringVar1, sText_Stats_eggGroup_MINERAL); break; - case EGG_GROUP_AMORPHOUS : + case EGG_GROUP_AMORPHOUS: StringCopy(gStringVar1, sText_Stats_eggGroup_AMORPHOUS); break; - case EGG_GROUP_WATER_2 : + case EGG_GROUP_WATER_2: StringCopy(gStringVar1, sText_Stats_eggGroup_WATER_2); break; - case EGG_GROUP_DITTO : + case EGG_GROUP_DITTO: StringCopy(gStringVar1, sText_Stats_eggGroup_DITTO); break; - case EGG_GROUP_DRAGON : + case EGG_GROUP_DRAGON: StringCopy(gStringVar1, sText_Stats_eggGroup_DRAGON); break; case EGG_GROUP_NO_EGGS_DISCOVERED: StringCopy(gStringVar1, sText_Stats_eggGroup_NO_EGGS_DISCOVERED); break; + default: + StringCopy(gStringVar1, sText_Stats_eggGroup_UNKNOWN); + break; } //Egg group 2 if (sPokedexView->sPokemonStats.eggGroup1 != sPokedexView->sPokemonStats.eggGroup2) { switch (sPokedexView->sPokemonStats.eggGroup2) { - case EGG_GROUP_MONSTER : + case EGG_GROUP_MONSTER: StringCopy(gStringVar2, sText_Stats_eggGroup_MONSTER); break; - case EGG_GROUP_WATER_1 : + case EGG_GROUP_WATER_1: StringCopy(gStringVar2, sText_Stats_eggGroup_WATER_1); break; - case EGG_GROUP_BUG : + case EGG_GROUP_BUG: StringCopy(gStringVar2, sText_Stats_eggGroup_BUG); break; - case EGG_GROUP_FLYING : + case EGG_GROUP_FLYING: StringCopy(gStringVar2, sText_Stats_eggGroup_FLYING); break; - case EGG_GROUP_FIELD : + case EGG_GROUP_FIELD: StringCopy(gStringVar2, sText_Stats_eggGroup_FIELD); break; - case EGG_GROUP_FAIRY : + case EGG_GROUP_FAIRY: StringCopy(gStringVar2, sText_Stats_eggGroup_FAIRY); break; - case EGG_GROUP_GRASS : + case EGG_GROUP_GRASS: StringCopy(gStringVar2, sText_Stats_eggGroup_GRASS); break; - case EGG_GROUP_HUMAN_LIKE : + case EGG_GROUP_HUMAN_LIKE: StringCopy(gStringVar2, sText_Stats_eggGroup_HUMAN_LIKE); break; - case EGG_GROUP_WATER_3 : + case EGG_GROUP_WATER_3: StringCopy(gStringVar2, sText_Stats_eggGroup_WATER_3); break; - case EGG_GROUP_MINERAL : + case EGG_GROUP_MINERAL: StringCopy(gStringVar2, sText_Stats_eggGroup_MINERAL); break; - case EGG_GROUP_AMORPHOUS : + case EGG_GROUP_AMORPHOUS: StringCopy(gStringVar2, sText_Stats_eggGroup_AMORPHOUS); break; - case EGG_GROUP_WATER_2 : + case EGG_GROUP_WATER_2: StringCopy(gStringVar2, sText_Stats_eggGroup_WATER_2); break; - case EGG_GROUP_DITTO : + case EGG_GROUP_DITTO: StringCopy(gStringVar2, sText_Stats_eggGroup_DITTO); break; - case EGG_GROUP_DRAGON : + case EGG_GROUP_DRAGON: StringCopy(gStringVar2, sText_Stats_eggGroup_DRAGON); break; case EGG_GROUP_NO_EGGS_DISCOVERED: StringCopy(gStringVar2, sText_Stats_eggGroup_NO_EGGS_DISCOVERED); break; + default: + StringCopy(gStringVar2, sText_Stats_eggGroup_UNKNOWN); + break; } StringExpandPlaceholders(gStringVar3, sText_Stats_eggGroup_Groups); align_x = GetStringRightAlignXOffset(0, gStringVar3, total_x); @@ -6079,20 +6087,29 @@ static void Task_LoadEvolutionScreen(u8 taskId) gMain.state++; break; case 4: + { + u32 alreadyPrintedIcons[MAX_EVOLUTION_ICONS] = {0}; + u32 depth = sPokedexView->numPreEvolutions; + u32 iconDepth = depth; //Print evo info and icons gTasks[taskId].data[3] = 0; - PrintEvolutionTargetSpeciesAndMethod(taskId, NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum), 0, sPokedexView->numPreEvolutions); + PrintEvolutionTargetSpeciesAndMethod(taskId, NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum), 0, &depth, alreadyPrintedIcons, &iconDepth); LoadSpritePalette(&gSpritePalette_Arrow); GetSeenFlagTargetSpecies(); - if (sPokedexView->sEvoScreenData.numAllEvolutions != 0 && sPokedexView->sEvoScreenData.numSeen != 0) + if (sPokedexView->sEvoScreenData.numAllEvolutions > 0 && sPokedexView->sEvoScreenData.numSeen > 0) { - sPokedexView->sEvoScreenData.arrowSpriteId = CreateSprite(&gSpriteTemplate_Arrow, 7, 58, 0); + u32 pos; + for (pos = 0; !sPokedexView->sEvoScreenData.seen[pos]; pos++) + ; + sPokedexView->sEvoScreenData.menuPos = pos; + sPokedexView->sEvoScreenData.arrowSpriteId = CreateSprite(&gSpriteTemplate_Arrow, 7, 58 + 9 * pos, 0); gSprites[sPokedexView->sEvoScreenData.arrowSpriteId].animNum = 2; } gMain.state++; break; + } case 5: - { + { u32 preservedPalettes = 0; if (gTasks[taskId].data[2] != 0) @@ -6102,8 +6119,8 @@ static void Task_LoadEvolutionScreen(u8 taskId) BeginNormalPaletteFade(~preservedPalettes, 0, 16, 0, RGB_BLACK); SetVBlankCallback(gPokedexVBlankCB); gMain.state++; - } break; + } case 6: SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); @@ -6145,34 +6162,36 @@ static void Task_HandleEvolutionScreenInput(u8 taskId) PlaySE(SE_PIN); } - if (sPokedexView->sEvoScreenData.numAllEvolutions != 0 && sPokedexView->sEvoScreenData.numSeen != 0) + if (sPokedexView->sEvoScreenData.numAllEvolutions > 0 && sPokedexView->sEvoScreenData.numSeen > 0) { u8 base_y = 58; u8 base_y_offset = 9; u8 pos = sPokedexView->sEvoScreenData.menuPos; - u8 max = sPokedexView->sEvoScreenData.numAllEvolutions; + u8 max = sPokedexView->sEvoScreenData.numAllEvolutions - 1; if (JOY_NEW(DPAD_DOWN)) { - while (TRUE) + do { - pos += 1; - if (pos >= max) + if (pos < max) + pos++; + else pos = 0; - - if (sPokedexView->sEvoScreenData.seen[pos] == TRUE) - break; - } + } while (!sPokedexView->sEvoScreenData.seen[pos]); gSprites[sPokedexView->sEvoScreenData.arrowSpriteId].y = base_y + base_y_offset * pos; sPokedexView->sEvoScreenData.menuPos = pos; } else if (JOY_NEW(DPAD_UP)) { - if (sPokedexView->sEvoScreenData.menuPos == 0) - sPokedexView->sEvoScreenData.menuPos = sPokedexView->sEvoScreenData.numAllEvolutions - 1; - else - sPokedexView->sEvoScreenData.menuPos -= 1; + do + { + if (pos > 0) + pos--; + else + pos = max; + } while (!sPokedexView->sEvoScreenData.seen[pos]); - gSprites[sPokedexView->sEvoScreenData.arrowSpriteId].y = base_y + base_y_offset * sPokedexView->sEvoScreenData.menuPos; + gSprites[sPokedexView->sEvoScreenData.arrowSpriteId].y = base_y + base_y_offset * pos; + sPokedexView->sEvoScreenData.menuPos = pos; } if (JOY_NEW(A_BUTTON)) @@ -6228,10 +6247,9 @@ static void Task_HandleEvolutionScreenInput(u8 taskId) } } -static void HandleTargetSpeciesPrint(u8 taskId, u16 targetSpecies, u16 previousTargetSpecies, u8 base_x, u8 base_y, u8 base_y_offset, u8 base_i, bool8 isEevee) +static void HandleTargetSpeciesPrintText(u32 targetSpecies, u32 base_x, u32 base_y, u32 base_y_offset, u32 base_i) { - u8 iterations = 6; - bool8 seen = GetSetPokedexFlag(SpeciesToNationalPokedexNum(targetSpecies), FLAG_GET_SEEN); + bool32 seen = GetSetPokedexFlag(SpeciesToNationalPokedexNum(targetSpecies), FLAG_GET_SEEN); if (seen || !HGSS_HIDE_UNSEEN_EVOLUTION_NAMES) StringCopy(gStringVar3, GetSpeciesName(targetSpecies)); //evolution mon name @@ -6239,29 +6257,17 @@ static void HandleTargetSpeciesPrint(u8 taskId, u16 targetSpecies, u16 previousT StringCopy(gStringVar3, gText_ThreeQuestionMarks); //show questionmarks instead of name StringExpandPlaceholders(gStringVar3, sText_EVO_Name); //evolution mon name PrintInfoScreenTextSmall(gStringVar3, base_x, base_y + base_y_offset*base_i); //evolution mon name +} - //Print mon icon in the top row - if (isEevee) - { - iterations = 9; - if (targetSpecies == previousTargetSpecies) - return; - else if (targetSpecies == SPECIES_GLACEON) - base_i -= 1; - else if (targetSpecies == SPECIES_SYLVEON) - base_i -= 2; - } - - if (base_i < iterations) - { - u32 personality = GetPokedexMonPersonality(targetSpecies); - LoadMonIconPalettePersonality(targetSpecies, personality); //Loads pallete for current mon - if (isEevee) - gTasks[taskId].data[4+base_i] = CreateMonIcon(targetSpecies, SpriteCB_MonIcon, 45 + 26*base_i, 31, 4, personality); //Create pokemon sprite - else - gTasks[taskId].data[4+base_i] = CreateMonIcon(targetSpecies, SpriteCB_MonIcon, 50 + 32*base_i, 31, 4, personality); //Create pokemon sprite - gSprites[gTasks[taskId].data[4+base_i]].oam.priority = 0; - } +static void HandleTargetSpeciesPrintIcon(u8 taskId, u16 targetSpecies, u8 base_i, u8 iterations) +{ + u32 personality = GetPokedexMonPersonality(targetSpecies); + LoadMonIconPalettePersonality(targetSpecies, personality); //Loads pallete for current mon + if (iterations > 6) // Print icons closer to each other if there are many evolutions + gTasks[taskId].data[4+base_i] = CreateMonIcon(targetSpecies, SpriteCB_MonIcon, 45 + 26*base_i, 31, 4, personality); + else + gTasks[taskId].data[4+base_i] = CreateMonIcon(targetSpecies, SpriteCB_MonIcon, 50 + 32*base_i, 31, 4, personality); + gSprites[gTasks[taskId].data[4+base_i]].oam.priority = 0; } static void CreateCaughtBallEvolutionScreen(u16 targetSpecies, u8 x, u8 y, u16 unused) @@ -6418,12 +6424,11 @@ static u8 PrintPreEvolutions(u8 taskId, u16 species) #define EVO_SCREEN_CRITS_DIGITS 1 #define EVO_SCREEN_DMG_DIGITS 2 -static u8 PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species, u8 depth, u8 depth_i) +static void PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species, u8 depth, u32 *depth_i, u32 alreadyPrintedIcons[], u32 *icon_depth_i) { - u16 i; + int i; const struct MapHeader *mapHeader; u16 targetSpecies = 0; - u16 previousTargetSpecies = 0; u16 item; @@ -6432,21 +6437,25 @@ static u8 PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species, u8 depth, u8 base_x_offset = 54+8; u8 base_y = 51; u8 base_y_offset = 9; - u8 base_i = 0; u8 times = 0; u8 depth_x = 16; - bool8 isEevee = FALSE; const struct Evolution *evolutions = GetSpeciesEvolutions(species); if (sPokedexView->sEvoScreenData.isMega) - return 0; - if (evolutions == NULL) - return 0; + return; StringCopy(gStringVar1, GetSpeciesName(species)); - if (species == SPECIES_EEVEE) - isEevee = TRUE; + //If there are no evolutions print text and return + if (evolutions == NULL) + { + if (depth == 0) + { + StringExpandPlaceholders(gStringVar4, sText_EVO_NONE); + PrintInfoScreenTextSmall(gStringVar4, base_x-7-7, base_y + base_y_offset*(*depth_i)); + } + return; + } //Calculate number of possible direct evolutions (e.g. Eevee has 5 but torchic has 1) for (i = 0; evolutions[i].method != EVOLUTIONS_END; i++) @@ -6457,24 +6466,29 @@ static u8 PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species, u8 depth, gTasks[taskId].data[3] = times; sPokedexView->sEvoScreenData.numAllEvolutions += times; - //If there are no evolutions print text - if (times == 0 && depth == 0) - { - StringExpandPlaceholders(gStringVar4, sText_EVO_NONE); - PrintInfoScreenTextSmall(gStringVar4, base_x-7-7, base_y + base_y_offset*depth_i); - } - //If there are evolutions find out which and print them 1 by 1 for (i = 0; i < times; i++) { - base_i = i + depth_i; + int j; left = !left; - previousTargetSpecies = targetSpecies; targetSpecies = evolutions[i].targetSpecies; - sPokedexView->sEvoScreenData.targetSpecies[base_i] = targetSpecies; - CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0); - HandleTargetSpeciesPrint(taskId, targetSpecies, previousTargetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i, isEevee); //evolution mon name + sPokedexView->sEvoScreenData.targetSpecies[*depth_i] = targetSpecies; + CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*(*depth_i), 0); + HandleTargetSpeciesPrintText(targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, *depth_i); //evolution mon name + + for (j = 0; j < MAX_EVOLUTION_ICONS; j++) + { + if (alreadyPrintedIcons[j] == targetSpecies) + break; + if (alreadyPrintedIcons[j] == SPECIES_NONE) + { + HandleTargetSpeciesPrintIcon(taskId, targetSpecies, *icon_depth_i, times); + alreadyPrintedIcons[j] = targetSpecies; + (*icon_depth_i)++; + break; + } + } switch (evolutions[i].method) { @@ -6650,33 +6664,32 @@ static u8 PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species, u8 depth, CopyItemName(item, gStringVar2); StringExpandPlaceholders(gStringVar4, sText_EVO_ITEM_HOLD ); break; - case EVO_LEVEL_MOVE_TWENTY_TIMES: + case EVO_USE_MOVE_TWENTY_TIMES: StringCopy(gStringVar2, GetMoveName(evolutions[i].param)); - StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_MOVE_TWENTY_TIMES ); + StringExpandPlaceholders(gStringVar4, sText_EVO_USE_MOVE_TWENTY_TIMES ); break; - case EVO_LEVEL_RECOIL_DAMAGE_MALE: + case EVO_RECOIL_DAMAGE_MALE: ConvertIntToDecimalStringN(gStringVar2, evolutions[i].param, STR_CONV_MODE_LEADING_ZEROS, 3); - StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_RECOIL_DAMAGE_MALE); + StringExpandPlaceholders(gStringVar4, sText_EVO_RECOIL_DAMAGE_MALE); break; - case EVO_LEVEL_RECOIL_DAMAGE_FEMALE: + case EVO_RECOIL_DAMAGE_FEMALE: ConvertIntToDecimalStringN(gStringVar2, evolutions[i].param, STR_CONV_MODE_LEADING_ZEROS, 3); - StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_RECOIL_DAMAGE_FEMALE); + StringExpandPlaceholders(gStringVar4, sText_EVO_RECOIL_DAMAGE_FEMALE); break; - case EVO_LEVEL_ITEM_COUNT_999: + case EVO_ITEM_COUNT_999: item = evolutions[i].param; CopyItemName(item, gStringVar2); - StringExpandPlaceholders(gStringVar4, sText_EVO_LEVEL_ITEM_COUNT_999); + StringExpandPlaceholders(gStringVar4, sText_EVO_ITEM_COUNT_999); break; default: - StringExpandPlaceholders(gStringVar4, sText_EVO_UNKNOWN ); + StringExpandPlaceholders(gStringVar4, sText_EVO_UNKNOWN); break; }//Switch end - PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i); //Print actual instructions + PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*(*depth_i)); //Print actual instructions - depth_i += PrintEvolutionTargetSpeciesAndMethod(taskId, targetSpecies, depth+1, base_i+1); + (*depth_i)++; + PrintEvolutionTargetSpeciesAndMethod(taskId, targetSpecies, depth+1, depth_i, alreadyPrintedIcons, icon_depth_i); }//For loop end - - return times; } static void Task_SwitchScreensFromEvolutionScreen(u8 taskId) @@ -6798,7 +6811,7 @@ static void Task_LoadFormsScreen(u8 taskId) gMain.state++; break; case 5: - { + { u32 preservedPalettes = 0; if (gTasks[taskId].data[2] != 0) @@ -6808,8 +6821,8 @@ static void Task_LoadFormsScreen(u8 taskId) BeginNormalPaletteFade(~preservedPalettes, 0, 16, 0, RGB_BLACK); SetVBlankCallback(gPokedexVBlankCB); gMain.state++; - } break; + } case 6: SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); @@ -7088,7 +7101,7 @@ static void Task_LoadCryScreen(u8 taskId) gMain.state++; break; case 6: - { + { struct CryScreenWindow waveformWindow; waveformWindow.unk0 = 0x4020; @@ -7101,10 +7114,10 @@ static void Task_LoadCryScreen(u8 taskId) gMain.state++; gDexCryScreenState = 0; } - } break; + } case 7: - { + { struct CryScreenWindow cryMeter; cryMeter.paletteNo = 9; @@ -7118,8 +7131,8 @@ static void Task_LoadCryScreen(u8 taskId) CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); CopyBgTilemapBufferToVram(3); - } break; + } case 8: BeginNormalPaletteFade(PALETTES_ALL & ~(0x14), 0, 0x10, 0, RGB_BLACK); SetVBlankCallback(gPokedexVBlankCB); @@ -7258,15 +7271,15 @@ static void Task_LoadSizeScreen(u8 taskId) gMain.state++; break; case 3: - { - u8 string[64]; + { + u8 string[64]; - StringCopy(string, gText_SizeComparedTo); - StringAppend(string, gSaveBlock2Ptr->playerName); - PrintInfoScreenText(string, GetStringCenterAlignXOffset(FONT_NORMAL, string, 0xF0), 0x79); - gMain.state++; - } + StringCopy(string, gText_SizeComparedTo); + StringAppend(string, gSaveBlock2Ptr->playerName); + PrintInfoScreenText(string, GetStringCenterAlignXOffset(FONT_NORMAL, string, 0xF0), 0x79); + gMain.state++; break; + } case 4: ResetPaletteFade(); gMain.state++; diff --git a/src/pokemon.c b/src/pokemon.c index 11836ed696..23ef046682 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -360,62 +360,316 @@ const struct SpindaSpot gSpindaSpotGraphics[] = {.x = 34, .y = 26, .image = INCBIN_U16("graphics/pokemon/spinda/spots/spot_3.1bpp")} }; -const u8 *const gNatureNamePointers[NUM_NATURES] = -{ - [NATURE_HARDY] = COMPOUND_STRING("Hardy"), - [NATURE_LONELY] = COMPOUND_STRING("Lonely"), - [NATURE_BRAVE] = COMPOUND_STRING("Brave"), - [NATURE_ADAMANT] = COMPOUND_STRING("Adamant"), - [NATURE_NAUGHTY] = COMPOUND_STRING("Naughty"), - [NATURE_BOLD] = COMPOUND_STRING("Bold"), - [NATURE_DOCILE] = COMPOUND_STRING("Docile"), - [NATURE_RELAXED] = COMPOUND_STRING("Relaxed"), - [NATURE_IMPISH] = COMPOUND_STRING("Impish"), - [NATURE_LAX] = COMPOUND_STRING("Lax"), - [NATURE_TIMID] = COMPOUND_STRING("Timid"), - [NATURE_HASTY] = COMPOUND_STRING("Hasty"), - [NATURE_SERIOUS] = COMPOUND_STRING("Serious"), - [NATURE_JOLLY] = COMPOUND_STRING("Jolly"), - [NATURE_NAIVE] = COMPOUND_STRING("Naive"), - [NATURE_MODEST] = COMPOUND_STRING("Modest"), - [NATURE_MILD] = COMPOUND_STRING("Mild"), - [NATURE_QUIET] = COMPOUND_STRING("Quiet"), - [NATURE_BASHFUL] = COMPOUND_STRING("Bashful"), - [NATURE_RASH] = COMPOUND_STRING("Rash"), - [NATURE_CALM] = COMPOUND_STRING("Calm"), - [NATURE_GENTLE] = COMPOUND_STRING("Gentle"), - [NATURE_SASSY] = COMPOUND_STRING("Sassy"), - [NATURE_CAREFUL] = COMPOUND_STRING("Careful"), - [NATURE_QUIRKY] = COMPOUND_STRING("Quirky"), -}; +// In Battle Palace, moves are chosen based on the pokemons nature rather than by the player +// Moves are grouped into "Attack", "Defense", or "Support" (see PALACE_MOVE_GROUP_*) +// Each nature has a certain percent chance of selecting a move from a particular group +// and a separate percent chance for each group when at or below 50% HP +// The table below doesn't list percentages for Support because you can subtract the other two +// Support percentages are listed in comments off to the side instead +#define PALACE_STYLE(atk, def, atkLow, defLow) {atk, atk + def, atkLow, atkLow + defLow} -const s8 gNatureStatTable[NUM_NATURES][NUM_NATURE_STATS] = -{ // Attack Defense Speed Sp.Atk Sp. Def - [NATURE_HARDY] = { 0, 0, 0, 0, 0 }, - [NATURE_LONELY] = { +1, -1, 0, 0, 0 }, - [NATURE_BRAVE] = { +1, 0, -1, 0, 0 }, - [NATURE_ADAMANT] = { +1, 0, 0, -1, 0 }, - [NATURE_NAUGHTY] = { +1, 0, 0, 0, -1 }, - [NATURE_BOLD] = { -1, +1, 0, 0, 0 }, - [NATURE_DOCILE] = { 0, 0, 0, 0, 0 }, - [NATURE_RELAXED] = { 0, +1, -1, 0, 0 }, - [NATURE_IMPISH] = { 0, +1, 0, -1, 0 }, - [NATURE_LAX] = { 0, +1, 0, 0, -1 }, - [NATURE_TIMID] = { -1, 0, +1, 0, 0 }, - [NATURE_HASTY] = { 0, -1, +1, 0, 0 }, - [NATURE_SERIOUS] = { 0, 0, 0, 0, 0 }, - [NATURE_JOLLY] = { 0, 0, +1, -1, 0 }, - [NATURE_NAIVE] = { 0, 0, +1, 0, -1 }, - [NATURE_MODEST] = { -1, 0, 0, +1, 0 }, - [NATURE_MILD] = { 0, -1, 0, +1, 0 }, - [NATURE_QUIET] = { 0, 0, -1, +1, 0 }, - [NATURE_BASHFUL] = { 0, 0, 0, 0, 0 }, - [NATURE_RASH] = { 0, 0, 0, +1, -1 }, - [NATURE_CALM] = { -1, 0, 0, 0, +1 }, - [NATURE_GENTLE] = { 0, -1, 0, 0, +1 }, - [NATURE_SASSY] = { 0, 0, -1, 0, +1 }, - [NATURE_CAREFUL] = { 0, 0, 0, -1, +1 }, - [NATURE_QUIRKY] = { 0, 0, 0, 0, 0 }, +const struct NatureInfo gNaturesInfo[NUM_NATURES] = +{ + [NATURE_HARDY] = + { + .name = COMPOUND_STRING("Hardy"), + .statUp = STAT_ATK, + .statDown = STAT_ATK, + .backAnim = 0, + .pokeBlockAnim = {ANIM_HARDY, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlHardy, + .battlePalacePercents = PALACE_STYLE(61, 7, 61, 7), //32% support >= 50% HP, 32% support < 50% HP + .battlePalaceFlavorText = B_MSG_EAGER_FOR_MORE, + .battlePalaceSmokescreen = PALACE_TARGET_STRONGER, + }, + [NATURE_LONELY] = + { + .name = COMPOUND_STRING("Lonely"), + .statUp = STAT_ATK, + .statDown = STAT_DEF, + .backAnim = 2, + .pokeBlockAnim = {ANIM_LONELY, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlLonely, + .battlePalacePercents = PALACE_STYLE(20, 25, 84, 8), //55%, 8% + .battlePalaceFlavorText = B_MSG_GLINT_IN_EYE, + .battlePalaceSmokescreen = PALACE_TARGET_STRONGER, + }, + [NATURE_BRAVE] = + { + .name = COMPOUND_STRING("Brave"), + .statUp = STAT_ATK, + .statDown = STAT_SPEED, + .backAnim = 0, + .pokeBlockAnim = {ANIM_BRAVE, AFFINE_TURN_UP}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlBrave, + .battlePalacePercents = PALACE_STYLE(70, 15, 32, 60), //15%, 8% + .battlePalaceFlavorText = B_MSG_GETTING_IN_POS, + .battlePalaceSmokescreen = PALACE_TARGET_WEAKER, + }, + [NATURE_ADAMANT] = + { + .name = COMPOUND_STRING("Adamant"), + .statUp = STAT_ATK, + .statDown = STAT_SPATK, + .backAnim = 0, + .pokeBlockAnim = {ANIM_ADAMANT, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlAdamant, + .battlePalacePercents = PALACE_STYLE(38, 31, 70, 15), //31%, 15% + .battlePalaceFlavorText = B_MSG_GLINT_IN_EYE, + .battlePalaceSmokescreen = PALACE_TARGET_STRONGER, + }, + [NATURE_NAUGHTY] = + { + .name = COMPOUND_STRING("Naughty"), + .statUp = STAT_ATK, + .statDown = STAT_SPDEF, + .backAnim = 0, + .pokeBlockAnim = {ANIM_NAUGHTY, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlNaughty, + .battlePalacePercents = PALACE_STYLE(20, 70, 70, 22), //10%, 8% + .battlePalaceFlavorText = B_MSG_GLINT_IN_EYE, + .battlePalaceSmokescreen = PALACE_TARGET_WEAKER, + }, + [NATURE_BOLD] = + { + .name = COMPOUND_STRING("Bold"), + .statUp = STAT_DEF, + .statDown = STAT_ATK, + .backAnim = 1, + .pokeBlockAnim = {ANIM_BOLD, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlBold, + .battlePalacePercents = PALACE_STYLE(30, 20, 32, 58), //50%, 10% + .battlePalaceFlavorText = B_MSG_GETTING_IN_POS, + .battlePalaceSmokescreen = PALACE_TARGET_WEAKER, + }, + [NATURE_DOCILE] = + { + .name = COMPOUND_STRING("Docile"), + .statUp = STAT_DEF, + .statDown = STAT_DEF, + .backAnim = 1, + .pokeBlockAnim = {ANIM_DOCILE, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky, + .battlePalacePercents = PALACE_STYLE(56, 22, 56, 22), //22%, 22% + .battlePalaceFlavorText = B_MSG_EAGER_FOR_MORE, + .battlePalaceSmokescreen = PALACE_TARGET_RANDOM, + }, + [NATURE_RELAXED] = + { + .name = COMPOUND_STRING("Relaxed"), + .statUp = STAT_DEF, + .statDown = STAT_SPEED, + .backAnim = 1, + .pokeBlockAnim = {ANIM_RELAXED, AFFINE_TURN_UP_AND_DOWN}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlRelaxed, + .battlePalacePercents = PALACE_STYLE(25, 15, 75, 15), //60%, 10% + .battlePalaceFlavorText = B_MSG_GLINT_IN_EYE, + .battlePalaceSmokescreen = PALACE_TARGET_STRONGER, + }, + [NATURE_IMPISH] = + { + .name = COMPOUND_STRING("Impish"), + .statUp = STAT_DEF, + .statDown = STAT_SPATK, + .backAnim = 0, + .pokeBlockAnim = {ANIM_IMPISH, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlImpish, + .battlePalacePercents = PALACE_STYLE(69, 6, 28, 55), //25%, 17% + .battlePalaceFlavorText = B_MSG_GETTING_IN_POS, + .battlePalaceSmokescreen = PALACE_TARGET_STRONGER, + }, + [NATURE_LAX] = + { + .name = COMPOUND_STRING("Lax"), + .statUp = STAT_DEF, + .statDown = STAT_SPDEF, + .backAnim = 1, + .pokeBlockAnim = {ANIM_LAX, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlLax, + .battlePalacePercents = PALACE_STYLE(35, 10, 29, 6), //55%, 65% + .battlePalaceFlavorText = B_MSG_GROWL_DEEPLY, + .battlePalaceSmokescreen = PALACE_TARGET_STRONGER, + }, + [NATURE_TIMID] = + { + .name = COMPOUND_STRING("Timid"), + .statUp = STAT_SPEED, + .statDown = STAT_ATK, + .backAnim = 2, + .pokeBlockAnim = {ANIM_TIMID, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlTimid, + .battlePalacePercents = PALACE_STYLE(62, 10, 30, 20), //28%, 50% + .battlePalaceFlavorText = B_MSG_GROWL_DEEPLY, + .battlePalaceSmokescreen = PALACE_TARGET_WEAKER, + }, + [NATURE_HASTY] = + { + .name = COMPOUND_STRING("Hasty"), + .statUp = STAT_SPEED, + .statDown = STAT_DEF, + .backAnim = 0, + .pokeBlockAnim = {ANIM_HASTY, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlHasty, + .battlePalacePercents = PALACE_STYLE(58, 37, 88, 6), //5%, 6% + .battlePalaceFlavorText = B_MSG_GLINT_IN_EYE, + .battlePalaceSmokescreen = PALACE_TARGET_WEAKER, + }, + [NATURE_SERIOUS] = + { + .name = COMPOUND_STRING("Serious"), + .statUp = STAT_SPEED, + .statDown = STAT_SPEED, + .backAnim = 1, + .pokeBlockAnim = {ANIM_SERIOUS, AFFINE_TURN_DOWN}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlSerious, + .battlePalacePercents = PALACE_STYLE(34, 11, 29, 11), //55%, 60% + .battlePalaceFlavorText = B_MSG_EAGER_FOR_MORE, + .battlePalaceSmokescreen = PALACE_TARGET_WEAKER, + }, + [NATURE_JOLLY] = + { + .name = COMPOUND_STRING("Jolly"), + .statUp = STAT_SPEED, + .statDown = STAT_SPATK, + .backAnim = 0, + .pokeBlockAnim = {ANIM_JOLLY, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlJolly, + .battlePalacePercents = PALACE_STYLE(35, 5, 35, 60), //60%, 5% + .battlePalaceFlavorText = B_MSG_GETTING_IN_POS, + .battlePalaceSmokescreen = PALACE_TARGET_STRONGER, + }, + [NATURE_NAIVE] = + { + .name = COMPOUND_STRING("Naive"), + .statUp = STAT_SPEED, + .statDown = STAT_SPDEF, + .backAnim = 0, + .pokeBlockAnim = {ANIM_NAIVE, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky, + .battlePalacePercents = PALACE_STYLE(56, 22, 56, 22), //22%, 22% + .battlePalaceFlavorText = B_MSG_EAGER_FOR_MORE, + .battlePalaceSmokescreen = PALACE_TARGET_RANDOM, + }, + [NATURE_MODEST] = + { + .name = COMPOUND_STRING("Modest"), + .statUp = STAT_SPATK, + .statDown = STAT_ATK, + .backAnim = 2, + .pokeBlockAnim = {ANIM_MODEST, AFFINE_TURN_DOWN_SLOW}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlModest, + .battlePalacePercents = PALACE_STYLE(35, 45, 34, 60), //20%, 6% + .battlePalaceFlavorText = B_MSG_GETTING_IN_POS, + .battlePalaceSmokescreen = PALACE_TARGET_WEAKER, + }, + [NATURE_MILD] = + { + .name = COMPOUND_STRING("Mild"), + .statUp = STAT_SPATK, + .statDown = STAT_DEF, + .backAnim = 2, + .pokeBlockAnim = {ANIM_MILD, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlMild, + .battlePalacePercents = PALACE_STYLE(44, 50, 34, 6), //6%, 60% + .battlePalaceFlavorText = B_MSG_GROWL_DEEPLY, + .battlePalaceSmokescreen = PALACE_TARGET_STRONGER, + }, + [NATURE_QUIET] = + { + .name = COMPOUND_STRING("Quiet"), + .statUp = STAT_SPATK, + .statDown = STAT_SPEED, + .backAnim = 2, + .pokeBlockAnim = {ANIM_QUIET, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky, + .battlePalacePercents = PALACE_STYLE(56, 22, 56, 22), //22%, 22% + .battlePalaceFlavorText = B_MSG_EAGER_FOR_MORE, + .battlePalaceSmokescreen = PALACE_TARGET_WEAKER, + }, + [NATURE_BASHFUL] = + { + .name = COMPOUND_STRING("Bashful"), + .statUp = STAT_SPATK, + .statDown = STAT_SPATK, + .backAnim = 2, + .pokeBlockAnim = {ANIM_BASHFUL, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlBashful, + .battlePalacePercents = PALACE_STYLE(30, 58, 30, 58), //12%, 12% + .battlePalaceFlavorText = B_MSG_EAGER_FOR_MORE, + .battlePalaceSmokescreen = PALACE_TARGET_WEAKER, + }, + [NATURE_RASH] = + { + .name = COMPOUND_STRING("Rash"), + .statUp = STAT_SPATK, + .statDown = STAT_SPDEF, + .backAnim = 1, + .pokeBlockAnim = {ANIM_RASH, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlRash, + .battlePalacePercents = PALACE_STYLE(30, 13, 27, 6), //57%, 67% + .battlePalaceFlavorText = B_MSG_GROWL_DEEPLY, + .battlePalaceSmokescreen = PALACE_TARGET_STRONGER, + }, + [NATURE_CALM] = + { + .name = COMPOUND_STRING("Calm"), + .statUp = STAT_SPDEF, + .statDown = STAT_ATK, + .backAnim = 1, + .pokeBlockAnim = {ANIM_CALM, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlCalm, + .battlePalacePercents = PALACE_STYLE(40, 50, 25, 62), //10%, 13% + .battlePalaceFlavorText = B_MSG_GETTING_IN_POS, + .battlePalaceSmokescreen = PALACE_TARGET_STRONGER, + }, + [NATURE_GENTLE] = + { + .name = COMPOUND_STRING("Gentle"), + .statUp = STAT_SPDEF, + .statDown = STAT_DEF, + .backAnim = 2, + .pokeBlockAnim = {ANIM_GENTLE, AFFINE_TURN_DOWN_SLIGHT}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlGentle, + .battlePalacePercents = PALACE_STYLE(18, 70, 90, 5), //12%, 5% + .battlePalaceFlavorText = B_MSG_GLINT_IN_EYE, + .battlePalaceSmokescreen = PALACE_TARGET_STRONGER, + }, + [NATURE_SASSY] = + { + .name = COMPOUND_STRING("Sassy"), + .statUp = STAT_SPDEF, + .statDown = STAT_SPEED, + .backAnim = 1, + .pokeBlockAnim = {ANIM_SASSY, AFFINE_TURN_UP_HIGH}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlSassy, + .battlePalacePercents = PALACE_STYLE(88, 6, 22, 20), //6%, 58% + .battlePalaceFlavorText = B_MSG_GROWL_DEEPLY, + .battlePalaceSmokescreen = PALACE_TARGET_WEAKER, + }, + [NATURE_CAREFUL] = + { + .name = COMPOUND_STRING("Careful"), + .statUp = STAT_SPDEF, + .statDown = STAT_SPATK, + .backAnim = 2, + .pokeBlockAnim = {ANIM_CAREFUL, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlCareful, + .battlePalacePercents = PALACE_STYLE(42, 50, 42, 5), //8%, 53% + .battlePalaceFlavorText = B_MSG_GROWL_DEEPLY, + .battlePalaceSmokescreen = PALACE_TARGET_WEAKER, + }, + [NATURE_QUIRKY] = + { + .name = COMPOUND_STRING("Quirky"), + .statUp = STAT_SPDEF, + .statDown = STAT_SPDEF, + .backAnim = 1, + .pokeBlockAnim = {ANIM_QUIRKY, AFFINE_NONE}, + .natureGirlMessage = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky, + .battlePalacePercents = PALACE_STYLE(56, 22, 56, 22), //22%, 22% + .battlePalaceFlavorText = B_MSG_EAGER_FOR_MORE, + .battlePalaceSmokescreen = PALACE_TARGET_STRONGER, + }, }; #include "data/graphics/pokemon.h" @@ -445,6 +699,7 @@ const s8 gNatureStatTable[NUM_NATURES][NUM_NATURE_STATS] = #endif #include "data/pokemon/teachable_learnsets.h" +#include "data/pokemon/egg_moves.h" #include "data/pokemon/form_species_tables.h" #include "data/pokemon/form_change_tables.h" #include "data/pokemon/form_change_table_pointers.h" @@ -3322,6 +3577,14 @@ const u16 *GetSpeciesTeachableLearnset(u16 species) return learnset; } +const u16 *GetSpeciesEggMoves(u16 species) +{ + const u16 *learnset = gSpeciesInfo[SanitizeSpeciesId(species)].eggMoveLearnset; + if (learnset == NULL) + return gSpeciesInfo[SPECIES_NONE].eggMoveLearnset; + return learnset; +} + const struct Evolution *GetSpeciesEvolutions(u16 species) { const struct Evolution *evolutions = gSpeciesInfo[SanitizeSpeciesId(species)].evolutions; @@ -4407,15 +4670,15 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, s consumeItem = TRUE; } break; - case EVO_LEVEL_MOVE_TWENTY_TIMES: + case EVO_USE_MOVE_TWENTY_TIMES: if (evolutionTracker >= 20) targetSpecies = evolutions[i].targetSpecies; break; - case EVO_LEVEL_RECOIL_DAMAGE_MALE: + case EVO_RECOIL_DAMAGE_MALE: if (evolutionTracker >= evolutions[i].param && GetMonGender(mon) == MON_MALE) targetSpecies = evolutions[i].targetSpecies; break; - case EVO_LEVEL_RECOIL_DAMAGE_FEMALE: + case EVO_RECOIL_DAMAGE_FEMALE: if (evolutionTracker >= evolutions[i].param && GetMonGender(mon) == MON_FEMALE) targetSpecies = evolutions[i].targetSpecies; break; @@ -4433,7 +4696,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, s switch (evolutions[i].method) { - case EVO_LEVEL_ITEM_COUNT_999: + case EVO_ITEM_COUNT_999: if (CheckBagHasItem(evolutions[i].param, 999)) { targetSpecies = evolutions[i].targetSpecies; @@ -4814,50 +5077,22 @@ u8 GetTrainerEncounterMusicId(u16 trainerOpponentId) u16 ModifyStatByNature(u8 nature, u16 stat, u8 statIndex) { -// Because this is a u16 it will be unable to store the -// result of the multiplication for any stat > 595 for a -// positive nature and > 728 for a negative nature. -// Neither occur in the base game, but this can happen if -// any Nature-affected base stat is increased to a value -// above 248. The closest by default is Shuckle at 230. -#ifdef BUGFIX - u32 retVal; -#else - u16 retVal; -#endif - // Don't modify HP, Accuracy, or Evasion by nature - if (statIndex <= STAT_HP || statIndex > NUM_NATURE_STATS) + if (statIndex <= STAT_HP || statIndex > NUM_NATURE_STATS || gNaturesInfo[nature].statUp == gNaturesInfo[nature].statDown) + return stat; + else if (statIndex == gNaturesInfo[nature].statUp) + return stat * 110 / 100; + else if (statIndex == gNaturesInfo[nature].statDown) + return stat * 90 / 100; + else return stat; - - switch (gNatureStatTable[nature][statIndex - 1]) - { - case 1: - retVal = stat * 110; - retVal /= 100; - break; - case -1: - retVal = stat * 90; - retVal /= 100; - break; - default: - retVal = stat; - break; - } - - return retVal; } -#define IS_LEAGUE_BATTLE(trainerClass) \ - ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) \ - && (trainerClass == TRAINER_CLASS_ELITE_FOUR \ - || trainerClass == TRAINER_CLASS_LEADER \ - || trainerClass == TRAINER_CLASS_CHAMPION)) \ - void AdjustFriendship(struct Pokemon *mon, u8 event) { u16 species, heldItem; u8 holdEffect; + s8 mod; if (ShouldSkipFriendshipChange()) return; @@ -4892,26 +5127,43 @@ void AdjustFriendship(struct Pokemon *mon, u8 event) if (friendship > 199) friendshipLevel++; - if ((event != FRIENDSHIP_EVENT_WALKING || !(Random() & 1)) - && (event != FRIENDSHIP_EVENT_LEAGUE_BATTLE || IS_LEAGUE_BATTLE(opponentTrainerClass))) + if (event == FRIENDSHIP_EVENT_WALKING) { - s8 mod = sFriendshipEventModifiers[event][friendshipLevel]; - if (mod > 0 && holdEffect == HOLD_EFFECT_FRIENDSHIP_UP) - mod = (150 * mod) / 100; - friendship += mod; - if (mod > 0) - { - if (GetMonData(mon, MON_DATA_POKEBALL, 0) == ITEM_LUXURY_BALL) - friendship++; - if (GetMonData(mon, MON_DATA_MET_LOCATION, 0) == GetCurrentRegionMapSectionId()) - friendship++; - } - if (friendship < 0) - friendship = 0; - if (friendship > MAX_FRIENDSHIP) - friendship = MAX_FRIENDSHIP; - SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship); + // 50% chance every 128 steps + if (Random() & 1) + return; } + if (event == FRIENDSHIP_EVENT_LEAGUE_BATTLE) + { + // Only if it's a trainer battle with league progression significance + if (!(gBattleTypeFlags & BATTLE_TYPE_TRAINER)) + return; + if (!(opponentTrainerClass == TRAINER_CLASS_LEADER + || opponentTrainerClass == TRAINER_CLASS_ELITE_FOUR + || opponentTrainerClass == TRAINER_CLASS_CHAMPION)) + return; + } + + mod = sFriendshipEventModifiers[event][friendshipLevel]; + if (mod > 0 && holdEffect == HOLD_EFFECT_FRIENDSHIP_UP) + // 50% increase, rounding down + mod = (150 * mod) / 100; + + friendship += mod; + if (mod > 0) + { + if (GetMonData(mon, MON_DATA_POKEBALL, NULL) == ITEM_LUXURY_BALL) + friendship++; + if (GetMonData(mon, MON_DATA_MET_LOCATION, NULL) == GetCurrentRegionMapSectionId()) + friendship++; + } + + if (friendship < 0) + friendship = 0; + if (friendship > MAX_FRIENDSHIP) + friendship = MAX_FRIENDSHIP; + + SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship); } } @@ -5041,14 +5293,10 @@ void RandomlyGivePartyPokerus(struct Pokemon *party) do { - do - { - rnd = Random() % PARTY_SIZE; - mon = &party[rnd]; - } - while (!GetMonData(mon, MON_DATA_SPECIES, 0)); + rnd = Random() % PARTY_SIZE; + mon = &party[rnd]; } - while (GetMonData(mon, MON_DATA_IS_EGG, 0)); + while (!GetMonData(mon, MON_DATA_SPECIES, 0) || GetMonData(mon, MON_DATA_IS_EGG, 0)); if (!(CheckPartyHasHadPokerus(party, gBitTable[rnd]))) { diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index acf3d4b91f..d7c0bb343c 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -428,35 +428,6 @@ static const u8 sBackAnimationIds[] = [(BACK_ANIM_SHAKE_GLOW_BLUE - 1) * 3] = ANIM_SHAKE_GLOW_BLUE_FAST, ANIM_SHAKE_GLOW_BLUE, ANIM_SHAKE_GLOW_BLUE_SLOW, }; -static const u8 sBackAnimNatureModTable[NUM_NATURES] = -{ - [NATURE_HARDY] = 0, - [NATURE_LONELY] = 2, - [NATURE_BRAVE] = 0, - [NATURE_ADAMANT] = 0, - [NATURE_NAUGHTY] = 0, - [NATURE_BOLD] = 1, - [NATURE_DOCILE] = 1, - [NATURE_RELAXED] = 1, - [NATURE_IMPISH] = 0, - [NATURE_LAX] = 1, - [NATURE_TIMID] = 2, - [NATURE_HASTY] = 0, - [NATURE_SERIOUS] = 1, - [NATURE_JOLLY] = 0, - [NATURE_NAIVE] = 0, - [NATURE_MODEST] = 2, - [NATURE_MILD] = 2, - [NATURE_QUIET] = 2, - [NATURE_BASHFUL] = 2, - [NATURE_RASH] = 1, - [NATURE_CALM] = 1, - [NATURE_GENTLE] = 2, - [NATURE_SASSY] = 1, - [NATURE_CAREFUL] = 2, - [NATURE_QUIRKY] = 1, -}; - static const union AffineAnimCmd sMonAffineAnim_0[] = { AFFINEANIMCMD_FRAME(256, 256, 0, 0), @@ -579,7 +550,7 @@ void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, u8 backAnimSet) nature = GetNature(&gPlayerParty[gBattlerPartyIndexes[battlerId]]); // * 3 below because each back anim has 3 variants depending on nature - animId = 3 * backAnimSet + sBackAnimNatureModTable[nature]; + animId = 3 * backAnimSet + gNaturesInfo[nature].backAnim; gTasks[taskId].tAnimId = sBackAnimationIds[animId]; } diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 950613dccc..d7f9e24029 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -6,8 +6,7 @@ #include "pokemon_icon.h" #include "sprite.h" #include "data.h" - -#define POKE_ICON_BASE_PAL_TAG 56000 +#include "constants/pokemon_icon.h" struct MonIconSpriteTemplate { diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index fcb822259b..a3c7324e0e 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -41,6 +41,7 @@ #include "constants/moves.h" #include "constants/rgb.h" #include "constants/songs.h" +#include "constants/pokemon_icon.h" /* NOTE: This file is large. Some general groups of functions have @@ -227,7 +228,7 @@ enum { #define BOXID_CANCELED 201 enum { - PALTAG_MON_ICON_0 = 56000, + PALTAG_MON_ICON_0 = POKE_ICON_BASE_PAL_TAG, PALTAG_MON_ICON_1, // Used implicitly in CreateMonIconSprite PALTAG_MON_ICON_2, // Used implicitly in CreateMonIconSprite PALTAG_MON_ICON_3, // Used implicitly in CreateMonIconSprite @@ -726,8 +727,6 @@ static void MultiMove_DeselectColumn(u8, u8, u8); // Move Items mode static bool32 IsItemIconAtPosition(u8, u8); -static const u32 *GetItemIconPic(u16); -static const u32 *GetItemIconPalette(u16); static u8 GetNewItemIconIdx(void); static void SetItemIconPosition(u8, u8, u8); static void LoadItemIconGfx(u8, const u32 *, const u32 *); @@ -4031,11 +4030,11 @@ static void PrintDisplayMonInfo(void) AddTextPrinterParameterized(WIN_DISPLAY_INFO, GetFontIdToFit(sStorage->displayMonNameText, FONT_NORMAL, 0, WindowWidthPx(WIN_DISPLAY_INFO) - 6), sStorage->displayMonNameText, 6, 0, TEXT_SKIP_DRAW, NULL); AddTextPrinterParameterized(WIN_DISPLAY_INFO, GetFontIdToFit(sStorage->displayMonNameText, FONT_SHORT, 0, WindowWidthPx(WIN_DISPLAY_INFO) - 12), sStorage->displayMonSpeciesName, 6, 15, TEXT_SKIP_DRAW, NULL); AddTextPrinterParameterized(WIN_DISPLAY_INFO, FONT_SHORT, sStorage->displayMonGenderLvlText, 10, 29, TEXT_SKIP_DRAW, NULL); - AddTextPrinterParameterized(WIN_DISPLAY_INFO, GetFontIdToFit(sStorage->displayMonItemName, FONT_SMALL, 0, WindowWidthPx(WIN_DISPLAY_INFO) - 22), sStorage->displayMonItemName, 6, 43, TEXT_SKIP_DRAW, NULL); + AddTextPrinterParameterized(WIN_DISPLAY_INFO, GetFontIdToFit(sStorage->displayMonItemName, FONT_SMALL, 0, WindowWidthPx(WIN_DISPLAY_INFO) - 6), sStorage->displayMonItemName, 6, 43, TEXT_SKIP_DRAW, NULL); } else { - AddTextPrinterParameterized(WIN_DISPLAY_INFO, GetFontIdToFit(sStorage->displayMonItemName, FONT_SMALL, 0, WindowWidthPx(WIN_DISPLAY_INFO) - 22), sStorage->displayMonItemName, 6, 0, TEXT_SKIP_DRAW, NULL); + AddTextPrinterParameterized(WIN_DISPLAY_INFO, GetFontIdToFit(sStorage->displayMonItemName, FONT_SMALL, 0, WindowWidthPx(WIN_DISPLAY_INFO) - 6), sStorage->displayMonItemName, 6, 0, TEXT_SKIP_DRAW, NULL); AddTextPrinterParameterized(WIN_DISPLAY_INFO, GetFontIdToFit(sStorage->displayMonNameText, FONT_NORMAL, 0, WindowWidthPx(WIN_DISPLAY_INFO) - 6), sStorage->displayMonNameText, 6, 13, TEXT_SKIP_DRAW, NULL); AddTextPrinterParameterized(WIN_DISPLAY_INFO, GetFontIdToFit(sStorage->displayMonSpeciesName, FONT_SHORT, 0, WindowWidthPx(WIN_DISPLAY_INFO) - 12), sStorage->displayMonSpeciesName, 6, 28, TEXT_SKIP_DRAW, NULL); AddTextPrinterParameterized(WIN_DISPLAY_INFO, FONT_SHORT, sStorage->displayMonGenderLvlText, 10, 42, TEXT_SKIP_DRAW, NULL); @@ -9275,16 +9274,6 @@ static void SetItemIconActive(u8 id, bool8 active) sStorage->itemIcons[id].sprite->invisible = (active == FALSE); } -static const u32 *GetItemIconPic(u16 itemId) -{ - return GetItemIconPicOrPalette(itemId, 0); -} - -static const u32 *GetItemIconPalette(u16 itemId) -{ - return GetItemIconPicOrPalette(itemId, 1); -} - static void PrintItemDescription(void) { const u8 *description; diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index e18606122a..78f27b3888 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -3261,7 +3261,7 @@ static void PrintMonTrainerMemo(void) static void BufferNatureString(void) { struct PokemonSummaryScreenData *sumStruct = sMonSummaryScreen; - DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gNatureNamePointers[sumStruct->summary.nature]); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gNaturesInfo[sumStruct->summary.nature].name); DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, gText_EmptyString5); } @@ -3478,19 +3478,21 @@ static void PrintRibbonCount(void) PrintTextOnWindow(AddWindowFromTemplateList(sPageSkillsTemplate, PSS_DATA_WINDOW_SKILLS_RIBBON_COUNT), text, x, 1, 0, 0); } -static void BufferStat(u8 *dst, s8 natureMod, u32 stat, u32 strId, u32 n) +static void BufferStat(u8 *dst, u8 statIndex, u32 stat, u32 strId, u32 n) { static const u8 sTextNatureDown[] = _("{COLOR}{08}"); static const u8 sTextNatureUp[] = _("{COLOR}{05}"); static const u8 sTextNatureNeutral[] = _("{COLOR}{01}"); u8 *txtPtr; - if (natureMod == 0 || !SUMMARY_SCREEN_NATURE_COLORS) + if (statIndex == 0 || !SUMMARY_SCREEN_NATURE_COLORS || gNaturesInfo[sMonSummaryScreen->summary.mintNature].statUp == gNaturesInfo[sMonSummaryScreen->summary.mintNature].statDown) txtPtr = StringCopy(dst, sTextNatureNeutral); - else if (natureMod > 0) + else if (statIndex == gNaturesInfo[sMonSummaryScreen->summary.mintNature].statUp) txtPtr = StringCopy(dst, sTextNatureUp); - else + else if (statIndex == gNaturesInfo[sMonSummaryScreen->summary.mintNature].statDown) txtPtr = StringCopy(dst, sTextNatureDown); + else + txtPtr = StringCopy(dst, sTextNatureNeutral); ConvertIntToDecimalStringN(txtPtr, stat, STR_CONV_MODE_RIGHT_ALIGN, n); DynamicPlaceholderTextUtil_SetPlaceholderPtr(strId, dst); @@ -3502,13 +3504,12 @@ static void BufferLeftColumnStats(void) u8 *maxHPString = Alloc(20); u8 *attackString = Alloc(20); u8 *defenseString = Alloc(20); - const s8 *natureMod = gNatureStatTable[sMonSummaryScreen->summary.mintNature]; DynamicPlaceholderTextUtil_Reset(); BufferStat(currentHPString, 0, sMonSummaryScreen->summary.currentHP, 0, 3); BufferStat(maxHPString, 0, sMonSummaryScreen->summary.maxHP, 1, 3); - BufferStat(attackString, natureMod[STAT_ATK - 1], sMonSummaryScreen->summary.atk, 2, 7); - BufferStat(defenseString, natureMod[STAT_DEF - 1], sMonSummaryScreen->summary.def, 3, 7); + BufferStat(attackString, STAT_ATK, sMonSummaryScreen->summary.atk, 2, 7); + BufferStat(defenseString, STAT_DEF, sMonSummaryScreen->summary.def, 3, 7); DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, sStatsLeftColumnLayout); Free(currentHPString); @@ -3524,12 +3525,10 @@ static void PrintLeftColumnStats(void) static void BufferRightColumnStats(void) { - const s8 *natureMod = gNatureStatTable[sMonSummaryScreen->summary.mintNature]; - DynamicPlaceholderTextUtil_Reset(); - BufferStat(gStringVar1, natureMod[STAT_SPATK - 1], sMonSummaryScreen->summary.spatk, 0, 3); - BufferStat(gStringVar2, natureMod[STAT_SPDEF - 1], sMonSummaryScreen->summary.spdef, 1, 3); - BufferStat(gStringVar3, natureMod[STAT_SPEED - 1], sMonSummaryScreen->summary.speed, 2, 3); + BufferStat(gStringVar1, STAT_SPATK, sMonSummaryScreen->summary.spatk, 0, 3); + BufferStat(gStringVar2, STAT_SPDEF, sMonSummaryScreen->summary.spdef, 1, 3); + BufferStat(gStringVar3, STAT_SPEED, sMonSummaryScreen->summary.speed, 2, 3); DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, sStatsRightColumnLayout); } diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index c9d5c56e5c..7d6af9bd79 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -1393,7 +1393,7 @@ static void UpdateMonInfoText(u16 loadId, bool8 firstPrint) partyIndex = GetPartyIdFromSelectionId(sMenu->info.curSelection); nature = GetNature(&gPlayerParty[partyIndex]); str = StringCopy(sMenu->info.natureText, gText_NatureSlash); - str = StringCopy(str, gNatureNamePointers[nature]); + str = StringCopy(str, gNaturesInfo[nature].name); AddTextPrinterParameterized3(WIN_NATURE, FONT_NORMAL, 2, 1, sNatureTextColors, 0, sMenu->info.natureText); } diff --git a/test/battle/ability/magic_guard.c b/test/battle/ability/magic_guard.c new file mode 100644 index 0000000000..69e8bac9c7 --- /dev/null +++ b/test/battle/ability/magic_guard.c @@ -0,0 +1,17 @@ +#include "global.h" +#include "test/battle.h" + +SINGLE_BATTLE_TEST("Magic Guard prevents recoil damage to the user") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_DOUBLE_EDGE].recoil == 33); + PLAYER(SPECIES_CLEFABLE) { Ability(ABILITY_MAGIC_GUARD); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_DOUBLE_EDGE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_DOUBLE_EDGE, player); + HP_BAR(opponent); + NOT HP_BAR(player); + } +} diff --git a/test/battle/ability/mycelium_might.c b/test/battle/ability/mycelium_might.c index 1039fca34f..8491aede51 100644 --- a/test/battle/ability/mycelium_might.c +++ b/test/battle/ability/mycelium_might.c @@ -43,3 +43,27 @@ SINGLE_BATTLE_TEST("Mycelium Might ignores opposing abilities") NOT ABILITY_POPUP(opponent, ABILITY_CLEAR_BODY); } } + +SINGLE_BATTLE_TEST("Mycelium Might vs Stall action order depends on speed") +{ + u32 speed; + PARAMETRIZE { speed = 99; } + PARAMETRIZE { speed = 101; } + GIVEN { + PLAYER(SPECIES_TOEDSCOOL) { Speed(100); Ability(ABILITY_MYCELIUM_MIGHT); } + OPPONENT(SPECIES_SABLEYE) { Speed(speed); Ability(ABILITY_STALL);} + } WHEN { + TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_CELEBRATE); } + } SCENE { + if (speed < 100) + { + ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); + } + else + { + ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player); + } + } +} diff --git a/test/battle/ability/own_tempo.c b/test/battle/ability/own_tempo.c index 04697aad32..d5a6f58a72 100644 --- a/test/battle/ability/own_tempo.c +++ b/test/battle/ability/own_tempo.c @@ -1,29 +1,24 @@ #include "global.h" #include "test/battle.h" -SINGLE_BATTLE_TEST("Own Tempo prevents intimidate") +SINGLE_BATTLE_TEST("Own Tempo prevents Intimidate but no other stat down changes") { - s16 turnOneHit; - s16 turnTwoHit; - GIVEN { ASSUME(B_UPDATED_INTIMIDATE >= GEN_8); - PLAYER(SPECIES_EKANS) { Ability(ABILITY_SHED_SKIN); }; + ASSUME(gMovesInfo[MOVE_CONFUSE_RAY].effect == EFFECT_CONFUSE); PLAYER(SPECIES_EKANS) { Ability(ABILITY_INTIMIDATE); }; OPPONENT(SPECIES_SLOWPOKE) { Ability(ABILITY_OWN_TEMPO); }; } WHEN { - TURN { MOVE(opponent, MOVE_TACKLE); } - TURN { SWITCH(player, 1); MOVE(opponent, MOVE_TACKLE); } - + TURN { MOVE(player, MOVE_SCARY_FACE); } } SCENE { - HP_BAR(player, captureDamage: &turnOneHit); ABILITY_POPUP(player, ABILITY_INTIMIDATE); - NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); } ABILITY_POPUP(opponent, ABILITY_OWN_TEMPO); MESSAGE("Foe Slowpoke's Own Tempo prevents stat loss!"); - HP_BAR(player, captureDamage: &turnTwoHit); - } THEN { - EXPECT_EQ(turnOneHit, turnTwoHit); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SCARY_FACE, player); + NONE_OF { + ABILITY_POPUP(opponent, ABILITY_OWN_TEMPO); + MESSAGE("Foe Slowpoke's Own Tempo prevents stat loss!"); + } } } diff --git a/test/battle/ability/shield_dust.c b/test/battle/ability/shield_dust.c index 24eb53a117..25ab1a5c75 100644 --- a/test/battle/ability/shield_dust.c +++ b/test/battle/ability/shield_dust.c @@ -124,6 +124,7 @@ SINGLE_BATTLE_TEST("Shield Dust does not block self-targeting effects, primary o DOUBLE_BATTLE_TEST("Shield Dust does or does not block Sparkling Aria depending on number of targets hit") { u32 moveToUse; + KNOWN_FAILING; PARAMETRIZE { moveToUse = MOVE_FINAL_GAMBIT; } PARAMETRIZE { moveToUse = MOVE_TACKLE; } GIVEN { @@ -149,6 +150,7 @@ DOUBLE_BATTLE_TEST("Shield Dust does or does not block Sparkling Aria depending SINGLE_BATTLE_TEST("Shield Dust blocks Sparkling Aria in singles") { + KNOWN_FAILING; GIVEN { PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_VIVILLON) { Ability(ABILITY_SHIELD_DUST); Status1(STATUS1_BURN); } diff --git a/test/battle/ai.c b/test/battle/ai.c index 11702a0c5a..e673be4e6a 100644 --- a/test/battle/ai.c +++ b/test/battle/ai.c @@ -679,7 +679,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_MON_CHOICES: Mid-battle switches prioritize AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_MON_CHOICES); PLAYER(SPECIES_SWELLOW) { Level(30); Moves(MOVE_WING_ATTACK, MOVE_BOOMBURST); Speed(5); } OPPONENT(SPECIES_PONYTA) { Level(1); Moves(MOVE_NONE); Speed(4); } // Forces switchout - OPPONENT(SPECIES_ARON) { Level(30); Moves(MOVE_HEADBUTT); Speed(4); } // Mid battle, AI sends out Aron + OPPONENT(SPECIES_ARON) { Level(30); Moves(MOVE_HEADBUTT); Speed(4); SpDefense(41); } // Mid battle, AI sends out Aron OPPONENT(SPECIES_ELECTRODE) { Level(30); Moves(MOVE_CHARGE_BEAM); Speed(6); } } WHEN { TURN { MOVE(player, MOVE_WING_ATTACK); EXPECT_SWITCH(opponent, 1); } @@ -882,3 +882,76 @@ AI_SINGLE_BATTLE_TEST("AI will choose Superpower over Outrage with Contrary") } } } + +AI_DOUBLE_BATTLE_TEST("AI will not choose Earthquake if it damages the partner") +{ + u32 species; + + PARAMETRIZE { species = SPECIES_CHARIZARD; } + PARAMETRIZE { species = SPECIES_CHARMANDER; } + PARAMETRIZE { species = SPECIES_CHIKORITA; } + + GIVEN { + ASSUME(gMovesInfo[MOVE_EARTHQUAKE].target == MOVE_TARGET_FOES_AND_ALLY); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_PHANPY) { Moves(MOVE_EARTHQUAKE, MOVE_TACKLE); } + OPPONENT(species) { Moves(MOVE_CELEBRATE); } + } WHEN { + if (species == SPECIES_CHARIZARD) + TURN { EXPECT_MOVE(opponentLeft, MOVE_EARTHQUAKE); } + else + TURN { EXPECT_MOVE(opponentLeft, MOVE_TACKLE, target: playerLeft); } + } +} + +AI_DOUBLE_BATTLE_TEST("AI will choose Earthquake if partner is not alive") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_EARTHQUAKE].target == MOVE_TARGET_FOES_AND_ALLY); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET) { Moves(MOVE_EARTHQUAKE, MOVE_TACKLE); } + OPPONENT(SPECIES_PIKACHU) { HP(1); Moves(MOVE_CELEBRATE); } + } WHEN { + TURN { MOVE(playerLeft, MOVE_TACKLE, target: opponentRight); } + TURN { EXPECT_MOVE(opponentLeft, MOVE_EARTHQUAKE); } + } +} + +AI_DOUBLE_BATTLE_TEST("AI will choose Earthquake if it kill an opposing mon and does 1/3 of damage to AI") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_EARTHQUAKE].target == MOVE_TARGET_FOES_AND_ALLY); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET) { HP(1); } + OPPONENT(SPECIES_WOBBUFFET) { Moves(MOVE_EARTHQUAKE, MOVE_TACKLE); } + OPPONENT(SPECIES_PARAS) { Moves(MOVE_CELEBRATE); } + } WHEN { + TURN { EXPECT_MOVE(opponentLeft, MOVE_EARTHQUAKE); } + } +} + +AI_DOUBLE_BATTLE_TEST("AI will the see a corresponding absorbing ability on partner to one of its moves") +{ + u32 ability; + PARAMETRIZE { ability = ABILITY_LIGHTNING_ROD; } + PARAMETRIZE { ability = ABILITY_STATIC; } + + GIVEN { + ASSUME(gMovesInfo[MOVE_DISCHARGE].target == MOVE_TARGET_FOES_AND_ALLY); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET) { Moves(MOVE_DISCHARGE, MOVE_TACKLE); } + OPPONENT(SPECIES_PIKACHU) { HP(1); Ability(ability); Moves(MOVE_CELEBRATE); } + } WHEN { + if (ability == ABILITY_LIGHTNING_ROD) + TURN { EXPECT_MOVE(opponentLeft, MOVE_DISCHARGE); } + else + TURN { EXPECT_MOVE(opponentLeft, MOVE_TACKLE); } + } +} diff --git a/test/battle/ai_trytofaint.c b/test/battle/ai_trytofaint.c index 9e7d7e3ba8..ed6e1fccdd 100644 --- a/test/battle/ai_trytofaint.c +++ b/test/battle/ai_trytofaint.c @@ -46,3 +46,16 @@ AI_SINGLE_BATTLE_TEST("AI will choose a priority move if it is slower then the t MESSAGE("Foe Wobbuffet fainted!"); } } + +AI_SINGLE_BATTLE_TEST("AI sees Loaded Dice damage increase from multi hit moves") +{ + GIVEN { + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); + PLAYER(SPECIES_WOBBUFFET) { HP(44); } + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_LOADED_DICE); Moves(MOVE_SEED_BOMB, MOVE_BULLET_SEED); } + } WHEN { + TURN { EXPECT_MOVE(opponent, MOVE_BULLET_SEED); } + } SCENE { + MESSAGE("Wobbuffet fainted!"); + } +} diff --git a/test/battle/gimmick/dynamax.c b/test/battle/gimmick/dynamax.c index a9ee2fe4d0..1e90703f33 100644 --- a/test/battle/gimmick/dynamax.c +++ b/test/battle/gimmick/dynamax.c @@ -1470,3 +1470,19 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Max Moves don't execute effects on fainted battler NOT MESSAGE("Foe Wobbuffet's Speed fell!"); } } + +SINGLE_BATTLE_TEST("(DYNAMAX) Moxie clones can be triggered by Max Moves fainting opponents") +{ + ASSUME(gMovesInfo[MOVE_WATERFALL].power > 0); + GIVEN { + PLAYER(SPECIES_GYARADOS) { Ability(ABILITY_MOXIE); } + OPPONENT(SPECIES_WOBBUFFET) { HP(1); } + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_WATERFALL, dynamax: TRUE); SEND_OUT(opponent, 1); } + } SCENE { + MESSAGE("Foe Wobbuffet fainted!"); + ABILITY_POPUP(player, ABILITY_MOXIE); + MESSAGE("Gyarados's Moxie raised its Attack!"); + } +} diff --git a/test/battle/hold_effect/quick_claw.c b/test/battle/hold_effect/quick_claw.c index 3e8cd4d652..b8b845ec25 100644 --- a/test/battle/hold_effect/quick_claw.c +++ b/test/battle/hold_effect/quick_claw.c @@ -4,9 +4,10 @@ ASSUMPTIONS { ASSUME(gItemsInfo[ITEM_QUICK_CLAW].holdEffect == HOLD_EFFECT_QUICK_CLAW); + ASSUME(gItemsInfo[ITEM_QUICK_CLAW].holdEffectParam == 20); } -SINGLE_BATTLE_TEST("Quick Claw activates 10% of the time") +SINGLE_BATTLE_TEST("Quick Claw activates 20% of the time") { PASSES_RANDOMLY(2, 10, RNG_QUICK_CLAW); GIVEN { diff --git a/test/battle/item_effect/covert_cloak.c b/test/battle/item_effect/covert_cloak.c index 4953ef4682..4e00ece8f5 100644 --- a/test/battle/item_effect/covert_cloak.c +++ b/test/battle/item_effect/covert_cloak.c @@ -122,6 +122,7 @@ SINGLE_BATTLE_TEST("Covert Cloak does not block self-targeting effects, primary DOUBLE_BATTLE_TEST("Covert Cloak does or does not block Sparkling Aria depending on number of targets hit") { u32 moveToUse; + KNOWN_FAILING; PARAMETRIZE { moveToUse = MOVE_FINAL_GAMBIT; } PARAMETRIZE { moveToUse = MOVE_TACKLE; } GIVEN { @@ -147,6 +148,7 @@ DOUBLE_BATTLE_TEST("Covert Cloak does or does not block Sparkling Aria depending SINGLE_BATTLE_TEST("Covert Cloak blocks Sparkling Aria in singles") { + KNOWN_FAILING; GIVEN { PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_COVERT_CLOAK); Status1(STATUS1_BURN); } diff --git a/test/battle/item_effect/heal_and_cure_status.c b/test/battle/item_effect/heal_and_cure_status.c index cde726e9ce..80719cf231 100644 --- a/test/battle/item_effect/heal_and_cure_status.c +++ b/test/battle/item_effect/heal_and_cure_status.c @@ -20,7 +20,7 @@ SINGLE_BATTLE_TEST("Full Restore restores a battler's HP and cures any primary s PLAYER(SPECIES_WOBBUFFET) { HP(1); MaxHP(300); Status1(status); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { - TURN{ USE_ITEM(player, ITEM_FULL_RESTORE, partyIndex: 0); } + TURN { USE_ITEM(player, ITEM_FULL_RESTORE, partyIndex: 0); } } SCENE { MESSAGE("Wobbuffet had its HP restored!"); if (status != STATUS1_NONE) { @@ -32,6 +32,35 @@ SINGLE_BATTLE_TEST("Full Restore restores a battler's HP and cures any primary s } } +SINGLE_BATTLE_TEST("Full Restore restores a party members HP and cures any primary status") +{ + u16 status; + PARAMETRIZE{ status = STATUS1_BURN; } + PARAMETRIZE{ status = STATUS1_FREEZE; } + PARAMETRIZE{ status = STATUS1_PARALYSIS; } + PARAMETRIZE{ status = STATUS1_POISON; } + PARAMETRIZE{ status = STATUS1_TOXIC_POISON; } + PARAMETRIZE{ status = STATUS1_SLEEP; } + PARAMETRIZE{ status = STATUS1_NONE; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { HP(1); MaxHP(300); Status1(status); } + PLAYER(SPECIES_WYNAUT) { HP(1); MaxHP(300); Status1(status); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { USE_ITEM(player, ITEM_FULL_RESTORE, partyIndex: 1); } + TURN { SWITCH(player, 1); } + } SCENE { + MESSAGE("Wynaut had its HP restored!"); + if (status != STATUS1_NONE) { + MESSAGE("Wynaut had its status healed!"); // The message is not printed if status wasn't healed. + } + } THEN { + EXPECT_EQ(player->hp, player->maxHP); + EXPECT_EQ(player->species, SPECIES_WYNAUT); + EXPECT_EQ(player->status1, STATUS1_NONE); + } +} + SINGLE_BATTLE_TEST("Full Restore heals a battler from any primary status") { u16 status; @@ -54,6 +83,31 @@ SINGLE_BATTLE_TEST("Full Restore heals a battler from any primary status") } } +SINGLE_BATTLE_TEST("Full Restore heals a party member from any primary status") +{ + u16 status; + PARAMETRIZE{ status = STATUS1_BURN; } + PARAMETRIZE{ status = STATUS1_FREEZE; } + PARAMETRIZE{ status = STATUS1_PARALYSIS; } + PARAMETRIZE{ status = STATUS1_POISON; } + PARAMETRIZE{ status = STATUS1_TOXIC_POISON; } + PARAMETRIZE{ status = STATUS1_SLEEP; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WYNAUT) { Status1(status); } + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { USE_ITEM(player, ITEM_FULL_RESTORE, partyIndex: 1); } + TURN { SWITCH(player, 1); } + } SCENE { + NOT MESSAGE("Wynaut had its HP restored!"); // The message is not printed if mon has max HP. + MESSAGE("Wynaut had its status healed!"); + } THEN { + EXPECT_EQ(player->species, SPECIES_WYNAUT); + EXPECT_EQ(player->status1, STATUS1_NONE); + } +} + SINGLE_BATTLE_TEST("Full Restore restores a battler's HP and cures confusion") { GIVEN { diff --git a/test/battle/item_effect/restore_pp.c b/test/battle/item_effect/restore_pp.c index 8691dcf1ed..5f2a50cd52 100644 --- a/test/battle/item_effect/restore_pp.c +++ b/test/battle/item_effect/restore_pp.c @@ -66,3 +66,30 @@ SINGLE_BATTLE_TEST("Max Elixir restores the PP of all of a battler's moves fully } TO_DO_BATTLE_TEST("Ether won't work if the selected move has all its PP") + +TO_DO_BATTLE_TEST("Elixir can be used if at least one move is missing PP in any slot") // The test system can't currently test this, in a test the item is used without running useability checks +/* +{ + u8 move1PP; + u8 move2PP; + u8 move3PP; + u8 move4PP; + PARAMETRIZE { move1PP = 30; move2PP = 30; move3PP = 20; move4PP = 10; } + PARAMETRIZE { move1PP = 40; move2PP = 20; move3PP = 20; move4PP = 10; } + PARAMETRIZE { move1PP = 40; move2PP = 30; move3PP = 10; move4PP = 10; } + PARAMETRIZE { move1PP = 40; move2PP = 30; move3PP = 20; move4PP = 0; } + GIVEN { + ASSUME(gItemsInfo[ITEM_ELIXIR].battleUsage == EFFECT_ITEM_RESTORE_PP); + ASSUME(gItemsInfo[ITEM_ELIXIR].type == ITEM_USE_PARTY_MENU); + PLAYER(SPECIES_WOBBUFFET) { MovesWithPP({MOVE_MEDITATE, move1PP}, {MOVE_AGILITY, move2PP}, {MOVE_PSYBEAM, move3PP}, {MOVE_TRICK, move4PP}); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { USE_ITEM(player, ITEM_ELIXIR, partyIndex: 0); } + } THEN { + EXPECT_EQ(player->pp[0], 40); + EXPECT_EQ(player->pp[1], 30); + EXPECT_EQ(player->pp[2], 20); + EXPECT_EQ(player->pp[3], 10); + } +} +*/ diff --git a/test/battle/move_effect/absorb.c b/test/battle/move_effect/absorb.c index 9ef63079f3..b0140a7a65 100644 --- a/test/battle/move_effect/absorb.c +++ b/test/battle/move_effect/absorb.c @@ -68,3 +68,6 @@ DOUBLE_BATTLE_TEST("Matcha Gatcha recovers 50% of the damage dealt from both tar EXPECT_MUL_EQ(damageRight, Q_4_12(-0.5), healedRight); } } + +TO_DO_BATTLE_TEST("Absorb recovers 50% of the damage dealt to a Substitute"); +TO_DO_BATTLE_TEST("Draining Kiss recovers 75% of the damage dealt"); // Tests .argument 's implementation diff --git a/test/battle/move_effect/accuracy_down.c b/test/battle/move_effect/accuracy_down.c index 0eccd65f22..a4a8ad49bf 100644 --- a/test/battle/move_effect/accuracy_down.c +++ b/test/battle/move_effect/accuracy_down.c @@ -6,7 +6,7 @@ ASSUMPTIONS ASSUME(gMovesInfo[MOVE_SAND_ATTACK].effect == EFFECT_ACCURACY_DOWN); } -SINGLE_BATTLE_TEST("Sand Attack lowers Accuracy") +SINGLE_BATTLE_TEST("Sand Attack lowers Accuracy by 1 stage") { ASSUME(gMovesInfo[MOVE_SCRATCH].accuracy == 100); PASSES_RANDOMLY(gMovesInfo[MOVE_SCRATCH].accuracy * 3 / 4, 100, RNG_ACCURACY); diff --git a/test/battle/move_effect/accuracy_down_2.c b/test/battle/move_effect/accuracy_down_2.c new file mode 100644 index 0000000000..fe680af286 --- /dev/null +++ b/test/battle/move_effect/accuracy_down_2.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +// There are no moves with EFFECT_ACCURACY_DOWN_2's effect ^^; diff --git a/test/battle/move_effect/accuracy_up.c b/test/battle/move_effect/accuracy_up.c new file mode 100644 index 0000000000..535f18c6cf --- /dev/null +++ b/test/battle/move_effect/accuracy_up.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +// There are no moves with EFFECT_ACCURACY_UP's effect ^^; diff --git a/test/battle/move_effect/accuracy_up_2.c b/test/battle/move_effect/accuracy_up_2.c new file mode 100644 index 0000000000..9a2e66bd03 --- /dev/null +++ b/test/battle/move_effect/accuracy_up_2.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +// There are no moves with EFFECT_ACCURACY_UP_2's effect ^^; diff --git a/test/battle/move_effect/acrobatics.c b/test/battle/move_effect/acrobatics.c new file mode 100644 index 0000000000..bc34719a42 --- /dev/null +++ b/test/battle/move_effect/acrobatics.c @@ -0,0 +1,5 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("Acrobatics doubles in power if the user has no held item"); +TO_DO_BATTLE_TEST("Acrobatics still doubles in power when Flying Gem is consumed"); diff --git a/test/battle/move_effect/acupressure.c b/test/battle/move_effect/acupressure.c new file mode 100644 index 0000000000..e7254485fc --- /dev/null +++ b/test/battle/move_effect/acupressure.c @@ -0,0 +1,59 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("Acupressure increases one of two stats by 2 stages at random"); +TO_DO_BATTLE_TEST("Acupressure doesn't try to increase a stat that has been maximized"); +TO_DO_BATTLE_TEST("Acupressure fails on the user if all of its stats are maximized"); +TO_DO_BATTLE_TEST("Acupressure fails on the ally if all of its stats are maximized"); +TO_DO_BATTLE_TEST("Acupressure works on the user if it's behind a Substitute (Gen5+)"); +TO_DO_BATTLE_TEST("Acupressure fails on its ally if it's behind a Substitute"); + +DOUBLE_BATTLE_TEST("Acupressure works on the ally if the user targeted itself but switched positions via Ally Switch") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WYNAUT); + OPPONENT(SPECIES_KADABRA); + OPPONENT(SPECIES_ABRA); + } WHEN { + TURN { MOVE(playerLeft, MOVE_ALLY_SWITCH); MOVE(playerRight, MOVE_ACUPRESSURE, target:playerRight); } + } SCENE { + MESSAGE("Wobbuffet used Ally Switch!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_ALLY_SWITCH, playerLeft); + MESSAGE("Wobbuffet and Wynaut switched places!"); + + ANIMATION(ANIM_TYPE_MOVE, MOVE_ACUPRESSURE); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerRight); + NOT MESSAGE("But it failed!"); + } +} + +DOUBLE_BATTLE_TEST("Acupressure fails on the user if it targeted its ally but switched positions via Ally Switch") +{ + KNOWN_FAILING; // Tested in Gen 5, Acupressure fails here + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WYNAUT); + OPPONENT(SPECIES_KADABRA); + OPPONENT(SPECIES_ABRA); + } WHEN { + TURN { MOVE(playerLeft, MOVE_ALLY_SWITCH); MOVE(playerRight, MOVE_ACUPRESSURE, target:playerLeft); } + } SCENE { + MESSAGE("Wobbuffet used Ally Switch!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_ALLY_SWITCH, playerLeft); + MESSAGE("Wobbuffet and Wynaut switched places!"); + + MESSAGE("But it failed!"); + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_ACUPRESSURE); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); + } + } +} + +TO_DO_BATTLE_TEST("Acupressure works on the user if its side is protected by Crafty Shield"); +TO_DO_BATTLE_TEST("Acupressure fails on the ally if its side is protected by Crafty Shield"); + +// Triple Battles required to test +//TO_DO_BATTLE_TEST("Acupressure works on the ally if the user targeted itself but switched positions via Triple Battle shift before execution"); +//TO_DO_BATTLE_TEST("Acupressure fails on the user if it targeted its ally but switched positions via Triple Battle shift before execution"); diff --git a/test/battle/move_effect/after_you.c b/test/battle/move_effect/after_you.c index 91830abffd..fa6e47e0e2 100644 --- a/test/battle/move_effect/after_you.c +++ b/test/battle/move_effect/after_you.c @@ -51,3 +51,6 @@ DOUBLE_BATTLE_TEST("After You does nothing if the target has already moved") ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, playerRight); } } + +TO_DO_BATTLE_TEST("After You doesn't fail if the turner remains the same after After You (Gen8+)"); +TO_DO_BATTLE_TEST("After You ignores the effects of Quash"); diff --git a/test/battle/move_effect/ally_switch.c b/test/battle/move_effect/ally_switch.c index 1f07859c82..b3e902fc79 100644 --- a/test/battle/move_effect/ally_switch.c +++ b/test/battle/move_effect/ally_switch.c @@ -115,7 +115,7 @@ DOUBLE_BATTLE_TEST("Ally Switch does not redirect moves done by pokemon with Sta } } -DOUBLE_BATTLE_TEST("Ally Switch has no effect on parnter's chosen move") +DOUBLE_BATTLE_TEST("Ally Switch has no effect on partner's chosen move") { u16 chosenMove; struct BattlePokemon *chosenTarget = NULL; @@ -167,32 +167,6 @@ DOUBLE_BATTLE_TEST("Ally Switch - move fails if the target was ally which change } } -// Verified on Showdown, even though Bulbapedia says otherwise. -DOUBLE_BATTLE_TEST("Acupressure works after ally used Ally Switch") -{ - struct BattlePokemon *battlerTarget = NULL; - - PARAMETRIZE { battlerTarget = playerLeft; } - PARAMETRIZE { battlerTarget = playerRight; } - - GIVEN { - PLAYER(SPECIES_WOBBUFFET); - PLAYER(SPECIES_WYNAUT); - OPPONENT(SPECIES_KADABRA); - OPPONENT(SPECIES_ABRA); - } WHEN { - TURN { MOVE(playerLeft, MOVE_ALLY_SWITCH); MOVE(playerRight, MOVE_ACUPRESSURE, target:battlerTarget); } - } SCENE { - MESSAGE("Wobbuffet used Ally Switch!"); - ANIMATION(ANIM_TYPE_MOVE, MOVE_ALLY_SWITCH, playerLeft); - MESSAGE("Wobbuffet and Wynaut switched places!"); - - ANIMATION(ANIM_TYPE_MOVE, MOVE_ACUPRESSURE); - ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, battlerTarget); - NOT MESSAGE("But it failed!"); - } -} - DOUBLE_BATTLE_TEST("Ally Switch increases the Protect-like moves counter") { GIVEN { @@ -228,3 +202,6 @@ DOUBLE_BATTLE_TEST("Ally Switch works if ally used two-turn move like Dig") HP_BAR(opponentRight); } } + +// Triple Battles required to test +//TO_DO_BATTLE_TEST("Ally Switch fails if the user is in the middle of the field in a Triple Battle"); diff --git a/test/battle/move_effect/aqua_ring.c b/test/battle/move_effect/aqua_ring.c new file mode 100644 index 0000000000..c31bfbd8df --- /dev/null +++ b/test/battle/move_effect/aqua_ring.c @@ -0,0 +1,6 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("Aqua Ring recovers 1/16th HP at end of turn"); +TO_DO_BATTLE_TEST("Aqua Ring can be used under Heal Block but will not heal the user"); +TO_DO_BATTLE_TEST("Aqua Ring can be Baton Passed"); diff --git a/test/battle/move_effect/aromatic_mist.c b/test/battle/move_effect/aromatic_mist.c new file mode 100644 index 0000000000..516ed14f16 --- /dev/null +++ b/test/battle/move_effect/aromatic_mist.c @@ -0,0 +1,5 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("Aromatic Mist raises Sp. Defense of a target ally by 1 stage"); +TO_DO_BATTLE_TEST("Aromatic Mist fails in Single Battles"); diff --git a/test/battle/move_effect/assist.c b/test/battle/move_effect/assist.c index cbd73b2857..0c9a0b6128 100644 --- a/test/battle/move_effect/assist.c +++ b/test/battle/move_effect/assist.c @@ -6,6 +6,18 @@ ASSUMPTIONS ASSUME(gMovesInfo[MOVE_ASSIST].effect == EFFECT_ASSIST); } +TO_DO_BATTLE_TEST("Assist randomly calls a move from any party member"); +TO_DO_BATTLE_TEST("Assist counts all instances of the same move as separate"); +TO_DO_BATTLE_TEST("Assist can call moves with no PP left"); +TO_DO_BATTLE_TEST("Assist can call moves from a fainted party member"); +TO_DO_BATTLE_TEST("Assist can call moves that are blocked to its partners"); // Eg. double battle parter blocked by Disable +TO_DO_BATTLE_TEST("Assist can only call the original moves of a Transformed partner (Gen4 only)"); +TO_DO_BATTLE_TEST("Assist can only call the current moves of a Transformed partner (Gen5+)"); +TO_DO_BATTLE_TEST("Assist cannot call a Mimicked move (Gen4 only)"); +TO_DO_BATTLE_TEST("Assist can call a Mimicked move but not the original Mimic (Gen5+)"); +TO_DO_BATTLE_TEST("Assist can call moves in unhatched Eggs (Gen5 only)"); +TO_DO_BATTLE_TEST("Assist can be used by wild Pokémon in Wild Double Battles, even if the partner faints"); + SINGLE_BATTLE_TEST("Assist fails if there are no valid moves to choose from") { GIVEN { diff --git a/test/battle/move_effect/assurance.c b/test/battle/move_effect/assurance.c new file mode 100644 index 0000000000..e6cbf72b9f --- /dev/null +++ b/test/battle/move_effect/assurance.c @@ -0,0 +1,8 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("Assurance doubles in power if the target has been damaged in the same turn - Recoil"); +TO_DO_BATTLE_TEST("Assurance doubles in power if the target has been damaged in the same turn - Life Orb"); +TO_DO_BATTLE_TEST("Assurance doubles in power if the target has been damaged in the same turn - Crash"); +TO_DO_BATTLE_TEST("Assurance doubles in power if the target has been damaged in the same turn - Confusion"); +TO_DO_BATTLE_TEST("Assurance doubles in power if the target has been damaged in the same turn - Rocky Helmet"); diff --git a/test/battle/move_effect/attack_accuracy_up.c b/test/battle/move_effect/attack_accuracy_up.c new file mode 100644 index 0000000000..025a0cb86f --- /dev/null +++ b/test/battle/move_effect/attack_accuracy_up.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("Hone Claws increases Attack and Accuracy by one stage each"); diff --git a/test/battle/move_effect/attack_down.c b/test/battle/move_effect/attack_down.c index e9b3a7c23e..457d122281 100644 --- a/test/battle/move_effect/attack_down.c +++ b/test/battle/move_effect/attack_down.c @@ -6,7 +6,7 @@ ASSUMPTIONS ASSUME(gMovesInfo[MOVE_GROWL].effect == EFFECT_ATTACK_DOWN); } -SINGLE_BATTLE_TEST("Growl lowers Attack", s16 damage) +SINGLE_BATTLE_TEST("Growl lowers Attack by 1 stage", s16 damage) { bool32 lowerAttack; PARAMETRIZE { lowerAttack = FALSE; } diff --git a/test/battle/move_effect/attack_down_2.c b/test/battle/move_effect/attack_down_2.c new file mode 100644 index 0000000000..7b62294a76 --- /dev/null +++ b/test/battle/move_effect/attack_down_2.c @@ -0,0 +1,32 @@ +#include "global.h" +#include "test/battle.h" + +ASSUMPTIONS +{ + ASSUME(gMovesInfo[MOVE_CHARM].effect == EFFECT_ATTACK_DOWN_2); +} + +SINGLE_BATTLE_TEST("Charm lowers Attack by 2 stages", s16 damage) +{ + bool32 lowerAttack; + PARAMETRIZE { lowerAttack = FALSE; } + PARAMETRIZE { lowerAttack = TRUE; } + GIVEN { + ASSUME(gMovesInfo[MOVE_TACKLE].category == DAMAGE_CATEGORY_PHYSICAL); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + if (lowerAttack) TURN { MOVE(player, MOVE_CHARM); } + TURN { MOVE(opponent, MOVE_TACKLE); } + } SCENE { + if (lowerAttack) { + ANIMATION(ANIM_TYPE_MOVE, MOVE_CHARM, player); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); + MESSAGE("Foe Wobbuffet's Attack harshly fell!"); + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); + HP_BAR(player, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[1].damage, Q_4_12(2.0), results[0].damage); + } +} diff --git a/test/battle/move_effect/attack_spatk_up.c b/test/battle/move_effect/attack_spatk_up.c new file mode 100644 index 0000000000..b5aa2418a2 --- /dev/null +++ b/test/battle/move_effect/attack_spatk_up.c @@ -0,0 +1,39 @@ +#include "global.h" +#include "test/battle.h" + + +ASSUMPTIONS +{ + ASSUME(gMovesInfo[MOVE_WORK_UP].effect == EFFECT_ATTACK_SPATK_UP); +} + +SINGLE_BATTLE_TEST("Work Up raises Attack and Sp. Attack by 1 stage each", s16 damage) +{ + bool32 raiseStats; + u32 move; + PARAMETRIZE { raiseStats = FALSE; move = MOVE_TACKLE; } + PARAMETRIZE { raiseStats = TRUE; move = MOVE_TACKLE; } + PARAMETRIZE { raiseStats = FALSE; move = MOVE_SWIFT; } + PARAMETRIZE { raiseStats = TRUE; move = MOVE_SWIFT; } + GIVEN { + ASSUME(gMovesInfo[MOVE_TACKLE].category == DAMAGE_CATEGORY_PHYSICAL); + ASSUME(gMovesInfo[MOVE_SWIFT].category == DAMAGE_CATEGORY_SPECIAL); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + if (raiseStats) TURN { MOVE(player, MOVE_WORK_UP); } + TURN { MOVE(player, move); } + } SCENE { + if (raiseStats) { + ANIMATION(ANIM_TYPE_MOVE, MOVE_WORK_UP, player); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); + MESSAGE("Wobbuffet's Attack rose!"); + MESSAGE("Wobbuffet's Sp. Atk rose!"); + } + ANIMATION(ANIM_TYPE_MOVE, move, player); + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, Q_4_12(1.5), results[1].damage); + EXPECT_MUL_EQ(results[2].damage, Q_4_12(1.5), results[3].damage); + } +} diff --git a/test/battle/move_effect/attack_up.c b/test/battle/move_effect/attack_up.c index bf4b830370..da878fb60d 100644 --- a/test/battle/move_effect/attack_up.c +++ b/test/battle/move_effect/attack_up.c @@ -6,7 +6,7 @@ ASSUMPTIONS ASSUME(gMovesInfo[MOVE_MEDITATE].effect == EFFECT_ATTACK_UP); } -SINGLE_BATTLE_TEST("Meditate raises Attack", s16 damage) +SINGLE_BATTLE_TEST("Meditate raises Attack by 1 stage", s16 damage) { bool32 raiseAttack; PARAMETRIZE { raiseAttack = FALSE; } diff --git a/test/battle/move_effect/attack_up_2.c b/test/battle/move_effect/attack_up_2.c new file mode 100644 index 0000000000..1f44efe9e3 --- /dev/null +++ b/test/battle/move_effect/attack_up_2.c @@ -0,0 +1,32 @@ +#include "global.h" +#include "test/battle.h" + +ASSUMPTIONS +{ + ASSUME(gMovesInfo[MOVE_SWORDS_DANCE].effect == EFFECT_ATTACK_UP_2); +} + +SINGLE_BATTLE_TEST("Swords Dance raises Attack by 2 stages", s16 damage) +{ + bool32 raiseAttack; + PARAMETRIZE { raiseAttack = FALSE; } + PARAMETRIZE { raiseAttack = TRUE; } + GIVEN { + ASSUME(gMovesInfo[MOVE_TACKLE].category == DAMAGE_CATEGORY_PHYSICAL); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + if (raiseAttack) TURN { MOVE(player, MOVE_SWORDS_DANCE); } + TURN { MOVE(player, MOVE_TACKLE); } + } SCENE { + if (raiseAttack) { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SWORDS_DANCE, player); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); + MESSAGE("Wobbuffet's Attack sharply rose!"); + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, Q_4_12(2.0), results[1].damage); + } +} diff --git a/test/battle/move_effect/attack_up_user_ally.c b/test/battle/move_effect/attack_up_user_ally.c index 706b6311a3..1d623c2bbd 100644 --- a/test/battle/move_effect/attack_up_user_ally.c +++ b/test/battle/move_effect/attack_up_user_ally.c @@ -6,7 +6,7 @@ ASSUMPTIONS ASSUME(gMovesInfo[MOVE_HOWL].effect == EFFECT_ATTACK_UP_USER_ALLY); } -SINGLE_BATTLE_TEST("Howl raises user's Attack", s16 damage) +SINGLE_BATTLE_TEST("Howl raises user's Attack by 1 stage", s16 damage) { bool32 raiseAttack; PARAMETRIZE { raiseAttack = FALSE; } @@ -31,7 +31,7 @@ SINGLE_BATTLE_TEST("Howl raises user's Attack", s16 damage) } } -DOUBLE_BATTLE_TEST("Howl raises user's and partner's Attack", s16 damageLeft, s16 damageRight) +DOUBLE_BATTLE_TEST("Howl raises user's and partner's Attack by 1 stage", s16 damageLeft, s16 damageRight) { bool32 raiseAttack; PARAMETRIZE { raiseAttack = FALSE; } diff --git a/test/battle/move_effect/attract.c b/test/battle/move_effect/attract.c new file mode 100644 index 0000000000..748a88a950 --- /dev/null +++ b/test/battle/move_effect/attract.c @@ -0,0 +1,7 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("Attract causes the target to become infatuated with the user if they have opposite genders"); +TO_DO_BATTLE_TEST("Attract ignores type immunity"); +TO_DO_BATTLE_TEST("Attract bypasses Substitute"); +TO_DO_BATTLE_TEST("Attract fails if the target is already infatuated"); diff --git a/test/battle/move_effect/aura_wheel.c b/test/battle/move_effect/aura_wheel.c index 154065c281..fa4190dbdf 100644 --- a/test/battle/move_effect/aura_wheel.c +++ b/test/battle/move_effect/aura_wheel.c @@ -49,3 +49,5 @@ SINGLE_BATTLE_TEST("Aura Wheel changes type depending on Morpeko's form") MESSAGE("It's super effective!"); } } + +TO_DO_BATTLE_TEST("Aura Wheel can be used by Pokémon transformed into Morpeko"); diff --git a/test/battle/move_effect/autotomize.c b/test/battle/move_effect/autotomize.c new file mode 100644 index 0000000000..79a71ecbc7 --- /dev/null +++ b/test/battle/move_effect/autotomize.c @@ -0,0 +1,12 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("Autotomize increases Speed by 2 stages"); +TO_DO_BATTLE_TEST("Autotomize decreases weight by 100kg (220 lbs.)"); +TO_DO_BATTLE_TEST("Autotomize can be used multiple times to decrease weight each time"); +TO_DO_BATTLE_TEST("Autotomize cannot decrease weight below 0.1kg (0.2 lbs)"); +TO_DO_BATTLE_TEST("Autotomize's weight reduction cannot be Baton Passed"); +TO_DO_BATTLE_TEST("Autotomize's weight reduction cannot be removed by Haze"); +TO_DO_BATTLE_TEST("Autotomize's weight reduction is reset upon form change (Gen6+)"); +TO_DO_BATTLE_TEST("Autotomize's weight reduction is reset upon switch"); +TO_DO_BATTLE_TEST("Autotomize's weight reduction is reset upon fainting"); diff --git a/test/battle/move_effect/belch.c b/test/battle/move_effect/belch.c new file mode 100644 index 0000000000..34e026abe5 --- /dev/null +++ b/test/battle/move_effect/belch.c @@ -0,0 +1,52 @@ +#include "global.h" +#include "test/battle.h" + +ASSUMPTIONS +{ + ASSUME(gMovesInfo[MOVE_BELCH].effect == EFFECT_BELCH); + ASSUME(gMovesInfo[MOVE_MUD_SHOT].type == TYPE_GROUND); + ASSUME(gItemsInfo[ITEM_SHUCA_BERRY].holdEffect == HOLD_EFFECT_RESIST_BERRY); + ASSUME(gItemsInfo[ITEM_SHUCA_BERRY].holdEffectParam == TYPE_GROUND); + ASSUME(gItemsInfo[ITEM_SHUCA_BERRY].pocket == POCKET_BERRIES); + ASSUME(gItemsInfo[ITEM_ORAN_BERRY].pocket == POCKET_BERRIES); +} + +AI_SINGLE_BATTLE_TEST("AI: Belch has nonzero score after eating a berry") +{ + GIVEN { + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); + PLAYER(SPECIES_BAYLEEF) { Level(18); Moves(MOVE_MUD_SHOT, MOVE_TACKLE); } + OPPONENT(SPECIES_PIKACHU) { Level(15); Item(ITEM_SHUCA_BERRY); Moves(MOVE_BELCH, MOVE_TACKLE); } + } WHEN { + TURN { MOVE(player, MOVE_MUD_SHOT); EXPECT_MOVE(opponent, MOVE_TACKLE); } + TURN { MOVE(player, MOVE_TACKLE); EXPECT_MOVE(opponent, MOVE_BELCH);} + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_BELCH, opponent); + } +} + +SINGLE_BATTLE_TEST("Belch cannot be used if the user has not eaten a berry") +{ + u16 item = 0; + PARAMETRIZE { item = ITEM_NONE; } + PARAMETRIZE { item = ITEM_ORAN_BERRY; } + GIVEN { + PLAYER(SPECIES_SKWOVET) { Item(item); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + if (item == ITEM_NONE) + TURN { MOVE(player, MOVE_BELCH, allowed: FALSE); MOVE(player, MOVE_CELEBRATE); } + else { + TURN { MOVE(player, MOVE_STUFF_CHEEKS); } + TURN { MOVE(player, MOVE_BELCH); } + } + } SCENE { + if (item == ITEM_NONE) { + ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player); + } + else { + ANIMATION(ANIM_TYPE_MOVE, MOVE_STUFF_CHEEKS, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BELCH, player); + } + } +} diff --git a/test/battle/move_effect/dragon_darts.c b/test/battle/move_effect/dragon_darts.c new file mode 100644 index 0000000000..8190f0f4bd --- /dev/null +++ b/test/battle/move_effect/dragon_darts.c @@ -0,0 +1,189 @@ +#include "global.h" +#include "test/battle.h" + +ASSUMPTIONS +{ + ASSUME(gMovesInfo[MOVE_DRAGON_DARTS].effect == EFFECT_DRAGON_DARTS); + ASSUME(gSpeciesInfo[SPECIES_CLEFAIRY].types[0] == TYPE_FAIRY || gSpeciesInfo[SPECIES_CLEFAIRY].types[1] == TYPE_FAIRY); +} + +SINGLE_BATTLE_TEST("Dragon Darts strikes twice") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_DRAGON_DARTS); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, player); + MESSAGE("Hit 2 time(s)!"); + } +} + +DOUBLE_BATTLE_TEST("Dragon Darts strikes each opponent once in a double battle") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerLeft, MOVE_DRAGON_DARTS, target: opponentLeft); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentRight); + MESSAGE("Hit 2 time(s)!"); + } +} + +DOUBLE_BATTLE_TEST("Dragon Darts strikes the ally twice if the target protects") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_PROTECT); MOVE(playerLeft, MOVE_DRAGON_DARTS, target: opponentLeft); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_PROTECT, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentRight); + MESSAGE("Hit 2 time(s)!"); + } +} + +DOUBLE_BATTLE_TEST("Dragon Darts strikes the right ally twice if the target is a fairy type") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_CLEFAIRY); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerLeft, MOVE_DRAGON_DARTS, target: opponentLeft); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentRight); + MESSAGE("Hit 2 time(s)!"); + } +} + +DOUBLE_BATTLE_TEST("Dragon Darts strikes the left ally twice if the target is a fairy type") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_CLEFAIRY); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerLeft, MOVE_DRAGON_DARTS, target: opponentRight); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentRight); + MESSAGE("Hit 2 time(s)!"); + } +} + +DOUBLE_BATTLE_TEST("Dragon Darts strikes the ally twice if the target is in a semi-invulnerable turn") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_FLY].effect == EFFECT_SEMI_INVULNERABLE); + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_FLY, target: playerLeft); MOVE(playerLeft, MOVE_DRAGON_DARTS, target: opponentLeft); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FLY, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentRight); + MESSAGE("Hit 2 time(s)!"); + } +} + +DOUBLE_BATTLE_TEST("Dragon Darts is not effected by Wide Guard") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_WIDE_GUARD); MOVE(playerLeft, MOVE_DRAGON_DARTS, target: opponentLeft); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_WIDE_GUARD, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentRight); + MESSAGE("Hit 2 time(s)!"); + } +} + +DOUBLE_BATTLE_TEST("Dragon Darts strikes hit the ally if the target fainted") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET) { HP(1); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerRight, MOVE_SONIC_BOOM, target: opponentLeft); MOVE(playerLeft, MOVE_DRAGON_DARTS, target: opponentLeft); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SONIC_BOOM, playerRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentRight); + MESSAGE("Hit 2 time(s)!"); + } +} + +DOUBLE_BATTLE_TEST("Dragon Darts strikes left ally twice if one strike misses") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_BRIGHT_POWDER); }; + } WHEN { + TURN { MOVE(playerLeft, MOVE_DRAGON_DARTS, target: opponentRight, hit: FALSE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentLeft); + MESSAGE("Hit 2 time(s)!"); + } +} + +DOUBLE_BATTLE_TEST("Dragon Darts strikes right ally twice if one strike misses") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_BRIGHT_POWDER); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerLeft, MOVE_DRAGON_DARTS, target: opponentLeft, hit: FALSE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DARTS, playerLeft); + HP_BAR(opponentRight); + MESSAGE("Hit 2 time(s)!"); + } +} diff --git a/test/battle/move_effect/explosion.c b/test/battle/move_effect/explosion.c index 10e9feaa80..a45a465ba2 100644 --- a/test/battle/move_effect/explosion.c +++ b/test/battle/move_effect/explosion.c @@ -123,3 +123,25 @@ SINGLE_BATTLE_TEST("Explosion does not trigger Destiny Bond") NOT HP_BAR(opponent); } } + +DOUBLE_BATTLE_TEST("Explosion boosted by Galvanize is correctly blocked by Volt Absorb") +{ + GIVEN { + PLAYER(SPECIES_GEODUDE_ALOLAN) { Ability(ABILITY_GALVANIZE); } + PLAYER(SPECIES_WYNAUT) { HP(1); } + OPPONENT(SPECIES_LANTURN) { Ability(ABILITY_VOLT_ABSORB); } + OPPONENT(SPECIES_WOBBUFFET) { HP(1); } + } WHEN { + TURN { MOVE(playerLeft, MOVE_EXPLOSION); } + } SCENE { + MESSAGE("Geodude used Explosion!"); + HP_BAR(playerLeft, hp: 0); + ABILITY_POPUP(opponentLeft, ABILITY_VOLT_ABSORB); + NOT HP_BAR(opponentLeft, hp: 0); + HP_BAR(playerRight, hp: 0); + MESSAGE("Wynaut fainted!"); + HP_BAR(opponentRight, hp: 0); + MESSAGE("Foe Wobbuffet fainted!"); + MESSAGE("Geodude fainted!"); + } +} diff --git a/test/battle/move_effect/future_sight.c b/test/battle/move_effect/future_sight.c index 7ebac1ac97..fa78461a9d 100644 --- a/test/battle/move_effect/future_sight.c +++ b/test/battle/move_effect/future_sight.c @@ -5,6 +5,8 @@ ASSUMPTIONS { ASSUME(gMovesInfo[MOVE_SEED_FLARE].power == gMovesInfo[MOVE_FUTURE_SIGHT].power); ASSUME(gMovesInfo[MOVE_SEED_FLARE].category == gMovesInfo[MOVE_FUTURE_SIGHT].category); + ASSUME(gMovesInfo[MOVE_FUTURE_SIGHT].effect == EFFECT_FUTURE_SIGHT); + ASSUME(gMovesInfo[MOVE_FUTURE_SIGHT].power > 0); } SINGLE_BATTLE_TEST("Future Sight uses Sp. Atk stat of the original user without modifiers") @@ -153,3 +155,22 @@ SINGLE_BATTLE_TEST("Future Sight will miss timing if target faints by residual d NOT MESSAGE("Foe Wynaut took the Future Sight attack!"); } } + +SINGLE_BATTLE_TEST("Future Sight breaks Focus Sash and doesn't make the holder endure another move") +{ + ASSUME(gMovesInfo[MOVE_PSYCHIC].power > 0); + ASSUME(gItemsInfo[ITEM_FOCUS_SASH].holdEffect == HOLD_EFFECT_FOCUS_SASH); + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_PIDGEY) { Level(1); Item(ITEM_FOCUS_SASH); } + } WHEN { + TURN { MOVE(player, MOVE_FUTURE_SIGHT); } + TURN { } + TURN { } + TURN { MOVE(player, MOVE_PSYCHIC); } + } SCENE { + MESSAGE("Foe Pidgey hung on using its Focus Sash!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_PSYCHIC, player); + MESSAGE("Foe Pidgey fainted!"); + } +} diff --git a/test/battle/move_effect/max_hp_50_recoil.c b/test/battle/move_effect/max_hp_50_recoil.c index 8d5cbdaed2..1ac98854e0 100644 --- a/test/battle/move_effect/max_hp_50_recoil.c +++ b/test/battle/move_effect/max_hp_50_recoil.c @@ -91,8 +91,9 @@ SINGLE_BATTLE_TEST("Steel Beam hp loss is prevented by Magic Guard") } WHEN { TURN { MOVE(player, MOVE_STEEL_BEAM); } } SCENE { - NOT HP_BAR(player); ANIMATION(ANIM_TYPE_MOVE, MOVE_STEEL_BEAM, player); + HP_BAR(opponent); + NOT HP_BAR(player); } } diff --git a/test/battle/move_effect/mind_blown.c b/test/battle/move_effect/mind_blown.c index f1b7d8b98a..da39cf18d7 100644 --- a/test/battle/move_effect/mind_blown.c +++ b/test/battle/move_effect/mind_blown.c @@ -114,8 +114,9 @@ SINGLE_BATTLE_TEST("Mind Blown hp loss is prevented by Magic Guard") } WHEN { TURN { MOVE(player, MOVE_MIND_BLOWN); } } SCENE { - NOT HP_BAR(player); ANIMATION(ANIM_TYPE_MOVE, MOVE_MIND_BLOWN, player); + HP_BAR(opponent); + NOT HP_BAR(player); } } diff --git a/test/battle/move_effect/stuff_cheeks.c b/test/battle/move_effect/stuff_cheeks.c index a7a4ab1d34..3bb3f22925 100644 --- a/test/battle/move_effect/stuff_cheeks.c +++ b/test/battle/move_effect/stuff_cheeks.c @@ -103,29 +103,3 @@ SINGLE_BATTLE_TEST("Stuff Cheeks fails if the user's berry is removed before the MESSAGE("But it failed!"); } } - -SINGLE_BATTLE_TEST("Belch cannot be used if the user has not eaten a berry") -{ - u16 item = 0; - PARAMETRIZE { item = ITEM_NONE; } - PARAMETRIZE { item = ITEM_ORAN_BERRY; } - GIVEN { - PLAYER(SPECIES_SKWOVET) { Item(item); } - OPPONENT(SPECIES_WOBBUFFET); - } WHEN { - if (item == ITEM_NONE) - TURN { MOVE(player, MOVE_BELCH, allowed: FALSE); MOVE(player, MOVE_CELEBRATE); } - else { - TURN { MOVE(player, MOVE_STUFF_CHEEKS); } - TURN { MOVE(player, MOVE_BELCH); } - } - } SCENE { - if (item == ITEM_NONE) { - ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player); - } - else { - ANIMATION(ANIM_TYPE_MOVE, MOVE_STUFF_CHEEKS, player); - ANIMATION(ANIM_TYPE_MOVE, MOVE_BELCH, player); - } - } -} diff --git a/test/battle/terrain/grassy.c b/test/battle/terrain/grassy.c index 1cb846dd41..af0776d3df 100644 --- a/test/battle/terrain/grassy.c +++ b/test/battle/terrain/grassy.c @@ -68,7 +68,7 @@ SINGLE_BATTLE_TEST("Grassy Terrain decreases power of Earthquake and Bulldoze by PARAMETRIZE { terrain = TRUE; move = MOVE_BULLDOZE; } // 3 GIVEN { ASSUME(gMovesInfo[MOVE_EARTHQUAKE].effect == EFFECT_EARTHQUAKE); - ASSUME(gMovesInfo[MOVE_BULLDOZE].effect == EFFECT_BULLDOZE); + ASSUME(gMovesInfo[MOVE_BULLDOZE].effect == EFFECT_EARTHQUAKE); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); } WHEN {