diff --git a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml index f8f9b8f0afbe..310f92c11874 100644 --- a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml +++ b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml @@ -23,20 +23,17 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.8.5 (Latest release) + - 1.9.0 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.8.6 + - 1.8.5 - 1.8.4 - 1.8.3 - 1.8.2 - 1.8.1 - 1.8.0 - - 1.7.4 - - 1.7.3 - - 1.7.2 - - 1.7.1 - - 1.7.0 - - pre-1.7.0 + - pre-1.8.0 validations: required: true - type: input diff --git a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml index c29ace1224f8..9fcb1595a27a 100644 --- a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml +++ b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml @@ -23,20 +23,17 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.8.5 (Latest release) + - 1.9.0 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.8.6 + - 1.8.5 - 1.8.4 - 1.8.3 - 1.8.2 - 1.8.1 - 1.8.0 - - 1.7.4 - - 1.7.3 - - 1.7.2 - - 1.7.1 - - 1.7.0 - - pre-1.7.0 + - pre-1.8.0 validations: required: true - type: input diff --git a/.github/ISSUE_TEMPLATE/04_other_errors.yaml b/.github/ISSUE_TEMPLATE/04_other_errors.yaml index c3320e67de32..73d9fd11d31f 100644 --- a/.github/ISSUE_TEMPLATE/04_other_errors.yaml +++ b/.github/ISSUE_TEMPLATE/04_other_errors.yaml @@ -23,20 +23,17 @@ body: label: Version description: What version of pokeemerald-expansion are you using as a base? options: - - 1.8.5 (Latest release) + - 1.9.0 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.8.6 + - 1.8.5 - 1.8.4 - 1.8.3 - 1.8.2 - 1.8.1 - 1.8.0 - - 1.7.4 - - 1.7.3 - - 1.7.2 - - 1.7.1 - - 1.7.0 - - pre-1.7.0 + - pre-1.8.0 validations: required: true - type: input diff --git a/CHANGELOG.md b/CHANGELOG.md index 84331cb4e39b..0999ae5f7ed2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # Pokeemerald-Expansion Changelogs +## 1.9.x +- **[Version 1.9.0](docs/changelogs/1.9.x/1.9.0.md) - ✨ Feature Release** + ## 1.8.x +- **[Version 1.8.6](docs/changelogs/1.8.x/1.8.6.md) - 🧹 Bugfix Release** - **[Version 1.8.5](docs/changelogs/1.8.x/1.8.5.md) - 🧹 Bugfix Release** - **[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** diff --git a/INSTALL.md b/INSTALL.md index cc6eba97efb5..6349d24fbbd8 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -33,27 +33,23 @@ WSL1 is the preferred terminal to build **pokeemerald Expansion**. The following - Otherwise, **open WSL** and go to [Choosing where to store pokeemerald Expansion (WSL1)](#Choosing-where-to-store-pokeemerald-expansion-WSL1). ### Installing WSL1 -1. Open [Windows Powershell **as Administrator**](https://i.imgur.com/QKmVbP9.png), and run the following command (Right Click or Shift+Insert is paste in the Powershell). +1. Open [Windows Powershell **as Administrator**](https://i.imgur.com/QKmVbP9.png), and run the following commands (Right Click or Shift+Insert is paste in the Powershell). ```powershell - dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart + wsl --install -d Ubuntu --enable-wsl1 ``` 2. Once the process finishes, restart your machine. -3. The next step is to choose and install a Linux distribution from the Microsoft Store. The following instructions will assume Ubuntu as the Linux distribution of choice. -
- Note for advanced users... - - > You can pick a preferred Linux distribution, but setup instructions may differ. Debian should work with the given instructions, but has not been tested. -
+3. Open Windows Powershell **as Administrator** again (after restarting), and run the following command to configure Ubuntu to use WSL1. -4. Open the [Microsoft Store Linux Selection](https://aka.ms/wslstore), click Ubuntu, then click Get, which will install the Ubuntu distribution. + ```powershell + wsl --set-version Ubuntu 1 + ```
- Notes... + Note... - > Note 1: If a dialog pops up asking for you to sign into a Microsoft Account, then just close the dialog. - > Note 2: If the link does not work, then open the Microsoft Store manually, and search for the Ubuntu app (choose the one with no version number). + > WSL may open automatically after restarting, but you can ignore it for now.
### Setting up WSL1 diff --git a/README.md b/README.md index 5a528d988dc2..3a87ac27f62c 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ pokeemerald-expansion is a decomp hack base project based off pret's [pokeemeral If you use pokeemerald-expansion in your hack, please add RHH (Rom Hacking Hideout) to your credits list. Optionally, you can list the version used, so it can help players know what features to expect. You can phrase it as the following: ``` -Based off RHH's pokeemerald-expansion v1.8.5 https://github.com/rh-hideout/pokeemerald-expansion/ +Based off RHH's pokeemerald-expansion 1.9.0 https://github.com/rh-hideout/pokeemerald-expansion/ ``` ## What features are included? diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc index ecfea5c19760..1b35991809e2 100644 --- a/asm/macros/battle_anim_script.inc +++ b/asm/macros/battle_anim_script.inc @@ -315,8 +315,14 @@ .Lsprite_\@_2: .endm -.macro createdragondartsprite anim_battler:req, subpriority_offset:req, argv:vararg + .macro jumpifmovetypeequal type:req, jumpInstr:req .byte 0x33 + .byte \type + .4byte \jumpInstr + .endm + + .macro createdragondartsprite anim_battler:req, subpriority_offset:req, argv:vararg + .byte 0x34 .if \anim_battler == ANIM_TARGET .byte ANIMSPRITE_IS_TARGET | (\subpriority_offset & 0x7F) .else diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 259d18142c63..f842b8c113da 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -16900,6 +16900,59 @@ ElectroShotUnleash: blendoff end +Move_IVY_CUDGEL:: + loadspritegfx ANIM_TAG_IVY_CUDGEL_GRASS + loadspritegfx ANIM_TAG_WOOD_HAMMER + loadspritegfx ANIM_TAG_WOOD_HAMMER_HAMMER + loadspritegfx ANIM_TAG_IMPACT + playsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 4, 2, 4 + jumpifmovetypeequal TYPE_FIRE, IvyCudgelFire + jumpifmovetypeequal TYPE_ROCK, IvyCudgelRock + jumpifmovetypeequal TYPE_WATER, IvyCudgelWater + createsprite gIvyCudgelSpriteTemplate, ANIM_TARGET, 2 + delay 60 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 12, 4 + delay 18 + createvisualtask AnimTask_SquishTarget, 0x2 + delay 6 + call WoodHammerImpact + waitforvisualfinish + end +IvyCudgelFire: + loadspritegfx ANIM_TAG_IVY_CUDGEL_FIRE + createsprite gIvyCudgelFireSpriteTemplate, ANIM_TARGET, 2 + delay 60 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 12, 4 + delay 18 + createvisualtask AnimTask_SquishTarget, 0x2 + delay 6 + call WoodHammerImpact + waitforvisualfinish + end +IvyCudgelRock: + loadspritegfx ANIM_TAG_IVY_CUDGEL_ROCK + createsprite gIvyCudgelRockSpriteTemplate, ANIM_TARGET, 2 + delay 60 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 12, 4 + delay 18 + createvisualtask AnimTask_SquishTarget, 0x2 + delay 6 + call WoodHammerImpact + waitforvisualfinish + end +IvyCudgelWater: + loadspritegfx ANIM_TAG_IVY_CUDGEL_WATER + createsprite gIvyCudgelWaterSpriteTemplate, ANIM_TARGET, 2 + delay 60 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 12, 4 + delay 18 + createvisualtask AnimTask_SquishTarget, 0x2 + delay 6 + call WoodHammerImpact + waitforvisualfinish + end + Move_SPICY_EXTRACT:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_POISON_BUBBLE @@ -16945,8 +16998,22 @@ Move_SPICY_EXTRACT:: waitforvisualfinish end -Move_TERA_BLAST:: Move_AXE_KICK:: + loadspritegfx ANIM_TAG_HANDS_AND_FEET + loadspritegfx ANIM_TAG_IMPACT + playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4 + delay 7 + createsprite gAxeKickSpriteTemplate, ANIM_TARGET, 3 + delay 2 + playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, ANIM_TARGET, 1 + createvisualtask AnimTask_SquishTargetShort, 2 + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 4 + end + +Move_TERA_BLAST:: Move_ORDER_UP:: Move_SPIN_OUT:: Move_POPULATION_BOMB:: @@ -16975,7 +17042,6 @@ Move_MAGICAL_TORQUE:: Move_PSYBLADE:: Move_BLOOD_MOON:: Move_MATCHA_GOTCHA:: -Move_IVY_CUDGEL:: Move_TERA_STARSTORM:: Move_FICKLE_BEAM:: Move_THUNDERCLAP:: diff --git a/data/event_scripts.s b/data/event_scripts.s index 07eafe1c35ea..d4393ac9d473 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -587,6 +587,37 @@ EventScript_WhiteOut:: goto EventScript_ResetMrBriney end +EventScript_AfterWhiteOutHeal:: + lockall + msgbox gText_FirstShouldRestoreMonsHealth + call EventScript_PkmnCenterNurse_TakeAndHealPkmn + call_if_unset FLAG_DEFEATED_RUSTBORO_GYM, EventScript_AfterWhiteOutHealMsgPreRoxanne + call_if_set FLAG_DEFEATED_RUSTBORO_GYM, EventScript_AfterWhiteOutHealMsg + applymovement VAR_LAST_TALKED, Movement_PkmnCenterNurse_Bow + waitmovement 0 + fadedefaultbgm + releaseall + end + +EventScript_AfterWhiteOutHealMsgPreRoxanne:: + msgbox gText_MonsHealedShouldBuyPotions + return + +EventScript_AfterWhiteOutHealMsg:: + msgbox gText_MonsHealed + return + +EventScript_AfterWhiteOutMomHeal:: + lockall + applymovement LOCALID_MOM, Common_Movement_WalkInPlaceFasterDown + waitmovement 0 + msgbox gText_HadQuiteAnExperienceTakeRest + call Common_EventScript_OutOfCenterPartyHeal + msgbox gText_MomExplainHPGetPotions + fadedefaultbgm + releaseall + end + EventScript_ResetMrBriney:: goto_if_eq VAR_BRINEY_LOCATION, 1, EventScript_MoveMrBrineyToHouse goto_if_eq VAR_BRINEY_LOCATION, 2, EventScript_MoveMrBrineyToDewford @@ -887,6 +918,48 @@ gText_PlayerWhitedOut:: .string "{PLAYER} is out of usable\n" .string "POKéMON!\p{PLAYER} whited out!$" +gText_FirstShouldRestoreMonsHealth:: + .string "First, you should restore your\n" + .string "POKéMON to full health.$" + +gText_MonsHealedShouldBuyPotions:: + .string "Your POKéMON have been healed\n" + .string "to perfect health.\p" + .string "If your POKéMON's energy, HP,\n" + .string "is down, please come see us.\p" + .string "If you're planning to go far in the\n" + .string "field, you should buy some POTIONS\l" + .string "at the POKéMON MART.\p" + .string "We hope you excel!$" + +gText_MonsHealed:: + .string "Your POKéMON have been healed\n" + .string "to perfect health.\p" + .string "We hope you excel!$" + +gText_HadQuiteAnExperienceTakeRest:: + .string "MOM: {PLAYER}!\n" + .string "Welcome home.\p" + .string "It sounds like you had quite\n" + .string "an experience.\p" + .string "Maybe you should take a quick\n" + .string "rest.$" + +gText_MomExplainHPGetPotions:: + .string "MOM: Oh, good! You and your\n" + .string "POKéMON are looking great.\p" + .string "I just heard from PROF. BIRCH.\p" + .string "He said that POKéMON's energy is\n" + .string "measured in HP.\p" + .string "If your POKéMON lose their HP,\n" + .string "you can restore them at any\l" + .string "POKéMON CENTER.\p" + .string "If you're going to travel far away,\n" + .string "the smart TRAINER stocks up on\l" + .string "POTIONS at the POKéMON MART.\p" + .string "Make me proud, honey!\p" + .string "Take care!$" + gText_RegisteredTrainerinPokeNav:: .string "Registered {STR_VAR_1} {STR_VAR_2}\n" .string "in the POKéNAV.$" diff --git a/data/scripts/debug.inc b/data/scripts/debug.inc index 02a93a4d9c7b..12dc693fd02a 100644 --- a/data/scripts/debug.inc +++ b/data/scripts/debug.inc @@ -439,4 +439,14 @@ Debug_EventScript_InflictStatus1_Text_Freeze: Debug_EventScript_InflictStatus1_Text_Frostbite: .string "Frostbite$" +Debug_EventScript_EWRAMCounters:: + callnative CheckEWRAMCounters + msgbox Debug_EventScript_EWRAMCounters_Text, MSGBOX_DEFAULT + release + end + +Debug_EventScript_EWRAMCounters_Text:: + .string "Follower Steps: {STR_VAR_1}.\n" + .string "Fishing Chain: {STR_VAR_2}.$" + .endif diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index d1a93ce0be92..3ff95a251c69 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -3,8 +3,12 @@ - [README](./README.md) - [Installation](./INSTALL.md) - [Setting up WSL1 (Legacy Portion)](./legacy_WSL1_INSTALL.md) +- [AI Flags](./ai_flags.md) - [Changelog](./CHANGELOG.md) + - [1.9.x]() + - [Version 1.9.0](changelogs/1.9.x/1.9.0.md) - [1.8.x]() + - [Version 1.8.6](changelogs/1.8.x/1.8.6.md) - [Version 1.8.5](changelogs/1.8.x/1.8.5.md) - [Version 1.8.4](changelogs/1.8.x/1.8.4.md) - [Version 1.8.3](changelogs/1.8.x/1.8.3.md) diff --git a/docs/ai_flags.md b/docs/ai_flags.md new file mode 100644 index 000000000000..cc5c1631ff6d --- /dev/null +++ b/docs/ai_flags.md @@ -0,0 +1,154 @@ +# What are AI Flags? +AI flags alter the behavior of AI controlled trainers. These flags affect what moves the AI chooses to use, what Pokémon the AI sends out and when they decide to switch, overarching strategic choices the AI prefers to make, and more. + +The AI flags can be found in [`include/constants/battle_ai.h`](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/battle_ai.h). Some flags have their own dedicated functions that affect how the AI scores its options when choosing what to do in battle, and those functions can be found in [`src/battle_ai_main.c`](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/src/battle_ai_main.c). Other flags are used in conditional checks to gate certain behaviour behind certain flags, which you can typically find by searching the codebase for the flag name and browsing from there. + +# What flags should you use? +When adding new AI flags it is recommended to use `AI_FLAG_CHECK_BAD_MOVE`, `AI_FLAG_CHECK_VIABILITY`, `AI_FLAG_TRY_TO_FAINT` to make sure the AI makes good decisions. It is especially important to use `AI_FLAG_CHECK_BAD_MOVE` in combination with any added flags otherwise the AI will use moves that can fail. + +Other flags should be used with consideration to the circumstances. + +# How do you use them? +Adding an AI flag to a trainer is straightforward, but the process is different depending on how trainers are being defined. + +## `COMPETITIVE_PARTY_SYNTAX == TRUE` +If you are using competitive syntax parties, navigate to the trainer data in [`src/data/trainers.party`](https://github.com/rh-hideout/pokeemerald-expansion/blob/upcoming/src/data/trainers.party), find the trainer you’d like to change, and add flags like so: +AI: Check Bad Move / Try to Faint / Check Viability. The name of each flag is just the constant, but without AI_FLAG at the beginning. For example, to add `AI_FLAG_SEQUENCE_SWITCHING`, any of the following will work: +* AI_FLAG_SEQUENCE_SWITCHING +* SEQUENCE_SWITCHING +* SEQUENCE SWITCHING +* Sequence_Switching +* Sequence Switching + +## `COMPETITIVE_PARTY_SYNTAX != TRUE` / Not Found +If you are not using competitive syntax parties, instead access the trainer data directly in [`src/data/trainers.h`](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/src/data/trainers.h), and add flags like so, typed exactly the same as the flag names themselves: +`.aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY` + +# What AI Flags does pokeemerald-expansion have? +This section lists all of expansion’s AI Flags and briefly describes the effect they have on the AI’s behaviour. In all cases, please check the corresponding function or surrounding code around their implementation for more details. Some of these functions are vanilla, some share a name with vanilla but have been modified to varying degrees, and some are completely new. + +## `AI_FLAG_CHECK_BAD_MOVE` +The AI will avoid using moves that are likely to fail in the current situation. This flag helps prevent the AI from making ineffective choices, such as using moves into immunities, into invulnerable states, or when the moves are otherwise hindered by abilities, terrain, or status conditions. + +## `AI_FLAG_TRY_TO_FAINT` +AI will prioritize KOing the player if able rather than using status moves. Will prioritize using a move that can OHKO the player. If the player can KO the AI’s mon and the AI’s mon is slower, prioritize priority moves (this does not prevent the AI from switching out instead). + +This flag handles scoring for OHKOs but does not handle 2HKOs at all, `AI_FLAG_STRONGEST_MOVE` should be used for 2HKO scoring. + +## `AI_FLAG_CHECK_VIABILITY` +This flag is divided into two components to calculate the best available move for the current context: +- **`AI_CompareDamagingMoves`**: This function compares damaging moves against each other and picks the best one. +- **`AI_CalcMoveEffectScore`**: This function checks every move effect (status or damaging move effect) and increases the score accordingly. + +This is different to `AI_FLAG_CHECK_BAD_MOVE` as it calculates how poor a move is and not whether it will fail or not. + +## `AI_FLAG_SETUP_FIRST_TURN` +AI will prioritize using setup moves on the first turn. These include stat buffs, field effects, status moves, etc. + +This is just a flat increase without any consideration of whether it makes sense to use the move or not. For better move choice quality for those moves, `AI_FLAG_CHECK_VIABILITY` should be used. + +## `AI_FLAG_RISKY` +AI will generally behave more recklessly. This AI enables the following behaviour: +* Always assume the highest damage roll when scoring moves +* Blindly Mirror Coat / Counter based on the player mon’s species higher attacking stat +* Moves with Recoil if they miss are not treated differently even if accuracy is lowered +* Prioritize maximizing damage from moves at the cost of accuracy +* Prioritize moves with low change strong effects (Ancient Power etc., check `AI_Risky` function for full list) +* Switch offensively mid battle rather than defensively (if using `AI_FLAG_SMART_MON_CHOICES`) +* Prioritize Explosion moves + +## `AI_FLAG_PREFER_STRONGEST_MOVE` +Adds score bonus to any move the AI has that either OHKOs or 2HKOs the player. + +Keep in mind that this is a weaker form of `AI_FLAG_TRY_TO_FAINT` at scoring OHKOs as it does not take into account who is attacking first, it does however handle 2HKOs. + +## `AI_FLAG_PREFER_BATON_PASS` +AI prefers raising its own stats if it has >= 60% HP, as well as Ingrain, Aqua Ring, and Protect. Prioritizes Baton Bass if the mon is rooted (Ingrain) or has the Aqua Ring effect, and doesn’t if it has been Leech Seeded. + +## `AI_FLAG_DOUBLE_BATTLE` +This flag is automatically set in double battles, and controls much of the doubles-specific scoring. I’ll summarize some of its scoring as follows: +* Don’t use Helping Hand if partner is, don’t Perish Trap your partner, don’t change the weather if they are, don’t buff stats if partner will trigger Anger Point for us +* Collaborate with partner to Perish Trap opponent, Magnet Rise to protect partner, Dragon Cheer partner if applicable +* Prioritize using weather move if it benefits partner +* Prioritize triggering partner’s good abilities if possible (Motor Drive, Storm Drain, Beat Up -> Justified, etc.) +* Handle Skill Swap smartly, both with the partner and against the player + +## `AI_FLAG_HP_AWARE` +Lets the AI make decisions based on how much remaining HP its mon(s) and the player’s mon(s) have. + +With respect to the AI’s mons, in doubles: +* Allows the AI to attack its partner with a move it can absorb if its low on HP (ie. Electric move on partner with Volt Absorb) +* Prioritizes healing its partner if its HP is <= 50% if able + +In both singles and doubles: +* Prioritizes not using moves that require the user fainting (Destiny Bond, Explosion etc.) and healing moves while on >= 70% HP. +* Prioritize not using moves that require the user fainting or losing significant HP (Belly Drum etc) while between 30% and 70% HP +* Prioritize not using setup moves (Light Screen etc.) and Bide while on <= 30% HP + +With respect to the player’s mons: +* Prioritize not using many status moves (stat buffs, Poison, Pain Split) if the player has between 30% and 70% HP +* Prioritize not using any status moves if the player is has <= 30% HP + +## `AI_FLAG_POWERFUL_STATUS` +AI prioritizes setting up field effects (Trick Room, Rain Dance, etc.) and side statuses (Tailwind, Spikes, etc.), even if it could faint the target. + +## `AI_FLAG_NEGATE_UNAWARE` +AI does not understand ability suppression (Mold Breaker etc., weather suppression (Air Lock etc.), redirection abilities (Lightningrod etc.) being temporarily removed due to move effects (Sky Drop etc.), or item suppression (Magic Room etc.) and will ignore them. This is a handicap flag. + +## `AI_FLAG_WILL_SUICIDE` +AI prioritizes self destruction moves (Explosion, Memento). + +## `AI_FLAG_PREFER_STATUS_MOVES` +AI gets a score bonus for status moves. This should be combined with `AI_FLAG_CHECK_BAD_MOVE` to prevent using only status moves. + +## `AI_FLAG_STALL` +AI prefers simple classically "stalling" behaviour. It will prioritize: +* Mean Look, Fairy Lock, and Wrap for trapping +* Increasing its defense and special defense +* Moves that inflict Poison if it also has a Protect move +* Copying defense and special defense buffs + +## `AI_FLAG_SMART_SWITCHING` +Affects when the AI chooses to switch. AI will make smarter decisions about when to switch out mid-battle. Automatically enables `AI_FLAG_SMART_MON_CHOICES`, which is required as the vanilla mon selection AI is not smart enough to handle several switch-triggering situations appropriately, leading to bizarre behaviour. Many of these checks have intentional failure rates, so the AI won’t switch out 100% of the time in these cases to keep the player from being able to predict perfectly. Some of these also only apply to singles, and many of them are being simplified for the sake of brevity. This flag lets the AI trigger switches when: +* It can’t hit Wonder Guard and has another mon in the party that can (switch that mon in) +* It’s going to die to Perish Song, can’t KO the player and is affected by Yawn, is being severely affected by a status condition that switching helps (Curse, Toxic, Leech Seed) +* It has a mon that can trap the player’s mon and win the 1v1 (switch that mon in) +* It has a mon in the party that can absorb the player’s next expected attack (switch that mon in) +* It will not switch if the current mon will die to hazards on re-entry and it has no means of clearing them in its party +* All its moves are bad +* It can take advantage of Natural Cure or Regenerator +* Its Encore’d into something bad +* Its primary attacking stats are sufficiently lowered +* Its "odds are bad", which is a generic "try to make smart, player-like decisions generally speaking" check. Switches can be triggered if the player has a good switchin candidate (`AI_FLAG_SMART_MON_CHOICES`), and: +* The current mon has a bad type matchup and doesn’t have a super effective move and has at least ½ HP, or ¼ HP and Regenerator, or +* The current mon loses the 1v1 quickly and has at least ½ HP, or ¼ and Regenerator + +## `AI_FLAG_ACE_POKEMON` +Marks the last Pokemon in the party as the Ace Pokemon. It will not be used unless it is the last one remaining, or is forced to be switched in (Roar, U-Turn with 1 mon remaining, etc.) + +## `AI_FLAG_OMNISCIENT` +AI has full knowledge of player moves, abilities, and hold items, and can use this knowledge when making decisions. + +## `AI_FLAG_SMART_MON_CHOICES` +Affects what the AI chooses to send out after a switch. AI will make smarter decisions when choosing which mon to send out mid-battle and after a KO, which are handled separately. Automatically included when `AI_FLAG_SMART_SWITCHING` is enabled. + +With this flag enabled, the AI will prioritize choosing mons after a KO prioritizing the following criteria: +* Trapper (can trap the player’s mon and win the 1v1) +* Revenge killer (outspeeds an OHKOs / is outsped and OHKOs, is not OHKOd/ outspeeds and 2HKOs, is not OHKOd / is outsped and 2HKOs, is not 2HKOd) +* Has good type matchup and a super effective move +* Has good type matchup and does not have a super effective move +* Has Baton Pass +* If no mons meet any of the above criteria, choose the one that does the most damage + +And will choose mons after a mid-battle switch prioritizing the following criteria: +* Trapper (can trap the player’s mon and win the 1v1) +* Has good type matchup and a super effective move +* Has good type matchup and does not have a super effective move +* Is not 3HKO’d by the player +* Has Baton Pass + +## `AI_FLAG_CONSERVATIVE` +AI always assumes it will roll the lowest possible result when comparing damage in scoring. + +## `AI_FLAG_SEQUENCE_SWITCHING` +AI will always switch out after a KO in exactly party order as defined in the trainer data (ie. slot 1, then 2, then 3, etc.). The AI will never switch out mid-battle unless forced to (Roar etc.). If the AI uses a move that requires a switch where it makes a decision about what to send in (U-Turn etc.), it will always switch out into the lowest available party index. diff --git a/docs/changelogs/1.8.x/1.8.5.md b/docs/changelogs/1.8.x/1.8.5.md index ded502ccfe69..a1d0d3298eb3 100644 --- a/docs/changelogs/1.8.x/1.8.5.md +++ b/docs/changelogs/1.8.x/1.8.5.md @@ -58,7 +58,7 @@ * Pawmi (Front by KingOfThe-X-Roads, back by Vent, QC by leParagon) * Pawmo (By vent, qc by leParagon) * Okidogi (Front by KingOfThe-X-Roads + by leParagon, back by Lykeron + QC by Alexandrev2. 0) - * Backported Hedara's Terapagos from `upcoming`. + * Backported @hedara90's Terapagos from https://github.com/rh-hideout/pokeemerald-expansion/pull/4691 * Updated wild held items to Gen 9 by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4769 * Teddiursa (Common: None_> Honey) * Bisharp (Rare: None -> Leader's Crest) diff --git a/docs/changelogs/1.8.x/1.8.6.md b/docs/changelogs/1.8.x/1.8.6.md new file mode 100644 index 000000000000..3ede992a608b --- /dev/null +++ b/docs/changelogs/1.8.x/1.8.6.md @@ -0,0 +1,154 @@ +# Version 1.8.6 + +```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.6`. +``` + +## 🌋 *REFACTORS* 🌋 +* [Opportunist/Mirror Herb Refactor](#opportunistmirror-herb-refactor-by-alexon1ine-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4928) +* [Removed unused Battle Script labels](#removed-unused-battle-script-labels-by-bassoonian-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4839) +* [Fixed Trace not respecting the speed order like other switch-in abilities](#fixed-trace-not-respecting-the-speed-order-like-other-switch-in-abilities-by-alexon1ine-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4941) + +## 🧬 General 🧬 +### Fixed +* Fixed Battle Frontier ineligibility blocking the entire party if it encountered a disabled species by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4997 +* Fixed random IVs given when using `givemon` only giving values from 1-31 by @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/5021 +* Fixed `givemon` not giving Cherish Ball by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/5022 + +## 🐉 Pokémon 🐉 +### Added +* Added missing Terapagos Stellar sprite by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/5008 +* Added missing Ogerpon Tera sprites by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4996 +### Changed +* Temporarely reverted regional form inheritance to fix issue with non-regional forms by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/5004 +* Updated level up learnsets up to Indigo Disk by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/5023 +### Fixed +* Fixed Basculegion learning Dire Claw in Gen9's level up learnset by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4948 +* Fixed Sandile's sprite by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/5038 + +## ⚔️ Battle General ⚔️ ## +### Fixed +* Fixed Debug Menu not properly updating the corresponding flags + general cleanup by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4643 +* Fixed spread damage in double battles by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/5064 + * In double battles when `B_POSITION_OPPONENT_LEFT` fainted from the first hit of a spread move, the second hit dealt 100% of damage to `B_POSITION_OPPONENT_RIGHT`. +* #### Removed unused Battle Script labels by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4839 + * `data/battle_scripts_1.s` + * `BattleScript_OctolockTryLowerDef` + * `BattleScript_OctolockTurnDmgPrintMsg` + * `BattleScript_StuffCheeksEatBerry` + * `BattleScript_StrengthSapTryHp` and its contents. + * `BattleScript_PartingShotEnd` and its contents. + * `BattleScript_RototillerAffected` + * `BattleScript_AutotomizeDoAnim` + * `BattleScript_TryTailwindAbilitiesLoop_Ret` + * `BattleScript_HitFromAtkCanceler` + * `BattleScript_EffectMultiHit` + * `BattleScript_BattleScript_EffectParalyzeNoTypeCalc` + * `BattleScript_EffectTeleportTryToRunAway` + * `BattleScript_WindPowerActivates_Ret` + * `BattleScript_CottonDownReturn` + * `BattleScript_ActivateWeatherAbilities_Increment` + * `BattleScript_IntimidateEnd` + * `BattleScript_SupersweetSyrupEnd` + * `BattleScript_ActivateTerrainEffects_Increment` + * `BattleScript_GrassyTerrainHpChange` + * `BattleScript_GrassyTerrainLoopEnd` + * `BattleScript_AbilityNoSpecificStatLossPrint` + * `BattleScript_ArenaNothingDecided` + * `BattleScript_ExtremeEvoboostAtk` + * `BattleScript_BerserkGeneRet_Anim` + * `data/battle_scripts_2.s` + * `BattleScript_PrintCaughtMonInfo` +* #### Opportunist/Mirror Herb Refactor by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4928 + * Multiple fixes: + * Opportunist stacking multiple boosts in one turn from opposing mons. + * Increasing the stat by the wrong amount when copying opposing boost (eg. +6 boosts). + * Opportunist no longer has a message. + * Opportunist only play animations once for every stat boost. + * Changes: + * `switchInBattlerCounter` replaces both `switchInAbilitiesCounter` and `switchInItemsCounter`. + * Removed `STRINGID_OPPORTUNISTCOPIED` and `sText_OpportunistCopied`. + * Altered `TryDoEventsBeforeFirstTurn` to use a state switch (`gBattleStruct->eventsBeforeFirstTurnState`) + * `FIRST_TURN_EVENTS_START`. + * `FIRST_TURN_EVENTS_OVERWORLD_WEATHER`. + * `FIRST_TURN_EVENTS_TERRAIN`. + * `FIRST_TURN_EVENTS_STARTING_STATUS`. + * `FIRST_TURN_EVENTS_TOTEM_BOOST`. + * `FIRST_TURN_EVENTS_NEUTRALIZING_GAS`. + * `FIRST_TURN_EVENTS_SWITCH_IN_ABILITIES`. + * `FIRST_TURN_EVENTS_OPPORTUNIST_1`. + * `FIRST_TURN_EVENTS_ITEM_EFFECTS`. + * `FIRST_TURN_EVENTS_OPPORTUNIST_2`. + * `FIRST_TURN_EVENTS_END`. + +## 🤹 Moves 🤹 +### Added +* Added missing Ivy Cudgel animation by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/5034 + * Cleanup by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/5063 +* Added missing Axe Kick animation by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/5039 +### Fixed +* Fixed Diamond Storm's Defense increase applying to the target instead of the user by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4947 +* Fixed Psycho Shift check for Frostbite using `CanBeFrozen` instead of `CanGetFrostbite` by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4995 +* Fixed Sleep Talk failing on repeated attempts by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5009 +* Fixed Fury Cutter considering Parental Bond's second hit for its damage multiplier by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5030 +* Fixed Hidden Power damage category when `B_PHYSICAL_SPECIAL_SPLIT < GEN_4` by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/5053 +* Fixed `MoveEffectRemoveStatus` (Sparkling Aria, Wake-Up Slap, ...) that cure Freeze/Frostbite using the other status' battlescript. by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5061 + +## 🎭 Abilities 🎭 +### Fixed +* Fixed Toxic Debris incorrect side check by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5009 +* Fixed Snow Warning's description not being updated based on `B_SNOW_WARNING` by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/5018 +* Fixed Mold Breaker abilities not properly checking battler actions in double battles causing them to not work by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5030 +* Fixed `cantBeSurpressed` ability check for breakable abilities by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/5043 +* Fixed Stalwart and Propeller Tail not ignoring redirection from Storm Drain/Lightning Rod + tests by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5061 +* #### Fixed Trace not respecting the speed order like other switch-in abilities by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4941 + * Changes: + * Removed: `ABILITYEFFECT_TRACE1`, `ABILITYEFFECT_TRACE2` and moved their handling to `ABILITYEFFECT_ON_SWITCHIN`. + * Removed `gSpecialStatuses`'s `traced` field. + +## 🧶 Items 🧶 +### Fixed +* Jaboca/Rowap Berry recording the wrong item effects by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5009 +* Fixed Life Orb damaging its holder if it hits itself in confusion. by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5061 + +## 🤖 Battle AI 🤖 +### Documentation +* Added AI Flags documentation to directory for new documentation site by @anrichtait in https://github.com/rh-hideout/pokeemerald-expansion/pull/5057 +### Fixed +* Fixed typo that caused AI to use Upper Hand when it shouldn't by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4973 +* Fixed AI using U-Turn when only the Ace Pokémon is left in the party (#4748) by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4972 +* Fixed AI not being aware during calculations by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4992 +* Fixed `AI_SetMoveAccuracy` getting the wrong battler's ability by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5030 + +## 🧹 Other Cleanup 🧹 +### Fixed +* Fixed version displayed in `README.md` by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4966 +* Removes unnecessary checks for Shield Dust and Covert Cloak by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/5073 + +## 🧪 Test Runner 🧪 +### Added +* Added AI Upper Hand test by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4973 +* Added test to make sure that Trainer Class balls apply to every member of the party by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4999 +* Added missing Sleep Talk tests by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/5009 +### Changed +* Improved Test Runner Summary by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4641 + * Totals are now separated from the erroring test list. + * Assumption Fails and Passing `KNOWN_FAILING`s now have their own lists. +### Fixed +* Fixed tests failing when `B_USE_FROSTBITE` is set to `TRUE` by @fakuzatsu in https://github.com/rh-hideout/pokeemerald-expansion/pull/4986 +* Fixed tests not compiling outside of CI after incoming pret merge by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4998 +* Fixed Covert Cloak tests being in `item_effect` folder instead of `hold_effect` folder by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/5073 + +## 📦 Pret merges 📦 +* Pret Merge (13th of July) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4964 + * Adds the new C-style enums in preproc commit by @SBird1337 [(550e668)](https://github.com/pret/pokeemerald/commit/550e6688aa3b511a9aa9ea851c49ba4d90c7708a) +* Pret Merge (27th of July) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/5045 + * Includes: + * [pret#2016](https://github.com/pret/pokeemerald/pull/2016) Fix WSL1 install instructions + * [pret#2017](https://github.com/pret/pokeemerald/pull/2017) Added constant for `NUM_SNOWFLAKE_SPRITES` + +**Full Changelog**: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.8.5...expansion/1.8.6 + + diff --git a/docs/changelogs/1.9.x/1.9.0.md b/docs/changelogs/1.9.x/1.9.0.md new file mode 100644 index 000000000000..16947711d3e2 --- /dev/null +++ b/docs/changelogs/1.9.x/1.9.0.md @@ -0,0 +1,556 @@ +# Version 1.9.0 + +```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.9.0`. +``` + +## 🌋 *REFACTORS* 🌋 +📜 = Has a migration script. +* [agbcc has been deprecated](#agbcc-has-been-deprecated-by-mrgriffin-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4989) +* [Added migration script README](#added-migration-script-readme-by-bassoonian-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4719) +* [Removed Gen 9 settings for out-of-battle abilities](#removed-gen-9-settings-for-out-of-battle-abilities-by-asparaguseduardo-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4282) +* 📜[Customizable Frontier Pokémon sets](#customizable-frontier-pokémon-sets-by-ghoulslash-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4313) +* [Replaced VARARG_8 uses with recursive macros](#replaced-vararg_8-uses-with-recursive-macros-by-cfmnephrite-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4232) +* 📜[Competitive-formatted parties](#competitive-formatted-parties-by-mrgriffin-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull3545) +* [Terastallization](#terastallization-by-agustingdlv-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4110) +* [Combined weather set commands](#combined-weather-set-commands-by-alexon1ine-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4434) +* [Full official GF names for species/items/moves/types](#full-official-gf-names-for-speciesitemsmovestypes-by-mrgriffin-znogyrop-and-cfmnephrite-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4241) +* [Automatically display TM/HM icons based on their move](#automatically-display-tmhm-icons-based-on-their-move-by-sneed69-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4452) +* [Set `GiveBoxMonIntialMoveset_Fast` as default](#set-giveboxmonintialmoveset_fast-as-default-by-alexon1ine-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4470) +* [Changed Battle Frontier validation to species flag](#changed-battle-frontier-validation-to-species-flag-by-kittenchilly-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4341) +* [Replaced HP checks with `IsBattlerAlive`](#replaced-hp-checks-with-isbattleralive-by-ghoulslash-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4429) +* [Removed redundant `MOVE_EFFECT_SP_ATK_TWO_DOWN`](#removed-redundant-move_effect_sp_atk_two_down-by-sneed69-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4557) +* 📜[Removed `gItemIconTable`](#removed-gitemicontable-by-kittenchilly-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4579) +* 📜[Egg Move Refactor](#egg-move-refactor-by-bassoonian-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4534) +* [Adjusted Ate-Ability code a bit to make it more readable](#adjusted-ate-ability-code-a-bit-to-make-it-more-readable-by-alexon1ine-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4640) +* [Type Info refactors](#type-info-refactors-by-asparaguseduardo-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4462) +* [merrp/aarant's Followers](#merrpaarants-followers) +* [Refactored residual damage to be more readable and less prone to bugs](#refactored-residual-damage-to-be-more-readable-and-less-prone-to-bugs-by-alexon1ine-in-httpsgithubcomrh-hideoutpokeemerald-expansionpull4945) + +## 🧬 General 🧬 +### Added +* #### Added migration script README by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4719 +* #### Customizable Frontier Pokémon sets by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4313 + * `FacilityMon` has been removed in favor of using regular `TrainerMon`. + * Removed `BATTLE_FRONTIER_ITEM_x` item constants in favor of using regular `ITEM_x` constants. + * New `CreateFacilityMon` to handle duplicated code. + * Added `FLAG_FRONTIER_MON_FACTORY` that replaces Return for Frustration and sets frienship to 0. Used in the Battle Factory. + * Converted data in `src/data/battle_frontier/battle_frontier_mons.h` and `src/data/battle_frontier/battle_tent.h`, for example: + * `.itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,` -> `.heldItem = ITEM_CHOICE_BAND,` + * `.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,` -> `.ev = TRAINER_PARTY_EVS(0, 252, 0, 252, 0, 0),` + * Migration script available in `migration_scripts/egg_move_refactor.py` by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/5040 +* Added documentation to `STATIC_ASSERTS` used by the `BoxPokemon` after 1.8.0 by @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4294 +* #### Competitive-formatted parties by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/3545 + * Can be disabled by setting `COMPETITIVE_PARTY_SYNTAX` to `FALSE` in `include/config/general.h`. + * Introduces `trainerproc`, a tool which converts Competitive-formatted parties into Trainer Control-formatted parties. + * If you made custom changes to the following files and want to use this new format, ***Do not accept the incoming changes for them.*** Instead, use the migration script present in `migration_scripts/convert_parties.py`: + - `src/data/trainers.h` + - `src/data/trainer_parties.h` + - `src/data/battle_partners.h` + - `src/data/partner_parties.h` + * Before: + ```c + static const struct TrainerMon sTestParty1[] = + { + { + .species = SPECIES_WOBBUFFET, + .ball = ITEM_MASTER_BALL, + .ability = ABILITY_TELEPATHY, + .friendship = 42, + .gender = TRAINER_MON_FEMALE, + .heldItem = ITEM_ASSAULT_VEST, + .isShiny = TRUE, + .iv = TRAINER_PARTY_IVS(25,26,27,28,29,30), + .ev = TRAINER_PARTY_EVS(252, 0, 0, 252, 4, 0), + .lvl = 67, + .moves = {MOVE_AIR_SLASH, MOVE_BARRIER, MOVE_SOLAR_BEAM, MOVE_EXPLOSION}, + .nature = NATURE_HASTY, + .nickname = COMPOUND_STRING("Bubbles") + }, + { + .species = SPECIES_WOBBUFFET, + .ability = ABILITY_SHADOW_TAG, + .lvl = 5, + }, + }; + + static const struct Trainer sTestTrainer1 = + { + .trainerName = _("Test1"), + .party = TRAINER_PARTY(sTestParty1), + }; + ``` + After: + ``` + === 0 === + Name: Test1 + + Bubbles (Wobbuffet) (F) @ Assault Vest + Hasty Nature + Level: 67 + Ability: Telepathy + IVs: 25 HP / 26 Atk / 27 Def / 29 SpA / 30 SpD / 28 Spe + EVs: 252 HP / 4 SpA / 252 Spe + Happiness: 42 + Shiny: Yes + Ball: Master Ball + - Air Slash + - Barrier + - Solar Beam + - Explosion + + Wobbuffet + Level: 5 + Ability: Shadow Tag + ``` + * You can add comments by using `//` or `/* ... */`, like in C. + * You're allowed to write `SPECIES_PIKACHU` instead of `Pikachu` (etc etc) if you want. + * In addition to the migration script described above, you can add the following to at the top of the `src/data/trainers.party` file to change how the tool interprets the file: + - `#pragma trainerproc ivs explicit` — requires an `IVs:` line for every Pokémon instead of defaulting to 31s. + - `#pragma trainerproc ivs ` — changes the default IVs. + - `#pragma trainerproc level explicit` — requires a `Level:` line for every Pokémon instead of defaulting to 100. + - `#pragma trainerproc level ` — changes the default level. + - During the merge you could choose to keep your original `src/data/trainers.h` and `src/data/trainer_parties.h` and then run the conversion script to update the `src/data/trainers.party`, `make`, then check in all three files. Alternatively don't run the conversion script and turn off `COMPETITIVE_PARTY_SYNTAX` in `include/config.h`. + * Added synonyms for competitive/CFRU species defines, eg: + * `SPECIES_PONYTA_GALAR` for `SPECIES_PONYTA_GALARIAN` + * `SPECIES_MAUSHOLD_FOUR` for `SPECIES_MAUSHOLD_FAMILY_OF_FOUR` + * `SPECIES_CHARIZARD_GMAX` for `SPECIES_CHARIZARD_GIGANTAMAX` + * And so. + * ***TODO***: + - Support `Hidden Power:` to set IVs appropriate for a particular Hidden Power type. + - Consider case-insensitivity in the parser. + * Cleanup and bugfixes: + * By @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/4362 + * By @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4366 + * By @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4374 + * By @LOuroboros in https://github.com/rh-hideout/pokeemerald-expansion/pull/4397 + * By @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4421 + * By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4431 + * By @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/4442 + * By @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/4830 + * By @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/4969 + * By @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4734 + * By @innocenthedgehog in https://github.com/rh-hideout/pokeemerald-expansion/pull/4988 + * By @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/4990 + * By @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/5035 +* Added `OW_PC_MOVE_ORDER` config to use future generation's menu order for the Pokémon Storage System by @pkmnsnfrn and @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4348 + * `GEN_1/2/3`: Widthraw -> Deposit -> Move. + * `GEN_4/5/6_XY`: Deposit -> Widthraw -> Move. + * `GEN_6_ORAS/7/8/9`: Move -> Deposit -> Widthraw. +* Added `OW_HIDE_REPEAT_MAP_POPUP` config that doesn't show the Map Popup when transitioning bewteen maps within the same Map Section by Anon822 from Pokécommunity and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4370 +* Multiple Fishing Enhancements by @ghoulslash and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4343 + * Added `I_FISHING_CHAIN` config to enable XY's chain fishing. + * Added `I_FISHING_PROXIMITY` config to enable XY's proximity mechanic, where fishing away from NPCs increases the chance of a Pokémon being hooked. + * Added `I_FISHING_MINIGAME` config to change between minigame versions. + * `GEN_1/2` will not require a minigame, and instead automatically hook the Pokémon. + * All other settings use RSE's minigame. FRLG/Gen4+'s minigame will be implemented in the future. + * Cleanup and bugfixes: + * By @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4412 + * By @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/4906 + * By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4718 + * By @cawtds and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/5031 +* #### Full official GF names for species/items/moves/types by @mrgriffin, @ZnogyroP and @cfmnephrite in https://github.com/rh-hideout/pokeemerald-expansion/pull/4241 + * 8-character type names. + * 12-character Pokémon names (and nicknames) + * 16-character Move names. + * 20-character item names. + * This is done by introducing 3 new fonts that automatically change the size of the name in vanilla interfaces: + * `FONT_NARROWER`, `FONT_SMALL_NARROWER` and `FONT_SHORT_NARROW`. + * If the hack has changed fonts—e.g. to the FrLg ones—then they probably want to create their own versions of the new fonts. + * If the hack has introduced more UIs that render names they probably want to use `GetFontIdToFit`—see this PR's changes for examples of that. + * If the hack has introduced names in list menus they can use `.fontIdMayNarrow = TRUE` on the list template. + * Types, species, moves, and items all have individual commits which enable support in the UI and turn on longer names by default. These can be reverted by downstream projects if they really want to. + * Cleanup + * By @Nopinou in https://github.com/rh-hideout/pokeemerald-expansion/pull/4473 + * By @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4588 + * By @iriv24 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4979 +* Added `OW_PC_RELEASE_ITEM` config that gives back items from released Pokémon by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4577 + * If the bag is full, the item is lost, however. + * Cleanup by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4844 +* Added `P_EGG_CYCLE_LENGTH` config that updates the amount of steps required to complete an egg cycle by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4596 +* Added `trainerbattle_two_trainers` macro to trigger a 1 player vs 2 NPC battle by @aarant and @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4741 +* Added `createmon` Script Command and macro by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4688 + * This allows to set up wild enemy parties with the same versatility as `givemon` (IVs, EVs, abilities, moves, etc). +* Added `setwilddoubleflag` macro to set `sIsScriptedWildDouble` and allow 2 player vs 1 enemy wild battles by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4688 +* Added support for multiple Roaming Pokémon at once by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4762 + * By default, `ROAMER_COUNT` is set to 1 to keep save compatibility. Increase it to add more roamers (though this breaks saves). +* Added `OW_IGNORE_EGGS_ON_HEAL`, which makes it such that eggs are not counted in the Pokémon Center's heal animation by @ghoulslash @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4888 +* Added support for fake RTC by Anon822 from PokéCommunity and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4910 + * When `OW_USE_FAKE_RTC` is `TRUE`, time runs at a different rate from real time, like in Legends: Arceus or Scarlet and Violet. + * Use `OW_ALTERED_TIME_RATIO` to set the amount of "time" passing every 60 frames (1 real time second): + * `GEN_8_PLA`: 1 minute. + * `GEN_9`: 20 seconds. + * All other settings make the game synced with real life. + * You may also set a flag to pause the RTC (`OW_FLAG_PAUSE_TIME`), and the script commands `pausefakertc`, `resumefakertc` and `togglefakertc` by @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4954 + * Cleanup by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4965 +* Added B2W2-style map pop-Ups by @ravepossum, @nielsmittertreiner and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4396 + * Change `OW_POPUP_GENERATION` to `GEN_5` to switch existing map popups. + * You may choose between Black or White themes via `OW_POPUP_BW_COLOR` (`OW_POPUP_BW_COLOR_BLACK` or `OW_POPUP_BW_COLOR_WHITE`). + * You may choose to display the current time in the pop-up using `OW_POPUP_BW_TIME_MODE`. + * `OW_POPUP_BW_TIME_NONE`: Disables time in pop-up. + * `OW_POPUP_BW_TIME_12_HR`: Shows 12-hour time in pop-up + * `OW_POPUP_BW_TIME_24_HR`: Shows 24-hour time in pop-up + * You may enable alpha blending via `OW_POPUP_BW_ALPHA_BLEND` (mainly designed around the Black theme). + * Cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4752 +* Allowed flags to be used in trigger scripts instead of vars by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4900 +### Changed +* #### agbcc has been deprecated by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/4989 + * You technically still use `make agbcc` by disabling the error thrown when using it, but it will be removed completely for version 1.10. +* #### Moved general config file to the config folder by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4805 + * `config.h` -> `config/general.h` + * Cleanup by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/5026 +* #### Set `GiveBoxMonIntialMoveset_Fast` as default by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4470 +* #### Changed Battle Frontier validation to species flag by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4341 + * Added `isFrontierBanned` flag and removed `gFrontierBannedSpecies`. + * Renamed `isParadoxForm` -> `isParadox`. +* #### Unified Nature info by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/4562 + * All data is now found on `gNaturesInfo` in `src/pokemon.c` + * Names, Stat Up/Down, Back Sprite animation, Pokéblock animation, Nature Girl message and Battle Palace data. + * Cleanup by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4598 +* #### Type Info refactors by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4462 + * Added `src/data/types_info.h` file for `gTypesInfo` instead of `src/battle_main.c`. + * Moved `sTypeEffectivenessTable` here file as well (and renamed it to `gTypeEffectivenessTable`) + * `TYPE_NONE` duplicates graphics from `TYPE_MYSTERY` due to limitations with `graphics_file_rules.mk`. + * Damage Categories for `B_PHYSICAL_SPECIAL_SPLIT`'s pre-Gen4 setting can now be specified in this `gTypesInfo`'s `damageCategory` field instead of depending on the type's order. +* Consolidated Lilycove Contest Lady's values into one struct (`sContestLadyValues`) by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/4951 +* Applied the Pokémon Sprite Visualizer name officially by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4745 +* Don't specify `sDexSearchTypeOptions` array size by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4820 + * Prevents Type search in the dex from breaking when non-conventional types are added. +* Only call RNG once when generating IVs in some cases by @tertu-m in https://github.com/rh-hideout/pokeemerald-expansion/pull/4876 +### Fixed +* Fixed potential Wireless Adapter desynchronization by @AtariDreams in https://github.com/rh-hideout/pokeemerald-expansion/pull/3730 +* Fixed `ListItemTemplate` UB in the Pokémon Center by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4725 +* Fixed `src/data/map_group_count.h` not being ignored in `.gitignore` properly by @rayrobdod in https://github.com/rh-hideout/pokeemerald-expansion/pull/4727 +* Fixed double battles not occuring with only one Pokemon by talking to the trainers despite `OW_DOUBLE_APPROACH_WITH_ONE_MON` being set `TRUE` by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/4848 +* Fixed unused `B_TRANSITION_SHRED_SPLIT` from softlocking the game by @Lunos, @griffinr and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4919 + +## ✨ Feature Branches ✨ +### ***merrp/aarant's Followers*** +* Integrated @aarant's followers branch by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4022 + * This includes Dynamic Overworld Palettes and Expanded Overworld IDs. + * This does ***not*** include the `lighting` branch yet, but will be included in a future version. + * Updated up to the latest version of the branch (11th of July) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4944 + * Cleanup + * By @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4782 + * By @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4937 +#### Changes from the original branch +* Follower Pokémon can be enabled using the `OW_FOLLOWERS_ENABLED` config. +* Pokémon NPCs can be added to a map [independently](https://github.com/rh-hideout/pokeemerald-expansion/pull/4761) from the Followers config. Keep in mind, this requires `OW_POKEMON_OBJECT_EVENTS` to be enabled in order to add the graphics to the ROM. + * Eg: use `OBJ_EVENT_GFX_SPECIES(CHARIZARD)` where the graphic ID would go (`OBJ_EVENT_GFX_SPECIES_SHINY()` for shiny version). + * May also use `OBJ_EVENT_GFX_SPECIES_SHINY(CHARIZARD)` to make them shiny by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/5049 +* Moved original configs from `include/constants/event_objects.h` to `include/config/overworld.h` and renamed them: + * `OW_MON_BOBBING` -> `OW_FOLLOWERS_BOBBING` + * `LARGE_OW_SUPPORT` -> `OW_LARGE_OW_SUPPORT` + * `OW_MON_POKEBALLS` -> `OW_FOLLOWERS_POKEBALLS` +* Added follower Pokémon sprites from Gen 4-8 + * Credits to @Eemeliri and Gerben BSc +* Moved `OW_GFX_COMPRESS` from `include/global.h` to `include/config/overworld.h`. +* Added `OW_SUBSTITUTE_PLACEHOLDER` config to hide followers if they don't have a follower sprite instead of using a placeholder Substitute sprite by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4765 +* Follower graphics are shown in the Pokémon Sprite Visualizer. +* Follower graphics have been moved to the respective species graphics folder instead of all being grouped in `graphics/object_events/pics/pokemon`. + * Eg: `graphics/object_events/pics/pokemon/abomasnow.png` was moved to `graphics/pokemon/abomasnow/follower.png`. +* Follower data has been moved to `gSpeciesInfo` + * Their palettes are separate from the battle sprite palettes + * Can be enabled using `OW_FOLLOWERS_SHARE_PALETTE`, but requires manual sprite adjustements. For now, it's recommended to keep this `FALSE`. (They don't use much space anyway) +* Updated `GetTypeEffectiveness` used by follower messages to account for new abilities with type immunities. +* Cleaned up code style to match pret/expansion's. +* Reverted Regi's sprite to vanilla's. +* Follower PicTables use `overworld_ascending_frames` macro. +* Removed unneeded calls to `bufferspeciesname`. +* Removed `MON_DATA_NATURE`. +* Removed debug functions like `IsAccurateGBA`. +* Removed `ScrCmd_callfunc` to use `callnative`s instead + +## 🐉 Pokémon 🐉 +### Added +* Added `EVO_ITEM_COUNT_999` evolution method (used by Gimmighoul) by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4261 + * Requires level up while carrying 999 of the specified item in the bag, which will be consumed. + * Uses new `EVO_MODE_CANT_STOP` mode, which is a clone of `EVO_MODE_NORMAL` but prevents evolution from being canceled. +* Added `EVO_DEFEAT_THREE_WITH_ITEM` evolution method (used by Bisharp) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4768 + * Requires level up after defeating 3 Pokémon of the same species holding the specified item. + * Eg: Bisharp defeating 3 other Bisharp holding Leader Crests. + * Cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/5046 +* Added `EVO_OVERWORLD_STEPS` evolution method (used by Pawmo, Bramblin and Rellor) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4758 + * Requires level up after walking the specified amount of steps with that Pokémon as the first member in the party without switching. + * Switching the party leader resets the steps. + * Cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/5047 +* Added `FORM_CHANGE_DAYS_PASSED` form change (used by Furfrou and Hoopa) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4778 + * Adds `MON_DATA_DAYS_SINCE_FORM_CHANGE`, which is a timer to automatically changes forms at midnight once it runs out. It is set after a different form change has been made (currently only added to Form Change items, including Prison Bottle) +* Added unique icons for all of Arceus's forms via config (`P_ARCEUS_UNIQUE_FORM_ICONS`) by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4329 +* Added `P_TWO_FRAME_FRONT_SPRITES` config to allow disabling 2-frame front animations by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4750 +* Added `P_CRIES_ENABLED` config to disable species cries and stop them from being included in the ROM by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4791 +* Added configs to prevent unobtainable Pokemon from being shiny by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/4735 + * `P_ONLY_OBTAINABLE_SHINIES`: Prevents shinies from generating in the Battle Pyramid. + * `P_NO_SHINIES_WITHOUT_POKEBALLS`: Prevents shinies from generating if the player has no Poké Balls. +* Added `P_CAN_FORGET_HIDDEN_MOVE` config allow Pokémon to forget HM moves by @pkmnsnfrn and @Lunos in https://github.com/rh-hideout/pokeemerald-expansion/pull/4968 +### Changed +* Renamed evolution methods the were labeled as evo level by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4607 + * `EVO_LEVEL_MOVE_TWENTY_TIMES` -> `EVO_MOVE_TWENTY_TIMES` + * `EVO_LEVEL_RECOIL_DAMAGE_MALE` -> `EVO_RECOIL_DAMAGE_MALE` + * `EVO_LEVEL_RECOIL_DAMAGE_FEMALE` -> `EVO_RECOIL_DAMAGE_FEMALE` + * Cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4644 +* Evolution tracker is now by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4758 +* #### Replaced VARARG_8 uses with recursive macros by @cfmnephrite in https://github.com/rh-hideout/pokeemerald-expansion/pull/4232 +* #### Egg Move Refactor by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4534 + * Egg Moves are now formatted like Teachable learnsets and their pointers are stored in `gSpeciesInfo`, as opposed to having one big array. + * Only offspring require these tables. + * Migration script available in `migration_scripts/egg_move_refactor.py`. + +## ⚔️ Battle General ⚔️ ## +### Added +* Added option to increase Experience bar speed via `B_FAST_EXP_GROW` by @SonikkuA-DatH and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4335 +* Added Gen 4's Fog battle weather by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4359 + * Uses Haze's animation. + * Changes `B_FOG_TERRAIN` (TRUE/FALSE config) into `B_OVERWORLD_FOG` (Generational config). + * `GEN_4`: Uses this battle weather in maps with `WEATHER_FOG_DIAGONAL` and `WEATHER_FOG_HORIZONTAL`. + * `GEN_8` onwards: Sets permanent Misty Terrain. + * All others disable them. +* #### Terastallization by @AgustinGDLV in https://github.com/rh-hideout/pokeemerald-expansion/pull/4110 + * Tera Type automatically assigned to existing Pokémon based on their personality value. + * Can get and set Tera Types in scripts for party members using `checkteratype` and `setteratype` by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4460 + * To activate, it requires: + * `ITEM_TERA_ORB` to be in the player's bag. + * `B_FLAG_TERA_ORB_CHARGED` to be set up to an unused flag. It¿s automatically set when `HealPlayerParty` is called. + * Added `ignoreTera` argument added to `GetBattlerType` + * Added Tera Blast's effect. + * Changes type shown in battle screen if the mon is Terastalized or about to by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4447 + * Added Stellar Type. + * Added `teraType` option for Trainers (also supported by Competitive Format Parties) + * Added Tera Starstorm's effect by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4447 + * Terastallization animation by @Pokabbie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4507 + * Added `forceTeraType` field for `gSpeciesInfo`, which forces the Pokémon to have a specific Tera Type (used by Terapagos and Ogerpon) by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4438 + * Added `FORM_CHANGE_BATTLE_TERASTALLIZATION` by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4438 + * It uses a Pokémon's Tera Type to choose which form to switch to upon Terastallizing. + * Bugfixes: + * By @AgustinGDLV in https://github.com/rh-hideout/pokeemerald-expansion/pull/4435 + * By @AgustinGDLV in https://github.com/rh-hideout/pokeemerald-expansion/pull/4440 + * By @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4513 + * By @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4515 + * By @WillKolada in https://github.com/rh-hideout/pokeemerald-expansion/pull/4529 + * By @iriv24 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4975 +* Added Gen 1 type matchups by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4508 + * Renamed `B_STEEL_RESISTANCES` -> `B_UPDATED_TYPE_MATCHUPS` to reflect this change. + * Added defines to cleanup `sTypeEffectivenessTable`. +* Added Move Descriptions in battle by @Bassoonian, @TheXaman, @Pawkkie and @ravepossum in https://github.com/rh-hideout/pokeemerald-expansion/pull/4152 + * Press L before selecting a move to see their category, power, accuracy and description. + * This can be changed to R by using the `B_MOVE_DESCRIPTION_BUTTON` config by @fakuzatsu in https://github.com/rh-hideout/pokeemerald-expansion/pull/4860 + * Cleanup + * By @AGSMGMaster64 and @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4678 +* Added ball throwing configs by セケツ from PokéCommunity and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4953 + * `B_ENEMY_THROW_BALLS`: When set to `GEN_6` or higher, it changes the opposing trainer's ball animation so they throw their Pokéballs instead of already starting on the floor. + * `B_PLAYER_THROW_BALLS_SOUND`: When set to `GEN_5` or higher, it plays `SE_BALL_THROW` as part of the player's ball throw animation. + * `B_ENEMY_THROW_BALLS_SOUND`: When set to `GEN_5` or higher, it plays `SE_BALL_THROW` as part of the enemy's ball throw animation. +* Added `RandomChance` macro for battle/test randomization by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4829 +* #### Gimmick Refactor by @AgustinGDLV in https://github.com/rh-hideout/pokeemerald-expansion/pull/4449 + * Unifies generational mechanics into `gGimmicksInfo` struct (Mega, Z-Moves, Ultra Burst, Dynamax, Terastallization). + * Contains triggers, indicator, condition and function to execute when triggered. + * Around ~500-1000 lines of redundant / duplicate code removed! + * Cleanup + * By @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4927 + * By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4962 + * By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4863 + * By @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4960 +* Allow users to increase `MAX_MONEY` dynamically by @DizzyEggg and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4943 +* Added `AUTO_LOWERCASE_KEYBOARD` by @Jaizu and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4976 + * Automatically changes to to lowercase if the first character inputted is uppercase. +### Changed +* Improved HP drain when enabling `B_FAST_HP_DRAIN` by @pkmnsnfrn and @SonikkuA-DatH in https://github.com/rh-hideout/pokeemerald-expansion/pull/4335 +* #### Combined weather set commands by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4434 + * `setrain` -> `setfieldweather ENUM_WEATHER_RAIN`. + * `setsandstorm` -> `setfieldweather ENUM_WEATHER_SANDSTORM`. + * `setsunny` -> `setfieldweather ENUM_WEATHER_SUN`. + * `sethail` -> `setfieldweather ENUM_WEATHER_HAIL`. + * `setsnow` -> `setfieldweather ENUM_WEATHER_SNOW`. +* #### Replaced HP checks with `IsBattlerAlive` by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4429 +* #### Removed redundant `MOVE_EFFECT_SP_ATK_TWO_DOWN` by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4557 +* Added stack for saved targets and attackers by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4061 + * This avoids the need to overwriting battler IDs during scripts and cause potential issues. + * Several scripts have been updated to use these. + * Cleanup and fixes + * By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4653 + * By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4668 +* #### Adjusted Ate-Ability code a bit to make it more readable by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4640 +* Added global constants for damage rolls by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4663 + ```c + // Lowest and highest percentages used for damage roll calculations + #define DMG_ROLL_PERCENT_LO 85 + #define DMG_ROLL_PERCENT_HI 100 + ``` +* #### Refactored residual damage to be more readable and less prone to bugs by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4945 + * Cleanup by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4993 +* Clarified some cases of `ChangeStatBuffs` usage by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4826 +* Moved EWRAM variables from battle controller player file to gBattleStruct by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4840 + * `sDescriptionSubmenu`, `sAckBallUseBtn` and `sBallSwapped`. +### Fixed +* Fixed Dynamax data not clearing when a battler faints by @WillKolada in https://github.com/rh-hideout/pokeemerald-expansion/pull/4672 +* Multiple Z-Move fixes by @AgustinGDLV in https://github.com/rh-hideout/pokeemerald-expansion/pull/4449 + * Fixed Z-Moves not working in Link Battles, recorded battles and tests. + * Fixed `Z_EFFECT_ALL_STATS_UP` functionality. + * Fixed Z-Nature Power, Z-Copycat, Z-Me First, and Z-Sleep Talk incorrectly using a normal move and not a Z-Move, ~~which had not been raised as an issue yet.~~ (some of these were caught recently!) + * Fixed Breakneck Blitz incorrectly being affected by -ate abilities, which had not been raised as an issue yet. + * Fixed Instruct incorrectly not failing if the target last used a Z-Move, which had not been raised as an issue yet. + * Fixed Guardian of Alola incorrectly doing 50% of the target's HP instead of 75%. +* Fixed Enemy Data not clearing at the end of battles by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4867 + +## 🤹 Moves 🤹 +### Added +* Expanded Freeze Dry's effect to use `argument` field and allow custom moves to use the effect to be super effective to any specific type by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4312 + * Renamed `EFFECT_FREEZE_DRY` to `EFFECT_SUPER_EFFECTIVE_ON_ARG`. +* Expanded `EFFECT_BODY_PRESS` to use category of defense stats for calculation based on the move's own damage category by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4312 + * Eg: In vanilla, Body Press uses the user's Defense and its stat changes instead of Attack. Now, if we were to change its `category` in `gMovesInfo`, it'll use Sp. Defense and its stat changes instead of Sp. Attack. +* Expanded Photon Geyser and Shell Side Arm (restored) effects so that they also work for physical moves by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4923 +* Added Knock Off's Gen 5+ effect with config (`B_KNOCK_OFF_REMOVAL`) by @AgustinGDLV in https://github.com/rh-hideout/pokeemerald-expansion/pull/4333 + * Items are removed outright instead of making them unusable. +* Added Heal Bell/Soundproof Gen 5-8+ interactions with `B_HEAL_BELL_SOUNDPROOF` config by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4732 + * Cleanup by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/5060 +* Added Spicy Extract's effect by @AlexOn1ine, @Skeli789, @kittenchilly and @ZnogyroP in https://github.com/rh-hideout/pokeemerald-expansion/pull/4211 +* Added `B_RETURN_STOLEN_NPC_ITEMS` config for Covet/Thief not being able to steal from NPCs by @moostoet and @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4605 +* Added Dragon Darts effect (CFRU port) by @AlexOn1ine, @Skeli789 and @BuffelSaft in https://github.com/rh-hideout/pokeemerald-expansion/pull/4612 + * Animation by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4620 +### Changed +* `EFFECT_TRIPLE_KICK`'s base power uses the move's `strikeCount` instead of a constant by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4608 + * This allows users to create "Quadruple Kick" and similar moves. +* Migrated move animation pointers to `gMovesInfo` by @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/4683 + * This removes the need for `gBattleAnims_Moves` which had potential ordering issues if not kept in line with move IDs. + * If `battleAnimScript` is not defined for a move, it defaults to Tackle's animation. + * Migration script available in `migration_scripts/battle_anim_moves_refactor.py` +### Fixed +* Multiple Ally Switch fixes by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4451 + * Shadows no longer disappear + safety checks. + * Corrected animation for opponents. +* Fixed Avalanche's target by @TheLastMudkip in https://github.com/rh-hideout/pokeemerald-expansion/pull/4581 +* Fixed Feint and Feint Attack's descriptions by @lhearachel in https://github.com/rh-hideout/pokeemerald-expansion/pull/4617 +* Fixed Mud Sport/Water Sport reducing damage by 77% instead of 67% in Gen5+ by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/4874 + +## 🎭 Abilities 🎭 +### Added +* Added Poison Puppeteer's effect by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4416 +* Added Tera Shift, Tera Shell, and Teraform Zero by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4418 + * `FORM_CHANGE_BATTLE_SWITCH` now has ability as optional parameter. + * Cleanup by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4742 +* Added Toxic Chain's effect by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/4823 + * Cleanup by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4843 +* Added `B_ABILITY_TRIGGER_CHANCE` config to update trigger chances of abilities to Gen4+ by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4829 + * Shed Skin, Cute Charm, Flame Body, Static and Poison Point have a 30% chance to trigger in Gen4+ instead of 1/3 in Gen3. + * Effect Spore has an 11%, 10% and 9% chance of triggering Sleep, Paralysis and Poison in Gen4+ instead of equal 10% each in Gen3. +### Changed +* #### Removed Gen 9 settings for out-of-battle abilities by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4282 + * These configs no longer disable out-of-battle ability effects when set to `GEN_9`. + * `OW_SUPER_LUCK`. + * `OW_INFILTRATOR`. + * `OW_HARVEST`. + * `OW_LIGHTNING_ROD`. + * `OW_STORM_DRAIN`. + * `OW_FLASH_FIRE`. + * These configs have been removed + * `OW_COMPOUND_EYES`. + * `OW_CUTE_CHARM`. + * `OW_ILLUMINATE`. + * `OW_MAGNET_PULL`. + * `OW_STATIC`. +### Fixed +* Fixed Mirror Armor bouncing Sticky Web's stat reduction to the opponent by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4713 +* Effect Spore now uses `B_POWDER_GRASS` to toggle Grass-type Pokémon immunity to it by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4829 + +## 🧶 Items 🧶 +### Added +* Added Booster Energy's effect by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4337 + * Cleanup + * By @PCG06 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4354 + * By @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4804 +### Changed +* #### Removed `gItemIconTable` by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4579 + * Sprite and palette pointers have been moved to `gItemsInfo` as `iconPic` and `iconPalette` respectively. + * Migration script available in `migration_scripts/convert_item_icons.py` + * Cleanup + * By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4591 + * By @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4658 +* #### Automatically display TM/HM icons based on their move by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4452 + * TM palettes are now stored in `gTypesInfo` in the `paletteTMHM` field. + * Cleanup by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4487 + +## 🤖 Battle AI 🤖 +### Added +* Added `AI_GetBattlerAbility` by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4555 +* Added `AI_FLAG_CONSERVATIVE` flag by @Pawkkie and @iriv24 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4615 + * AI will assume low damage rolls for its `calculationsDamage` roll selection in `AI_CalcDamage` + * Cleanup + * By @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4663 +* Added `AI_FLAG_SEQUENCE_SWITCHING` flag by @Pawkkie, Kasen, @pkmnsnfrn and @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4878 + * AI will keep their party order consistently with switches. +* Added `setdynamicaifunc`, which allows to setup custom AI functions before a battle besides the predetermined ones used by AI Flags @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4908 + * Eg: + ``` + setdynamicaifunc AI_TagBattlePreferFoe + multi_2_vs_2 TRAINER_MAXIE_MOSSDEEP, MossdeepCity_SpaceCenter_2F_Text_JustWantToExpandLand, TRAINER_TABITHA_MOSSDEEP, MossdeepCity_SpaceCenter_Text_TabithaDefeat, PARTNER_STEVEN + ``` + Where `AI_TagBattlePreferFoe` prioritizes attacking the opposite battler index. +### Changed +* AI now calculates and stores minimum possible move damage and uses it with `AI_FLAG_TRY_TO_FAINT` by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4760 + * This allows AI to prefer guaranteed KO moves over highest expected damage move. + * Cleanup by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4808 +* AI Revenge Killer switching factors in Trick Room by @Shadowzlmao and @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4794 +* AI Smarter Choice AI for Status Moves by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4872 + * Better behavior for AI under Choice Item effects. + * Cleanup by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4911 +* AI Smarter Focus Punch and Substitute handling by @Pawkkie, @Kasenn and @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4952 +* Moved `RestoreBattlerData` out of `Ai_CalcDmg` and added `SaveBattlerData` Protections by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4156 + * Cleanup + * By @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4586 +* Made AI see Loaded Dice hold effect for multi hit moves that strike 5 times by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4622 +* `AI_FLAG_RISKY` Improvements by @Pawkkie, @AlexOn1ine and @iriv24 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4648 + * Check the PR for in depth details. + * Cleanup + * By @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4790 + * By @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/5032 +* Removed temporary scores in `AI_CalcMoveEffectScores` by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4655 +* Changed `AI_IS_SLOWER` and `AI_IS_FASTER` comparisons into `AI_IsFaster` and `AI_IsSlower` functions by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4671 + * `AI_STRIKES_FIRST` is also replaced by `AI_IsFaster`. +* Switch AI uses trapping abilities aggressively by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4669 +* Use 9th roll instead of average in AI calcs by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4679 +* Use `AI_DATA->abilities` in more places by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4729 +* Minor switch AI cleanup by @Pawkkie, @DizzyEggg, @AlexOn1ine and @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4849 +* Removed `SetBattlerData` from `AI_CalcDamage` by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4881 +* Removed unused `AI_FLAG_HELP_PARTNER` by @pkmnsnfrn and @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4918 +* Added missing `ADJUST_SCORE`s by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4925 +* Reduced `AI_WhoStrikesFirst` to the most essential parts by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4978 +* Changed score adjustments to `tempScore` increases by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4987 +### Fixed +* Minor AI flag fixes/cleanup by @Pawkkie, @AlexOn1ine and @pkmnsnfrn in https://github.com/rh-hideout/pokeemerald-expansion/pull/4924 + +## 🧹 Other Cleanup 🧹 +### Changed +* Corrected species info struct hex comments by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4798 + * Cleanup by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4800 + +## 🧪 Test Runner 🧪 +### Added +* Added missing weather tests by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4434 +* Added missing Gale Wings test by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4694 +* Added `SWITCH_OUT_MESSAGE` and `SEND_IN_MESSAGE` macros to avoid tests from failing based on changing switch out/in messages by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4717 + * Usage: `SEND_IN_MESSAGE("Wobbuffet");` + * Tests have been updated to use these new macros. +* Added missing Hidden Power test by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4462 +* Added some Terastallization tests by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/5020 +### Changed +* Cleaned up Frisk test by @mrgriffin in https://github.com/rh-hideout/pokeemerald-expansion/pull/4441 +* Renamed `MgbaPrintf_` to `Test_MgbaPrintf` by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4642 +* AI tests have been moved to their own folder by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4898 +* Species are now always included in tests by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4810 +* Added Battle Anim Debug Check to see if animations aren't cleared by @ghoulslash in https://github.com/rh-hideout/pokeemerald-expansion/pull/4930 +* Test battlers always have their forced abilities to prevent them from changing during a test by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4707 +### Fixed +* Test runner uses Set mode to avoid an issue where tests prompted switching and caused a timeout by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4661 + +## New Contributors +* @Pokabbie made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/4507 +* @TheLastMudkip made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/4581 +* @moostoet made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/4605 +* @rayrobdod made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/4727 +* @innocenthedgehog made their first contribution in https://github.com/rh-hideout/pokeemerald-expansion/pull/4988 + +**Full Changelog**: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.8.5...expansion/1.9.0 + + diff --git a/docs/changelogs/template.md b/docs/changelogs/template.md index 63e9e352aad1..6641d612f36b 100644 --- a/docs/changelogs/template.md +++ b/docs/changelogs/template.md @@ -6,7 +6,8 @@ - Once you have your remote set up, run the command `git pull RHH expansion/1.Y.Z`. ``` -## 🌋 *IMPORTANT CHANGES AND REFACTORS* 🌋 +## 🌋 *REFACTORS* 🌋 +📜 = Uses a migration script. * N/A ## 💥 *Softlock/Crash fixes* 💥 @@ -49,6 +50,13 @@ * N/A #### Fixed * N/A +### ***merrp/aarant's Followers*** +#### Added +* N/A +#### Changed +* N/A +#### Fixed +* N/A ## 🐉 Pokémon 🐉 ### Added diff --git a/graphics/battle_anims/sprites/cudgel.png b/graphics/battle_anims/sprites/cudgel.png new file mode 100644 index 000000000000..a43b450adc55 Binary files /dev/null and b/graphics/battle_anims/sprites/cudgel.png differ diff --git a/graphics/pokemon/ogerpon/back.png b/graphics/pokemon/ogerpon/back.png index 8ec6f0fc0d52..75f309fd67ce 100644 Binary files a/graphics/pokemon/ogerpon/back.png and b/graphics/pokemon/ogerpon/back.png differ diff --git a/graphics/pokemon/ogerpon/cornerstone/back.png b/graphics/pokemon/ogerpon/cornerstone/back.png index 1f37c9c1dffb..7e40fee557b8 100644 Binary files a/graphics/pokemon/ogerpon/cornerstone/back.png and b/graphics/pokemon/ogerpon/cornerstone/back.png differ diff --git a/graphics/pokemon/ogerpon/cornerstone/front.png b/graphics/pokemon/ogerpon/cornerstone/front.png index 6bca5e915c01..8e96be70e7c8 100644 Binary files a/graphics/pokemon/ogerpon/cornerstone/front.png and b/graphics/pokemon/ogerpon/cornerstone/front.png differ diff --git a/graphics/pokemon/ogerpon/cornerstone/normal.pal b/graphics/pokemon/ogerpon/cornerstone/normal.pal index 057bd48dcccb..852898a6b705 100644 --- a/graphics/pokemon/ogerpon/cornerstone/normal.pal +++ b/graphics/pokemon/ogerpon/cornerstone/normal.pal @@ -2,12 +2,12 @@ JASC-PAL 0100 15 148 209 161 +0 0 0 42 44 41 21 158 7 -0 0 0 74 76 73 -25 27 24 61 113 53 +25 27 24 109 99 108 133 139 139 53 134 168 diff --git a/graphics/pokemon/ogerpon/cornerstone/shiny.pal b/graphics/pokemon/ogerpon/cornerstone/shiny.pal index b4d7d151955a..c4956ce77495 100644 --- a/graphics/pokemon/ogerpon/cornerstone/shiny.pal +++ b/graphics/pokemon/ogerpon/cornerstone/shiny.pal @@ -2,12 +2,12 @@ JASC-PAL 0100 15 148 209 161 +0 0 0 42 44 41 21 158 7 -0 0 0 74 76 73 -25 27 24 61 113 53 +25 27 24 109 99 108 133 139 139 53 134 168 diff --git a/graphics/pokemon/ogerpon/cornerstone/tera/back.png b/graphics/pokemon/ogerpon/cornerstone/tera/back.png new file mode 100644 index 000000000000..63c105ba0d94 Binary files /dev/null and b/graphics/pokemon/ogerpon/cornerstone/tera/back.png differ diff --git a/graphics/pokemon/ogerpon/cornerstone/tera/front.png b/graphics/pokemon/ogerpon/cornerstone/tera/front.png new file mode 100644 index 000000000000..7b93d3210a94 Binary files /dev/null and b/graphics/pokemon/ogerpon/cornerstone/tera/front.png differ diff --git a/graphics/pokemon/ogerpon/cornerstone/tera/normal.pal b/graphics/pokemon/ogerpon/cornerstone/tera/normal.pal new file mode 100644 index 000000000000..eb034d36e9fd --- /dev/null +++ b/graphics/pokemon/ogerpon/cornerstone/tera/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +224 54 230 +14 17 13 +27 29 27 +42 44 41 +46 48 45 +74 76 73 +90 96 103 +61 113 53 +139 99 57 +0 150 177 +90 171 46 +149 151 148 +0 212 248 +196 198 195 +253 218 63 +251 253 250 diff --git a/graphics/pokemon/ogerpon/cornerstone/tera/shiny.pal b/graphics/pokemon/ogerpon/cornerstone/tera/shiny.pal new file mode 100644 index 000000000000..eb034d36e9fd --- /dev/null +++ b/graphics/pokemon/ogerpon/cornerstone/tera/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +224 54 230 +14 17 13 +27 29 27 +42 44 41 +46 48 45 +74 76 73 +90 96 103 +61 113 53 +139 99 57 +0 150 177 +90 171 46 +149 151 148 +0 212 248 +196 198 195 +253 218 63 +251 253 250 diff --git a/graphics/pokemon/ogerpon/front.png b/graphics/pokemon/ogerpon/front.png index 5fa971f87352..dec38ef0b850 100644 Binary files a/graphics/pokemon/ogerpon/front.png and b/graphics/pokemon/ogerpon/front.png differ diff --git a/graphics/pokemon/ogerpon/hearthflame/back.png b/graphics/pokemon/ogerpon/hearthflame/back.png index d092ec3297cf..d6d927f19d5a 100644 Binary files a/graphics/pokemon/ogerpon/hearthflame/back.png and b/graphics/pokemon/ogerpon/hearthflame/back.png differ diff --git a/graphics/pokemon/ogerpon/hearthflame/front.png b/graphics/pokemon/ogerpon/hearthflame/front.png index 036ea37f328f..d8b9cb7b2346 100644 Binary files a/graphics/pokemon/ogerpon/hearthflame/front.png and b/graphics/pokemon/ogerpon/hearthflame/front.png differ diff --git a/graphics/pokemon/ogerpon/hearthflame/normal.pal b/graphics/pokemon/ogerpon/hearthflame/normal.pal index 637556660ada..3f478af8aae5 100644 --- a/graphics/pokemon/ogerpon/hearthflame/normal.pal +++ b/graphics/pokemon/ogerpon/hearthflame/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 148 210 164 -156 153 172 -131 28 24 +0 0 0 +41 44 41 +16 157 0 +230 60 49 +57 113 49 49 133 172 +131 28 24 213 230 246 -41 44 41 255 198 74 172 105 32 -16 157 0 -57 113 49 +156 153 172 49 190 230 -0 0 0 164 52 49 74 76 74 189 137 90 -230 60 49 diff --git a/graphics/pokemon/ogerpon/hearthflame/shiny.pal b/graphics/pokemon/ogerpon/hearthflame/shiny.pal index f874367b4bc2..fee0f8de7b0f 100644 --- a/graphics/pokemon/ogerpon/hearthflame/shiny.pal +++ b/graphics/pokemon/ogerpon/hearthflame/shiny.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 148 210 164 -156 153 172 -131 28 24 +0 0 0 +41 44 41 +16 157 0 +230 60 49 +57 113 49 49 133 172 +131 28 24 213 230 246 -41 44 41 255 198 74 124 162 56 -16 157 0 -57 113 49 +156 153 172 49 190 230 -0 0 0 164 52 49 74 76 74 189 137 90 -230 60 49 diff --git a/graphics/pokemon/ogerpon/hearthflame/tera/back.png b/graphics/pokemon/ogerpon/hearthflame/tera/back.png new file mode 100644 index 000000000000..d98631e11e86 Binary files /dev/null and b/graphics/pokemon/ogerpon/hearthflame/tera/back.png differ diff --git a/graphics/pokemon/ogerpon/hearthflame/tera/front.png b/graphics/pokemon/ogerpon/hearthflame/tera/front.png new file mode 100644 index 000000000000..8a9e9b6a0a8a Binary files /dev/null and b/graphics/pokemon/ogerpon/hearthflame/tera/front.png differ diff --git a/graphics/pokemon/ogerpon/hearthflame/tera/normal.pal b/graphics/pokemon/ogerpon/hearthflame/tera/normal.pal new file mode 100644 index 000000000000..fbb3c82e191a --- /dev/null +++ b/graphics/pokemon/ogerpon/hearthflame/tera/normal.pal @@ -0,0 +1,18 @@ +JASC-PAL +0100 +15 +222 57 229 +16 16 16 +87 15 15 +44 43 41 +153 23 23 +75 76 76 +64 112 54 +237 59 47 +141 98 59 +91 171 49 +209 154 24 +232 157 2 +0 211 249 +255 218 70 +253 253 253 diff --git a/graphics/pokemon/ogerpon/hearthflame/tera/shiny.pal b/graphics/pokemon/ogerpon/hearthflame/tera/shiny.pal new file mode 100644 index 000000000000..fbb3c82e191a --- /dev/null +++ b/graphics/pokemon/ogerpon/hearthflame/tera/shiny.pal @@ -0,0 +1,18 @@ +JASC-PAL +0100 +15 +222 57 229 +16 16 16 +87 15 15 +44 43 41 +153 23 23 +75 76 76 +64 112 54 +237 59 47 +141 98 59 +91 171 49 +209 154 24 +232 157 2 +0 211 249 +255 218 70 +253 253 253 diff --git a/graphics/pokemon/ogerpon/normal.pal b/graphics/pokemon/ogerpon/normal.pal index 8f715fd815b0..a1ac4baf96b9 100644 --- a/graphics/pokemon/ogerpon/normal.pal +++ b/graphics/pokemon/ogerpon/normal.pal @@ -2,17 +2,17 @@ JASC-PAL 0100 15 148 209 161 -42 44 41 0 1 0 +42 44 41 +21 158 7 27 70 15 -0 164 153 +61 113 53 17 106 68 -21 158 7 +83 133 90 74 76 73 -61 97 53 175 216 159 251 253 250 139 99 57 +0 164 153 120 81 39 219 157 92 -83 133 90 diff --git a/graphics/pokemon/ogerpon/shiny.pal b/graphics/pokemon/ogerpon/shiny.pal index a96c55d35d88..08c751ebdad3 100644 --- a/graphics/pokemon/ogerpon/shiny.pal +++ b/graphics/pokemon/ogerpon/shiny.pal @@ -2,17 +2,17 @@ JASC-PAL 0100 15 148 209 161 -42 44 41 0 1 0 +42 44 41 +21 158 7 27 70 15 -0 164 153 +61 113 53 17 106 68 -21 158 7 +83 133 90 74 76 73 -61 97 53 175 216 159 251 253 250 139 99 57 +0 164 153 124 162 56 219 157 92 -83 133 90 diff --git a/graphics/pokemon/ogerpon/tera/back.png b/graphics/pokemon/ogerpon/tera/back.png new file mode 100644 index 000000000000..47e211e5568a Binary files /dev/null and b/graphics/pokemon/ogerpon/tera/back.png differ diff --git a/graphics/pokemon/ogerpon/tera/front.png b/graphics/pokemon/ogerpon/tera/front.png new file mode 100644 index 000000000000..7131db78d5fb Binary files /dev/null and b/graphics/pokemon/ogerpon/tera/front.png differ diff --git a/graphics/pokemon/ogerpon/tera/normal.pal b/graphics/pokemon/ogerpon/tera/normal.pal new file mode 100644 index 000000000000..2409682978f7 --- /dev/null +++ b/graphics/pokemon/ogerpon/tera/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 57 229 +16 16 16 +44 43 41 +75 76 76 +15 106 67 +64 112 54 +141 98 59 +9 164 156 +97 167 27 +91 171 49 +84 182 101 +232 157 2 +219 156 94 +151 216 120 +255 218 70 +253 253 253 diff --git a/graphics/pokemon/ogerpon/tera/shiny.pal b/graphics/pokemon/ogerpon/tera/shiny.pal new file mode 100644 index 000000000000..2409682978f7 --- /dev/null +++ b/graphics/pokemon/ogerpon/tera/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 57 229 +16 16 16 +44 43 41 +75 76 76 +15 106 67 +64 112 54 +141 98 59 +9 164 156 +97 167 27 +91 171 49 +84 182 101 +232 157 2 +219 156 94 +151 216 120 +255 218 70 +253 253 253 diff --git a/graphics/pokemon/ogerpon/wellspring/back.png b/graphics/pokemon/ogerpon/wellspring/back.png index ed74528e6579..87d82032f475 100644 Binary files a/graphics/pokemon/ogerpon/wellspring/back.png and b/graphics/pokemon/ogerpon/wellspring/back.png differ diff --git a/graphics/pokemon/ogerpon/wellspring/front.png b/graphics/pokemon/ogerpon/wellspring/front.png index 5263ce2f1ebb..77ffb489a53d 100644 Binary files a/graphics/pokemon/ogerpon/wellspring/front.png and b/graphics/pokemon/ogerpon/wellspring/front.png differ diff --git a/graphics/pokemon/ogerpon/wellspring/normal.pal b/graphics/pokemon/ogerpon/wellspring/normal.pal index 4b22619be413..db40508a52bb 100644 --- a/graphics/pokemon/ogerpon/wellspring/normal.pal +++ b/graphics/pokemon/ogerpon/wellspring/normal.pal @@ -2,12 +2,12 @@ JASC-PAL 0100 16 148 209 161 +0 0 0 42 44 41 21 158 7 -74 76 73 -0 0 0 -61 113 53 11 64 121 +61 113 53 +74 76 73 15 90 170 0 126 229 53 134 168 diff --git a/graphics/pokemon/ogerpon/wellspring/shiny.pal b/graphics/pokemon/ogerpon/wellspring/shiny.pal index bca722c95d81..7c44d3352d90 100644 --- a/graphics/pokemon/ogerpon/wellspring/shiny.pal +++ b/graphics/pokemon/ogerpon/wellspring/shiny.pal @@ -2,12 +2,12 @@ JASC-PAL 0100 16 148 209 161 +0 0 0 42 44 41 21 158 7 -74 76 73 -0 0 0 -61 113 53 11 64 121 +61 113 53 +74 76 73 15 90 170 0 126 229 53 134 168 diff --git a/graphics/pokemon/ogerpon/wellspring/tera/back.png b/graphics/pokemon/ogerpon/wellspring/tera/back.png new file mode 100644 index 000000000000..a0a9c9834ae7 Binary files /dev/null and b/graphics/pokemon/ogerpon/wellspring/tera/back.png differ diff --git a/graphics/pokemon/ogerpon/wellspring/tera/front.png b/graphics/pokemon/ogerpon/wellspring/tera/front.png new file mode 100644 index 000000000000..714d271fb2ad Binary files /dev/null and b/graphics/pokemon/ogerpon/wellspring/tera/front.png differ diff --git a/graphics/pokemon/ogerpon/wellspring/tera/normal.pal b/graphics/pokemon/ogerpon/wellspring/tera/normal.pal new file mode 100644 index 000000000000..c4f92593b64d --- /dev/null +++ b/graphics/pokemon/ogerpon/wellspring/tera/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +224 54 230 +14 17 13 +42 44 41 +22 65 128 +74 76 73 +19 94 181 +61 113 53 +139 99 57 +0 130 229 +90 171 46 +42 214 251 +139 196 213 +204 222 254 +251 253 250 +253 218 63 +232 157 0 diff --git a/graphics/pokemon/ogerpon/wellspring/tera/shiny.pal b/graphics/pokemon/ogerpon/wellspring/tera/shiny.pal new file mode 100644 index 000000000000..c4f92593b64d --- /dev/null +++ b/graphics/pokemon/ogerpon/wellspring/tera/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +224 54 230 +14 17 13 +42 44 41 +22 65 128 +74 76 73 +19 94 181 +61 113 53 +139 99 57 +0 130 229 +90 171 46 +42 214 251 +139 196 213 +204 222 254 +251 253 250 +253 218 63 +232 157 0 diff --git a/graphics/pokemon/sandile/anim_front.png b/graphics/pokemon/sandile/anim_front.png index 24d3545a42c0..ccf8146b3be0 100644 Binary files a/graphics/pokemon/sandile/anim_front.png and b/graphics/pokemon/sandile/anim_front.png differ diff --git a/graphics/pokemon/sandile/back.png b/graphics/pokemon/sandile/back.png index 1680947040ab..0bf5c9e3f4df 100644 Binary files a/graphics/pokemon/sandile/back.png and b/graphics/pokemon/sandile/back.png differ diff --git a/graphics/pokemon/sandile/normal.pal b/graphics/pokemon/sandile/normal.pal index b079c8061ae0..f428787e3c1e 100644 --- a/graphics/pokemon/sandile/normal.pal +++ b/graphics/pokemon/sandile/normal.pal @@ -1,6 +1,6 @@ JASC-PAL 0100 -16 +13 152 208 160 139 115 49 32 32 32 @@ -12,8 +12,5 @@ JASC-PAL 180 180 189 82 82 98 205 115 123 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 +205 115 123 +169 92 99 diff --git a/graphics/pokemon/sandile/shiny.pal b/graphics/pokemon/sandile/shiny.pal index f92d5f6bd033..b1a758254bbf 100644 --- a/graphics/pokemon/sandile/shiny.pal +++ b/graphics/pokemon/sandile/shiny.pal @@ -1,6 +1,6 @@ JASC-PAL 0100 -16 +13 152 208 160 120 136 56 32 32 32 @@ -12,8 +12,5 @@ JASC-PAL 176 168 168 80 80 96 64 144 160 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 +205 115 123 +169 92 99 diff --git a/include/battle.h b/include/battle.h index 8c57baa579a3..c48dc7883504 100644 --- a/include/battle.h +++ b/include/battle.h @@ -810,13 +810,12 @@ STATIC_ASSERT(sizeof(((struct BattleStruct *)0)->palaceFlags) * 8 >= MAX_BATTLER #define F_DYNAMIC_TYPE_IGNORE_PHYSICALITY (1 << 6) // If set, the dynamic type's physicality won't be used for certain move effects. #define F_DYNAMIC_TYPE_SET (1 << 7) // Set for all dynamic types to distinguish a dynamic type of Normal (0) from no dynamic type. -#define GET_MOVE_TYPE(move, typeArg) \ -{ \ +#define GET_MOVE_TYPE(move, typeArg) do { \ if (gBattleStruct->dynamicMoveType) \ typeArg = gBattleStruct->dynamicMoveType & DYNAMIC_TYPE_MASK; \ else \ - typeArg = gMovesInfo[move].type; \ -} + typeArg = gMovesInfo[move].type; \ +} while(0) #define IS_MOVE_PHYSICAL(move)(GetBattleMoveCategory(move) == DAMAGE_CATEGORY_PHYSICAL) #define IS_MOVE_SPECIAL(move)(GetBattleMoveCategory(move) == DAMAGE_CATEGORY_SPECIAL) diff --git a/include/battle_util.h b/include/battle_util.h index ed6a18fdbd39..8eadf47c983c 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -155,7 +155,7 @@ bool32 TryChangeBattleWeather(u32 battler, u32 weatherEnumId, bool32 viaAbility) u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 moveArg); bool32 TryPrimalReversion(u32 battler); bool32 IsNeutralizingGasOnField(void); -bool32 IsMoldBreakerTypeAbility(u32 ability); +bool32 IsMoldBreakerTypeAbility(u32 battler, u32 ability); u32 GetBattlerAbility(u32 battler); u32 IsAbilityOnSide(u32 battler, u32 ability); u32 IsAbilityOnOpposingSide(u32 battler, u32 ability); diff --git a/include/config/overworld.h b/include/config/overworld.h index b6664269960c..b47cef5c5082 100644 --- a/include/config/overworld.h +++ b/include/config/overworld.h @@ -8,6 +8,7 @@ #define OW_POISON_DAMAGE GEN_LATEST // In Gen4, Pokémon no longer faint from Poison in the overworld. In Gen5+, they no longer take damage at all. #define OW_DOUBLE_APPROACH_WITH_ONE_MON FALSE // If enabled, you can be spotted by two trainers at the same time even if you only have one eligible Pokémon in your party. #define OW_HIDE_REPEAT_MAP_POPUP FALSE // If enabled, map popups will not appear if entering a map with the same Map Section Id as the last. +#define OW_FRLG_WHITEOUT FALSE // If enabled, shows an additional whiteout message and post whiteout event script with healing NPC. // These generational defines only make a distinction for Berries and the OW_PC_MOVE_ORDER #define GEN_6_XY GEN_6 diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 8d095215309c..389cd7e1271d 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -405,9 +405,13 @@ #define ANIM_TAG_SYRUP_SHELL_YELLOW (ANIM_SPRITES_START + 391) #define ANIM_TAG_SYRUP_SPLAT_RED (ANIM_SPRITES_START + 392) #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) +#define ANIM_TAG_IVY_CUDGEL_GRASS (ANIM_SPRITES_START + 394) +#define ANIM_TAG_IVY_CUDGEL_FIRE (ANIM_SPRITES_START + 395) +#define ANIM_TAG_IVY_CUDGEL_ROCK (ANIM_SPRITES_START + 396) +#define ANIM_TAG_IVY_CUDGEL_WATER (ANIM_SPRITES_START + 397) +#define ANIM_TAG_TERA_CRYSTAL (ANIM_SPRITES_START + 398) +#define ANIM_TAG_TERA_SHATTER (ANIM_SPRITES_START + 399) +#define ANIM_TAG_DREEPY_SHINY (ANIM_SPRITES_START + 400) // battlers #define ANIM_ATTACKER 0 diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index f4268d9f0294..e2ac7f792068 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -275,7 +275,8 @@ #define OBJ_EVENT_GFX_SPECIES_MASK ((1 << OBJ_EVENT_GFX_SPECIES_BITS) - 1) // Used to call a specific species' follower graphics. Useful for static encounters. -#define OBJ_EVENT_GFX_SPECIES(name) (OBJ_EVENT_GFX_MON_BASE + SPECIES_##name) +#define OBJ_EVENT_GFX_SPECIES(name) (SPECIES_##name + OBJ_EVENT_GFX_MON_BASE) +#define OBJ_EVENT_GFX_SPECIES_SHINY(name) (SPECIES_##name + OBJ_EVENT_GFX_MON_BASE + SPECIES_SHINY_TAG) #define OW_SPECIES(x) (((x)->graphicsId & OBJ_EVENT_GFX_SPECIES_MASK) - OBJ_EVENT_GFX_MON_BASE) #define OW_FORM(x) ((x)->graphicsId >> OBJ_EVENT_GFX_SPECIES_BITS) diff --git a/include/constants/expansion.h b/include/constants/expansion.h index bf54ade9fcdf..72a48652425e 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.5 +// 1.10.0 #define EXPANSION_VERSION_MAJOR 1 -#define EXPANSION_VERSION_MINOR 8 -#define EXPANSION_VERSION_PATCH 5 +#define EXPANSION_VERSION_MINOR 10 +#define EXPANSION_VERSION_PATCH 0 // FALSE if this this version of Expansion is not a tagged commit, i.e. // it contains unreleased changes. diff --git a/include/constants/field_weather.h b/include/constants/field_weather.h index e84dbc48c4dd..fe7eb6a1ae7c 100644 --- a/include/constants/field_weather.h +++ b/include/constants/field_weather.h @@ -8,6 +8,7 @@ #define NUM_FOG_DIAGONAL_SPRITES 20 #define NUM_SANDSTORM_SPRITES 20 #define NUM_SWIRL_SANDSTORM_SPRITES 5 +#define NUM_SNOWFLAKE_SPRITES 16 // Controls how the weather should be changing the screen palettes. #define WEATHER_PAL_STATE_CHANGING_WEATHER 0 diff --git a/include/constants/heal_locations.h b/include/constants/heal_locations.h index d3dd8f1f1748..217594d0b7f2 100644 --- a/include/constants/heal_locations.h +++ b/include/constants/heal_locations.h @@ -24,5 +24,6 @@ #define HEAL_LOCATION_EVER_GRANDE_CITY_POKEMON_LEAGUE 20 #define HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR 21 #define HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST 22 +#define HEAL_LOCATION_COUNT 23 #endif // GUARD_CONSTANTS_HEAL_LOCATIONS_H diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index bebda44834cd..8095367c9779 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -296,8 +296,8 @@ #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 -#define EVO_DEFEAT_WITH_ITEM 51 // Pokémon levels up after having defeat 3 Pokémon of the same species holding the specified item -#define EVO_OVERWORLD_STEPS 52 // Pokémon levels up after having taken a specific amount of steps in the overworld +#define EVO_DEFEAT_THREE_WITH_ITEM 51 // Pokémon levels up after having defeat 3 Pokémon of the same species holding the specified item +#define EVO_OVERWORLD_STEPS 52 // Pokémon levels up after having taken a specific amount of steps in the overworld (or as the party lead if OW_FOLLOWERS_ENABLED is FALSE) without switching // Evolution 'modes,' for GetEvolutionTargetSpecies #define EVO_MODE_NORMAL 0 diff --git a/include/constants/species.h b/include/constants/species.h index bdf3bdce1f8b..895e444d51d2 100644 --- a/include/constants/species.h +++ b/include/constants/species.h @@ -1633,6 +1633,8 @@ #define NUM_SPECIES SPECIES_EGG +#define SPECIES_SHINY_TAG 5000 + // Competitive format aliases #define SPECIES_ALCREMIE_GMAX SPECIES_ALCREMIE_GIGANTAMAX #define SPECIES_APPLETUN_GMAX SPECIES_APPLETUN_GIGANTAMAX @@ -1704,6 +1706,10 @@ #define SPECIES_MR_MIME_GALAR SPECIES_MR_MIME_GALARIAN #define SPECIES_MUK_ALOLA SPECIES_MUK_ALOLAN #define SPECIES_NINETALES_ALOLA SPECIES_NINETALES_ALOLAN +#define SPECIES_OGERPON_TEAL SPECIES_OGERPON_TEAL_MASK +#define SPECIES_OGERPON_WELLSPRING SPECIES_OGERPON_WELLSPRING_MASK +#define SPECIES_OGERPON_HEARTHFLAME SPECIES_OGERPON_HEARTHFLAME_MASK +#define SPECIES_OGERPON_CORNERSTONE SPECIES_OGERPON_CORNERSTONE_MASK #define SPECIES_ORBEETLE_GMAX SPECIES_ORBEETLE_GIGANTAMAX #define SPECIES_PERSIAN_ALOLA SPECIES_PERSIAN_ALOLAN #define SPECIES_PIKACHU_ALOLA SPECIES_PIKACHU_ALOLA_CAP diff --git a/include/data.h b/include/data.h index e514cadd9aa0..69c1a19a3c49 100644 --- a/include/data.h +++ b/include/data.h @@ -4,8 +4,6 @@ #include "constants/moves.h" #include "constants/trainers.h" -#define SPECIES_SHINY_TAG 5000 - #define MAX_TRAINER_ITEMS 4 #define TRAINER_PIC_WIDTH 64 diff --git a/include/event_scripts.h b/include/event_scripts.h index fa0bfe5c6ecd..7c35e991c252 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -620,6 +620,8 @@ extern const u8 EventScript_SelectWithoutRegisteredItem[]; // overworld extern const u8 EventScript_WhiteOut[]; +extern const u8 EventScript_AfterWhiteOutMomHeal[]; +extern const u8 EventScript_AfterWhiteOutHeal[]; extern const u8 EventScript_ResetMrBriney[]; extern const u8 EventScript_DoLinkRoomExit[]; extern const u8 CableClub_EventScript_TooBusyToNotice[]; diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index 6dc9b077d219..9b3aa6229e5f 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.h @@ -16,6 +16,7 @@ void FieldCB_ReturnToFieldWirelessLink(void); void FieldCB_DefaultWarpExit(void); void FieldCB_WarpExitFadeFromBlack(void); void FieldCB_WarpExitFadeFromWhite(void); +void FieldCB_RushInjuredPokemonToCenter(void); bool8 FieldCB_ReturnToFieldOpenStartMenu(void); void ReturnToFieldOpenStartMenu(void); void FieldCB_ReturnToFieldNoScript(void); diff --git a/include/graphics.h b/include/graphics.h index fc60c29ebfb1..01de060b790d 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2873,6 +2873,11 @@ extern const u32 gBattleAnimSpriteGfx_SyrupShell[]; extern const u32 gBattleAnimSpriteGfx_SyrupSplat[]; extern const u32 gBattleAnimSpritePal_SyrupRed[]; extern const u32 gBattleAnimSpritePal_SyrupYellow[]; +extern const u32 gBattleAnimSpriteGfx_IvyCudgel[]; +extern const u32 gBattleAnimSpritePal_IvyCudgelGrass[]; +extern const u32 gBattleAnimSpritePal_IvyCudgelFire[]; +extern const u32 gBattleAnimSpritePal_IvyCudgelRock[]; +extern const u32 gBattleAnimSpritePal_IvyCudgelWater[]; extern const u32 gBattleAnimBgImage_Dark[]; extern const u32 gBattleAnimBgImage_Ghost[]; diff --git a/include/heal_location.h b/include/heal_location.h index 46f0d785ab7a..8c4ebae96508 100644 --- a/include/heal_location.h +++ b/include/heal_location.h @@ -10,7 +10,11 @@ struct HealLocation }; u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum); +u32 GetHealLocationIndexByWarpData(struct WarpData *warp); const struct HealLocation *GetHealLocationByMap(u16 mapGroup, u16 mapNum); const struct HealLocation *GetHealLocation(u32 index); +bool32 IsLastHealLocationPlayerHouse(); +void SetWhiteoutRespawnWarpAndHealerNPC(struct WarpData * warp); +u32 GetHealNpcLocalId(u32 healLocationId); #endif // GUARD_HEAL_LOCATION_H diff --git a/include/pokemon.h b/include/pokemon.h index 920aee7e2ff2..b299ab7d61e5 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -684,6 +684,7 @@ extern struct Pokemon gPlayerParty[PARTY_SIZE]; extern u8 gEnemyPartyCount; extern struct Pokemon gEnemyParty[PARTY_SIZE]; extern struct SpriteTemplate gMultiuseSpriteTemplate; +extern u16 gFollowerSteps; extern const struct MoveInfo gMovesInfo[]; extern const u8 gFacilityClassToPicIndex[]; diff --git a/include/strings.h b/include/strings.h index 2963eb96d15c..ec175ab251d0 100644 --- a/include/strings.h +++ b/include/strings.h @@ -3046,4 +3046,8 @@ extern const u8 gText_PlantBerry[]; extern const u8 gText_AM[]; extern const u8 gText_PM[]; +// FRLG whiteout +extern const u8 gText_PlayerScurriedToCenter[]; +extern const u8 gText_PlayerScurriedBackHome[]; + #endif // GUARD_STRINGS_H diff --git a/migration_scripts/1.9/battle_frontier_convert_parties.py b/migration_scripts/1.9/battle_frontier_convert_parties.py new file mode 100644 index 000000000000..83982bbe465d --- /dev/null +++ b/migration_scripts/1.9/battle_frontier_convert_parties.py @@ -0,0 +1,62 @@ +import re + +def battle_frontier_mons(data): + data = re.sub(re.escape(".itemTableId = BATTLE_FRONTIER_"), ".heldItem = ", data) + data = re.sub(re.escape("FacilityMon"), "TrainerMon", data) + data = re.sub(re.escape(".evSpread = 0,"), ".ev = NULL,", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(252, 0, 0, 0, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 170, 170, 170, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 252, 0, 0, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SPEED,"), ".ev = TRAINER_PARTY_EVS(0, 0, 0, 252, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 170, 170, 0, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 170, 170, 0, 170, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 0, 0, 170, 170, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 0, 0, 170, 170, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 0, 170, 0, 170, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,"), ".ev = TRAINER_PARTY_EVS(0, 0, 170, 170, 170, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 170, 0, 170, 170, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 170, 0, 0, 170, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(252, 0, 0, 0, 252, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 252, 0, 0, 252, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,"), ".ev = TRAINER_PARTY_EVS(0, 0, 252, 0, 252, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,"), ".ev = TRAINER_PARTY_EVS(0, 0, 0, 252, 252, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(102, 102, 102, 102, 0, 102),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 128, 128, 0, 128, 128),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,"), ".ev = TRAINER_PARTY_EVS(0, 0, 170, 0, 170, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(84, 84, 84, 84, 84, 84),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 128, 128, 128, 0, 128),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 170, 170, 0, 0, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(102, 0, 102, 102, 102, 102),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 170, 0, 0, 170, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(128, 0, 128, 0, 128, 128),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(128, 128, 128, 0, 0, 128),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 0, 0, 170, 0, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 170, 0, 170, 0, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(252, 0, 0, 0, 0, 252),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,"), ".ev = TRAINER_PARTY_EVS(0, 0, 170, 170, 0, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(128, 0, 128, 128, 0, 128),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 0, 0, 0, 170, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 0, 170, 0, 0, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 170, 0, 0, 0, 170),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 252, 0, 0, 0, 252),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 0, 0, 0, 252, 252),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,"), ".ev = TRAINER_PARTY_EVS(0, 0, 252, 0, 0, 252),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(252, 252, 0, 0, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(252, 0, 0, 252, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 0, 170, 170, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(170, 170, 0, 170, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 252, 0, 252, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,"), ".ev = TRAINER_PARTY_EVS(252, 0, 252, 0, 0, 0),", data) + data = re.sub(re.escape(".evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,"), ".ev = TRAINER_PARTY_EVS(0, 252, 252, 0, 0, 0),", data) + + return data + +with open('src/data/battle_frontier/battle_frontier_mons.h', 'r') as file: + data = file.read() +with open('src/data/battle_frontier/battle_frontier_mons.h', 'w') as file: + file.write(battle_frontier_mons(data)) + +with open('src/data/battle_frontier/battle_tent.h', 'r') as file: + data = file.read() +with open('src/data/battle_frontier/battle_tent.h', 'w') as file: + file.write(battle_frontier_mons(data)) diff --git a/migration_scripts/README.md b/migration_scripts/README.md index cfa1d23638ca..5ae26c1c0afc 100644 --- a/migration_scripts/README.md +++ b/migration_scripts/README.md @@ -336,3 +336,24 @@ Modifies all item ball scripts defined using to original Game Freak method to th "flag": "FLAG_ITEM_ROUTE_102_POTION" }, ``` + +### Facility Mons + +* Filepath [`migration_scripts/1.9/battle_frontier_convert_parties.py`](1.8/battle_frontier_convert_parties.py) +* Introduced in [Adds battle frontier conversion script #5040](https://github.com/rh-hideout/pokeemerald-expansion/pull/5040) +* Original refactor in [Customizable FrontierMon Sets #4313](https://github.com/rh-hideout/pokeemerald-expansion/pull/4313) + +Replaces itemTableId with heldItem and evSpread with ev. + +#### [src/data/battle_frontier/battle_frontier_mons.h](../src/data/battle_frontier/battle_frontier_mons.h) +```diff + [FRONTIER_MON_SUNKERN] = { + .species = SPECIES_SUNKERN, + .moves = {MOVE_MEGA_DRAIN, MOVE_HELPING_HAND, MOVE_SUNNY_DAY, MOVE_LIGHT_SCREEN}, +- .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE, ++ .heldItem = ITEM_LAX_INCENSE, +- .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, ++ .ev = TRAINER_PARTY_EVS(252, 0, 0, 0, 252, 0), + .nature = NATURE_RELAXED + }, +``` \ No newline at end of file diff --git a/sound/direct_sound_samples/cries/abomasnow.aif b/sound/direct_sound_samples/cries/abomasnow.aif index dce794161735..83ef6b33aca9 100644 Binary files a/sound/direct_sound_samples/cries/abomasnow.aif and b/sound/direct_sound_samples/cries/abomasnow.aif differ diff --git a/sound/direct_sound_samples/cries/abomasnow_mega.aif b/sound/direct_sound_samples/cries/abomasnow_mega.aif index 11a0aec05927..1b6b0684cf76 100644 Binary files a/sound/direct_sound_samples/cries/abomasnow_mega.aif and b/sound/direct_sound_samples/cries/abomasnow_mega.aif differ diff --git a/sound/direct_sound_samples/cries/abra.aif b/sound/direct_sound_samples/cries/abra.aif index 153f4982e519..5c96619143a0 100644 Binary files a/sound/direct_sound_samples/cries/abra.aif and b/sound/direct_sound_samples/cries/abra.aif differ diff --git a/sound/direct_sound_samples/cries/absol.aif b/sound/direct_sound_samples/cries/absol.aif index f21d3138c048..81e81350d5e6 100644 Binary files a/sound/direct_sound_samples/cries/absol.aif and b/sound/direct_sound_samples/cries/absol.aif differ diff --git a/sound/direct_sound_samples/cries/accelgor.aif b/sound/direct_sound_samples/cries/accelgor.aif index 39efe9c55e9f..209c309c1efb 100644 Binary files a/sound/direct_sound_samples/cries/accelgor.aif and b/sound/direct_sound_samples/cries/accelgor.aif differ diff --git a/sound/direct_sound_samples/cries/aegislash.aif b/sound/direct_sound_samples/cries/aegislash.aif index a1013785731d..d2c48b5d6213 100644 Binary files a/sound/direct_sound_samples/cries/aegislash.aif and b/sound/direct_sound_samples/cries/aegislash.aif differ diff --git a/sound/direct_sound_samples/cries/aerodactyl.aif b/sound/direct_sound_samples/cries/aerodactyl.aif index bbf19e00b369..d4bf14946de2 100644 Binary files a/sound/direct_sound_samples/cries/aerodactyl.aif and b/sound/direct_sound_samples/cries/aerodactyl.aif differ diff --git a/sound/direct_sound_samples/cries/aerodactyl_mega.aif b/sound/direct_sound_samples/cries/aerodactyl_mega.aif index 9aa15062ce4f..d323b09c593f 100644 Binary files a/sound/direct_sound_samples/cries/aerodactyl_mega.aif and b/sound/direct_sound_samples/cries/aerodactyl_mega.aif differ diff --git a/sound/direct_sound_samples/cries/aggron.aif b/sound/direct_sound_samples/cries/aggron.aif index ed0afaa997ff..a87adf8f841f 100644 Binary files a/sound/direct_sound_samples/cries/aggron.aif and b/sound/direct_sound_samples/cries/aggron.aif differ diff --git a/sound/direct_sound_samples/cries/aggron_mega.aif b/sound/direct_sound_samples/cries/aggron_mega.aif index 0e1778509fa1..6772bdd5ee80 100644 Binary files a/sound/direct_sound_samples/cries/aggron_mega.aif and b/sound/direct_sound_samples/cries/aggron_mega.aif differ diff --git a/sound/direct_sound_samples/cries/aipom.aif b/sound/direct_sound_samples/cries/aipom.aif index c1e643890b27..e40107f78709 100644 Binary files a/sound/direct_sound_samples/cries/aipom.aif and b/sound/direct_sound_samples/cries/aipom.aif differ diff --git a/sound/direct_sound_samples/cries/alakazam.aif b/sound/direct_sound_samples/cries/alakazam.aif index 4ecfcf5fc78e..d6b0126112a5 100644 Binary files a/sound/direct_sound_samples/cries/alakazam.aif and b/sound/direct_sound_samples/cries/alakazam.aif differ diff --git a/sound/direct_sound_samples/cries/alomomola.aif b/sound/direct_sound_samples/cries/alomomola.aif index 8f9ee13a3b58..2e47a4083ae5 100644 Binary files a/sound/direct_sound_samples/cries/alomomola.aif and b/sound/direct_sound_samples/cries/alomomola.aif differ diff --git a/sound/direct_sound_samples/cries/altaria.aif b/sound/direct_sound_samples/cries/altaria.aif index f59364a9cd5b..0aa89c8fcba7 100644 Binary files a/sound/direct_sound_samples/cries/altaria.aif and b/sound/direct_sound_samples/cries/altaria.aif differ diff --git a/sound/direct_sound_samples/cries/amaura.aif b/sound/direct_sound_samples/cries/amaura.aif index 291567cb8974..813fcadddede 100644 Binary files a/sound/direct_sound_samples/cries/amaura.aif and b/sound/direct_sound_samples/cries/amaura.aif differ diff --git a/sound/direct_sound_samples/cries/ambipom.aif b/sound/direct_sound_samples/cries/ambipom.aif index 77f2e45e8c93..a767329e07ed 100644 Binary files a/sound/direct_sound_samples/cries/ambipom.aif and b/sound/direct_sound_samples/cries/ambipom.aif differ diff --git a/sound/direct_sound_samples/cries/amoonguss.aif b/sound/direct_sound_samples/cries/amoonguss.aif index ddc8c6114b4a..d476e670bd61 100644 Binary files a/sound/direct_sound_samples/cries/amoonguss.aif and b/sound/direct_sound_samples/cries/amoonguss.aif differ diff --git a/sound/direct_sound_samples/cries/ampharos.aif b/sound/direct_sound_samples/cries/ampharos.aif index 3c41f7634d15..7eed0aa9f6b9 100644 Binary files a/sound/direct_sound_samples/cries/ampharos.aif and b/sound/direct_sound_samples/cries/ampharos.aif differ diff --git a/sound/direct_sound_samples/cries/anorith.aif b/sound/direct_sound_samples/cries/anorith.aif index cb0d37b581e0..ac6c774e5da6 100644 Binary files a/sound/direct_sound_samples/cries/anorith.aif and b/sound/direct_sound_samples/cries/anorith.aif differ diff --git a/sound/direct_sound_samples/cries/applin.aif b/sound/direct_sound_samples/cries/applin.aif index 828eeaeafada..9e9a1de275d0 100644 Binary files a/sound/direct_sound_samples/cries/applin.aif and b/sound/direct_sound_samples/cries/applin.aif differ diff --git a/sound/direct_sound_samples/cries/araquanid.aif b/sound/direct_sound_samples/cries/araquanid.aif index 0efccf6a4e8d..86aac62b8002 100644 Binary files a/sound/direct_sound_samples/cries/araquanid.aif and b/sound/direct_sound_samples/cries/araquanid.aif differ diff --git a/sound/direct_sound_samples/cries/arbok.aif b/sound/direct_sound_samples/cries/arbok.aif index 0e7b0b964402..0be4b7e62464 100644 Binary files a/sound/direct_sound_samples/cries/arbok.aif and b/sound/direct_sound_samples/cries/arbok.aif differ diff --git a/sound/direct_sound_samples/cries/arboliva.aif b/sound/direct_sound_samples/cries/arboliva.aif index 1b73da2ec97c..641491ff0e89 100644 Binary files a/sound/direct_sound_samples/cries/arboliva.aif and b/sound/direct_sound_samples/cries/arboliva.aif differ diff --git a/sound/direct_sound_samples/cries/arcanine.aif b/sound/direct_sound_samples/cries/arcanine.aif index 17a7b3c6bbdf..cdc942c49ab2 100644 Binary files a/sound/direct_sound_samples/cries/arcanine.aif and b/sound/direct_sound_samples/cries/arcanine.aif differ diff --git a/sound/direct_sound_samples/cries/arceus.aif b/sound/direct_sound_samples/cries/arceus.aif index 5db8a3c27a9d..8496de2a173b 100644 Binary files a/sound/direct_sound_samples/cries/arceus.aif and b/sound/direct_sound_samples/cries/arceus.aif differ diff --git a/sound/direct_sound_samples/cries/archaludon.aif b/sound/direct_sound_samples/cries/archaludon.aif index 8fbf45fdec71..470afe8348a9 100644 Binary files a/sound/direct_sound_samples/cries/archaludon.aif and b/sound/direct_sound_samples/cries/archaludon.aif differ diff --git a/sound/direct_sound_samples/cries/archen.aif b/sound/direct_sound_samples/cries/archen.aif index fd5b7729b2a1..b1b2be3eadcc 100644 Binary files a/sound/direct_sound_samples/cries/archen.aif and b/sound/direct_sound_samples/cries/archen.aif differ diff --git a/sound/direct_sound_samples/cries/archeops.aif b/sound/direct_sound_samples/cries/archeops.aif index 7b65583da9b3..6555f0ce3a39 100644 Binary files a/sound/direct_sound_samples/cries/archeops.aif and b/sound/direct_sound_samples/cries/archeops.aif differ diff --git a/sound/direct_sound_samples/cries/arctibax.aif b/sound/direct_sound_samples/cries/arctibax.aif index e0b31b19aba6..a18bc7808104 100644 Binary files a/sound/direct_sound_samples/cries/arctibax.aif and b/sound/direct_sound_samples/cries/arctibax.aif differ diff --git a/sound/direct_sound_samples/cries/arctovish.aif b/sound/direct_sound_samples/cries/arctovish.aif index 02d83dbb553e..281c88f8d322 100644 Binary files a/sound/direct_sound_samples/cries/arctovish.aif and b/sound/direct_sound_samples/cries/arctovish.aif differ diff --git a/sound/direct_sound_samples/cries/ariados.aif b/sound/direct_sound_samples/cries/ariados.aif index de9057b45be9..343879d70a28 100644 Binary files a/sound/direct_sound_samples/cries/ariados.aif and b/sound/direct_sound_samples/cries/ariados.aif differ diff --git a/sound/direct_sound_samples/cries/armaldo.aif b/sound/direct_sound_samples/cries/armaldo.aif index 574a3d7539aa..23add2fec8dd 100644 Binary files a/sound/direct_sound_samples/cries/armaldo.aif and b/sound/direct_sound_samples/cries/armaldo.aif differ diff --git a/sound/direct_sound_samples/cries/aromatisse.aif b/sound/direct_sound_samples/cries/aromatisse.aif index 3e8da86c5bef..4880d14946b0 100644 Binary files a/sound/direct_sound_samples/cries/aromatisse.aif and b/sound/direct_sound_samples/cries/aromatisse.aif differ diff --git a/sound/direct_sound_samples/cries/aron.aif b/sound/direct_sound_samples/cries/aron.aif index da82823e24a2..d246b4c22b04 100644 Binary files a/sound/direct_sound_samples/cries/aron.aif and b/sound/direct_sound_samples/cries/aron.aif differ diff --git a/sound/direct_sound_samples/cries/articuno.aif b/sound/direct_sound_samples/cries/articuno.aif index e3975a17caf6..212114537f43 100644 Binary files a/sound/direct_sound_samples/cries/articuno.aif and b/sound/direct_sound_samples/cries/articuno.aif differ diff --git a/sound/direct_sound_samples/cries/audino.aif b/sound/direct_sound_samples/cries/audino.aif index 7430d0b6801b..873d4c947b91 100644 Binary files a/sound/direct_sound_samples/cries/audino.aif and b/sound/direct_sound_samples/cries/audino.aif differ diff --git a/sound/direct_sound_samples/cries/aurorus.aif b/sound/direct_sound_samples/cries/aurorus.aif index f396174ad29b..9483e1b6371b 100644 Binary files a/sound/direct_sound_samples/cries/aurorus.aif and b/sound/direct_sound_samples/cries/aurorus.aif differ diff --git a/sound/direct_sound_samples/cries/avalugg.aif b/sound/direct_sound_samples/cries/avalugg.aif index 7fa8af72cf26..95c9d7a1749e 100644 Binary files a/sound/direct_sound_samples/cries/avalugg.aif and b/sound/direct_sound_samples/cries/avalugg.aif differ diff --git a/sound/direct_sound_samples/cries/axew.aif b/sound/direct_sound_samples/cries/axew.aif index 1dbe950c3839..f642085f67d9 100644 Binary files a/sound/direct_sound_samples/cries/axew.aif and b/sound/direct_sound_samples/cries/axew.aif differ diff --git a/sound/direct_sound_samples/cries/azelf.aif b/sound/direct_sound_samples/cries/azelf.aif index 79761d6102c3..ad2e96c8f9bf 100644 Binary files a/sound/direct_sound_samples/cries/azelf.aif and b/sound/direct_sound_samples/cries/azelf.aif differ diff --git a/sound/direct_sound_samples/cries/azumarill.aif b/sound/direct_sound_samples/cries/azumarill.aif index 5d4d994f76d8..99a497e20569 100644 Binary files a/sound/direct_sound_samples/cries/azumarill.aif and b/sound/direct_sound_samples/cries/azumarill.aif differ diff --git a/sound/direct_sound_samples/cries/azurill.aif b/sound/direct_sound_samples/cries/azurill.aif index 538001ec41a2..401385cafb59 100644 Binary files a/sound/direct_sound_samples/cries/azurill.aif and b/sound/direct_sound_samples/cries/azurill.aif differ diff --git a/sound/direct_sound_samples/cries/bagon.aif b/sound/direct_sound_samples/cries/bagon.aif index 76ec8243ad9f..f7c5c3b59e02 100644 Binary files a/sound/direct_sound_samples/cries/bagon.aif and b/sound/direct_sound_samples/cries/bagon.aif differ diff --git a/sound/direct_sound_samples/cries/baltoy.aif b/sound/direct_sound_samples/cries/baltoy.aif index 9c9771924d27..7900eb1d64c2 100644 Binary files a/sound/direct_sound_samples/cries/baltoy.aif and b/sound/direct_sound_samples/cries/baltoy.aif differ diff --git a/sound/direct_sound_samples/cries/banette.aif b/sound/direct_sound_samples/cries/banette.aif index e00d6a0ac6a2..587b307e27ec 100644 Binary files a/sound/direct_sound_samples/cries/banette.aif and b/sound/direct_sound_samples/cries/banette.aif differ diff --git a/sound/direct_sound_samples/cries/barbaracle.aif b/sound/direct_sound_samples/cries/barbaracle.aif index 9effada12344..3f724127bddc 100644 Binary files a/sound/direct_sound_samples/cries/barbaracle.aif and b/sound/direct_sound_samples/cries/barbaracle.aif differ diff --git a/sound/direct_sound_samples/cries/barboach.aif b/sound/direct_sound_samples/cries/barboach.aif index 0f1a355befa3..926e7fc05002 100644 Binary files a/sound/direct_sound_samples/cries/barboach.aif and b/sound/direct_sound_samples/cries/barboach.aif differ diff --git a/sound/direct_sound_samples/cries/basculegion.aif b/sound/direct_sound_samples/cries/basculegion.aif index 80551d79043f..28a8349a5109 100644 Binary files a/sound/direct_sound_samples/cries/basculegion.aif and b/sound/direct_sound_samples/cries/basculegion.aif differ diff --git a/sound/direct_sound_samples/cries/basculin.aif b/sound/direct_sound_samples/cries/basculin.aif index cb2184d82d76..dfa6db25f1c1 100644 Binary files a/sound/direct_sound_samples/cries/basculin.aif and b/sound/direct_sound_samples/cries/basculin.aif differ diff --git a/sound/direct_sound_samples/cries/bastiodon.aif b/sound/direct_sound_samples/cries/bastiodon.aif index 9c87d2e589d5..5f5646f7879d 100644 Binary files a/sound/direct_sound_samples/cries/bastiodon.aif and b/sound/direct_sound_samples/cries/bastiodon.aif differ diff --git a/sound/direct_sound_samples/cries/bayleef.aif b/sound/direct_sound_samples/cries/bayleef.aif index b1ff0088de09..1b38f322a945 100644 Binary files a/sound/direct_sound_samples/cries/bayleef.aif and b/sound/direct_sound_samples/cries/bayleef.aif differ diff --git a/sound/direct_sound_samples/cries/beartic.aif b/sound/direct_sound_samples/cries/beartic.aif index 45d1e8bc5ee3..1c7635357ab4 100644 Binary files a/sound/direct_sound_samples/cries/beartic.aif and b/sound/direct_sound_samples/cries/beartic.aif differ diff --git a/sound/direct_sound_samples/cries/beautifly.aif b/sound/direct_sound_samples/cries/beautifly.aif index be81439f169d..5b31f73c3166 100644 Binary files a/sound/direct_sound_samples/cries/beautifly.aif and b/sound/direct_sound_samples/cries/beautifly.aif differ diff --git a/sound/direct_sound_samples/cries/beedrill.aif b/sound/direct_sound_samples/cries/beedrill.aif index 0a31a19743e2..888e1e637dec 100644 Binary files a/sound/direct_sound_samples/cries/beedrill.aif and b/sound/direct_sound_samples/cries/beedrill.aif differ diff --git a/sound/direct_sound_samples/cries/beedrill_mega.aif b/sound/direct_sound_samples/cries/beedrill_mega.aif index 8072fef185be..cea7ca52d569 100644 Binary files a/sound/direct_sound_samples/cries/beedrill_mega.aif and b/sound/direct_sound_samples/cries/beedrill_mega.aif differ diff --git a/sound/direct_sound_samples/cries/beheeyem.aif b/sound/direct_sound_samples/cries/beheeyem.aif index 3ddec74ab6a7..fb7ce7067721 100644 Binary files a/sound/direct_sound_samples/cries/beheeyem.aif and b/sound/direct_sound_samples/cries/beheeyem.aif differ diff --git a/sound/direct_sound_samples/cries/beldum.aif b/sound/direct_sound_samples/cries/beldum.aif index 7b7b10c2e06e..626f94fc1c5c 100644 Binary files a/sound/direct_sound_samples/cries/beldum.aif and b/sound/direct_sound_samples/cries/beldum.aif differ diff --git a/sound/direct_sound_samples/cries/bellossom.aif b/sound/direct_sound_samples/cries/bellossom.aif index 06ba8737428c..ffe452fc5a8f 100644 Binary files a/sound/direct_sound_samples/cries/bellossom.aif and b/sound/direct_sound_samples/cries/bellossom.aif differ diff --git a/sound/direct_sound_samples/cries/bellsprout.aif b/sound/direct_sound_samples/cries/bellsprout.aif index b47ef6023f0a..40e12f8e8b63 100644 Binary files a/sound/direct_sound_samples/cries/bellsprout.aif and b/sound/direct_sound_samples/cries/bellsprout.aif differ diff --git a/sound/direct_sound_samples/cries/bergmite.aif b/sound/direct_sound_samples/cries/bergmite.aif index 199ccc2fa0eb..9dbcb7dd0884 100644 Binary files a/sound/direct_sound_samples/cries/bergmite.aif and b/sound/direct_sound_samples/cries/bergmite.aif differ diff --git a/sound/direct_sound_samples/cries/bewear.aif b/sound/direct_sound_samples/cries/bewear.aif index baada6e00de0..00979e4542a7 100644 Binary files a/sound/direct_sound_samples/cries/bewear.aif and b/sound/direct_sound_samples/cries/bewear.aif differ diff --git a/sound/direct_sound_samples/cries/bibarel.aif b/sound/direct_sound_samples/cries/bibarel.aif index 2c7ea81bbb35..64b3f5e0ec94 100644 Binary files a/sound/direct_sound_samples/cries/bibarel.aif and b/sound/direct_sound_samples/cries/bibarel.aif differ diff --git a/sound/direct_sound_samples/cries/bidoof.aif b/sound/direct_sound_samples/cries/bidoof.aif index d61765511f93..4da8f32adede 100644 Binary files a/sound/direct_sound_samples/cries/bidoof.aif and b/sound/direct_sound_samples/cries/bidoof.aif differ diff --git a/sound/direct_sound_samples/cries/binacle.aif b/sound/direct_sound_samples/cries/binacle.aif index 3694f34dde17..168952c84bdb 100644 Binary files a/sound/direct_sound_samples/cries/binacle.aif and b/sound/direct_sound_samples/cries/binacle.aif differ diff --git a/sound/direct_sound_samples/cries/bisharp.aif b/sound/direct_sound_samples/cries/bisharp.aif index edbcc7b296e7..dd1d4c4229da 100644 Binary files a/sound/direct_sound_samples/cries/bisharp.aif and b/sound/direct_sound_samples/cries/bisharp.aif differ diff --git a/sound/direct_sound_samples/cries/blacephalon.aif b/sound/direct_sound_samples/cries/blacephalon.aif index 9cacb4f71ea8..f1308e13449c 100644 Binary files a/sound/direct_sound_samples/cries/blacephalon.aif and b/sound/direct_sound_samples/cries/blacephalon.aif differ diff --git a/sound/direct_sound_samples/cries/blastoise.aif b/sound/direct_sound_samples/cries/blastoise.aif index ed03bd447c27..c3ae9294f243 100644 Binary files a/sound/direct_sound_samples/cries/blastoise.aif and b/sound/direct_sound_samples/cries/blastoise.aif differ diff --git a/sound/direct_sound_samples/cries/blaziken.aif b/sound/direct_sound_samples/cries/blaziken.aif index b316a85658b6..fa8a46ba9c24 100644 Binary files a/sound/direct_sound_samples/cries/blaziken.aif and b/sound/direct_sound_samples/cries/blaziken.aif differ diff --git a/sound/direct_sound_samples/cries/blissey.aif b/sound/direct_sound_samples/cries/blissey.aif index 58d3b926c957..6cb483ae72bf 100644 Binary files a/sound/direct_sound_samples/cries/blissey.aif and b/sound/direct_sound_samples/cries/blissey.aif differ diff --git a/sound/direct_sound_samples/cries/blitzle.aif b/sound/direct_sound_samples/cries/blitzle.aif index 40e4672af7cc..d730da670f2c 100644 Binary files a/sound/direct_sound_samples/cries/blitzle.aif and b/sound/direct_sound_samples/cries/blitzle.aif differ diff --git a/sound/direct_sound_samples/cries/boldore.aif b/sound/direct_sound_samples/cries/boldore.aif index 436cb1219f69..9dbee0011504 100644 Binary files a/sound/direct_sound_samples/cries/boldore.aif and b/sound/direct_sound_samples/cries/boldore.aif differ diff --git a/sound/direct_sound_samples/cries/bonsly.aif b/sound/direct_sound_samples/cries/bonsly.aif index 251865909cc8..15bd56f23270 100644 Binary files a/sound/direct_sound_samples/cries/bonsly.aif and b/sound/direct_sound_samples/cries/bonsly.aif differ diff --git a/sound/direct_sound_samples/cries/bouffalant.aif b/sound/direct_sound_samples/cries/bouffalant.aif index fbca85e639f4..e9502a94b655 100644 Binary files a/sound/direct_sound_samples/cries/bouffalant.aif and b/sound/direct_sound_samples/cries/bouffalant.aif differ diff --git a/sound/direct_sound_samples/cries/bounsweet.aif b/sound/direct_sound_samples/cries/bounsweet.aif index 3054997d7ff5..b1d21fb39072 100644 Binary files a/sound/direct_sound_samples/cries/bounsweet.aif and b/sound/direct_sound_samples/cries/bounsweet.aif differ diff --git a/sound/direct_sound_samples/cries/braixen.aif b/sound/direct_sound_samples/cries/braixen.aif index bf1cae32f1bc..d5d9e800b076 100644 Binary files a/sound/direct_sound_samples/cries/braixen.aif and b/sound/direct_sound_samples/cries/braixen.aif differ diff --git a/sound/direct_sound_samples/cries/bramblin.aif b/sound/direct_sound_samples/cries/bramblin.aif index 0c8a4a5dab92..b55e43fe77ad 100644 Binary files a/sound/direct_sound_samples/cries/bramblin.aif and b/sound/direct_sound_samples/cries/bramblin.aif differ diff --git a/sound/direct_sound_samples/cries/braviary.aif b/sound/direct_sound_samples/cries/braviary.aif index 8c20dd2b73e6..0cf3fc403ef3 100644 Binary files a/sound/direct_sound_samples/cries/braviary.aif and b/sound/direct_sound_samples/cries/braviary.aif differ diff --git a/sound/direct_sound_samples/cries/breloom.aif b/sound/direct_sound_samples/cries/breloom.aif index 2f549c4e6c0a..aa6e22f1b916 100644 Binary files a/sound/direct_sound_samples/cries/breloom.aif and b/sound/direct_sound_samples/cries/breloom.aif differ diff --git a/sound/direct_sound_samples/cries/brionne.aif b/sound/direct_sound_samples/cries/brionne.aif index 76e37dddfcbe..ac026ada8824 100644 Binary files a/sound/direct_sound_samples/cries/brionne.aif and b/sound/direct_sound_samples/cries/brionne.aif differ diff --git a/sound/direct_sound_samples/cries/bronzong.aif b/sound/direct_sound_samples/cries/bronzong.aif index 16e171e4f8f2..628ec30895c3 100644 Binary files a/sound/direct_sound_samples/cries/bronzong.aif and b/sound/direct_sound_samples/cries/bronzong.aif differ diff --git a/sound/direct_sound_samples/cries/bronzor.aif b/sound/direct_sound_samples/cries/bronzor.aif index f9007186b071..857bef1056e7 100644 Binary files a/sound/direct_sound_samples/cries/bronzor.aif and b/sound/direct_sound_samples/cries/bronzor.aif differ diff --git a/sound/direct_sound_samples/cries/bruxish.aif b/sound/direct_sound_samples/cries/bruxish.aif index 30a281d4ccf1..f725043bc712 100644 Binary files a/sound/direct_sound_samples/cries/bruxish.aif and b/sound/direct_sound_samples/cries/bruxish.aif differ diff --git a/sound/direct_sound_samples/cries/budew.aif b/sound/direct_sound_samples/cries/budew.aif index 82e036502d37..bebc52a8dfeb 100644 Binary files a/sound/direct_sound_samples/cries/budew.aif and b/sound/direct_sound_samples/cries/budew.aif differ diff --git a/sound/direct_sound_samples/cries/buizel.aif b/sound/direct_sound_samples/cries/buizel.aif index 910a6b14553f..b138be7a4f36 100644 Binary files a/sound/direct_sound_samples/cries/buizel.aif and b/sound/direct_sound_samples/cries/buizel.aif differ diff --git a/sound/direct_sound_samples/cries/bulbasaur.aif b/sound/direct_sound_samples/cries/bulbasaur.aif index bc49f1617ddf..cff5d718b311 100644 Binary files a/sound/direct_sound_samples/cries/bulbasaur.aif and b/sound/direct_sound_samples/cries/bulbasaur.aif differ diff --git a/sound/direct_sound_samples/cries/buneary.aif b/sound/direct_sound_samples/cries/buneary.aif index 5ce292967606..f02bf1b46560 100644 Binary files a/sound/direct_sound_samples/cries/buneary.aif and b/sound/direct_sound_samples/cries/buneary.aif differ diff --git a/sound/direct_sound_samples/cries/bunnelby.aif b/sound/direct_sound_samples/cries/bunnelby.aif index 22001a64e7d9..7588776e93be 100644 Binary files a/sound/direct_sound_samples/cries/bunnelby.aif and b/sound/direct_sound_samples/cries/bunnelby.aif differ diff --git a/sound/direct_sound_samples/cries/burmy.aif b/sound/direct_sound_samples/cries/burmy.aif index ea15d0c71a32..80478166f5e3 100644 Binary files a/sound/direct_sound_samples/cries/burmy.aif and b/sound/direct_sound_samples/cries/burmy.aif differ diff --git a/sound/direct_sound_samples/cries/butterfree.aif b/sound/direct_sound_samples/cries/butterfree.aif index 1ce2383467e9..e59865ae5af7 100644 Binary files a/sound/direct_sound_samples/cries/butterfree.aif and b/sound/direct_sound_samples/cries/butterfree.aif differ diff --git a/sound/direct_sound_samples/cries/buzzwole.aif b/sound/direct_sound_samples/cries/buzzwole.aif index 239b8fa0f246..242edabdce22 100644 Binary files a/sound/direct_sound_samples/cries/buzzwole.aif and b/sound/direct_sound_samples/cries/buzzwole.aif differ diff --git a/sound/direct_sound_samples/cries/cacnea.aif b/sound/direct_sound_samples/cries/cacnea.aif index ece82d34c012..4d1771b18df1 100644 Binary files a/sound/direct_sound_samples/cries/cacnea.aif and b/sound/direct_sound_samples/cries/cacnea.aif differ diff --git a/sound/direct_sound_samples/cries/cacturne.aif b/sound/direct_sound_samples/cries/cacturne.aif index 76e8f3aa9672..d81f86d9fc9d 100644 Binary files a/sound/direct_sound_samples/cries/cacturne.aif and b/sound/direct_sound_samples/cries/cacturne.aif differ diff --git a/sound/direct_sound_samples/cries/calyrex.aif b/sound/direct_sound_samples/cries/calyrex.aif index 895f37d41e16..59c41a4fdb76 100644 Binary files a/sound/direct_sound_samples/cries/calyrex.aif and b/sound/direct_sound_samples/cries/calyrex.aif differ diff --git a/sound/direct_sound_samples/cries/calyrex_ice_rider.aif b/sound/direct_sound_samples/cries/calyrex_ice_rider.aif index 2a278279084b..a6be291e1dc0 100644 Binary files a/sound/direct_sound_samples/cries/calyrex_ice_rider.aif and b/sound/direct_sound_samples/cries/calyrex_ice_rider.aif differ diff --git a/sound/direct_sound_samples/cries/calyrex_shadow_rider.aif b/sound/direct_sound_samples/cries/calyrex_shadow_rider.aif index 07cc384332f9..2d3c43d978bb 100644 Binary files a/sound/direct_sound_samples/cries/calyrex_shadow_rider.aif and b/sound/direct_sound_samples/cries/calyrex_shadow_rider.aif differ diff --git a/sound/direct_sound_samples/cries/camerupt.aif b/sound/direct_sound_samples/cries/camerupt.aif index f47ce498e515..82a7f237cf07 100644 Binary files a/sound/direct_sound_samples/cries/camerupt.aif and b/sound/direct_sound_samples/cries/camerupt.aif differ diff --git a/sound/direct_sound_samples/cries/capsakid.aif b/sound/direct_sound_samples/cries/capsakid.aif index 7a906ead56f9..a93a531cdb0c 100644 Binary files a/sound/direct_sound_samples/cries/capsakid.aif and b/sound/direct_sound_samples/cries/capsakid.aif differ diff --git a/sound/direct_sound_samples/cries/carbink.aif b/sound/direct_sound_samples/cries/carbink.aif index 79a934fcdc7e..dfdc907bd7b0 100644 Binary files a/sound/direct_sound_samples/cries/carbink.aif and b/sound/direct_sound_samples/cries/carbink.aif differ diff --git a/sound/direct_sound_samples/cries/carnivine.aif b/sound/direct_sound_samples/cries/carnivine.aif index edc8bb049ffb..491e846a1a44 100644 Binary files a/sound/direct_sound_samples/cries/carnivine.aif and b/sound/direct_sound_samples/cries/carnivine.aif differ diff --git a/sound/direct_sound_samples/cries/carracosta.aif b/sound/direct_sound_samples/cries/carracosta.aif index dc379b5fab25..f75692c3a132 100644 Binary files a/sound/direct_sound_samples/cries/carracosta.aif and b/sound/direct_sound_samples/cries/carracosta.aif differ diff --git a/sound/direct_sound_samples/cries/carvanha.aif b/sound/direct_sound_samples/cries/carvanha.aif index 8ae11271db6c..2c0a6a5d8ccc 100644 Binary files a/sound/direct_sound_samples/cries/carvanha.aif and b/sound/direct_sound_samples/cries/carvanha.aif differ diff --git a/sound/direct_sound_samples/cries/cascoon.aif b/sound/direct_sound_samples/cries/cascoon.aif index 3390ff0dbf1a..a256131caff5 100644 Binary files a/sound/direct_sound_samples/cries/cascoon.aif and b/sound/direct_sound_samples/cries/cascoon.aif differ diff --git a/sound/direct_sound_samples/cries/castform.aif b/sound/direct_sound_samples/cries/castform.aif index 23c0c39b5d2a..4fce6e5075e8 100644 Binary files a/sound/direct_sound_samples/cries/castform.aif and b/sound/direct_sound_samples/cries/castform.aif differ diff --git a/sound/direct_sound_samples/cries/caterpie.aif b/sound/direct_sound_samples/cries/caterpie.aif index c3b599d7d442..4ce12c5fb7d8 100644 Binary files a/sound/direct_sound_samples/cries/caterpie.aif and b/sound/direct_sound_samples/cries/caterpie.aif differ diff --git a/sound/direct_sound_samples/cries/celebi.aif b/sound/direct_sound_samples/cries/celebi.aif index 068046dbe17b..df1c4cd19504 100644 Binary files a/sound/direct_sound_samples/cries/celebi.aif and b/sound/direct_sound_samples/cries/celebi.aif differ diff --git a/sound/direct_sound_samples/cries/celesteela.aif b/sound/direct_sound_samples/cries/celesteela.aif index f09fe03c3024..acab333235df 100644 Binary files a/sound/direct_sound_samples/cries/celesteela.aif and b/sound/direct_sound_samples/cries/celesteela.aif differ diff --git a/sound/direct_sound_samples/cries/ceruledge.aif b/sound/direct_sound_samples/cries/ceruledge.aif index 86048249dd20..de4b1bb7c89d 100644 Binary files a/sound/direct_sound_samples/cries/ceruledge.aif and b/sound/direct_sound_samples/cries/ceruledge.aif differ diff --git a/sound/direct_sound_samples/cries/chandelure.aif b/sound/direct_sound_samples/cries/chandelure.aif index de25ee852e65..29cd52e1c1fd 100644 Binary files a/sound/direct_sound_samples/cries/chandelure.aif and b/sound/direct_sound_samples/cries/chandelure.aif differ diff --git a/sound/direct_sound_samples/cries/chansey.aif b/sound/direct_sound_samples/cries/chansey.aif index b641fd3a9404..b6a8a2902038 100644 Binary files a/sound/direct_sound_samples/cries/chansey.aif and b/sound/direct_sound_samples/cries/chansey.aif differ diff --git a/sound/direct_sound_samples/cries/charizard.aif b/sound/direct_sound_samples/cries/charizard.aif index 36e10511a254..cc5f2bdd33f8 100644 Binary files a/sound/direct_sound_samples/cries/charizard.aif and b/sound/direct_sound_samples/cries/charizard.aif differ diff --git a/sound/direct_sound_samples/cries/charizard_mega_x.aif b/sound/direct_sound_samples/cries/charizard_mega_x.aif index 5f88d123554e..f9c0f7659752 100644 Binary files a/sound/direct_sound_samples/cries/charizard_mega_x.aif and b/sound/direct_sound_samples/cries/charizard_mega_x.aif differ diff --git a/sound/direct_sound_samples/cries/charizard_mega_y.aif b/sound/direct_sound_samples/cries/charizard_mega_y.aif index e04d518ee1ef..2cf5b3ea7fc6 100644 Binary files a/sound/direct_sound_samples/cries/charizard_mega_y.aif and b/sound/direct_sound_samples/cries/charizard_mega_y.aif differ diff --git a/sound/direct_sound_samples/cries/charjabug.aif b/sound/direct_sound_samples/cries/charjabug.aif index 6bf60778c4b8..ed5bd7d88be8 100644 Binary files a/sound/direct_sound_samples/cries/charjabug.aif and b/sound/direct_sound_samples/cries/charjabug.aif differ diff --git a/sound/direct_sound_samples/cries/charmander.aif b/sound/direct_sound_samples/cries/charmander.aif index 3c96777b6a31..dda65af54992 100644 Binary files a/sound/direct_sound_samples/cries/charmander.aif and b/sound/direct_sound_samples/cries/charmander.aif differ diff --git a/sound/direct_sound_samples/cries/charmeleon.aif b/sound/direct_sound_samples/cries/charmeleon.aif index 0cf2f47a1baf..9a9a14e3bb81 100644 Binary files a/sound/direct_sound_samples/cries/charmeleon.aif and b/sound/direct_sound_samples/cries/charmeleon.aif differ diff --git a/sound/direct_sound_samples/cries/chatot.aif b/sound/direct_sound_samples/cries/chatot.aif index 6dc58e519cfb..62a961a82f4e 100644 Binary files a/sound/direct_sound_samples/cries/chatot.aif and b/sound/direct_sound_samples/cries/chatot.aif differ diff --git a/sound/direct_sound_samples/cries/cherrim.aif b/sound/direct_sound_samples/cries/cherrim.aif index fee1212784aa..d70cf77b0228 100644 Binary files a/sound/direct_sound_samples/cries/cherrim.aif and b/sound/direct_sound_samples/cries/cherrim.aif differ diff --git a/sound/direct_sound_samples/cries/cherubi.aif b/sound/direct_sound_samples/cries/cherubi.aif index 02fd6d6dd089..703c1d5f8b81 100644 Binary files a/sound/direct_sound_samples/cries/cherubi.aif and b/sound/direct_sound_samples/cries/cherubi.aif differ diff --git a/sound/direct_sound_samples/cries/chesnaught.aif b/sound/direct_sound_samples/cries/chesnaught.aif index aea55fe6927b..80cff836982e 100644 Binary files a/sound/direct_sound_samples/cries/chesnaught.aif and b/sound/direct_sound_samples/cries/chesnaught.aif differ diff --git a/sound/direct_sound_samples/cries/chespin.aif b/sound/direct_sound_samples/cries/chespin.aif index 2ee520a0e74f..48136a98a0d5 100644 Binary files a/sound/direct_sound_samples/cries/chespin.aif and b/sound/direct_sound_samples/cries/chespin.aif differ diff --git a/sound/direct_sound_samples/cries/chi_yu.aif b/sound/direct_sound_samples/cries/chi_yu.aif index 55ca0598b712..60131a9e4637 100644 Binary files a/sound/direct_sound_samples/cries/chi_yu.aif and b/sound/direct_sound_samples/cries/chi_yu.aif differ diff --git a/sound/direct_sound_samples/cries/chien_pao.aif b/sound/direct_sound_samples/cries/chien_pao.aif index 1e3d57388187..c598dac8d23d 100644 Binary files a/sound/direct_sound_samples/cries/chien_pao.aif and b/sound/direct_sound_samples/cries/chien_pao.aif differ diff --git a/sound/direct_sound_samples/cries/chikorita.aif b/sound/direct_sound_samples/cries/chikorita.aif index b5ccaf7cbfa9..63d5c9503373 100644 Binary files a/sound/direct_sound_samples/cries/chikorita.aif and b/sound/direct_sound_samples/cries/chikorita.aif differ diff --git a/sound/direct_sound_samples/cries/chimchar.aif b/sound/direct_sound_samples/cries/chimchar.aif index 95c90b6331a7..06514a4d9040 100644 Binary files a/sound/direct_sound_samples/cries/chimchar.aif and b/sound/direct_sound_samples/cries/chimchar.aif differ diff --git a/sound/direct_sound_samples/cries/chimecho.aif b/sound/direct_sound_samples/cries/chimecho.aif index b7aacc8bf3c3..7b2b45fac202 100644 Binary files a/sound/direct_sound_samples/cries/chimecho.aif and b/sound/direct_sound_samples/cries/chimecho.aif differ diff --git a/sound/direct_sound_samples/cries/chinchou.aif b/sound/direct_sound_samples/cries/chinchou.aif index 889cea6c2294..846df5079cde 100644 Binary files a/sound/direct_sound_samples/cries/chinchou.aif and b/sound/direct_sound_samples/cries/chinchou.aif differ diff --git a/sound/direct_sound_samples/cries/chingling.aif b/sound/direct_sound_samples/cries/chingling.aif index 8154abc5caeb..dd3b00915b2b 100644 Binary files a/sound/direct_sound_samples/cries/chingling.aif and b/sound/direct_sound_samples/cries/chingling.aif differ diff --git a/sound/direct_sound_samples/cries/cinccino.aif b/sound/direct_sound_samples/cries/cinccino.aif index b4df2ea07673..6205aaf2b07b 100644 Binary files a/sound/direct_sound_samples/cries/cinccino.aif and b/sound/direct_sound_samples/cries/cinccino.aif differ diff --git a/sound/direct_sound_samples/cries/clamperl.aif b/sound/direct_sound_samples/cries/clamperl.aif index 9046fa0c2ced..186a1f9b408d 100644 Binary files a/sound/direct_sound_samples/cries/clamperl.aif and b/sound/direct_sound_samples/cries/clamperl.aif differ diff --git a/sound/direct_sound_samples/cries/clauncher.aif b/sound/direct_sound_samples/cries/clauncher.aif index b05ec5db787a..ab9cbf9ce1bb 100644 Binary files a/sound/direct_sound_samples/cries/clauncher.aif and b/sound/direct_sound_samples/cries/clauncher.aif differ diff --git a/sound/direct_sound_samples/cries/clawitzer.aif b/sound/direct_sound_samples/cries/clawitzer.aif index f6c209edd15e..bd14270c3821 100644 Binary files a/sound/direct_sound_samples/cries/clawitzer.aif and b/sound/direct_sound_samples/cries/clawitzer.aif differ diff --git a/sound/direct_sound_samples/cries/claydol.aif b/sound/direct_sound_samples/cries/claydol.aif index 07cac57a7678..9da5f5bbb76b 100644 Binary files a/sound/direct_sound_samples/cries/claydol.aif and b/sound/direct_sound_samples/cries/claydol.aif differ diff --git a/sound/direct_sound_samples/cries/clefable.aif b/sound/direct_sound_samples/cries/clefable.aif index 8ebb7f340028..e04bf536ad3b 100644 Binary files a/sound/direct_sound_samples/cries/clefable.aif and b/sound/direct_sound_samples/cries/clefable.aif differ diff --git a/sound/direct_sound_samples/cries/clefairy.aif b/sound/direct_sound_samples/cries/clefairy.aif index eff944e76b1b..b38fa6e9d7d9 100644 Binary files a/sound/direct_sound_samples/cries/clefairy.aif and b/sound/direct_sound_samples/cries/clefairy.aif differ diff --git a/sound/direct_sound_samples/cries/cleffa.aif b/sound/direct_sound_samples/cries/cleffa.aif index c060d6bc16fc..e3243d0998de 100644 Binary files a/sound/direct_sound_samples/cries/cleffa.aif and b/sound/direct_sound_samples/cries/cleffa.aif differ diff --git a/sound/direct_sound_samples/cries/clobbopus.aif b/sound/direct_sound_samples/cries/clobbopus.aif index 886a5208be83..ebce642966d2 100644 Binary files a/sound/direct_sound_samples/cries/clobbopus.aif and b/sound/direct_sound_samples/cries/clobbopus.aif differ diff --git a/sound/direct_sound_samples/cries/clodsire.aif b/sound/direct_sound_samples/cries/clodsire.aif index bdbadd64fbaa..17aea97e46d9 100644 Binary files a/sound/direct_sound_samples/cries/clodsire.aif and b/sound/direct_sound_samples/cries/clodsire.aif differ diff --git a/sound/direct_sound_samples/cries/cloyster.aif b/sound/direct_sound_samples/cries/cloyster.aif index d93f93d8be44..b69d0478bf51 100644 Binary files a/sound/direct_sound_samples/cries/cloyster.aif and b/sound/direct_sound_samples/cries/cloyster.aif differ diff --git a/sound/direct_sound_samples/cries/cobalion.aif b/sound/direct_sound_samples/cries/cobalion.aif index e53ea9b030a7..4a21505b5b50 100644 Binary files a/sound/direct_sound_samples/cries/cobalion.aif and b/sound/direct_sound_samples/cries/cobalion.aif differ diff --git a/sound/direct_sound_samples/cries/cofagrigus.aif b/sound/direct_sound_samples/cries/cofagrigus.aif index 5c5c426e3713..6fbf1c16f87b 100644 Binary files a/sound/direct_sound_samples/cries/cofagrigus.aif and b/sound/direct_sound_samples/cries/cofagrigus.aif differ diff --git a/sound/direct_sound_samples/cries/combee.aif b/sound/direct_sound_samples/cries/combee.aif index d07abbb15cb1..6aaedb642d12 100644 Binary files a/sound/direct_sound_samples/cries/combee.aif and b/sound/direct_sound_samples/cries/combee.aif differ diff --git a/sound/direct_sound_samples/cries/combusken.aif b/sound/direct_sound_samples/cries/combusken.aif index 2f53b8f838f5..58707c30b8bb 100644 Binary files a/sound/direct_sound_samples/cries/combusken.aif and b/sound/direct_sound_samples/cries/combusken.aif differ diff --git a/sound/direct_sound_samples/cries/comfey.aif b/sound/direct_sound_samples/cries/comfey.aif index 8b07ec989105..cb91d0cbd72d 100644 Binary files a/sound/direct_sound_samples/cries/comfey.aif and b/sound/direct_sound_samples/cries/comfey.aif differ diff --git a/sound/direct_sound_samples/cries/conkeldurr.aif b/sound/direct_sound_samples/cries/conkeldurr.aif index 96e991d49393..09885ab2ef05 100644 Binary files a/sound/direct_sound_samples/cries/conkeldurr.aif and b/sound/direct_sound_samples/cries/conkeldurr.aif differ diff --git a/sound/direct_sound_samples/cries/corphish.aif b/sound/direct_sound_samples/cries/corphish.aif index 2605e1fd260f..9bc708e2fb41 100644 Binary files a/sound/direct_sound_samples/cries/corphish.aif and b/sound/direct_sound_samples/cries/corphish.aif differ diff --git a/sound/direct_sound_samples/cries/corsola.aif b/sound/direct_sound_samples/cries/corsola.aif index 6eae55ea726e..087308d8fd9c 100644 Binary files a/sound/direct_sound_samples/cries/corsola.aif and b/sound/direct_sound_samples/cries/corsola.aif differ diff --git a/sound/direct_sound_samples/cries/corvisquire.aif b/sound/direct_sound_samples/cries/corvisquire.aif index 3c786aca4c27..a18e64c9c07d 100644 Binary files a/sound/direct_sound_samples/cries/corvisquire.aif and b/sound/direct_sound_samples/cries/corvisquire.aif differ diff --git a/sound/direct_sound_samples/cries/cosmoem.aif b/sound/direct_sound_samples/cries/cosmoem.aif index bd081f7c34b8..f2c8c0e2b49f 100644 Binary files a/sound/direct_sound_samples/cries/cosmoem.aif and b/sound/direct_sound_samples/cries/cosmoem.aif differ diff --git a/sound/direct_sound_samples/cries/cosmog.aif b/sound/direct_sound_samples/cries/cosmog.aif index 729d5e790ac1..deeb60b94d7c 100644 Binary files a/sound/direct_sound_samples/cries/cosmog.aif and b/sound/direct_sound_samples/cries/cosmog.aif differ diff --git a/sound/direct_sound_samples/cries/cottonee.aif b/sound/direct_sound_samples/cries/cottonee.aif index a459a62f726a..207ac9d12df9 100644 Binary files a/sound/direct_sound_samples/cries/cottonee.aif and b/sound/direct_sound_samples/cries/cottonee.aif differ diff --git a/sound/direct_sound_samples/cries/crabominable.aif b/sound/direct_sound_samples/cries/crabominable.aif index e83c4e1d5f06..1d6b3d4caf24 100644 Binary files a/sound/direct_sound_samples/cries/crabominable.aif and b/sound/direct_sound_samples/cries/crabominable.aif differ diff --git a/sound/direct_sound_samples/cries/crabrawler.aif b/sound/direct_sound_samples/cries/crabrawler.aif index c5014e239d7a..8c42fb18e57a 100644 Binary files a/sound/direct_sound_samples/cries/crabrawler.aif and b/sound/direct_sound_samples/cries/crabrawler.aif differ diff --git a/sound/direct_sound_samples/cries/cradily.aif b/sound/direct_sound_samples/cries/cradily.aif index 695f4c36fe84..3fa5e006f99d 100644 Binary files a/sound/direct_sound_samples/cries/cradily.aif and b/sound/direct_sound_samples/cries/cradily.aif differ diff --git a/sound/direct_sound_samples/cries/cranidos.aif b/sound/direct_sound_samples/cries/cranidos.aif index 4e0c32b7ad4f..dc67035a766a 100644 Binary files a/sound/direct_sound_samples/cries/cranidos.aif and b/sound/direct_sound_samples/cries/cranidos.aif differ diff --git a/sound/direct_sound_samples/cries/crawdaunt.aif b/sound/direct_sound_samples/cries/crawdaunt.aif index 091e34fbd5f9..7f8ee48bebf6 100644 Binary files a/sound/direct_sound_samples/cries/crawdaunt.aif and b/sound/direct_sound_samples/cries/crawdaunt.aif differ diff --git a/sound/direct_sound_samples/cries/cresselia.aif b/sound/direct_sound_samples/cries/cresselia.aif index e7f25b717dd8..5edd1b01948a 100644 Binary files a/sound/direct_sound_samples/cries/cresselia.aif and b/sound/direct_sound_samples/cries/cresselia.aif differ diff --git a/sound/direct_sound_samples/cries/croagunk.aif b/sound/direct_sound_samples/cries/croagunk.aif index 6ebc6cc8b179..c5d42a42bf25 100644 Binary files a/sound/direct_sound_samples/cries/croagunk.aif and b/sound/direct_sound_samples/cries/croagunk.aif differ diff --git a/sound/direct_sound_samples/cries/crobat.aif b/sound/direct_sound_samples/cries/crobat.aif index f3f458171c8a..956be378c7e0 100644 Binary files a/sound/direct_sound_samples/cries/crobat.aif and b/sound/direct_sound_samples/cries/crobat.aif differ diff --git a/sound/direct_sound_samples/cries/crocalor.aif b/sound/direct_sound_samples/cries/crocalor.aif index 897aaa860d83..9a622026df37 100644 Binary files a/sound/direct_sound_samples/cries/crocalor.aif and b/sound/direct_sound_samples/cries/crocalor.aif differ diff --git a/sound/direct_sound_samples/cries/croconaw.aif b/sound/direct_sound_samples/cries/croconaw.aif index 791eb366dee8..b72db75f3ffd 100644 Binary files a/sound/direct_sound_samples/cries/croconaw.aif and b/sound/direct_sound_samples/cries/croconaw.aif differ diff --git a/sound/direct_sound_samples/cries/crustle.aif b/sound/direct_sound_samples/cries/crustle.aif index 92cc8ec07ba0..62014a79c8e4 100644 Binary files a/sound/direct_sound_samples/cries/crustle.aif and b/sound/direct_sound_samples/cries/crustle.aif differ diff --git a/sound/direct_sound_samples/cries/cryogonal.aif b/sound/direct_sound_samples/cries/cryogonal.aif index 1f8255f7a0df..b2f551274ea8 100644 Binary files a/sound/direct_sound_samples/cries/cryogonal.aif and b/sound/direct_sound_samples/cries/cryogonal.aif differ diff --git a/sound/direct_sound_samples/cries/cubchoo.aif b/sound/direct_sound_samples/cries/cubchoo.aif index a4c7f2cf8ed7..e10ca5a0ccf6 100644 Binary files a/sound/direct_sound_samples/cries/cubchoo.aif and b/sound/direct_sound_samples/cries/cubchoo.aif differ diff --git a/sound/direct_sound_samples/cries/cubone.aif b/sound/direct_sound_samples/cries/cubone.aif index 2c00dd2ea5d4..1ebc283ef899 100644 Binary files a/sound/direct_sound_samples/cries/cubone.aif and b/sound/direct_sound_samples/cries/cubone.aif differ diff --git a/sound/direct_sound_samples/cries/cutiefly.aif b/sound/direct_sound_samples/cries/cutiefly.aif index f113d98a196f..61535bbdd8e4 100644 Binary files a/sound/direct_sound_samples/cries/cutiefly.aif and b/sound/direct_sound_samples/cries/cutiefly.aif differ diff --git a/sound/direct_sound_samples/cries/cyclizar.aif b/sound/direct_sound_samples/cries/cyclizar.aif index 1d145154ec4d..eb32c91d5994 100644 Binary files a/sound/direct_sound_samples/cries/cyclizar.aif and b/sound/direct_sound_samples/cries/cyclizar.aif differ diff --git a/sound/direct_sound_samples/cries/cyndaquil.aif b/sound/direct_sound_samples/cries/cyndaquil.aif index 4f0b5481f1b1..287c6496add7 100644 Binary files a/sound/direct_sound_samples/cries/cyndaquil.aif and b/sound/direct_sound_samples/cries/cyndaquil.aif differ diff --git a/sound/direct_sound_samples/cries/dachsbun.aif b/sound/direct_sound_samples/cries/dachsbun.aif index 492020a716be..8e3ddbd781f6 100644 Binary files a/sound/direct_sound_samples/cries/dachsbun.aif and b/sound/direct_sound_samples/cries/dachsbun.aif differ diff --git a/sound/direct_sound_samples/cries/darkrai.aif b/sound/direct_sound_samples/cries/darkrai.aif index db14a0ad7503..bfb37fca5b41 100644 Binary files a/sound/direct_sound_samples/cries/darkrai.aif and b/sound/direct_sound_samples/cries/darkrai.aif differ diff --git a/sound/direct_sound_samples/cries/darmanitan.aif b/sound/direct_sound_samples/cries/darmanitan.aif index 9ea80bd5df3a..902fdb69b4eb 100644 Binary files a/sound/direct_sound_samples/cries/darmanitan.aif and b/sound/direct_sound_samples/cries/darmanitan.aif differ diff --git a/sound/direct_sound_samples/cries/dartrix.aif b/sound/direct_sound_samples/cries/dartrix.aif index 2a8e24d87811..894fefb3311c 100644 Binary files a/sound/direct_sound_samples/cries/dartrix.aif and b/sound/direct_sound_samples/cries/dartrix.aif differ diff --git a/sound/direct_sound_samples/cries/darumaka.aif b/sound/direct_sound_samples/cries/darumaka.aif index 9c58dda4114c..849f0f1dab7e 100644 Binary files a/sound/direct_sound_samples/cries/darumaka.aif and b/sound/direct_sound_samples/cries/darumaka.aif differ diff --git a/sound/direct_sound_samples/cries/decidueye.aif b/sound/direct_sound_samples/cries/decidueye.aif index 13af14497e51..dde3a574a9e9 100644 Binary files a/sound/direct_sound_samples/cries/decidueye.aif and b/sound/direct_sound_samples/cries/decidueye.aif differ diff --git a/sound/direct_sound_samples/cries/dedenne.aif b/sound/direct_sound_samples/cries/dedenne.aif index 8e5ec29bec80..843f5cf38fe9 100644 Binary files a/sound/direct_sound_samples/cries/dedenne.aif and b/sound/direct_sound_samples/cries/dedenne.aif differ diff --git a/sound/direct_sound_samples/cries/deerling.aif b/sound/direct_sound_samples/cries/deerling.aif index 50cf0bfc502c..9a4e8809b9e7 100644 Binary files a/sound/direct_sound_samples/cries/deerling.aif and b/sound/direct_sound_samples/cries/deerling.aif differ diff --git a/sound/direct_sound_samples/cries/deino.aif b/sound/direct_sound_samples/cries/deino.aif index 583747a615d4..e5074d082162 100644 Binary files a/sound/direct_sound_samples/cries/deino.aif and b/sound/direct_sound_samples/cries/deino.aif differ diff --git a/sound/direct_sound_samples/cries/delcatty.aif b/sound/direct_sound_samples/cries/delcatty.aif index a30321a9fc03..d4fe6c5c5912 100644 Binary files a/sound/direct_sound_samples/cries/delcatty.aif and b/sound/direct_sound_samples/cries/delcatty.aif differ diff --git a/sound/direct_sound_samples/cries/delibird.aif b/sound/direct_sound_samples/cries/delibird.aif index 618bca94b07a..f2e0d4464237 100644 Binary files a/sound/direct_sound_samples/cries/delibird.aif and b/sound/direct_sound_samples/cries/delibird.aif differ diff --git a/sound/direct_sound_samples/cries/delphox.aif b/sound/direct_sound_samples/cries/delphox.aif index 95fcf181109e..857af9f0ad20 100644 Binary files a/sound/direct_sound_samples/cries/delphox.aif and b/sound/direct_sound_samples/cries/delphox.aif differ diff --git a/sound/direct_sound_samples/cries/deoxys.aif b/sound/direct_sound_samples/cries/deoxys.aif index d39b565a0ec3..d9e3976e3c79 100644 Binary files a/sound/direct_sound_samples/cries/deoxys.aif and b/sound/direct_sound_samples/cries/deoxys.aif differ diff --git a/sound/direct_sound_samples/cries/dewgong.aif b/sound/direct_sound_samples/cries/dewgong.aif index 52c8b6f9b35c..daa3e5fd5ce7 100644 Binary files a/sound/direct_sound_samples/cries/dewgong.aif and b/sound/direct_sound_samples/cries/dewgong.aif differ diff --git a/sound/direct_sound_samples/cries/dewott.aif b/sound/direct_sound_samples/cries/dewott.aif index 3f7724df600f..e654be2372c5 100644 Binary files a/sound/direct_sound_samples/cries/dewott.aif and b/sound/direct_sound_samples/cries/dewott.aif differ diff --git a/sound/direct_sound_samples/cries/dewpider.aif b/sound/direct_sound_samples/cries/dewpider.aif index ec3266ceba69..0d8ade106b89 100644 Binary files a/sound/direct_sound_samples/cries/dewpider.aif and b/sound/direct_sound_samples/cries/dewpider.aif differ diff --git a/sound/direct_sound_samples/cries/dhelmise.aif b/sound/direct_sound_samples/cries/dhelmise.aif index 09e0b93a6680..892faf19094d 100644 Binary files a/sound/direct_sound_samples/cries/dhelmise.aif and b/sound/direct_sound_samples/cries/dhelmise.aif differ diff --git a/sound/direct_sound_samples/cries/dialga.aif b/sound/direct_sound_samples/cries/dialga.aif index 3bc128ec2dd4..ead8acb9a1bf 100644 Binary files a/sound/direct_sound_samples/cries/dialga.aif and b/sound/direct_sound_samples/cries/dialga.aif differ diff --git a/sound/direct_sound_samples/cries/diancie.aif b/sound/direct_sound_samples/cries/diancie.aif index 4969546ae8c2..a32ad4ff93d1 100644 Binary files a/sound/direct_sound_samples/cries/diancie.aif and b/sound/direct_sound_samples/cries/diancie.aif differ diff --git a/sound/direct_sound_samples/cries/diggersby.aif b/sound/direct_sound_samples/cries/diggersby.aif index 411040e593ac..10dffad8eeed 100644 Binary files a/sound/direct_sound_samples/cries/diggersby.aif and b/sound/direct_sound_samples/cries/diggersby.aif differ diff --git a/sound/direct_sound_samples/cries/diglett.aif b/sound/direct_sound_samples/cries/diglett.aif index dac924fb810c..cd212878fd77 100644 Binary files a/sound/direct_sound_samples/cries/diglett.aif and b/sound/direct_sound_samples/cries/diglett.aif differ diff --git a/sound/direct_sound_samples/cries/dipplin.aif b/sound/direct_sound_samples/cries/dipplin.aif index 61df2de5236d..5591528f9bf9 100644 Binary files a/sound/direct_sound_samples/cries/dipplin.aif and b/sound/direct_sound_samples/cries/dipplin.aif differ diff --git a/sound/direct_sound_samples/cries/ditto.aif b/sound/direct_sound_samples/cries/ditto.aif index b73fcb764334..8a1de24b254f 100644 Binary files a/sound/direct_sound_samples/cries/ditto.aif and b/sound/direct_sound_samples/cries/ditto.aif differ diff --git a/sound/direct_sound_samples/cries/dodrio.aif b/sound/direct_sound_samples/cries/dodrio.aif index 222eb72521f1..507e4ef8762e 100644 Binary files a/sound/direct_sound_samples/cries/dodrio.aif and b/sound/direct_sound_samples/cries/dodrio.aif differ diff --git a/sound/direct_sound_samples/cries/doduo.aif b/sound/direct_sound_samples/cries/doduo.aif index 5a3a8252792a..02c736d5a0c2 100644 Binary files a/sound/direct_sound_samples/cries/doduo.aif and b/sound/direct_sound_samples/cries/doduo.aif differ diff --git a/sound/direct_sound_samples/cries/donphan.aif b/sound/direct_sound_samples/cries/donphan.aif index 76f1dfaca85e..795cdaef4529 100644 Binary files a/sound/direct_sound_samples/cries/donphan.aif and b/sound/direct_sound_samples/cries/donphan.aif differ diff --git a/sound/direct_sound_samples/cries/doublade.aif b/sound/direct_sound_samples/cries/doublade.aif index 70a0499e5366..d931b3de0ad5 100644 Binary files a/sound/direct_sound_samples/cries/doublade.aif and b/sound/direct_sound_samples/cries/doublade.aif differ diff --git a/sound/direct_sound_samples/cries/dragalge.aif b/sound/direct_sound_samples/cries/dragalge.aif index be411ddb8e1d..a9d11e9b65d2 100644 Binary files a/sound/direct_sound_samples/cries/dragalge.aif and b/sound/direct_sound_samples/cries/dragalge.aif differ diff --git a/sound/direct_sound_samples/cries/dragonair.aif b/sound/direct_sound_samples/cries/dragonair.aif index 3e0f81d146d1..6cdc594f6374 100644 Binary files a/sound/direct_sound_samples/cries/dragonair.aif and b/sound/direct_sound_samples/cries/dragonair.aif differ diff --git a/sound/direct_sound_samples/cries/dragonite.aif b/sound/direct_sound_samples/cries/dragonite.aif index 3719c9932708..ab1a7af1c17e 100644 Binary files a/sound/direct_sound_samples/cries/dragonite.aif and b/sound/direct_sound_samples/cries/dragonite.aif differ diff --git a/sound/direct_sound_samples/cries/drakloak.aif b/sound/direct_sound_samples/cries/drakloak.aif index 3b19d4768735..7b9beaad8978 100644 Binary files a/sound/direct_sound_samples/cries/drakloak.aif and b/sound/direct_sound_samples/cries/drakloak.aif differ diff --git a/sound/direct_sound_samples/cries/drampa.aif b/sound/direct_sound_samples/cries/drampa.aif index e8c6dfbdda78..81e185711e18 100644 Binary files a/sound/direct_sound_samples/cries/drampa.aif and b/sound/direct_sound_samples/cries/drampa.aif differ diff --git a/sound/direct_sound_samples/cries/drapion.aif b/sound/direct_sound_samples/cries/drapion.aif index a5418de2bdd5..4ce0382fdc46 100644 Binary files a/sound/direct_sound_samples/cries/drapion.aif and b/sound/direct_sound_samples/cries/drapion.aif differ diff --git a/sound/direct_sound_samples/cries/dratini.aif b/sound/direct_sound_samples/cries/dratini.aif index 8de5583f0e69..d79420d9c60a 100644 Binary files a/sound/direct_sound_samples/cries/dratini.aif and b/sound/direct_sound_samples/cries/dratini.aif differ diff --git a/sound/direct_sound_samples/cries/dreepy.aif b/sound/direct_sound_samples/cries/dreepy.aif index b79126b119f1..12217a7f49c2 100644 Binary files a/sound/direct_sound_samples/cries/dreepy.aif and b/sound/direct_sound_samples/cries/dreepy.aif differ diff --git a/sound/direct_sound_samples/cries/drifblim.aif b/sound/direct_sound_samples/cries/drifblim.aif index a1afbdc71bf5..891c49f2053d 100644 Binary files a/sound/direct_sound_samples/cries/drifblim.aif and b/sound/direct_sound_samples/cries/drifblim.aif differ diff --git a/sound/direct_sound_samples/cries/drifloon.aif b/sound/direct_sound_samples/cries/drifloon.aif index bf5b8b20efda..ba4c94e979ad 100644 Binary files a/sound/direct_sound_samples/cries/drifloon.aif and b/sound/direct_sound_samples/cries/drifloon.aif differ diff --git a/sound/direct_sound_samples/cries/drilbur.aif b/sound/direct_sound_samples/cries/drilbur.aif index 25314b0aecb7..105867ee08e3 100644 Binary files a/sound/direct_sound_samples/cries/drilbur.aif and b/sound/direct_sound_samples/cries/drilbur.aif differ diff --git a/sound/direct_sound_samples/cries/drowzee.aif b/sound/direct_sound_samples/cries/drowzee.aif index 8b50dbd4a9a0..d25203e123a0 100644 Binary files a/sound/direct_sound_samples/cries/drowzee.aif and b/sound/direct_sound_samples/cries/drowzee.aif differ diff --git a/sound/direct_sound_samples/cries/druddigon.aif b/sound/direct_sound_samples/cries/druddigon.aif index 7467ee40b0aa..01bed53f9200 100644 Binary files a/sound/direct_sound_samples/cries/druddigon.aif and b/sound/direct_sound_samples/cries/druddigon.aif differ diff --git a/sound/direct_sound_samples/cries/ducklett.aif b/sound/direct_sound_samples/cries/ducklett.aif index 837566a018df..a95520506b76 100644 Binary files a/sound/direct_sound_samples/cries/ducklett.aif and b/sound/direct_sound_samples/cries/ducklett.aif differ diff --git a/sound/direct_sound_samples/cries/dudunsparce.aif b/sound/direct_sound_samples/cries/dudunsparce.aif index 1adc2bb7c989..faec8aae5390 100644 Binary files a/sound/direct_sound_samples/cries/dudunsparce.aif and b/sound/direct_sound_samples/cries/dudunsparce.aif differ diff --git a/sound/direct_sound_samples/cries/dugtrio.aif b/sound/direct_sound_samples/cries/dugtrio.aif index 875e4638e299..1a0a05ecd01e 100644 Binary files a/sound/direct_sound_samples/cries/dugtrio.aif and b/sound/direct_sound_samples/cries/dugtrio.aif differ diff --git a/sound/direct_sound_samples/cries/dunsparce.aif b/sound/direct_sound_samples/cries/dunsparce.aif index b2e246eeefe5..da70bedf0876 100644 Binary files a/sound/direct_sound_samples/cries/dunsparce.aif and b/sound/direct_sound_samples/cries/dunsparce.aif differ diff --git a/sound/direct_sound_samples/cries/duosion.aif b/sound/direct_sound_samples/cries/duosion.aif index 7f931b961c9a..4022984f1ae3 100644 Binary files a/sound/direct_sound_samples/cries/duosion.aif and b/sound/direct_sound_samples/cries/duosion.aif differ diff --git a/sound/direct_sound_samples/cries/durant.aif b/sound/direct_sound_samples/cries/durant.aif index c60490fd6b14..c0b19642c1da 100644 Binary files a/sound/direct_sound_samples/cries/durant.aif and b/sound/direct_sound_samples/cries/durant.aif differ diff --git a/sound/direct_sound_samples/cries/dusclops.aif b/sound/direct_sound_samples/cries/dusclops.aif index d25405b2bcd8..084c74ee8729 100644 Binary files a/sound/direct_sound_samples/cries/dusclops.aif and b/sound/direct_sound_samples/cries/dusclops.aif differ diff --git a/sound/direct_sound_samples/cries/dusknoir.aif b/sound/direct_sound_samples/cries/dusknoir.aif index 7bbc50d1627e..bb1d60567121 100644 Binary files a/sound/direct_sound_samples/cries/dusknoir.aif and b/sound/direct_sound_samples/cries/dusknoir.aif differ diff --git a/sound/direct_sound_samples/cries/duskull.aif b/sound/direct_sound_samples/cries/duskull.aif index 71535909c87d..523997cbf0a9 100644 Binary files a/sound/direct_sound_samples/cries/duskull.aif and b/sound/direct_sound_samples/cries/duskull.aif differ diff --git a/sound/direct_sound_samples/cries/dustox.aif b/sound/direct_sound_samples/cries/dustox.aif index 94f22ae63201..5ab919b520f2 100644 Binary files a/sound/direct_sound_samples/cries/dustox.aif and b/sound/direct_sound_samples/cries/dustox.aif differ diff --git a/sound/direct_sound_samples/cries/dwebble.aif b/sound/direct_sound_samples/cries/dwebble.aif index 687cf87450b6..1aff10332332 100644 Binary files a/sound/direct_sound_samples/cries/dwebble.aif and b/sound/direct_sound_samples/cries/dwebble.aif differ diff --git a/sound/direct_sound_samples/cries/eelektrik.aif b/sound/direct_sound_samples/cries/eelektrik.aif index 4739bd80dbe6..d39453bc0d83 100644 Binary files a/sound/direct_sound_samples/cries/eelektrik.aif and b/sound/direct_sound_samples/cries/eelektrik.aif differ diff --git a/sound/direct_sound_samples/cries/eelektross.aif b/sound/direct_sound_samples/cries/eelektross.aif index b8e362b75471..b618fa5e9775 100644 Binary files a/sound/direct_sound_samples/cries/eelektross.aif and b/sound/direct_sound_samples/cries/eelektross.aif differ diff --git a/sound/direct_sound_samples/cries/eevee.aif b/sound/direct_sound_samples/cries/eevee.aif index ce8bf61af7a9..0706209843d8 100644 Binary files a/sound/direct_sound_samples/cries/eevee.aif and b/sound/direct_sound_samples/cries/eevee.aif differ diff --git a/sound/direct_sound_samples/cries/ekans.aif b/sound/direct_sound_samples/cries/ekans.aif index 6d933819d84c..80bc2fdfec2a 100644 Binary files a/sound/direct_sound_samples/cries/ekans.aif and b/sound/direct_sound_samples/cries/ekans.aif differ diff --git a/sound/direct_sound_samples/cries/eldegoss.aif b/sound/direct_sound_samples/cries/eldegoss.aif index 6c7bbe5129d7..56f9419b369f 100644 Binary files a/sound/direct_sound_samples/cries/eldegoss.aif and b/sound/direct_sound_samples/cries/eldegoss.aif differ diff --git a/sound/direct_sound_samples/cries/electabuzz.aif b/sound/direct_sound_samples/cries/electabuzz.aif index a57bdf37eb00..6071f1d4a920 100644 Binary files a/sound/direct_sound_samples/cries/electabuzz.aif and b/sound/direct_sound_samples/cries/electabuzz.aif differ diff --git a/sound/direct_sound_samples/cries/electivire.aif b/sound/direct_sound_samples/cries/electivire.aif index 1cabc64357a2..9b9c17907d23 100644 Binary files a/sound/direct_sound_samples/cries/electivire.aif and b/sound/direct_sound_samples/cries/electivire.aif differ diff --git a/sound/direct_sound_samples/cries/electrike.aif b/sound/direct_sound_samples/cries/electrike.aif index d446cd634bc2..e7dcc6424840 100644 Binary files a/sound/direct_sound_samples/cries/electrike.aif and b/sound/direct_sound_samples/cries/electrike.aif differ diff --git a/sound/direct_sound_samples/cries/electrode.aif b/sound/direct_sound_samples/cries/electrode.aif index 19a982d1ec10..96e627bba50c 100644 Binary files a/sound/direct_sound_samples/cries/electrode.aif and b/sound/direct_sound_samples/cries/electrode.aif differ diff --git a/sound/direct_sound_samples/cries/elekid.aif b/sound/direct_sound_samples/cries/elekid.aif index 4afbde5cc1da..99b3f959d5ed 100644 Binary files a/sound/direct_sound_samples/cries/elekid.aif and b/sound/direct_sound_samples/cries/elekid.aif differ diff --git a/sound/direct_sound_samples/cries/elgyem.aif b/sound/direct_sound_samples/cries/elgyem.aif index f1e94c136494..04e9ec7ab66c 100644 Binary files a/sound/direct_sound_samples/cries/elgyem.aif and b/sound/direct_sound_samples/cries/elgyem.aif differ diff --git a/sound/direct_sound_samples/cries/emboar.aif b/sound/direct_sound_samples/cries/emboar.aif index 4cdd5e0afc56..7bf61d285eb4 100644 Binary files a/sound/direct_sound_samples/cries/emboar.aif and b/sound/direct_sound_samples/cries/emboar.aif differ diff --git a/sound/direct_sound_samples/cries/emolga.aif b/sound/direct_sound_samples/cries/emolga.aif index c32a7274513a..20172f144692 100644 Binary files a/sound/direct_sound_samples/cries/emolga.aif and b/sound/direct_sound_samples/cries/emolga.aif differ diff --git a/sound/direct_sound_samples/cries/empoleon.aif b/sound/direct_sound_samples/cries/empoleon.aif index 26648ca34cc6..742bdf812473 100644 Binary files a/sound/direct_sound_samples/cries/empoleon.aif and b/sound/direct_sound_samples/cries/empoleon.aif differ diff --git a/sound/direct_sound_samples/cries/entei.aif b/sound/direct_sound_samples/cries/entei.aif index 63fdcc783829..1e5eff687675 100644 Binary files a/sound/direct_sound_samples/cries/entei.aif and b/sound/direct_sound_samples/cries/entei.aif differ diff --git a/sound/direct_sound_samples/cries/escavalier.aif b/sound/direct_sound_samples/cries/escavalier.aif index 513f53d41563..7ef48d2293e2 100644 Binary files a/sound/direct_sound_samples/cries/escavalier.aif and b/sound/direct_sound_samples/cries/escavalier.aif differ diff --git a/sound/direct_sound_samples/cries/espeon.aif b/sound/direct_sound_samples/cries/espeon.aif index 51f96c911bfa..bf1f52c94dd2 100644 Binary files a/sound/direct_sound_samples/cries/espeon.aif and b/sound/direct_sound_samples/cries/espeon.aif differ diff --git a/sound/direct_sound_samples/cries/espurr.aif b/sound/direct_sound_samples/cries/espurr.aif index d395bea397e2..6d82769b36af 100644 Binary files a/sound/direct_sound_samples/cries/espurr.aif and b/sound/direct_sound_samples/cries/espurr.aif differ diff --git a/sound/direct_sound_samples/cries/eternatus.aif b/sound/direct_sound_samples/cries/eternatus.aif index 1dede8fdc4a8..235bba61f9b1 100644 Binary files a/sound/direct_sound_samples/cries/eternatus.aif and b/sound/direct_sound_samples/cries/eternatus.aif differ diff --git a/sound/direct_sound_samples/cries/excadrill.aif b/sound/direct_sound_samples/cries/excadrill.aif index 8b2ef0869e8e..cd372dffdb38 100644 Binary files a/sound/direct_sound_samples/cries/excadrill.aif and b/sound/direct_sound_samples/cries/excadrill.aif differ diff --git a/sound/direct_sound_samples/cries/exeggcute.aif b/sound/direct_sound_samples/cries/exeggcute.aif index 384b9990940c..bd634c757040 100644 Binary files a/sound/direct_sound_samples/cries/exeggcute.aif and b/sound/direct_sound_samples/cries/exeggcute.aif differ diff --git a/sound/direct_sound_samples/cries/exeggutor.aif b/sound/direct_sound_samples/cries/exeggutor.aif index 15ddbbdfaa9a..094b27bc6f30 100644 Binary files a/sound/direct_sound_samples/cries/exeggutor.aif and b/sound/direct_sound_samples/cries/exeggutor.aif differ diff --git a/sound/direct_sound_samples/cries/exploud.aif b/sound/direct_sound_samples/cries/exploud.aif index 7b97db232dce..98dafb1ee19e 100644 Binary files a/sound/direct_sound_samples/cries/exploud.aif and b/sound/direct_sound_samples/cries/exploud.aif differ diff --git a/sound/direct_sound_samples/cries/farfetchd.aif b/sound/direct_sound_samples/cries/farfetchd.aif index d3838c6762d7..5a710ed7de15 100644 Binary files a/sound/direct_sound_samples/cries/farfetchd.aif and b/sound/direct_sound_samples/cries/farfetchd.aif differ diff --git a/sound/direct_sound_samples/cries/farigiraf.aif b/sound/direct_sound_samples/cries/farigiraf.aif index 573520315de0..d862b0d30e2f 100644 Binary files a/sound/direct_sound_samples/cries/farigiraf.aif and b/sound/direct_sound_samples/cries/farigiraf.aif differ diff --git a/sound/direct_sound_samples/cries/fearow.aif b/sound/direct_sound_samples/cries/fearow.aif index f111ca15a697..792269848223 100644 Binary files a/sound/direct_sound_samples/cries/fearow.aif and b/sound/direct_sound_samples/cries/fearow.aif differ diff --git a/sound/direct_sound_samples/cries/feebas.aif b/sound/direct_sound_samples/cries/feebas.aif index 7cc5452a4e33..fc6e757134e6 100644 Binary files a/sound/direct_sound_samples/cries/feebas.aif and b/sound/direct_sound_samples/cries/feebas.aif differ diff --git a/sound/direct_sound_samples/cries/fennekin.aif b/sound/direct_sound_samples/cries/fennekin.aif index a559267a27d3..3feb83cdf8df 100644 Binary files a/sound/direct_sound_samples/cries/fennekin.aif and b/sound/direct_sound_samples/cries/fennekin.aif differ diff --git a/sound/direct_sound_samples/cries/feraligatr.aif b/sound/direct_sound_samples/cries/feraligatr.aif index 070e204c3513..c71d66722bf0 100644 Binary files a/sound/direct_sound_samples/cries/feraligatr.aif and b/sound/direct_sound_samples/cries/feraligatr.aif differ diff --git a/sound/direct_sound_samples/cries/ferroseed.aif b/sound/direct_sound_samples/cries/ferroseed.aif index 24856cdd24ef..1acd8342d0c3 100644 Binary files a/sound/direct_sound_samples/cries/ferroseed.aif and b/sound/direct_sound_samples/cries/ferroseed.aif differ diff --git a/sound/direct_sound_samples/cries/ferrothorn.aif b/sound/direct_sound_samples/cries/ferrothorn.aif index 5e2d7a25794a..7e7f1ad3ad7b 100644 Binary files a/sound/direct_sound_samples/cries/ferrothorn.aif and b/sound/direct_sound_samples/cries/ferrothorn.aif differ diff --git a/sound/direct_sound_samples/cries/fidough.aif b/sound/direct_sound_samples/cries/fidough.aif index 44609a2dd7a6..f2063bc79b4a 100644 Binary files a/sound/direct_sound_samples/cries/fidough.aif and b/sound/direct_sound_samples/cries/fidough.aif differ diff --git a/sound/direct_sound_samples/cries/finneon.aif b/sound/direct_sound_samples/cries/finneon.aif index d6eb52466d1e..c2fe2f38bac7 100644 Binary files a/sound/direct_sound_samples/cries/finneon.aif and b/sound/direct_sound_samples/cries/finneon.aif differ diff --git a/sound/direct_sound_samples/cries/flaaffy.aif b/sound/direct_sound_samples/cries/flaaffy.aif index a9f809d533cd..068e82e76c05 100644 Binary files a/sound/direct_sound_samples/cries/flaaffy.aif and b/sound/direct_sound_samples/cries/flaaffy.aif differ diff --git a/sound/direct_sound_samples/cries/flabebe.aif b/sound/direct_sound_samples/cries/flabebe.aif index e309ae8c6274..a6dbe0321c6f 100644 Binary files a/sound/direct_sound_samples/cries/flabebe.aif and b/sound/direct_sound_samples/cries/flabebe.aif differ diff --git a/sound/direct_sound_samples/cries/flamigo.aif b/sound/direct_sound_samples/cries/flamigo.aif index bed56a7f3131..2b022da5b07f 100644 Binary files a/sound/direct_sound_samples/cries/flamigo.aif and b/sound/direct_sound_samples/cries/flamigo.aif differ diff --git a/sound/direct_sound_samples/cries/flareon.aif b/sound/direct_sound_samples/cries/flareon.aif index d8e70213df9f..b8d33df49e57 100644 Binary files a/sound/direct_sound_samples/cries/flareon.aif and b/sound/direct_sound_samples/cries/flareon.aif differ diff --git a/sound/direct_sound_samples/cries/fletchinder.aif b/sound/direct_sound_samples/cries/fletchinder.aif index 40623fbf323d..2267e3fdfcc1 100644 Binary files a/sound/direct_sound_samples/cries/fletchinder.aif and b/sound/direct_sound_samples/cries/fletchinder.aif differ diff --git a/sound/direct_sound_samples/cries/fletchling.aif b/sound/direct_sound_samples/cries/fletchling.aif index 6ee80237dfe9..ce9085845fc0 100644 Binary files a/sound/direct_sound_samples/cries/fletchling.aif and b/sound/direct_sound_samples/cries/fletchling.aif differ diff --git a/sound/direct_sound_samples/cries/floatzel.aif b/sound/direct_sound_samples/cries/floatzel.aif index 60424b3679c8..36f34f5e9038 100644 Binary files a/sound/direct_sound_samples/cries/floatzel.aif and b/sound/direct_sound_samples/cries/floatzel.aif differ diff --git a/sound/direct_sound_samples/cries/floette.aif b/sound/direct_sound_samples/cries/floette.aif index c55d10fb7542..4244ce8eda6f 100644 Binary files a/sound/direct_sound_samples/cries/floette.aif and b/sound/direct_sound_samples/cries/floette.aif differ diff --git a/sound/direct_sound_samples/cries/floette_eternal_flower.aif b/sound/direct_sound_samples/cries/floette_eternal_flower.aif index d6b9452b4530..386815f08208 100644 Binary files a/sound/direct_sound_samples/cries/floette_eternal_flower.aif and b/sound/direct_sound_samples/cries/floette_eternal_flower.aif differ diff --git a/sound/direct_sound_samples/cries/florges.aif b/sound/direct_sound_samples/cries/florges.aif index 36b504932f6e..e652e68fa931 100644 Binary files a/sound/direct_sound_samples/cries/florges.aif and b/sound/direct_sound_samples/cries/florges.aif differ diff --git a/sound/direct_sound_samples/cries/flygon.aif b/sound/direct_sound_samples/cries/flygon.aif index 06abfcf26864..c8b793f4f971 100644 Binary files a/sound/direct_sound_samples/cries/flygon.aif and b/sound/direct_sound_samples/cries/flygon.aif differ diff --git a/sound/direct_sound_samples/cries/fomantis.aif b/sound/direct_sound_samples/cries/fomantis.aif index 9690a53ee136..a82e4d45249b 100644 Binary files a/sound/direct_sound_samples/cries/fomantis.aif and b/sound/direct_sound_samples/cries/fomantis.aif differ diff --git a/sound/direct_sound_samples/cries/foongus.aif b/sound/direct_sound_samples/cries/foongus.aif index dbd6f9c5cd79..ca83e1b475f7 100644 Binary files a/sound/direct_sound_samples/cries/foongus.aif and b/sound/direct_sound_samples/cries/foongus.aif differ diff --git a/sound/direct_sound_samples/cries/forretress.aif b/sound/direct_sound_samples/cries/forretress.aif index 4fae6d0378c4..9b8af8baa4b9 100644 Binary files a/sound/direct_sound_samples/cries/forretress.aif and b/sound/direct_sound_samples/cries/forretress.aif differ diff --git a/sound/direct_sound_samples/cries/fraxure.aif b/sound/direct_sound_samples/cries/fraxure.aif index 25464a1ff70a..4586702b00f4 100644 Binary files a/sound/direct_sound_samples/cries/fraxure.aif and b/sound/direct_sound_samples/cries/fraxure.aif differ diff --git a/sound/direct_sound_samples/cries/frigibax.aif b/sound/direct_sound_samples/cries/frigibax.aif index 10c5b819aaf0..e8318a0cf123 100644 Binary files a/sound/direct_sound_samples/cries/frigibax.aif and b/sound/direct_sound_samples/cries/frigibax.aif differ diff --git a/sound/direct_sound_samples/cries/frillish.aif b/sound/direct_sound_samples/cries/frillish.aif index c59a0a542fe9..71511b8bcf9e 100644 Binary files a/sound/direct_sound_samples/cries/frillish.aif and b/sound/direct_sound_samples/cries/frillish.aif differ diff --git a/sound/direct_sound_samples/cries/froakie.aif b/sound/direct_sound_samples/cries/froakie.aif index 240992ff354e..d6955de8bc9f 100644 Binary files a/sound/direct_sound_samples/cries/froakie.aif and b/sound/direct_sound_samples/cries/froakie.aif differ diff --git a/sound/direct_sound_samples/cries/frogadier.aif b/sound/direct_sound_samples/cries/frogadier.aif index fa0c54c3f350..918abc5d845a 100644 Binary files a/sound/direct_sound_samples/cries/frogadier.aif and b/sound/direct_sound_samples/cries/frogadier.aif differ diff --git a/sound/direct_sound_samples/cries/froslass.aif b/sound/direct_sound_samples/cries/froslass.aif index 2c6a0be00193..75febf4311c9 100644 Binary files a/sound/direct_sound_samples/cries/froslass.aif and b/sound/direct_sound_samples/cries/froslass.aif differ diff --git a/sound/direct_sound_samples/cries/fuecoco.aif b/sound/direct_sound_samples/cries/fuecoco.aif index 4c0d7eb07a5f..ee40234e0b1f 100644 Binary files a/sound/direct_sound_samples/cries/fuecoco.aif and b/sound/direct_sound_samples/cries/fuecoco.aif differ diff --git a/sound/direct_sound_samples/cries/furfrou.aif b/sound/direct_sound_samples/cries/furfrou.aif index bbddc63c06c2..d989bde3d394 100644 Binary files a/sound/direct_sound_samples/cries/furfrou.aif and b/sound/direct_sound_samples/cries/furfrou.aif differ diff --git a/sound/direct_sound_samples/cries/furret.aif b/sound/direct_sound_samples/cries/furret.aif index 6ce107b10f3e..cdf9447d734e 100644 Binary files a/sound/direct_sound_samples/cries/furret.aif and b/sound/direct_sound_samples/cries/furret.aif differ diff --git a/sound/direct_sound_samples/cries/gabite.aif b/sound/direct_sound_samples/cries/gabite.aif index 17226eb28306..5ca21cec7ae9 100644 Binary files a/sound/direct_sound_samples/cries/gabite.aif and b/sound/direct_sound_samples/cries/gabite.aif differ diff --git a/sound/direct_sound_samples/cries/gallade.aif b/sound/direct_sound_samples/cries/gallade.aif index 7de776bd19fd..1eb55aeed9c1 100644 Binary files a/sound/direct_sound_samples/cries/gallade.aif and b/sound/direct_sound_samples/cries/gallade.aif differ diff --git a/sound/direct_sound_samples/cries/gallade_mega.aif b/sound/direct_sound_samples/cries/gallade_mega.aif index 0af522f68f94..5b0d5eb5cca2 100644 Binary files a/sound/direct_sound_samples/cries/gallade_mega.aif and b/sound/direct_sound_samples/cries/gallade_mega.aif differ diff --git a/sound/direct_sound_samples/cries/galvantula.aif b/sound/direct_sound_samples/cries/galvantula.aif index d6823775657a..8d890a246365 100644 Binary files a/sound/direct_sound_samples/cries/galvantula.aif and b/sound/direct_sound_samples/cries/galvantula.aif differ diff --git a/sound/direct_sound_samples/cries/garbodor.aif b/sound/direct_sound_samples/cries/garbodor.aif index ed906101f30f..09cad5cd7f9a 100644 Binary files a/sound/direct_sound_samples/cries/garbodor.aif and b/sound/direct_sound_samples/cries/garbodor.aif differ diff --git a/sound/direct_sound_samples/cries/garchomp.aif b/sound/direct_sound_samples/cries/garchomp.aif index a5165a73381b..f96c62f93bdf 100644 Binary files a/sound/direct_sound_samples/cries/garchomp.aif and b/sound/direct_sound_samples/cries/garchomp.aif differ diff --git a/sound/direct_sound_samples/cries/gardevoir.aif b/sound/direct_sound_samples/cries/gardevoir.aif index f7cd7d523993..9285affb9d3b 100644 Binary files a/sound/direct_sound_samples/cries/gardevoir.aif and b/sound/direct_sound_samples/cries/gardevoir.aif differ diff --git a/sound/direct_sound_samples/cries/gastly.aif b/sound/direct_sound_samples/cries/gastly.aif index 8dd90bff4d75..5174cabffd5a 100644 Binary files a/sound/direct_sound_samples/cries/gastly.aif and b/sound/direct_sound_samples/cries/gastly.aif differ diff --git a/sound/direct_sound_samples/cries/gastrodon.aif b/sound/direct_sound_samples/cries/gastrodon.aif index 7c33ebd99ba3..d564820e832b 100644 Binary files a/sound/direct_sound_samples/cries/gastrodon.aif and b/sound/direct_sound_samples/cries/gastrodon.aif differ diff --git a/sound/direct_sound_samples/cries/genesect.aif b/sound/direct_sound_samples/cries/genesect.aif index e088634591c1..49e430ee9aed 100644 Binary files a/sound/direct_sound_samples/cries/genesect.aif and b/sound/direct_sound_samples/cries/genesect.aif differ diff --git a/sound/direct_sound_samples/cries/gengar.aif b/sound/direct_sound_samples/cries/gengar.aif index 0f7a59c33c8b..3c5e291ba30e 100644 Binary files a/sound/direct_sound_samples/cries/gengar.aif and b/sound/direct_sound_samples/cries/gengar.aif differ diff --git a/sound/direct_sound_samples/cries/geodude.aif b/sound/direct_sound_samples/cries/geodude.aif index 6c8e1779f20d..a09b2ca345b8 100644 Binary files a/sound/direct_sound_samples/cries/geodude.aif and b/sound/direct_sound_samples/cries/geodude.aif differ diff --git a/sound/direct_sound_samples/cries/gible.aif b/sound/direct_sound_samples/cries/gible.aif index 47b8635e9691..f3d4b4882f64 100644 Binary files a/sound/direct_sound_samples/cries/gible.aif and b/sound/direct_sound_samples/cries/gible.aif differ diff --git a/sound/direct_sound_samples/cries/gigalith.aif b/sound/direct_sound_samples/cries/gigalith.aif index e5c2f6419eb7..00ad607cc677 100644 Binary files a/sound/direct_sound_samples/cries/gigalith.aif and b/sound/direct_sound_samples/cries/gigalith.aif differ diff --git a/sound/direct_sound_samples/cries/gimmighoul.aif b/sound/direct_sound_samples/cries/gimmighoul.aif index dac736784eb7..fe8db162c9b0 100644 Binary files a/sound/direct_sound_samples/cries/gimmighoul.aif and b/sound/direct_sound_samples/cries/gimmighoul.aif differ diff --git a/sound/direct_sound_samples/cries/girafarig.aif b/sound/direct_sound_samples/cries/girafarig.aif index ff56ab97cddd..af5af89268d7 100644 Binary files a/sound/direct_sound_samples/cries/girafarig.aif and b/sound/direct_sound_samples/cries/girafarig.aif differ diff --git a/sound/direct_sound_samples/cries/giratina.aif b/sound/direct_sound_samples/cries/giratina.aif index 105a24de0f9f..319e2c132324 100644 Binary files a/sound/direct_sound_samples/cries/giratina.aif and b/sound/direct_sound_samples/cries/giratina.aif differ diff --git a/sound/direct_sound_samples/cries/glaceon.aif b/sound/direct_sound_samples/cries/glaceon.aif index fc7cc9f8952c..e38ebdef914f 100644 Binary files a/sound/direct_sound_samples/cries/glaceon.aif and b/sound/direct_sound_samples/cries/glaceon.aif differ diff --git a/sound/direct_sound_samples/cries/glalie.aif b/sound/direct_sound_samples/cries/glalie.aif index 233515b6aa43..38291bef49af 100644 Binary files a/sound/direct_sound_samples/cries/glalie.aif and b/sound/direct_sound_samples/cries/glalie.aif differ diff --git a/sound/direct_sound_samples/cries/glalie_mega.aif b/sound/direct_sound_samples/cries/glalie_mega.aif index 44261f52713e..cae5ba57f107 100644 Binary files a/sound/direct_sound_samples/cries/glalie_mega.aif and b/sound/direct_sound_samples/cries/glalie_mega.aif differ diff --git a/sound/direct_sound_samples/cries/glameow.aif b/sound/direct_sound_samples/cries/glameow.aif index ad1d87353c2c..a2d7ab1fa3cc 100644 Binary files a/sound/direct_sound_samples/cries/glameow.aif and b/sound/direct_sound_samples/cries/glameow.aif differ diff --git a/sound/direct_sound_samples/cries/glastrier.aif b/sound/direct_sound_samples/cries/glastrier.aif index 6109f1ca0b60..80c44e0b764a 100644 Binary files a/sound/direct_sound_samples/cries/glastrier.aif and b/sound/direct_sound_samples/cries/glastrier.aif differ diff --git a/sound/direct_sound_samples/cries/gligar.aif b/sound/direct_sound_samples/cries/gligar.aif index 4908fb6b0996..e2103c2ff846 100644 Binary files a/sound/direct_sound_samples/cries/gligar.aif and b/sound/direct_sound_samples/cries/gligar.aif differ diff --git a/sound/direct_sound_samples/cries/glimmet.aif b/sound/direct_sound_samples/cries/glimmet.aif index 38fc118b26ab..e89ac2ea59cd 100644 Binary files a/sound/direct_sound_samples/cries/glimmet.aif and b/sound/direct_sound_samples/cries/glimmet.aif differ diff --git a/sound/direct_sound_samples/cries/gliscor.aif b/sound/direct_sound_samples/cries/gliscor.aif index ccd116c29198..1df92dc9a932 100644 Binary files a/sound/direct_sound_samples/cries/gliscor.aif and b/sound/direct_sound_samples/cries/gliscor.aif differ diff --git a/sound/direct_sound_samples/cries/gloom.aif b/sound/direct_sound_samples/cries/gloom.aif index d15e3cca7548..bcedd48d5ea3 100644 Binary files a/sound/direct_sound_samples/cries/gloom.aif and b/sound/direct_sound_samples/cries/gloom.aif differ diff --git a/sound/direct_sound_samples/cries/gogoat.aif b/sound/direct_sound_samples/cries/gogoat.aif index ee505f6756ac..6717a2ff2668 100644 Binary files a/sound/direct_sound_samples/cries/gogoat.aif and b/sound/direct_sound_samples/cries/gogoat.aif differ diff --git a/sound/direct_sound_samples/cries/golbat.aif b/sound/direct_sound_samples/cries/golbat.aif index b08da62f5656..2e91f76966fc 100644 Binary files a/sound/direct_sound_samples/cries/golbat.aif and b/sound/direct_sound_samples/cries/golbat.aif differ diff --git a/sound/direct_sound_samples/cries/goldeen.aif b/sound/direct_sound_samples/cries/goldeen.aif index 2c93ba759e72..687f8d3920ae 100644 Binary files a/sound/direct_sound_samples/cries/goldeen.aif and b/sound/direct_sound_samples/cries/goldeen.aif differ diff --git a/sound/direct_sound_samples/cries/golduck.aif b/sound/direct_sound_samples/cries/golduck.aif index 68645c9df7d0..bc6c5f5b1626 100644 Binary files a/sound/direct_sound_samples/cries/golduck.aif and b/sound/direct_sound_samples/cries/golduck.aif differ diff --git a/sound/direct_sound_samples/cries/golem.aif b/sound/direct_sound_samples/cries/golem.aif index 06451cdf1bf7..95fbef9c47c6 100644 Binary files a/sound/direct_sound_samples/cries/golem.aif and b/sound/direct_sound_samples/cries/golem.aif differ diff --git a/sound/direct_sound_samples/cries/golett.aif b/sound/direct_sound_samples/cries/golett.aif index f0f31bda7e33..58c6f09cd8e8 100644 Binary files a/sound/direct_sound_samples/cries/golett.aif and b/sound/direct_sound_samples/cries/golett.aif differ diff --git a/sound/direct_sound_samples/cries/golisopod.aif b/sound/direct_sound_samples/cries/golisopod.aif index 7b3f85220d04..429f445ede68 100644 Binary files a/sound/direct_sound_samples/cries/golisopod.aif and b/sound/direct_sound_samples/cries/golisopod.aif differ diff --git a/sound/direct_sound_samples/cries/golurk.aif b/sound/direct_sound_samples/cries/golurk.aif index 1795ca8f4a09..abc95bd80802 100644 Binary files a/sound/direct_sound_samples/cries/golurk.aif and b/sound/direct_sound_samples/cries/golurk.aif differ diff --git a/sound/direct_sound_samples/cries/goodra.aif b/sound/direct_sound_samples/cries/goodra.aif index 0ec7cb4da90e..b2f407cc94d1 100644 Binary files a/sound/direct_sound_samples/cries/goodra.aif and b/sound/direct_sound_samples/cries/goodra.aif differ diff --git a/sound/direct_sound_samples/cries/goomy.aif b/sound/direct_sound_samples/cries/goomy.aif index a35a42f53fed..bd2524ebe1e9 100644 Binary files a/sound/direct_sound_samples/cries/goomy.aif and b/sound/direct_sound_samples/cries/goomy.aif differ diff --git a/sound/direct_sound_samples/cries/gorebyss.aif b/sound/direct_sound_samples/cries/gorebyss.aif index 48277537ac90..a93b1aa6fc89 100644 Binary files a/sound/direct_sound_samples/cries/gorebyss.aif and b/sound/direct_sound_samples/cries/gorebyss.aif differ diff --git a/sound/direct_sound_samples/cries/gothita.aif b/sound/direct_sound_samples/cries/gothita.aif index 93089d6200ba..00476d94bd77 100644 Binary files a/sound/direct_sound_samples/cries/gothita.aif and b/sound/direct_sound_samples/cries/gothita.aif differ diff --git a/sound/direct_sound_samples/cries/gothitelle.aif b/sound/direct_sound_samples/cries/gothitelle.aif index f7f12020708e..d8f334784ad4 100644 Binary files a/sound/direct_sound_samples/cries/gothitelle.aif and b/sound/direct_sound_samples/cries/gothitelle.aif differ diff --git a/sound/direct_sound_samples/cries/gothorita.aif b/sound/direct_sound_samples/cries/gothorita.aif index d0b1217c18b0..d5491f83b51b 100644 Binary files a/sound/direct_sound_samples/cries/gothorita.aif and b/sound/direct_sound_samples/cries/gothorita.aif differ diff --git a/sound/direct_sound_samples/cries/gourgeist.aif b/sound/direct_sound_samples/cries/gourgeist.aif index 7a88b5f06b57..b1790cdd3c1d 100644 Binary files a/sound/direct_sound_samples/cries/gourgeist.aif and b/sound/direct_sound_samples/cries/gourgeist.aif differ diff --git a/sound/direct_sound_samples/cries/gourgeist_super.aif b/sound/direct_sound_samples/cries/gourgeist_super.aif index 5f3000605414..cdf93aca5815 100644 Binary files a/sound/direct_sound_samples/cries/gourgeist_super.aif and b/sound/direct_sound_samples/cries/gourgeist_super.aif differ diff --git a/sound/direct_sound_samples/cries/granbull.aif b/sound/direct_sound_samples/cries/granbull.aif index 6c4563fb3895..87ed96a84273 100644 Binary files a/sound/direct_sound_samples/cries/granbull.aif and b/sound/direct_sound_samples/cries/granbull.aif differ diff --git a/sound/direct_sound_samples/cries/graveler.aif b/sound/direct_sound_samples/cries/graveler.aif index 84828f10f8f6..fbf463c4fd2e 100644 Binary files a/sound/direct_sound_samples/cries/graveler.aif and b/sound/direct_sound_samples/cries/graveler.aif differ diff --git a/sound/direct_sound_samples/cries/greninja.aif b/sound/direct_sound_samples/cries/greninja.aif index 3050e4c5d9d4..988d66b06282 100644 Binary files a/sound/direct_sound_samples/cries/greninja.aif and b/sound/direct_sound_samples/cries/greninja.aif differ diff --git a/sound/direct_sound_samples/cries/grimer.aif b/sound/direct_sound_samples/cries/grimer.aif index 160cfe766ce9..050fb9620c35 100644 Binary files a/sound/direct_sound_samples/cries/grimer.aif and b/sound/direct_sound_samples/cries/grimer.aif differ diff --git a/sound/direct_sound_samples/cries/grotle.aif b/sound/direct_sound_samples/cries/grotle.aif index 71a2d7d1a8ce..2b08bca67e7a 100644 Binary files a/sound/direct_sound_samples/cries/grotle.aif and b/sound/direct_sound_samples/cries/grotle.aif differ diff --git a/sound/direct_sound_samples/cries/groudon.aif b/sound/direct_sound_samples/cries/groudon.aif index f8056c54b347..9fe253745ae2 100644 Binary files a/sound/direct_sound_samples/cries/groudon.aif and b/sound/direct_sound_samples/cries/groudon.aif differ diff --git a/sound/direct_sound_samples/cries/groudon_primal.aif b/sound/direct_sound_samples/cries/groudon_primal.aif index c88326947000..a93d06a3fe93 100644 Binary files a/sound/direct_sound_samples/cries/groudon_primal.aif and b/sound/direct_sound_samples/cries/groudon_primal.aif differ diff --git a/sound/direct_sound_samples/cries/grovyle.aif b/sound/direct_sound_samples/cries/grovyle.aif index 7015e6430974..c21c58ad0906 100644 Binary files a/sound/direct_sound_samples/cries/grovyle.aif and b/sound/direct_sound_samples/cries/grovyle.aif differ diff --git a/sound/direct_sound_samples/cries/growlithe.aif b/sound/direct_sound_samples/cries/growlithe.aif index 1f98002d9b36..37b7233c2967 100644 Binary files a/sound/direct_sound_samples/cries/growlithe.aif and b/sound/direct_sound_samples/cries/growlithe.aif differ diff --git a/sound/direct_sound_samples/cries/grubbin.aif b/sound/direct_sound_samples/cries/grubbin.aif index f94371c468ff..8e071f78154b 100644 Binary files a/sound/direct_sound_samples/cries/grubbin.aif and b/sound/direct_sound_samples/cries/grubbin.aif differ diff --git a/sound/direct_sound_samples/cries/grumpig.aif b/sound/direct_sound_samples/cries/grumpig.aif index 009cf05257d0..d5b766f43e98 100644 Binary files a/sound/direct_sound_samples/cries/grumpig.aif and b/sound/direct_sound_samples/cries/grumpig.aif differ diff --git a/sound/direct_sound_samples/cries/gulpin.aif b/sound/direct_sound_samples/cries/gulpin.aif index 47a26e9b4f34..4b0bc89b96fe 100644 Binary files a/sound/direct_sound_samples/cries/gulpin.aif and b/sound/direct_sound_samples/cries/gulpin.aif differ diff --git a/sound/direct_sound_samples/cries/gumshoos.aif b/sound/direct_sound_samples/cries/gumshoos.aif index 82cbbfb72a0e..9f078f85dbd2 100644 Binary files a/sound/direct_sound_samples/cries/gumshoos.aif and b/sound/direct_sound_samples/cries/gumshoos.aif differ diff --git a/sound/direct_sound_samples/cries/gurdurr.aif b/sound/direct_sound_samples/cries/gurdurr.aif index 8cb56e5a702b..055d366a91b2 100644 Binary files a/sound/direct_sound_samples/cries/gurdurr.aif and b/sound/direct_sound_samples/cries/gurdurr.aif differ diff --git a/sound/direct_sound_samples/cries/guzzlord.aif b/sound/direct_sound_samples/cries/guzzlord.aif index ed99b290182d..958e0b7ed367 100644 Binary files a/sound/direct_sound_samples/cries/guzzlord.aif and b/sound/direct_sound_samples/cries/guzzlord.aif differ diff --git a/sound/direct_sound_samples/cries/gyarados.aif b/sound/direct_sound_samples/cries/gyarados.aif index 8747ee1f2d95..f4b5dbf94584 100644 Binary files a/sound/direct_sound_samples/cries/gyarados.aif and b/sound/direct_sound_samples/cries/gyarados.aif differ diff --git a/sound/direct_sound_samples/cries/gyarados_mega.aif b/sound/direct_sound_samples/cries/gyarados_mega.aif index 5e310a46382f..33f9eadc3b00 100644 Binary files a/sound/direct_sound_samples/cries/gyarados_mega.aif and b/sound/direct_sound_samples/cries/gyarados_mega.aif differ diff --git a/sound/direct_sound_samples/cries/hakamo_o.aif b/sound/direct_sound_samples/cries/hakamo_o.aif index 59ad764972ab..03d2ff241ad4 100644 Binary files a/sound/direct_sound_samples/cries/hakamo_o.aif and b/sound/direct_sound_samples/cries/hakamo_o.aif differ diff --git a/sound/direct_sound_samples/cries/happiny.aif b/sound/direct_sound_samples/cries/happiny.aif index 90d8ccb015bd..bee72680ac18 100644 Binary files a/sound/direct_sound_samples/cries/happiny.aif and b/sound/direct_sound_samples/cries/happiny.aif differ diff --git a/sound/direct_sound_samples/cries/hariyama.aif b/sound/direct_sound_samples/cries/hariyama.aif index 3455304fb1bd..0a61e0d8ae75 100644 Binary files a/sound/direct_sound_samples/cries/hariyama.aif and b/sound/direct_sound_samples/cries/hariyama.aif differ diff --git a/sound/direct_sound_samples/cries/hattrem.aif b/sound/direct_sound_samples/cries/hattrem.aif index 57f46a497920..444c77028352 100644 Binary files a/sound/direct_sound_samples/cries/hattrem.aif and b/sound/direct_sound_samples/cries/hattrem.aif differ diff --git a/sound/direct_sound_samples/cries/haunter.aif b/sound/direct_sound_samples/cries/haunter.aif index 83dd20697fc0..c9192cf9bcd1 100644 Binary files a/sound/direct_sound_samples/cries/haunter.aif and b/sound/direct_sound_samples/cries/haunter.aif differ diff --git a/sound/direct_sound_samples/cries/hawlucha.aif b/sound/direct_sound_samples/cries/hawlucha.aif index 5729c1d86b4c..0e4d9c78d15b 100644 Binary files a/sound/direct_sound_samples/cries/hawlucha.aif and b/sound/direct_sound_samples/cries/hawlucha.aif differ diff --git a/sound/direct_sound_samples/cries/haxorus.aif b/sound/direct_sound_samples/cries/haxorus.aif index 7fc4043d3603..8414951d49fe 100644 Binary files a/sound/direct_sound_samples/cries/haxorus.aif and b/sound/direct_sound_samples/cries/haxorus.aif differ diff --git a/sound/direct_sound_samples/cries/heatmor.aif b/sound/direct_sound_samples/cries/heatmor.aif index a73dd97e4a01..2a254ef0d96e 100644 Binary files a/sound/direct_sound_samples/cries/heatmor.aif and b/sound/direct_sound_samples/cries/heatmor.aif differ diff --git a/sound/direct_sound_samples/cries/heatran.aif b/sound/direct_sound_samples/cries/heatran.aif index d6bab9fbb9a8..56c373d8d862 100644 Binary files a/sound/direct_sound_samples/cries/heatran.aif and b/sound/direct_sound_samples/cries/heatran.aif differ diff --git a/sound/direct_sound_samples/cries/heliolisk.aif b/sound/direct_sound_samples/cries/heliolisk.aif index 4116c27df501..d87e7bfd2a94 100644 Binary files a/sound/direct_sound_samples/cries/heliolisk.aif and b/sound/direct_sound_samples/cries/heliolisk.aif differ diff --git a/sound/direct_sound_samples/cries/helioptile.aif b/sound/direct_sound_samples/cries/helioptile.aif index cb935b70ae80..aa1a9fb3a60d 100644 Binary files a/sound/direct_sound_samples/cries/helioptile.aif and b/sound/direct_sound_samples/cries/helioptile.aif differ diff --git a/sound/direct_sound_samples/cries/heracross.aif b/sound/direct_sound_samples/cries/heracross.aif index e5347faf2413..1fe12ed52498 100644 Binary files a/sound/direct_sound_samples/cries/heracross.aif and b/sound/direct_sound_samples/cries/heracross.aif differ diff --git a/sound/direct_sound_samples/cries/heracross_mega.aif b/sound/direct_sound_samples/cries/heracross_mega.aif index 67faa6f196d2..e1993473c20a 100644 Binary files a/sound/direct_sound_samples/cries/heracross_mega.aif and b/sound/direct_sound_samples/cries/heracross_mega.aif differ diff --git a/sound/direct_sound_samples/cries/herdier.aif b/sound/direct_sound_samples/cries/herdier.aif index e57234c8b0fa..bc798f60b5c9 100644 Binary files a/sound/direct_sound_samples/cries/herdier.aif and b/sound/direct_sound_samples/cries/herdier.aif differ diff --git a/sound/direct_sound_samples/cries/hippopotas.aif b/sound/direct_sound_samples/cries/hippopotas.aif index 83deb1c6187d..a8828805fe93 100644 Binary files a/sound/direct_sound_samples/cries/hippopotas.aif and b/sound/direct_sound_samples/cries/hippopotas.aif differ diff --git a/sound/direct_sound_samples/cries/hippowdon.aif b/sound/direct_sound_samples/cries/hippowdon.aif index 42f2860c81a2..94649f3f2503 100644 Binary files a/sound/direct_sound_samples/cries/hippowdon.aif and b/sound/direct_sound_samples/cries/hippowdon.aif differ diff --git a/sound/direct_sound_samples/cries/hitmonchan.aif b/sound/direct_sound_samples/cries/hitmonchan.aif index a0b974db92e7..279370fc9c12 100644 Binary files a/sound/direct_sound_samples/cries/hitmonchan.aif and b/sound/direct_sound_samples/cries/hitmonchan.aif differ diff --git a/sound/direct_sound_samples/cries/hitmonlee.aif b/sound/direct_sound_samples/cries/hitmonlee.aif index 5fda33b99db2..d388565df85f 100644 Binary files a/sound/direct_sound_samples/cries/hitmonlee.aif and b/sound/direct_sound_samples/cries/hitmonlee.aif differ diff --git a/sound/direct_sound_samples/cries/hitmontop.aif b/sound/direct_sound_samples/cries/hitmontop.aif index 57f6101c9174..237e0a6b0fcd 100644 Binary files a/sound/direct_sound_samples/cries/hitmontop.aif and b/sound/direct_sound_samples/cries/hitmontop.aif differ diff --git a/sound/direct_sound_samples/cries/ho_oh.aif b/sound/direct_sound_samples/cries/ho_oh.aif index 0c561242a714..886d66813ab2 100644 Binary files a/sound/direct_sound_samples/cries/ho_oh.aif and b/sound/direct_sound_samples/cries/ho_oh.aif differ diff --git a/sound/direct_sound_samples/cries/honchkrow.aif b/sound/direct_sound_samples/cries/honchkrow.aif index 424689f0dd1d..ae3ceda67194 100644 Binary files a/sound/direct_sound_samples/cries/honchkrow.aif and b/sound/direct_sound_samples/cries/honchkrow.aif differ diff --git a/sound/direct_sound_samples/cries/honedge.aif b/sound/direct_sound_samples/cries/honedge.aif index 75e95b0738d7..e1204fddfecb 100644 Binary files a/sound/direct_sound_samples/cries/honedge.aif and b/sound/direct_sound_samples/cries/honedge.aif differ diff --git a/sound/direct_sound_samples/cries/hoopa_confined.aif b/sound/direct_sound_samples/cries/hoopa_confined.aif index 39a8d0256518..2d91b4982afa 100644 Binary files a/sound/direct_sound_samples/cries/hoopa_confined.aif and b/sound/direct_sound_samples/cries/hoopa_confined.aif differ diff --git a/sound/direct_sound_samples/cries/hoopa_unbound.aif b/sound/direct_sound_samples/cries/hoopa_unbound.aif index 8867fe42a3d4..2b4d84015b03 100644 Binary files a/sound/direct_sound_samples/cries/hoopa_unbound.aif and b/sound/direct_sound_samples/cries/hoopa_unbound.aif differ diff --git a/sound/direct_sound_samples/cries/hoothoot.aif b/sound/direct_sound_samples/cries/hoothoot.aif index 46dcbdddfdb0..52bccc8e9103 100644 Binary files a/sound/direct_sound_samples/cries/hoothoot.aif and b/sound/direct_sound_samples/cries/hoothoot.aif differ diff --git a/sound/direct_sound_samples/cries/hoppip.aif b/sound/direct_sound_samples/cries/hoppip.aif index 9eba0a749570..e715705f0899 100644 Binary files a/sound/direct_sound_samples/cries/hoppip.aif and b/sound/direct_sound_samples/cries/hoppip.aif differ diff --git a/sound/direct_sound_samples/cries/horsea.aif b/sound/direct_sound_samples/cries/horsea.aif index 7382a8a69fcd..12801a2076ed 100644 Binary files a/sound/direct_sound_samples/cries/horsea.aif and b/sound/direct_sound_samples/cries/horsea.aif differ diff --git a/sound/direct_sound_samples/cries/houndoom.aif b/sound/direct_sound_samples/cries/houndoom.aif index a9c4d2d122c0..09c6e4957f48 100644 Binary files a/sound/direct_sound_samples/cries/houndoom.aif and b/sound/direct_sound_samples/cries/houndoom.aif differ diff --git a/sound/direct_sound_samples/cries/houndoom_mega.aif b/sound/direct_sound_samples/cries/houndoom_mega.aif index 7bf51ba800f4..102f822cc69f 100644 Binary files a/sound/direct_sound_samples/cries/houndoom_mega.aif and b/sound/direct_sound_samples/cries/houndoom_mega.aif differ diff --git a/sound/direct_sound_samples/cries/houndour.aif b/sound/direct_sound_samples/cries/houndour.aif index b366e0d06896..352d8fd897c6 100644 Binary files a/sound/direct_sound_samples/cries/houndour.aif and b/sound/direct_sound_samples/cries/houndour.aif differ diff --git a/sound/direct_sound_samples/cries/houndstone.aif b/sound/direct_sound_samples/cries/houndstone.aif index 145cc7968284..99e699b7bab6 100644 Binary files a/sound/direct_sound_samples/cries/houndstone.aif and b/sound/direct_sound_samples/cries/houndstone.aif differ diff --git a/sound/direct_sound_samples/cries/huntail.aif b/sound/direct_sound_samples/cries/huntail.aif index 2b930a3eb0d5..b520d2b7a8c3 100644 Binary files a/sound/direct_sound_samples/cries/huntail.aif and b/sound/direct_sound_samples/cries/huntail.aif differ diff --git a/sound/direct_sound_samples/cries/hydrapple.aif b/sound/direct_sound_samples/cries/hydrapple.aif index a9d306e93ca2..45f5fd9ca019 100644 Binary files a/sound/direct_sound_samples/cries/hydrapple.aif and b/sound/direct_sound_samples/cries/hydrapple.aif differ diff --git a/sound/direct_sound_samples/cries/hydreigon.aif b/sound/direct_sound_samples/cries/hydreigon.aif index 66342c066dd8..8227c6d21f63 100644 Binary files a/sound/direct_sound_samples/cries/hydreigon.aif and b/sound/direct_sound_samples/cries/hydreigon.aif differ diff --git a/sound/direct_sound_samples/cries/hypno.aif b/sound/direct_sound_samples/cries/hypno.aif index 8569a4f98153..7c4bde193683 100644 Binary files a/sound/direct_sound_samples/cries/hypno.aif and b/sound/direct_sound_samples/cries/hypno.aif differ diff --git a/sound/direct_sound_samples/cries/igglybuff.aif b/sound/direct_sound_samples/cries/igglybuff.aif index 3a8d6e81ef77..0f2db1e52c6c 100644 Binary files a/sound/direct_sound_samples/cries/igglybuff.aif and b/sound/direct_sound_samples/cries/igglybuff.aif differ diff --git a/sound/direct_sound_samples/cries/illumise.aif b/sound/direct_sound_samples/cries/illumise.aif index 350288991d93..26807295bd8a 100644 Binary files a/sound/direct_sound_samples/cries/illumise.aif and b/sound/direct_sound_samples/cries/illumise.aif differ diff --git a/sound/direct_sound_samples/cries/incineroar.aif b/sound/direct_sound_samples/cries/incineroar.aif index 6689c101738a..b7f3e2201efb 100644 Binary files a/sound/direct_sound_samples/cries/incineroar.aif and b/sound/direct_sound_samples/cries/incineroar.aif differ diff --git a/sound/direct_sound_samples/cries/indeedee_female.aif b/sound/direct_sound_samples/cries/indeedee_female.aif index 3edae13bad09..b5e5fe454739 100644 Binary files a/sound/direct_sound_samples/cries/indeedee_female.aif and b/sound/direct_sound_samples/cries/indeedee_female.aif differ diff --git a/sound/direct_sound_samples/cries/infernape.aif b/sound/direct_sound_samples/cries/infernape.aif index b36008eeea3d..d4570a8f3a60 100644 Binary files a/sound/direct_sound_samples/cries/infernape.aif and b/sound/direct_sound_samples/cries/infernape.aif differ diff --git a/sound/direct_sound_samples/cries/inkay.aif b/sound/direct_sound_samples/cries/inkay.aif index a28ee83866c6..04753026e065 100644 Binary files a/sound/direct_sound_samples/cries/inkay.aif and b/sound/direct_sound_samples/cries/inkay.aif differ diff --git a/sound/direct_sound_samples/cries/inteleon.aif b/sound/direct_sound_samples/cries/inteleon.aif index d5c6d367f789..8153b02889b4 100644 Binary files a/sound/direct_sound_samples/cries/inteleon.aif and b/sound/direct_sound_samples/cries/inteleon.aif differ diff --git a/sound/direct_sound_samples/cries/iron_boulder.aif b/sound/direct_sound_samples/cries/iron_boulder.aif index 15c1b632b533..0ffdefdffb35 100644 Binary files a/sound/direct_sound_samples/cries/iron_boulder.aif and b/sound/direct_sound_samples/cries/iron_boulder.aif differ diff --git a/sound/direct_sound_samples/cries/iron_bundle.aif b/sound/direct_sound_samples/cries/iron_bundle.aif index 59af7aa5041e..51c9e0b60cee 100644 Binary files a/sound/direct_sound_samples/cries/iron_bundle.aif and b/sound/direct_sound_samples/cries/iron_bundle.aif differ diff --git a/sound/direct_sound_samples/cries/iron_crown.aif b/sound/direct_sound_samples/cries/iron_crown.aif index b67a9c7089ac..8c310455dcd2 100644 Binary files a/sound/direct_sound_samples/cries/iron_crown.aif and b/sound/direct_sound_samples/cries/iron_crown.aif differ diff --git a/sound/direct_sound_samples/cries/iron_hands.aif b/sound/direct_sound_samples/cries/iron_hands.aif index d9e5b995f0a5..621e4fdc19fb 100644 Binary files a/sound/direct_sound_samples/cries/iron_hands.aif and b/sound/direct_sound_samples/cries/iron_hands.aif differ diff --git a/sound/direct_sound_samples/cries/iron_thorns.aif b/sound/direct_sound_samples/cries/iron_thorns.aif index e73b9d553e73..ac88055c6d39 100644 Binary files a/sound/direct_sound_samples/cries/iron_thorns.aif and b/sound/direct_sound_samples/cries/iron_thorns.aif differ diff --git a/sound/direct_sound_samples/cries/ivysaur.aif b/sound/direct_sound_samples/cries/ivysaur.aif index 3d998bf671b7..40ee462805e9 100644 Binary files a/sound/direct_sound_samples/cries/ivysaur.aif and b/sound/direct_sound_samples/cries/ivysaur.aif differ diff --git a/sound/direct_sound_samples/cries/jangmo_o.aif b/sound/direct_sound_samples/cries/jangmo_o.aif index 083522cf8573..29f8f86b51ce 100644 Binary files a/sound/direct_sound_samples/cries/jangmo_o.aif and b/sound/direct_sound_samples/cries/jangmo_o.aif differ diff --git a/sound/direct_sound_samples/cries/jellicent.aif b/sound/direct_sound_samples/cries/jellicent.aif index 4c75c484f26b..33f6cf5aeabe 100644 Binary files a/sound/direct_sound_samples/cries/jellicent.aif and b/sound/direct_sound_samples/cries/jellicent.aif differ diff --git a/sound/direct_sound_samples/cries/jigglypuff.aif b/sound/direct_sound_samples/cries/jigglypuff.aif index d42f2dbdb40c..09249f6dd65d 100644 Binary files a/sound/direct_sound_samples/cries/jigglypuff.aif and b/sound/direct_sound_samples/cries/jigglypuff.aif differ diff --git a/sound/direct_sound_samples/cries/jirachi.aif b/sound/direct_sound_samples/cries/jirachi.aif index 40f3a76c1cf5..0da759794c88 100644 Binary files a/sound/direct_sound_samples/cries/jirachi.aif and b/sound/direct_sound_samples/cries/jirachi.aif differ diff --git a/sound/direct_sound_samples/cries/jolteon.aif b/sound/direct_sound_samples/cries/jolteon.aif index be9c81d62ec5..acd96714aeb2 100644 Binary files a/sound/direct_sound_samples/cries/jolteon.aif and b/sound/direct_sound_samples/cries/jolteon.aif differ diff --git a/sound/direct_sound_samples/cries/joltik.aif b/sound/direct_sound_samples/cries/joltik.aif index cd1fa592c957..a67354d74ce5 100644 Binary files a/sound/direct_sound_samples/cries/joltik.aif and b/sound/direct_sound_samples/cries/joltik.aif differ diff --git a/sound/direct_sound_samples/cries/jumpluff.aif b/sound/direct_sound_samples/cries/jumpluff.aif index 69b4a7207426..2b93dad55868 100644 Binary files a/sound/direct_sound_samples/cries/jumpluff.aif and b/sound/direct_sound_samples/cries/jumpluff.aif differ diff --git a/sound/direct_sound_samples/cries/jynx.aif b/sound/direct_sound_samples/cries/jynx.aif index 41630677b7b1..cbcd7ee99de6 100644 Binary files a/sound/direct_sound_samples/cries/jynx.aif and b/sound/direct_sound_samples/cries/jynx.aif differ diff --git a/sound/direct_sound_samples/cries/kabuto.aif b/sound/direct_sound_samples/cries/kabuto.aif index aad4f3266cee..2ed73716cbf5 100644 Binary files a/sound/direct_sound_samples/cries/kabuto.aif and b/sound/direct_sound_samples/cries/kabuto.aif differ diff --git a/sound/direct_sound_samples/cries/kabutops.aif b/sound/direct_sound_samples/cries/kabutops.aif index 015bacaca99a..79a4b304a821 100644 Binary files a/sound/direct_sound_samples/cries/kabutops.aif and b/sound/direct_sound_samples/cries/kabutops.aif differ diff --git a/sound/direct_sound_samples/cries/kadabra.aif b/sound/direct_sound_samples/cries/kadabra.aif index 4c847cb4e853..3f03ee03f0f1 100644 Binary files a/sound/direct_sound_samples/cries/kadabra.aif and b/sound/direct_sound_samples/cries/kadabra.aif differ diff --git a/sound/direct_sound_samples/cries/kakuna.aif b/sound/direct_sound_samples/cries/kakuna.aif index 088b51965c5e..8331b0b0e580 100644 Binary files a/sound/direct_sound_samples/cries/kakuna.aif and b/sound/direct_sound_samples/cries/kakuna.aif differ diff --git a/sound/direct_sound_samples/cries/kangaskhan.aif b/sound/direct_sound_samples/cries/kangaskhan.aif index 1e57639531d2..26a8ac43a404 100644 Binary files a/sound/direct_sound_samples/cries/kangaskhan.aif and b/sound/direct_sound_samples/cries/kangaskhan.aif differ diff --git a/sound/direct_sound_samples/cries/kangaskhan_mega.aif b/sound/direct_sound_samples/cries/kangaskhan_mega.aif index cd95a87d3994..417cb04f49e5 100644 Binary files a/sound/direct_sound_samples/cries/kangaskhan_mega.aif and b/sound/direct_sound_samples/cries/kangaskhan_mega.aif differ diff --git a/sound/direct_sound_samples/cries/karrablast.aif b/sound/direct_sound_samples/cries/karrablast.aif index cf06ec45a885..7b5a2c3948a6 100644 Binary files a/sound/direct_sound_samples/cries/karrablast.aif and b/sound/direct_sound_samples/cries/karrablast.aif differ diff --git a/sound/direct_sound_samples/cries/kartana.aif b/sound/direct_sound_samples/cries/kartana.aif index f17c69912d83..b43fa40d7833 100644 Binary files a/sound/direct_sound_samples/cries/kartana.aif and b/sound/direct_sound_samples/cries/kartana.aif differ diff --git a/sound/direct_sound_samples/cries/kecleon.aif b/sound/direct_sound_samples/cries/kecleon.aif index b6dd7e91f37c..51dae2935044 100644 Binary files a/sound/direct_sound_samples/cries/kecleon.aif and b/sound/direct_sound_samples/cries/kecleon.aif differ diff --git a/sound/direct_sound_samples/cries/keldeo.aif b/sound/direct_sound_samples/cries/keldeo.aif index 4f73fc22da4a..6f23ad088557 100644 Binary files a/sound/direct_sound_samples/cries/keldeo.aif and b/sound/direct_sound_samples/cries/keldeo.aif differ diff --git a/sound/direct_sound_samples/cries/kingdra.aif b/sound/direct_sound_samples/cries/kingdra.aif index 2d68f6a6f1a8..a9cc1d9fe489 100644 Binary files a/sound/direct_sound_samples/cries/kingdra.aif and b/sound/direct_sound_samples/cries/kingdra.aif differ diff --git a/sound/direct_sound_samples/cries/kingler.aif b/sound/direct_sound_samples/cries/kingler.aif index 752b660659ab..b8368297313b 100644 Binary files a/sound/direct_sound_samples/cries/kingler.aif and b/sound/direct_sound_samples/cries/kingler.aif differ diff --git a/sound/direct_sound_samples/cries/kirlia.aif b/sound/direct_sound_samples/cries/kirlia.aif index 0ef923020383..0beaebf16f38 100644 Binary files a/sound/direct_sound_samples/cries/kirlia.aif and b/sound/direct_sound_samples/cries/kirlia.aif differ diff --git a/sound/direct_sound_samples/cries/klang.aif b/sound/direct_sound_samples/cries/klang.aif index bb17984d2cec..13b28861f4ae 100644 Binary files a/sound/direct_sound_samples/cries/klang.aif and b/sound/direct_sound_samples/cries/klang.aif differ diff --git a/sound/direct_sound_samples/cries/kleavor.aif b/sound/direct_sound_samples/cries/kleavor.aif index cf23d5b623ee..c84a31cf2ff4 100644 Binary files a/sound/direct_sound_samples/cries/kleavor.aif and b/sound/direct_sound_samples/cries/kleavor.aif differ diff --git a/sound/direct_sound_samples/cries/klink.aif b/sound/direct_sound_samples/cries/klink.aif index 21076028de58..0bd6b65f7461 100644 Binary files a/sound/direct_sound_samples/cries/klink.aif and b/sound/direct_sound_samples/cries/klink.aif differ diff --git a/sound/direct_sound_samples/cries/klinklang.aif b/sound/direct_sound_samples/cries/klinklang.aif index 2f2edf0f5591..35117bf30a5b 100644 Binary files a/sound/direct_sound_samples/cries/klinklang.aif and b/sound/direct_sound_samples/cries/klinklang.aif differ diff --git a/sound/direct_sound_samples/cries/koffing.aif b/sound/direct_sound_samples/cries/koffing.aif index 6def9ad0c157..50d5bc978bb5 100644 Binary files a/sound/direct_sound_samples/cries/koffing.aif and b/sound/direct_sound_samples/cries/koffing.aif differ diff --git a/sound/direct_sound_samples/cries/komala.aif b/sound/direct_sound_samples/cries/komala.aif index 414d0c053b86..e084c9a7c4e0 100644 Binary files a/sound/direct_sound_samples/cries/komala.aif and b/sound/direct_sound_samples/cries/komala.aif differ diff --git a/sound/direct_sound_samples/cries/kommo_o.aif b/sound/direct_sound_samples/cries/kommo_o.aif index d9a12af24144..057153e907df 100644 Binary files a/sound/direct_sound_samples/cries/kommo_o.aif and b/sound/direct_sound_samples/cries/kommo_o.aif differ diff --git a/sound/direct_sound_samples/cries/krabby.aif b/sound/direct_sound_samples/cries/krabby.aif index 033e148f3823..33b8ea294b6b 100644 Binary files a/sound/direct_sound_samples/cries/krabby.aif and b/sound/direct_sound_samples/cries/krabby.aif differ diff --git a/sound/direct_sound_samples/cries/kricketot.aif b/sound/direct_sound_samples/cries/kricketot.aif index c441b00cd95f..7b301cc485a0 100644 Binary files a/sound/direct_sound_samples/cries/kricketot.aif and b/sound/direct_sound_samples/cries/kricketot.aif differ diff --git a/sound/direct_sound_samples/cries/kricketune.aif b/sound/direct_sound_samples/cries/kricketune.aif index a11390f3f762..b3ebcbf8ae25 100644 Binary files a/sound/direct_sound_samples/cries/kricketune.aif and b/sound/direct_sound_samples/cries/kricketune.aif differ diff --git a/sound/direct_sound_samples/cries/krokorok.aif b/sound/direct_sound_samples/cries/krokorok.aif index 2cf4ceff1fb1..39765627ece1 100644 Binary files a/sound/direct_sound_samples/cries/krokorok.aif and b/sound/direct_sound_samples/cries/krokorok.aif differ diff --git a/sound/direct_sound_samples/cries/krookodile.aif b/sound/direct_sound_samples/cries/krookodile.aif index 4aa7ea4aedf7..4b532b3bd1e2 100644 Binary files a/sound/direct_sound_samples/cries/krookodile.aif and b/sound/direct_sound_samples/cries/krookodile.aif differ diff --git a/sound/direct_sound_samples/cries/kyogre.aif b/sound/direct_sound_samples/cries/kyogre.aif index 57790d75faf4..c20d2cf3240e 100644 Binary files a/sound/direct_sound_samples/cries/kyogre.aif and b/sound/direct_sound_samples/cries/kyogre.aif differ diff --git a/sound/direct_sound_samples/cries/kyogre_primal.aif b/sound/direct_sound_samples/cries/kyogre_primal.aif index 605b8944ce48..b7999915b34a 100644 Binary files a/sound/direct_sound_samples/cries/kyogre_primal.aif and b/sound/direct_sound_samples/cries/kyogre_primal.aif differ diff --git a/sound/direct_sound_samples/cries/kyurem.aif b/sound/direct_sound_samples/cries/kyurem.aif index 036d6cf689fa..0345a0c17597 100644 Binary files a/sound/direct_sound_samples/cries/kyurem.aif and b/sound/direct_sound_samples/cries/kyurem.aif differ diff --git a/sound/direct_sound_samples/cries/kyurem_black.aif b/sound/direct_sound_samples/cries/kyurem_black.aif index f5bd0cb4e7e0..9b5320bd63f2 100644 Binary files a/sound/direct_sound_samples/cries/kyurem_black.aif and b/sound/direct_sound_samples/cries/kyurem_black.aif differ diff --git a/sound/direct_sound_samples/cries/kyurem_white.aif b/sound/direct_sound_samples/cries/kyurem_white.aif index a9d7a5e58df4..1e6f0283ec74 100644 Binary files a/sound/direct_sound_samples/cries/kyurem_white.aif and b/sound/direct_sound_samples/cries/kyurem_white.aif differ diff --git a/sound/direct_sound_samples/cries/lairon.aif b/sound/direct_sound_samples/cries/lairon.aif index b1cf60b8aff4..44bc57df17be 100644 Binary files a/sound/direct_sound_samples/cries/lairon.aif and b/sound/direct_sound_samples/cries/lairon.aif differ diff --git a/sound/direct_sound_samples/cries/lampent.aif b/sound/direct_sound_samples/cries/lampent.aif index 2f11c2ecfbf1..9d5a8a3c0196 100644 Binary files a/sound/direct_sound_samples/cries/lampent.aif and b/sound/direct_sound_samples/cries/lampent.aif differ diff --git a/sound/direct_sound_samples/cries/landorus_incarnate.aif b/sound/direct_sound_samples/cries/landorus_incarnate.aif index 189c77666870..03111963d7e2 100644 Binary files a/sound/direct_sound_samples/cries/landorus_incarnate.aif and b/sound/direct_sound_samples/cries/landorus_incarnate.aif differ diff --git a/sound/direct_sound_samples/cries/landorus_therian.aif b/sound/direct_sound_samples/cries/landorus_therian.aif index edd6fa349b23..6a641cf6f4ba 100644 Binary files a/sound/direct_sound_samples/cries/landorus_therian.aif and b/sound/direct_sound_samples/cries/landorus_therian.aif differ diff --git a/sound/direct_sound_samples/cries/lanturn.aif b/sound/direct_sound_samples/cries/lanturn.aif index 11405a96db67..e88570f68dfa 100644 Binary files a/sound/direct_sound_samples/cries/lanturn.aif and b/sound/direct_sound_samples/cries/lanturn.aif differ diff --git a/sound/direct_sound_samples/cries/lapras.aif b/sound/direct_sound_samples/cries/lapras.aif index 0725bcecb687..9bc9023730e1 100644 Binary files a/sound/direct_sound_samples/cries/lapras.aif and b/sound/direct_sound_samples/cries/lapras.aif differ diff --git a/sound/direct_sound_samples/cries/larvesta.aif b/sound/direct_sound_samples/cries/larvesta.aif index 4f3e484c8e1e..a025df32bf53 100644 Binary files a/sound/direct_sound_samples/cries/larvesta.aif and b/sound/direct_sound_samples/cries/larvesta.aif differ diff --git a/sound/direct_sound_samples/cries/larvitar.aif b/sound/direct_sound_samples/cries/larvitar.aif index 45ad2c048804..fd91d5bc7d28 100644 Binary files a/sound/direct_sound_samples/cries/larvitar.aif and b/sound/direct_sound_samples/cries/larvitar.aif differ diff --git a/sound/direct_sound_samples/cries/latias.aif b/sound/direct_sound_samples/cries/latias.aif index 546fe15971a0..90f558abc8b3 100644 Binary files a/sound/direct_sound_samples/cries/latias.aif and b/sound/direct_sound_samples/cries/latias.aif differ diff --git a/sound/direct_sound_samples/cries/latios.aif b/sound/direct_sound_samples/cries/latios.aif index f86a56fd884d..f42446256c15 100644 Binary files a/sound/direct_sound_samples/cries/latios.aif and b/sound/direct_sound_samples/cries/latios.aif differ diff --git a/sound/direct_sound_samples/cries/leafeon.aif b/sound/direct_sound_samples/cries/leafeon.aif index 048bfc8173ad..b3e7494b69f3 100644 Binary files a/sound/direct_sound_samples/cries/leafeon.aif and b/sound/direct_sound_samples/cries/leafeon.aif differ diff --git a/sound/direct_sound_samples/cries/leavanny.aif b/sound/direct_sound_samples/cries/leavanny.aif index 8399bb1cf326..503a08ffe809 100644 Binary files a/sound/direct_sound_samples/cries/leavanny.aif and b/sound/direct_sound_samples/cries/leavanny.aif differ diff --git a/sound/direct_sound_samples/cries/ledian.aif b/sound/direct_sound_samples/cries/ledian.aif index d659df61327a..cbc86ba6ac0b 100644 Binary files a/sound/direct_sound_samples/cries/ledian.aif and b/sound/direct_sound_samples/cries/ledian.aif differ diff --git a/sound/direct_sound_samples/cries/ledyba.aif b/sound/direct_sound_samples/cries/ledyba.aif index 44e882cbdce2..d90f6844018d 100644 Binary files a/sound/direct_sound_samples/cries/ledyba.aif and b/sound/direct_sound_samples/cries/ledyba.aif differ diff --git a/sound/direct_sound_samples/cries/lickilicky.aif b/sound/direct_sound_samples/cries/lickilicky.aif index 61b2c0f38296..542bbcaf8b3c 100644 Binary files a/sound/direct_sound_samples/cries/lickilicky.aif and b/sound/direct_sound_samples/cries/lickilicky.aif differ diff --git a/sound/direct_sound_samples/cries/lickitung.aif b/sound/direct_sound_samples/cries/lickitung.aif index 0f4e697e5b7e..c21d1b036548 100644 Binary files a/sound/direct_sound_samples/cries/lickitung.aif and b/sound/direct_sound_samples/cries/lickitung.aif differ diff --git a/sound/direct_sound_samples/cries/liepard.aif b/sound/direct_sound_samples/cries/liepard.aif index 7432857bc14d..eec210c0e7c4 100644 Binary files a/sound/direct_sound_samples/cries/liepard.aif and b/sound/direct_sound_samples/cries/liepard.aif differ diff --git a/sound/direct_sound_samples/cries/lileep.aif b/sound/direct_sound_samples/cries/lileep.aif index a178e72bf54b..e1b750ba9480 100644 Binary files a/sound/direct_sound_samples/cries/lileep.aif and b/sound/direct_sound_samples/cries/lileep.aif differ diff --git a/sound/direct_sound_samples/cries/lilligant.aif b/sound/direct_sound_samples/cries/lilligant.aif index 311c5affa81c..e00b1aafc417 100644 Binary files a/sound/direct_sound_samples/cries/lilligant.aif and b/sound/direct_sound_samples/cries/lilligant.aif differ diff --git a/sound/direct_sound_samples/cries/lillipup.aif b/sound/direct_sound_samples/cries/lillipup.aif index 9a77e2596ded..825f5054cf8c 100644 Binary files a/sound/direct_sound_samples/cries/lillipup.aif and b/sound/direct_sound_samples/cries/lillipup.aif differ diff --git a/sound/direct_sound_samples/cries/linoone.aif b/sound/direct_sound_samples/cries/linoone.aif index 326eca324cc5..1db1958d4cc4 100644 Binary files a/sound/direct_sound_samples/cries/linoone.aif and b/sound/direct_sound_samples/cries/linoone.aif differ diff --git a/sound/direct_sound_samples/cries/litleo.aif b/sound/direct_sound_samples/cries/litleo.aif index bb203758d617..417d3d470892 100644 Binary files a/sound/direct_sound_samples/cries/litleo.aif and b/sound/direct_sound_samples/cries/litleo.aif differ diff --git a/sound/direct_sound_samples/cries/litten.aif b/sound/direct_sound_samples/cries/litten.aif index 613be44f76af..c2c486dd98a7 100644 Binary files a/sound/direct_sound_samples/cries/litten.aif and b/sound/direct_sound_samples/cries/litten.aif differ diff --git a/sound/direct_sound_samples/cries/litwick.aif b/sound/direct_sound_samples/cries/litwick.aif index 6759c29beb38..c13b74920011 100644 Binary files a/sound/direct_sound_samples/cries/litwick.aif and b/sound/direct_sound_samples/cries/litwick.aif differ diff --git a/sound/direct_sound_samples/cries/lokix.aif b/sound/direct_sound_samples/cries/lokix.aif index c323e2658cc5..739ae1ad5647 100644 Binary files a/sound/direct_sound_samples/cries/lokix.aif and b/sound/direct_sound_samples/cries/lokix.aif differ diff --git a/sound/direct_sound_samples/cries/lombre.aif b/sound/direct_sound_samples/cries/lombre.aif index 04f7b6e77f58..3839f7a32790 100644 Binary files a/sound/direct_sound_samples/cries/lombre.aif and b/sound/direct_sound_samples/cries/lombre.aif differ diff --git a/sound/direct_sound_samples/cries/lopunny.aif b/sound/direct_sound_samples/cries/lopunny.aif index 1db6d7641c88..f79379078500 100644 Binary files a/sound/direct_sound_samples/cries/lopunny.aif and b/sound/direct_sound_samples/cries/lopunny.aif differ diff --git a/sound/direct_sound_samples/cries/lopunny_mega.aif b/sound/direct_sound_samples/cries/lopunny_mega.aif index 1331ca106b9d..212df776de8a 100644 Binary files a/sound/direct_sound_samples/cries/lopunny_mega.aif and b/sound/direct_sound_samples/cries/lopunny_mega.aif differ diff --git a/sound/direct_sound_samples/cries/lotad.aif b/sound/direct_sound_samples/cries/lotad.aif index a8071ef96f94..290ec548596b 100644 Binary files a/sound/direct_sound_samples/cries/lotad.aif and b/sound/direct_sound_samples/cries/lotad.aif differ diff --git a/sound/direct_sound_samples/cries/loudred.aif b/sound/direct_sound_samples/cries/loudred.aif index 2ac4687cf0ae..d9c7465573f9 100644 Binary files a/sound/direct_sound_samples/cries/loudred.aif and b/sound/direct_sound_samples/cries/loudred.aif differ diff --git a/sound/direct_sound_samples/cries/lucario.aif b/sound/direct_sound_samples/cries/lucario.aif index fece38421906..80064d64fba4 100644 Binary files a/sound/direct_sound_samples/cries/lucario.aif and b/sound/direct_sound_samples/cries/lucario.aif differ diff --git a/sound/direct_sound_samples/cries/ludicolo.aif b/sound/direct_sound_samples/cries/ludicolo.aif index a4e773e9012b..690cf75fe486 100644 Binary files a/sound/direct_sound_samples/cries/ludicolo.aif and b/sound/direct_sound_samples/cries/ludicolo.aif differ diff --git a/sound/direct_sound_samples/cries/lugia.aif b/sound/direct_sound_samples/cries/lugia.aif index 6c96ba141e04..884b48591e54 100644 Binary files a/sound/direct_sound_samples/cries/lugia.aif and b/sound/direct_sound_samples/cries/lugia.aif differ diff --git a/sound/direct_sound_samples/cries/lumineon.aif b/sound/direct_sound_samples/cries/lumineon.aif index a6a2cca2c2b8..0577fb557539 100644 Binary files a/sound/direct_sound_samples/cries/lumineon.aif and b/sound/direct_sound_samples/cries/lumineon.aif differ diff --git a/sound/direct_sound_samples/cries/lunala.aif b/sound/direct_sound_samples/cries/lunala.aif index 5786ac42c0a5..d95185de7997 100644 Binary files a/sound/direct_sound_samples/cries/lunala.aif and b/sound/direct_sound_samples/cries/lunala.aif differ diff --git a/sound/direct_sound_samples/cries/lunatone.aif b/sound/direct_sound_samples/cries/lunatone.aif index 468e60bc9688..e27d7f2f6017 100644 Binary files a/sound/direct_sound_samples/cries/lunatone.aif and b/sound/direct_sound_samples/cries/lunatone.aif differ diff --git a/sound/direct_sound_samples/cries/lurantis.aif b/sound/direct_sound_samples/cries/lurantis.aif index f6a8019b6815..36ab7d71e226 100644 Binary files a/sound/direct_sound_samples/cries/lurantis.aif and b/sound/direct_sound_samples/cries/lurantis.aif differ diff --git a/sound/direct_sound_samples/cries/luvdisc.aif b/sound/direct_sound_samples/cries/luvdisc.aif index 72aa538f1848..396aceff5e34 100644 Binary files a/sound/direct_sound_samples/cries/luvdisc.aif and b/sound/direct_sound_samples/cries/luvdisc.aif differ diff --git a/sound/direct_sound_samples/cries/luxio.aif b/sound/direct_sound_samples/cries/luxio.aif index 50019c217ed4..f56ffe1ea0f2 100644 Binary files a/sound/direct_sound_samples/cries/luxio.aif and b/sound/direct_sound_samples/cries/luxio.aif differ diff --git a/sound/direct_sound_samples/cries/luxray.aif b/sound/direct_sound_samples/cries/luxray.aif index 2401fe11e26a..76bf5cb5d115 100644 Binary files a/sound/direct_sound_samples/cries/luxray.aif and b/sound/direct_sound_samples/cries/luxray.aif differ diff --git a/sound/direct_sound_samples/cries/lycanroc_midday.aif b/sound/direct_sound_samples/cries/lycanroc_midday.aif index 0f117bc947a6..380d192c2216 100644 Binary files a/sound/direct_sound_samples/cries/lycanroc_midday.aif and b/sound/direct_sound_samples/cries/lycanroc_midday.aif differ diff --git a/sound/direct_sound_samples/cries/lycanroc_midnight.aif b/sound/direct_sound_samples/cries/lycanroc_midnight.aif index f470d006b5d8..e81dac8c3e4c 100644 Binary files a/sound/direct_sound_samples/cries/lycanroc_midnight.aif and b/sound/direct_sound_samples/cries/lycanroc_midnight.aif differ diff --git a/sound/direct_sound_samples/cries/mabosstiff.aif b/sound/direct_sound_samples/cries/mabosstiff.aif index ccf661e6cabc..b66bbf731f81 100644 Binary files a/sound/direct_sound_samples/cries/mabosstiff.aif and b/sound/direct_sound_samples/cries/mabosstiff.aif differ diff --git a/sound/direct_sound_samples/cries/machamp.aif b/sound/direct_sound_samples/cries/machamp.aif index 7337dc341d9f..99bcfea8983e 100644 Binary files a/sound/direct_sound_samples/cries/machamp.aif and b/sound/direct_sound_samples/cries/machamp.aif differ diff --git a/sound/direct_sound_samples/cries/machoke.aif b/sound/direct_sound_samples/cries/machoke.aif index 6b590cdd0b74..241731b6fe09 100644 Binary files a/sound/direct_sound_samples/cries/machoke.aif and b/sound/direct_sound_samples/cries/machoke.aif differ diff --git a/sound/direct_sound_samples/cries/machop.aif b/sound/direct_sound_samples/cries/machop.aif index 28e749a3a7dc..c878dfe99f01 100644 Binary files a/sound/direct_sound_samples/cries/machop.aif and b/sound/direct_sound_samples/cries/machop.aif differ diff --git a/sound/direct_sound_samples/cries/magby.aif b/sound/direct_sound_samples/cries/magby.aif index 0b6a5c8cf0ad..69f77a3b356c 100644 Binary files a/sound/direct_sound_samples/cries/magby.aif and b/sound/direct_sound_samples/cries/magby.aif differ diff --git a/sound/direct_sound_samples/cries/magcargo.aif b/sound/direct_sound_samples/cries/magcargo.aif index 10c2a34515f9..f1127dabc4a2 100644 Binary files a/sound/direct_sound_samples/cries/magcargo.aif and b/sound/direct_sound_samples/cries/magcargo.aif differ diff --git a/sound/direct_sound_samples/cries/magearna.aif b/sound/direct_sound_samples/cries/magearna.aif index f07533638af4..2e01fe5aa356 100644 Binary files a/sound/direct_sound_samples/cries/magearna.aif and b/sound/direct_sound_samples/cries/magearna.aif differ diff --git a/sound/direct_sound_samples/cries/magikarp.aif b/sound/direct_sound_samples/cries/magikarp.aif index f5f9ce213c83..71bdbf393973 100644 Binary files a/sound/direct_sound_samples/cries/magikarp.aif and b/sound/direct_sound_samples/cries/magikarp.aif differ diff --git a/sound/direct_sound_samples/cries/magmar.aif b/sound/direct_sound_samples/cries/magmar.aif index 1dfa93acda58..c2a6a171aeb5 100644 Binary files a/sound/direct_sound_samples/cries/magmar.aif and b/sound/direct_sound_samples/cries/magmar.aif differ diff --git a/sound/direct_sound_samples/cries/magmortar.aif b/sound/direct_sound_samples/cries/magmortar.aif index 3c1916ab309f..ae7f0ea50290 100644 Binary files a/sound/direct_sound_samples/cries/magmortar.aif and b/sound/direct_sound_samples/cries/magmortar.aif differ diff --git a/sound/direct_sound_samples/cries/magnemite.aif b/sound/direct_sound_samples/cries/magnemite.aif index 52de6ab69c38..d468102ac934 100644 Binary files a/sound/direct_sound_samples/cries/magnemite.aif and b/sound/direct_sound_samples/cries/magnemite.aif differ diff --git a/sound/direct_sound_samples/cries/magneton.aif b/sound/direct_sound_samples/cries/magneton.aif index e9ab131cf946..30327cdbc363 100644 Binary files a/sound/direct_sound_samples/cries/magneton.aif and b/sound/direct_sound_samples/cries/magneton.aif differ diff --git a/sound/direct_sound_samples/cries/magnezone.aif b/sound/direct_sound_samples/cries/magnezone.aif index db1a6b5f059a..750cbd3ac4a3 100644 Binary files a/sound/direct_sound_samples/cries/magnezone.aif and b/sound/direct_sound_samples/cries/magnezone.aif differ diff --git a/sound/direct_sound_samples/cries/makuhita.aif b/sound/direct_sound_samples/cries/makuhita.aif index 8445adf5df70..2dffab4bcc17 100644 Binary files a/sound/direct_sound_samples/cries/makuhita.aif and b/sound/direct_sound_samples/cries/makuhita.aif differ diff --git a/sound/direct_sound_samples/cries/malamar.aif b/sound/direct_sound_samples/cries/malamar.aif index f5b63bc52d73..80428bfb1674 100644 Binary files a/sound/direct_sound_samples/cries/malamar.aif and b/sound/direct_sound_samples/cries/malamar.aif differ diff --git a/sound/direct_sound_samples/cries/mamoswine.aif b/sound/direct_sound_samples/cries/mamoswine.aif index 034df6a61bf2..48625c1a6f90 100644 Binary files a/sound/direct_sound_samples/cries/mamoswine.aif and b/sound/direct_sound_samples/cries/mamoswine.aif differ diff --git a/sound/direct_sound_samples/cries/manaphy.aif b/sound/direct_sound_samples/cries/manaphy.aif index d7f80902b5c3..7df4dc833885 100644 Binary files a/sound/direct_sound_samples/cries/manaphy.aif and b/sound/direct_sound_samples/cries/manaphy.aif differ diff --git a/sound/direct_sound_samples/cries/mandibuzz.aif b/sound/direct_sound_samples/cries/mandibuzz.aif index 3f12088d0a52..1a3a3afec3b6 100644 Binary files a/sound/direct_sound_samples/cries/mandibuzz.aif and b/sound/direct_sound_samples/cries/mandibuzz.aif differ diff --git a/sound/direct_sound_samples/cries/manectric.aif b/sound/direct_sound_samples/cries/manectric.aif index a96712010a6e..cb0783a0c92d 100644 Binary files a/sound/direct_sound_samples/cries/manectric.aif and b/sound/direct_sound_samples/cries/manectric.aif differ diff --git a/sound/direct_sound_samples/cries/manectric_mega.aif b/sound/direct_sound_samples/cries/manectric_mega.aif index ad38ec0ffceb..6e9717fe893e 100644 Binary files a/sound/direct_sound_samples/cries/manectric_mega.aif and b/sound/direct_sound_samples/cries/manectric_mega.aif differ diff --git a/sound/direct_sound_samples/cries/mankey.aif b/sound/direct_sound_samples/cries/mankey.aif index 3a94289acb69..b2634d3f7b84 100644 Binary files a/sound/direct_sound_samples/cries/mankey.aif and b/sound/direct_sound_samples/cries/mankey.aif differ diff --git a/sound/direct_sound_samples/cries/mantine.aif b/sound/direct_sound_samples/cries/mantine.aif index 62c3b4096d82..f3f6af321339 100644 Binary files a/sound/direct_sound_samples/cries/mantine.aif and b/sound/direct_sound_samples/cries/mantine.aif differ diff --git a/sound/direct_sound_samples/cries/mantyke.aif b/sound/direct_sound_samples/cries/mantyke.aif index bbb805e7eb7d..edf6a76ef1f5 100644 Binary files a/sound/direct_sound_samples/cries/mantyke.aif and b/sound/direct_sound_samples/cries/mantyke.aif differ diff --git a/sound/direct_sound_samples/cries/maractus.aif b/sound/direct_sound_samples/cries/maractus.aif index 16058d97cc8c..ad2488ec8677 100644 Binary files a/sound/direct_sound_samples/cries/maractus.aif and b/sound/direct_sound_samples/cries/maractus.aif differ diff --git a/sound/direct_sound_samples/cries/mareanie.aif b/sound/direct_sound_samples/cries/mareanie.aif index de6c86b21379..75a73d5edb28 100644 Binary files a/sound/direct_sound_samples/cries/mareanie.aif and b/sound/direct_sound_samples/cries/mareanie.aif differ diff --git a/sound/direct_sound_samples/cries/mareep.aif b/sound/direct_sound_samples/cries/mareep.aif index f47b4170184d..2dfc9e88bcac 100644 Binary files a/sound/direct_sound_samples/cries/mareep.aif and b/sound/direct_sound_samples/cries/mareep.aif differ diff --git a/sound/direct_sound_samples/cries/marill.aif b/sound/direct_sound_samples/cries/marill.aif index 2483f62db331..1c3b6bc41fc0 100644 Binary files a/sound/direct_sound_samples/cries/marill.aif and b/sound/direct_sound_samples/cries/marill.aif differ diff --git a/sound/direct_sound_samples/cries/marowak.aif b/sound/direct_sound_samples/cries/marowak.aif index a8567b32d036..c081ba9f9d88 100644 Binary files a/sound/direct_sound_samples/cries/marowak.aif and b/sound/direct_sound_samples/cries/marowak.aif differ diff --git a/sound/direct_sound_samples/cries/marshadow.aif b/sound/direct_sound_samples/cries/marshadow.aif index a763d4abb8f9..3092b639f24e 100644 Binary files a/sound/direct_sound_samples/cries/marshadow.aif and b/sound/direct_sound_samples/cries/marshadow.aif differ diff --git a/sound/direct_sound_samples/cries/marshtomp.aif b/sound/direct_sound_samples/cries/marshtomp.aif index 11ea04d0cd67..79728eb0876e 100644 Binary files a/sound/direct_sound_samples/cries/marshtomp.aif and b/sound/direct_sound_samples/cries/marshtomp.aif differ diff --git a/sound/direct_sound_samples/cries/masquerain.aif b/sound/direct_sound_samples/cries/masquerain.aif index 34f079f152b1..e3ef3b9d81d6 100644 Binary files a/sound/direct_sound_samples/cries/masquerain.aif and b/sound/direct_sound_samples/cries/masquerain.aif differ diff --git a/sound/direct_sound_samples/cries/maushold_family_of_three.aif b/sound/direct_sound_samples/cries/maushold_family_of_three.aif index 7412a1af6a87..0e771535ea3e 100644 Binary files a/sound/direct_sound_samples/cries/maushold_family_of_three.aif and b/sound/direct_sound_samples/cries/maushold_family_of_three.aif differ diff --git a/sound/direct_sound_samples/cries/mawile.aif b/sound/direct_sound_samples/cries/mawile.aif index e14dd5a4e463..8374bf4797fd 100644 Binary files a/sound/direct_sound_samples/cries/mawile.aif and b/sound/direct_sound_samples/cries/mawile.aif differ diff --git a/sound/direct_sound_samples/cries/medicham.aif b/sound/direct_sound_samples/cries/medicham.aif index d081dc9002f3..02818ba0dd2d 100644 Binary files a/sound/direct_sound_samples/cries/medicham.aif and b/sound/direct_sound_samples/cries/medicham.aif differ diff --git a/sound/direct_sound_samples/cries/medicham_mega.aif b/sound/direct_sound_samples/cries/medicham_mega.aif index f00672f3cba0..36db11b2f72b 100644 Binary files a/sound/direct_sound_samples/cries/medicham_mega.aif and b/sound/direct_sound_samples/cries/medicham_mega.aif differ diff --git a/sound/direct_sound_samples/cries/meditite.aif b/sound/direct_sound_samples/cries/meditite.aif index a82eb8422091..e3dc9dd802f8 100644 Binary files a/sound/direct_sound_samples/cries/meditite.aif and b/sound/direct_sound_samples/cries/meditite.aif differ diff --git a/sound/direct_sound_samples/cries/meganium.aif b/sound/direct_sound_samples/cries/meganium.aif index b06ad52c2201..abada3548239 100644 Binary files a/sound/direct_sound_samples/cries/meganium.aif and b/sound/direct_sound_samples/cries/meganium.aif differ diff --git a/sound/direct_sound_samples/cries/melmetal.aif b/sound/direct_sound_samples/cries/melmetal.aif index d9a2e0928bda..5590164d1eb9 100644 Binary files a/sound/direct_sound_samples/cries/melmetal.aif and b/sound/direct_sound_samples/cries/melmetal.aif differ diff --git a/sound/direct_sound_samples/cries/meloetta.aif b/sound/direct_sound_samples/cries/meloetta.aif index d2be5ac97f03..298a5214be53 100644 Binary files a/sound/direct_sound_samples/cries/meloetta.aif and b/sound/direct_sound_samples/cries/meloetta.aif differ diff --git a/sound/direct_sound_samples/cries/meltan.aif b/sound/direct_sound_samples/cries/meltan.aif index c3bd648e3a9c..42b258f517d4 100644 Binary files a/sound/direct_sound_samples/cries/meltan.aif and b/sound/direct_sound_samples/cries/meltan.aif differ diff --git a/sound/direct_sound_samples/cries/meowstic.aif b/sound/direct_sound_samples/cries/meowstic.aif index 0d356edeb180..a8536832b263 100644 Binary files a/sound/direct_sound_samples/cries/meowstic.aif and b/sound/direct_sound_samples/cries/meowstic.aif differ diff --git a/sound/direct_sound_samples/cries/meowth.aif b/sound/direct_sound_samples/cries/meowth.aif index 9ba028cfb734..d919e99e63d9 100644 Binary files a/sound/direct_sound_samples/cries/meowth.aif and b/sound/direct_sound_samples/cries/meowth.aif differ diff --git a/sound/direct_sound_samples/cries/mesprit.aif b/sound/direct_sound_samples/cries/mesprit.aif index 4996d3f4b713..0c76a7f0f47e 100644 Binary files a/sound/direct_sound_samples/cries/mesprit.aif and b/sound/direct_sound_samples/cries/mesprit.aif differ diff --git a/sound/direct_sound_samples/cries/metagross.aif b/sound/direct_sound_samples/cries/metagross.aif index f4a0f99acd26..bb3bc21c67cd 100644 Binary files a/sound/direct_sound_samples/cries/metagross.aif and b/sound/direct_sound_samples/cries/metagross.aif differ diff --git a/sound/direct_sound_samples/cries/metagross_mega.aif b/sound/direct_sound_samples/cries/metagross_mega.aif index 3f9ca589cf8b..e1125b659f50 100644 Binary files a/sound/direct_sound_samples/cries/metagross_mega.aif and b/sound/direct_sound_samples/cries/metagross_mega.aif differ diff --git a/sound/direct_sound_samples/cries/metang.aif b/sound/direct_sound_samples/cries/metang.aif index df249ec540ef..225cdfbfe1ea 100644 Binary files a/sound/direct_sound_samples/cries/metang.aif and b/sound/direct_sound_samples/cries/metang.aif differ diff --git a/sound/direct_sound_samples/cries/metapod.aif b/sound/direct_sound_samples/cries/metapod.aif index de04d69de6a7..e875755db0a6 100644 Binary files a/sound/direct_sound_samples/cries/metapod.aif and b/sound/direct_sound_samples/cries/metapod.aif differ diff --git a/sound/direct_sound_samples/cries/mew.aif b/sound/direct_sound_samples/cries/mew.aif index 166a0a8e95a6..f0649ee6f847 100644 Binary files a/sound/direct_sound_samples/cries/mew.aif and b/sound/direct_sound_samples/cries/mew.aif differ diff --git a/sound/direct_sound_samples/cries/mewtwo.aif b/sound/direct_sound_samples/cries/mewtwo.aif index c5a5309ba615..2bafa470830d 100644 Binary files a/sound/direct_sound_samples/cries/mewtwo.aif and b/sound/direct_sound_samples/cries/mewtwo.aif differ diff --git a/sound/direct_sound_samples/cries/mienfoo.aif b/sound/direct_sound_samples/cries/mienfoo.aif index f948e6f3d930..5f9525d87eb0 100644 Binary files a/sound/direct_sound_samples/cries/mienfoo.aif and b/sound/direct_sound_samples/cries/mienfoo.aif differ diff --git a/sound/direct_sound_samples/cries/mienshao.aif b/sound/direct_sound_samples/cries/mienshao.aif index 652be5733938..da04c18fc9cd 100644 Binary files a/sound/direct_sound_samples/cries/mienshao.aif and b/sound/direct_sound_samples/cries/mienshao.aif differ diff --git a/sound/direct_sound_samples/cries/mightyena.aif b/sound/direct_sound_samples/cries/mightyena.aif index 7c7f74d1f176..099c8b9c7b10 100644 Binary files a/sound/direct_sound_samples/cries/mightyena.aif and b/sound/direct_sound_samples/cries/mightyena.aif differ diff --git a/sound/direct_sound_samples/cries/milotic.aif b/sound/direct_sound_samples/cries/milotic.aif index be1e64eacbab..796a87f35802 100644 Binary files a/sound/direct_sound_samples/cries/milotic.aif and b/sound/direct_sound_samples/cries/milotic.aif differ diff --git a/sound/direct_sound_samples/cries/miltank.aif b/sound/direct_sound_samples/cries/miltank.aif index db64e8867d0c..cb8ad93ce966 100644 Binary files a/sound/direct_sound_samples/cries/miltank.aif and b/sound/direct_sound_samples/cries/miltank.aif differ diff --git a/sound/direct_sound_samples/cries/mime_jr.aif b/sound/direct_sound_samples/cries/mime_jr.aif index 1b12debbc33a..604c678fae99 100644 Binary files a/sound/direct_sound_samples/cries/mime_jr.aif and b/sound/direct_sound_samples/cries/mime_jr.aif differ diff --git a/sound/direct_sound_samples/cries/mimikyu.aif b/sound/direct_sound_samples/cries/mimikyu.aif index b86eaedaa56b..15f3720dc75b 100644 Binary files a/sound/direct_sound_samples/cries/mimikyu.aif and b/sound/direct_sound_samples/cries/mimikyu.aif differ diff --git a/sound/direct_sound_samples/cries/minccino.aif b/sound/direct_sound_samples/cries/minccino.aif index c10f3f7c9f2e..d49eb07414ad 100644 Binary files a/sound/direct_sound_samples/cries/minccino.aif and b/sound/direct_sound_samples/cries/minccino.aif differ diff --git a/sound/direct_sound_samples/cries/minior.aif b/sound/direct_sound_samples/cries/minior.aif index 0fa7d903c927..d739824e04e4 100644 Binary files a/sound/direct_sound_samples/cries/minior.aif and b/sound/direct_sound_samples/cries/minior.aif differ diff --git a/sound/direct_sound_samples/cries/minun.aif b/sound/direct_sound_samples/cries/minun.aif index fe1a72aacf9a..1b0d3405b99e 100644 Binary files a/sound/direct_sound_samples/cries/minun.aif and b/sound/direct_sound_samples/cries/minun.aif differ diff --git a/sound/direct_sound_samples/cries/misdreavus.aif b/sound/direct_sound_samples/cries/misdreavus.aif index a501b547b6ed..774a832ea114 100644 Binary files a/sound/direct_sound_samples/cries/misdreavus.aif and b/sound/direct_sound_samples/cries/misdreavus.aif differ diff --git a/sound/direct_sound_samples/cries/mismagius.aif b/sound/direct_sound_samples/cries/mismagius.aif index f010b493168b..a9146205ba8f 100644 Binary files a/sound/direct_sound_samples/cries/mismagius.aif and b/sound/direct_sound_samples/cries/mismagius.aif differ diff --git a/sound/direct_sound_samples/cries/moltres.aif b/sound/direct_sound_samples/cries/moltres.aif index 5549bf5cb715..39570a316c87 100644 Binary files a/sound/direct_sound_samples/cries/moltres.aif and b/sound/direct_sound_samples/cries/moltres.aif differ diff --git a/sound/direct_sound_samples/cries/monferno.aif b/sound/direct_sound_samples/cries/monferno.aif index 8b8d670505ec..4f34c1de9121 100644 Binary files a/sound/direct_sound_samples/cries/monferno.aif and b/sound/direct_sound_samples/cries/monferno.aif differ diff --git a/sound/direct_sound_samples/cries/morelull.aif b/sound/direct_sound_samples/cries/morelull.aif index 78ee2ffc63ad..0b38baf6a496 100644 Binary files a/sound/direct_sound_samples/cries/morelull.aif and b/sound/direct_sound_samples/cries/morelull.aif differ diff --git a/sound/direct_sound_samples/cries/mothim.aif b/sound/direct_sound_samples/cries/mothim.aif index 82a42bce3471..d2a2c7b8c30a 100644 Binary files a/sound/direct_sound_samples/cries/mothim.aif and b/sound/direct_sound_samples/cries/mothim.aif differ diff --git a/sound/direct_sound_samples/cries/mr_mime.aif b/sound/direct_sound_samples/cries/mr_mime.aif index ca89f4bc2ed3..991eeb9d1cdc 100644 Binary files a/sound/direct_sound_samples/cries/mr_mime.aif and b/sound/direct_sound_samples/cries/mr_mime.aif differ diff --git a/sound/direct_sound_samples/cries/mudbray.aif b/sound/direct_sound_samples/cries/mudbray.aif index 3874a9c2a88e..f7d0c8b28758 100644 Binary files a/sound/direct_sound_samples/cries/mudbray.aif and b/sound/direct_sound_samples/cries/mudbray.aif differ diff --git a/sound/direct_sound_samples/cries/mudkip.aif b/sound/direct_sound_samples/cries/mudkip.aif index adbdda2906df..0162f94001dd 100644 Binary files a/sound/direct_sound_samples/cries/mudkip.aif and b/sound/direct_sound_samples/cries/mudkip.aif differ diff --git a/sound/direct_sound_samples/cries/mudsdale.aif b/sound/direct_sound_samples/cries/mudsdale.aif index 564019f27eea..2776ec02dadb 100644 Binary files a/sound/direct_sound_samples/cries/mudsdale.aif and b/sound/direct_sound_samples/cries/mudsdale.aif differ diff --git a/sound/direct_sound_samples/cries/muk.aif b/sound/direct_sound_samples/cries/muk.aif index 557bb84ec7a4..2abfd59591b2 100644 Binary files a/sound/direct_sound_samples/cries/muk.aif and b/sound/direct_sound_samples/cries/muk.aif differ diff --git a/sound/direct_sound_samples/cries/munchlax.aif b/sound/direct_sound_samples/cries/munchlax.aif index befbcdb5899f..ce347a32f472 100644 Binary files a/sound/direct_sound_samples/cries/munchlax.aif and b/sound/direct_sound_samples/cries/munchlax.aif differ diff --git a/sound/direct_sound_samples/cries/munna.aif b/sound/direct_sound_samples/cries/munna.aif index 35167be4a23e..443bb808998c 100644 Binary files a/sound/direct_sound_samples/cries/munna.aif and b/sound/direct_sound_samples/cries/munna.aif differ diff --git a/sound/direct_sound_samples/cries/murkrow.aif b/sound/direct_sound_samples/cries/murkrow.aif index ab42b84a955c..1e7c6dd79266 100644 Binary files a/sound/direct_sound_samples/cries/murkrow.aif and b/sound/direct_sound_samples/cries/murkrow.aif differ diff --git a/sound/direct_sound_samples/cries/musharna.aif b/sound/direct_sound_samples/cries/musharna.aif index 406f56576fd1..69dd2800cf36 100644 Binary files a/sound/direct_sound_samples/cries/musharna.aif and b/sound/direct_sound_samples/cries/musharna.aif differ diff --git a/sound/direct_sound_samples/cries/naclstack.aif b/sound/direct_sound_samples/cries/naclstack.aif index 973fb822815f..31eca0bd4991 100644 Binary files a/sound/direct_sound_samples/cries/naclstack.aif and b/sound/direct_sound_samples/cries/naclstack.aif differ diff --git a/sound/direct_sound_samples/cries/naganadel.aif b/sound/direct_sound_samples/cries/naganadel.aif index b8c34ce627c4..4cd829612baf 100644 Binary files a/sound/direct_sound_samples/cries/naganadel.aif and b/sound/direct_sound_samples/cries/naganadel.aif differ diff --git a/sound/direct_sound_samples/cries/natu.aif b/sound/direct_sound_samples/cries/natu.aif index a492cc5d3950..760943988892 100644 Binary files a/sound/direct_sound_samples/cries/natu.aif and b/sound/direct_sound_samples/cries/natu.aif differ diff --git a/sound/direct_sound_samples/cries/necrozma.aif b/sound/direct_sound_samples/cries/necrozma.aif index ecd5cb79c0b2..db81bc135a5b 100644 Binary files a/sound/direct_sound_samples/cries/necrozma.aif and b/sound/direct_sound_samples/cries/necrozma.aif differ diff --git a/sound/direct_sound_samples/cries/necrozma_dawn_wings.aif b/sound/direct_sound_samples/cries/necrozma_dawn_wings.aif index c5cc9c4fb036..f33539121eed 100644 Binary files a/sound/direct_sound_samples/cries/necrozma_dawn_wings.aif and b/sound/direct_sound_samples/cries/necrozma_dawn_wings.aif differ diff --git a/sound/direct_sound_samples/cries/necrozma_dusk_mane.aif b/sound/direct_sound_samples/cries/necrozma_dusk_mane.aif index 3a31dc8e59a5..fce3fb2f61df 100644 Binary files a/sound/direct_sound_samples/cries/necrozma_dusk_mane.aif and b/sound/direct_sound_samples/cries/necrozma_dusk_mane.aif differ diff --git a/sound/direct_sound_samples/cries/necrozma_ultra.aif b/sound/direct_sound_samples/cries/necrozma_ultra.aif index e9fb9a564705..cfc9c5f27b3d 100644 Binary files a/sound/direct_sound_samples/cries/necrozma_ultra.aif and b/sound/direct_sound_samples/cries/necrozma_ultra.aif differ diff --git a/sound/direct_sound_samples/cries/nidoking.aif b/sound/direct_sound_samples/cries/nidoking.aif index 43fadf98977d..5a645ca83a4f 100644 Binary files a/sound/direct_sound_samples/cries/nidoking.aif and b/sound/direct_sound_samples/cries/nidoking.aif differ diff --git a/sound/direct_sound_samples/cries/nidoqueen.aif b/sound/direct_sound_samples/cries/nidoqueen.aif index 6f1c4ef167d5..878570d3f68b 100644 Binary files a/sound/direct_sound_samples/cries/nidoqueen.aif and b/sound/direct_sound_samples/cries/nidoqueen.aif differ diff --git a/sound/direct_sound_samples/cries/nidoran_f.aif b/sound/direct_sound_samples/cries/nidoran_f.aif index a8ecf4b4a00d..cf0213394974 100644 Binary files a/sound/direct_sound_samples/cries/nidoran_f.aif and b/sound/direct_sound_samples/cries/nidoran_f.aif differ diff --git a/sound/direct_sound_samples/cries/nidoran_m.aif b/sound/direct_sound_samples/cries/nidoran_m.aif index bb2de057e4c0..2e691595bf73 100644 Binary files a/sound/direct_sound_samples/cries/nidoran_m.aif and b/sound/direct_sound_samples/cries/nidoran_m.aif differ diff --git a/sound/direct_sound_samples/cries/nidorina.aif b/sound/direct_sound_samples/cries/nidorina.aif index ce56909917cb..3f73fd947f5c 100644 Binary files a/sound/direct_sound_samples/cries/nidorina.aif and b/sound/direct_sound_samples/cries/nidorina.aif differ diff --git a/sound/direct_sound_samples/cries/nidorino.aif b/sound/direct_sound_samples/cries/nidorino.aif index dcc1629e4bdf..75e48cc72136 100644 Binary files a/sound/direct_sound_samples/cries/nidorino.aif and b/sound/direct_sound_samples/cries/nidorino.aif differ diff --git a/sound/direct_sound_samples/cries/nihilego.aif b/sound/direct_sound_samples/cries/nihilego.aif index 1e428ec28a7d..17c56e8cbf46 100644 Binary files a/sound/direct_sound_samples/cries/nihilego.aif and b/sound/direct_sound_samples/cries/nihilego.aif differ diff --git a/sound/direct_sound_samples/cries/nincada.aif b/sound/direct_sound_samples/cries/nincada.aif index 0897f56df4ab..d4695111cd89 100644 Binary files a/sound/direct_sound_samples/cries/nincada.aif and b/sound/direct_sound_samples/cries/nincada.aif differ diff --git a/sound/direct_sound_samples/cries/ninetales.aif b/sound/direct_sound_samples/cries/ninetales.aif index aa31af7a8c0e..51a260f9e92a 100644 Binary files a/sound/direct_sound_samples/cries/ninetales.aif and b/sound/direct_sound_samples/cries/ninetales.aif differ diff --git a/sound/direct_sound_samples/cries/ninjask.aif b/sound/direct_sound_samples/cries/ninjask.aif index f5b32b13ed2a..06693156a76d 100644 Binary files a/sound/direct_sound_samples/cries/ninjask.aif and b/sound/direct_sound_samples/cries/ninjask.aif differ diff --git a/sound/direct_sound_samples/cries/noctowl.aif b/sound/direct_sound_samples/cries/noctowl.aif index 9cb1b31653ae..2a96488f28f4 100644 Binary files a/sound/direct_sound_samples/cries/noctowl.aif and b/sound/direct_sound_samples/cries/noctowl.aif differ diff --git a/sound/direct_sound_samples/cries/noibat.aif b/sound/direct_sound_samples/cries/noibat.aif index a00200aab060..6f3c18f40dc0 100644 Binary files a/sound/direct_sound_samples/cries/noibat.aif and b/sound/direct_sound_samples/cries/noibat.aif differ diff --git a/sound/direct_sound_samples/cries/noivern.aif b/sound/direct_sound_samples/cries/noivern.aif index aaf03806d72f..5806e6971361 100644 Binary files a/sound/direct_sound_samples/cries/noivern.aif and b/sound/direct_sound_samples/cries/noivern.aif differ diff --git a/sound/direct_sound_samples/cries/nosepass.aif b/sound/direct_sound_samples/cries/nosepass.aif index f45dc7578f9c..04c28caa6bbe 100644 Binary files a/sound/direct_sound_samples/cries/nosepass.aif and b/sound/direct_sound_samples/cries/nosepass.aif differ diff --git a/sound/direct_sound_samples/cries/numel.aif b/sound/direct_sound_samples/cries/numel.aif index e81623531ecd..9d6c2e051783 100644 Binary files a/sound/direct_sound_samples/cries/numel.aif and b/sound/direct_sound_samples/cries/numel.aif differ diff --git a/sound/direct_sound_samples/cries/nuzleaf.aif b/sound/direct_sound_samples/cries/nuzleaf.aif index 275b4d178293..2d836705befe 100644 Binary files a/sound/direct_sound_samples/cries/nuzleaf.aif and b/sound/direct_sound_samples/cries/nuzleaf.aif differ diff --git a/sound/direct_sound_samples/cries/nymble.aif b/sound/direct_sound_samples/cries/nymble.aif index b74a198b2bd1..bc41462fb658 100644 Binary files a/sound/direct_sound_samples/cries/nymble.aif and b/sound/direct_sound_samples/cries/nymble.aif differ diff --git a/sound/direct_sound_samples/cries/octillery.aif b/sound/direct_sound_samples/cries/octillery.aif index f52b7978e598..196400455137 100644 Binary files a/sound/direct_sound_samples/cries/octillery.aif and b/sound/direct_sound_samples/cries/octillery.aif differ diff --git a/sound/direct_sound_samples/cries/oddish.aif b/sound/direct_sound_samples/cries/oddish.aif index 2c9902bb20e0..4f30f7ddb452 100644 Binary files a/sound/direct_sound_samples/cries/oddish.aif and b/sound/direct_sound_samples/cries/oddish.aif differ diff --git a/sound/direct_sound_samples/cries/ogerpon.aif b/sound/direct_sound_samples/cries/ogerpon.aif index e5cb2f7badee..17b9d94d62fd 100644 Binary files a/sound/direct_sound_samples/cries/ogerpon.aif and b/sound/direct_sound_samples/cries/ogerpon.aif differ diff --git a/sound/direct_sound_samples/cries/okidogi.aif b/sound/direct_sound_samples/cries/okidogi.aif index afa9cfbddd88..f22f3ba3358b 100644 Binary files a/sound/direct_sound_samples/cries/okidogi.aif and b/sound/direct_sound_samples/cries/okidogi.aif differ diff --git a/sound/direct_sound_samples/cries/omanyte.aif b/sound/direct_sound_samples/cries/omanyte.aif index 7ee0a8e3fe2f..eeedac34db7e 100644 Binary files a/sound/direct_sound_samples/cries/omanyte.aif and b/sound/direct_sound_samples/cries/omanyte.aif differ diff --git a/sound/direct_sound_samples/cries/omastar.aif b/sound/direct_sound_samples/cries/omastar.aif index 4c110a3fad24..9d4f738efd1a 100644 Binary files a/sound/direct_sound_samples/cries/omastar.aif and b/sound/direct_sound_samples/cries/omastar.aif differ diff --git a/sound/direct_sound_samples/cries/onix.aif b/sound/direct_sound_samples/cries/onix.aif index 2f7c050e8301..6203ce568969 100644 Binary files a/sound/direct_sound_samples/cries/onix.aif and b/sound/direct_sound_samples/cries/onix.aif differ diff --git a/sound/direct_sound_samples/cries/oranguru.aif b/sound/direct_sound_samples/cries/oranguru.aif index feee530798a1..ec919ba93c69 100644 Binary files a/sound/direct_sound_samples/cries/oranguru.aif and b/sound/direct_sound_samples/cries/oranguru.aif differ diff --git a/sound/direct_sound_samples/cries/orbeetle.aif b/sound/direct_sound_samples/cries/orbeetle.aif index e1ede8361a8e..4b99afad159d 100644 Binary files a/sound/direct_sound_samples/cries/orbeetle.aif and b/sound/direct_sound_samples/cries/orbeetle.aif differ diff --git a/sound/direct_sound_samples/cries/oricorio_baile.aif b/sound/direct_sound_samples/cries/oricorio_baile.aif index 9a95eacd4683..c5ec5af19b4a 100644 Binary files a/sound/direct_sound_samples/cries/oricorio_baile.aif and b/sound/direct_sound_samples/cries/oricorio_baile.aif differ diff --git a/sound/direct_sound_samples/cries/oricorio_pau.aif b/sound/direct_sound_samples/cries/oricorio_pau.aif index 69933407e0fe..4faa6cc083c8 100644 Binary files a/sound/direct_sound_samples/cries/oricorio_pau.aif and b/sound/direct_sound_samples/cries/oricorio_pau.aif differ diff --git a/sound/direct_sound_samples/cries/oricorio_sensu.aif b/sound/direct_sound_samples/cries/oricorio_sensu.aif index f9208250b4d3..bdc25a774970 100644 Binary files a/sound/direct_sound_samples/cries/oricorio_sensu.aif and b/sound/direct_sound_samples/cries/oricorio_sensu.aif differ diff --git a/sound/direct_sound_samples/cries/orthworm.aif b/sound/direct_sound_samples/cries/orthworm.aif index a3be4aecc073..f88eec62f097 100644 Binary files a/sound/direct_sound_samples/cries/orthworm.aif and b/sound/direct_sound_samples/cries/orthworm.aif differ diff --git a/sound/direct_sound_samples/cries/oshawott.aif b/sound/direct_sound_samples/cries/oshawott.aif index 87b28da48473..81bf2917ed81 100644 Binary files a/sound/direct_sound_samples/cries/oshawott.aif and b/sound/direct_sound_samples/cries/oshawott.aif differ diff --git a/sound/direct_sound_samples/cries/overqwil.aif b/sound/direct_sound_samples/cries/overqwil.aif index b5428ce9448c..8b9a8a2dffce 100644 Binary files a/sound/direct_sound_samples/cries/overqwil.aif and b/sound/direct_sound_samples/cries/overqwil.aif differ diff --git a/sound/direct_sound_samples/cries/pachirisu.aif b/sound/direct_sound_samples/cries/pachirisu.aif index 7f540482d95a..6471363ee686 100644 Binary files a/sound/direct_sound_samples/cries/pachirisu.aif and b/sound/direct_sound_samples/cries/pachirisu.aif differ diff --git a/sound/direct_sound_samples/cries/palafin_hero.aif b/sound/direct_sound_samples/cries/palafin_hero.aif index ff02e6a0e0e0..5ef87ddeb8d4 100644 Binary files a/sound/direct_sound_samples/cries/palafin_hero.aif and b/sound/direct_sound_samples/cries/palafin_hero.aif differ diff --git a/sound/direct_sound_samples/cries/palafin_zero.aif b/sound/direct_sound_samples/cries/palafin_zero.aif index 3ee6bdb32195..16051848beb8 100644 Binary files a/sound/direct_sound_samples/cries/palafin_zero.aif and b/sound/direct_sound_samples/cries/palafin_zero.aif differ diff --git a/sound/direct_sound_samples/cries/palkia.aif b/sound/direct_sound_samples/cries/palkia.aif index e755ceace0b8..dee52b9a5966 100644 Binary files a/sound/direct_sound_samples/cries/palkia.aif and b/sound/direct_sound_samples/cries/palkia.aif differ diff --git a/sound/direct_sound_samples/cries/palossand.aif b/sound/direct_sound_samples/cries/palossand.aif index 028df4fad71f..a4a1da4feeec 100644 Binary files a/sound/direct_sound_samples/cries/palossand.aif and b/sound/direct_sound_samples/cries/palossand.aif differ diff --git a/sound/direct_sound_samples/cries/palpitoad.aif b/sound/direct_sound_samples/cries/palpitoad.aif index a22b007bf0d1..054d2dba0bb1 100644 Binary files a/sound/direct_sound_samples/cries/palpitoad.aif and b/sound/direct_sound_samples/cries/palpitoad.aif differ diff --git a/sound/direct_sound_samples/cries/pancham.aif b/sound/direct_sound_samples/cries/pancham.aif index 581e0a34005b..5a986eddf471 100644 Binary files a/sound/direct_sound_samples/cries/pancham.aif and b/sound/direct_sound_samples/cries/pancham.aif differ diff --git a/sound/direct_sound_samples/cries/pangoro.aif b/sound/direct_sound_samples/cries/pangoro.aif index cdbb8d211180..47f7bcf2d055 100644 Binary files a/sound/direct_sound_samples/cries/pangoro.aif and b/sound/direct_sound_samples/cries/pangoro.aif differ diff --git a/sound/direct_sound_samples/cries/panpour.aif b/sound/direct_sound_samples/cries/panpour.aif index 080e974b09cb..18b65158eb2f 100644 Binary files a/sound/direct_sound_samples/cries/panpour.aif and b/sound/direct_sound_samples/cries/panpour.aif differ diff --git a/sound/direct_sound_samples/cries/pansage.aif b/sound/direct_sound_samples/cries/pansage.aif index f5cd1a8b6ce8..a4d277230f73 100644 Binary files a/sound/direct_sound_samples/cries/pansage.aif and b/sound/direct_sound_samples/cries/pansage.aif differ diff --git a/sound/direct_sound_samples/cries/pansear.aif b/sound/direct_sound_samples/cries/pansear.aif index 204046866e97..4d76d6089cb9 100644 Binary files a/sound/direct_sound_samples/cries/pansear.aif and b/sound/direct_sound_samples/cries/pansear.aif differ diff --git a/sound/direct_sound_samples/cries/paras.aif b/sound/direct_sound_samples/cries/paras.aif index a865d25b6866..fbfbfaf07b18 100644 Binary files a/sound/direct_sound_samples/cries/paras.aif and b/sound/direct_sound_samples/cries/paras.aif differ diff --git a/sound/direct_sound_samples/cries/parasect.aif b/sound/direct_sound_samples/cries/parasect.aif index 0e3338a603a2..1251cbabefb8 100644 Binary files a/sound/direct_sound_samples/cries/parasect.aif and b/sound/direct_sound_samples/cries/parasect.aif differ diff --git a/sound/direct_sound_samples/cries/passimian.aif b/sound/direct_sound_samples/cries/passimian.aif index 0aab355729be..ac824012e5f6 100644 Binary files a/sound/direct_sound_samples/cries/passimian.aif and b/sound/direct_sound_samples/cries/passimian.aif differ diff --git a/sound/direct_sound_samples/cries/patrat.aif b/sound/direct_sound_samples/cries/patrat.aif index 1bfddd3f9f44..f1e17939ab10 100644 Binary files a/sound/direct_sound_samples/cries/patrat.aif and b/sound/direct_sound_samples/cries/patrat.aif differ diff --git a/sound/direct_sound_samples/cries/pawmot.aif b/sound/direct_sound_samples/cries/pawmot.aif index 6175b505423a..40ad2d5bf27b 100644 Binary files a/sound/direct_sound_samples/cries/pawmot.aif and b/sound/direct_sound_samples/cries/pawmot.aif differ diff --git a/sound/direct_sound_samples/cries/pawniard.aif b/sound/direct_sound_samples/cries/pawniard.aif index db95da2044cc..61968928374f 100644 Binary files a/sound/direct_sound_samples/cries/pawniard.aif and b/sound/direct_sound_samples/cries/pawniard.aif differ diff --git a/sound/direct_sound_samples/cries/pelipper.aif b/sound/direct_sound_samples/cries/pelipper.aif index efe9f28ec211..64a008036064 100644 Binary files a/sound/direct_sound_samples/cries/pelipper.aif and b/sound/direct_sound_samples/cries/pelipper.aif differ diff --git a/sound/direct_sound_samples/cries/persian.aif b/sound/direct_sound_samples/cries/persian.aif index 2b46dffd21b9..d87fe2cbe1d1 100644 Binary files a/sound/direct_sound_samples/cries/persian.aif and b/sound/direct_sound_samples/cries/persian.aif differ diff --git a/sound/direct_sound_samples/cries/petilil.aif b/sound/direct_sound_samples/cries/petilil.aif index ce243e499ef2..6252c7624704 100644 Binary files a/sound/direct_sound_samples/cries/petilil.aif and b/sound/direct_sound_samples/cries/petilil.aif differ diff --git a/sound/direct_sound_samples/cries/phanpy.aif b/sound/direct_sound_samples/cries/phanpy.aif index 6f95e2907861..0c541c3bf155 100644 Binary files a/sound/direct_sound_samples/cries/phanpy.aif and b/sound/direct_sound_samples/cries/phanpy.aif differ diff --git a/sound/direct_sound_samples/cries/phantump.aif b/sound/direct_sound_samples/cries/phantump.aif index 14951a8acfac..1afccc074c53 100644 Binary files a/sound/direct_sound_samples/cries/phantump.aif and b/sound/direct_sound_samples/cries/phantump.aif differ diff --git a/sound/direct_sound_samples/cries/pheromosa.aif b/sound/direct_sound_samples/cries/pheromosa.aif index b4093eb594bb..bcf57050d3e6 100644 Binary files a/sound/direct_sound_samples/cries/pheromosa.aif and b/sound/direct_sound_samples/cries/pheromosa.aif differ diff --git a/sound/direct_sound_samples/cries/phione.aif b/sound/direct_sound_samples/cries/phione.aif index ee295292d972..ba31bd9a5d6d 100644 Binary files a/sound/direct_sound_samples/cries/phione.aif and b/sound/direct_sound_samples/cries/phione.aif differ diff --git a/sound/direct_sound_samples/cries/pichu.aif b/sound/direct_sound_samples/cries/pichu.aif index 6ef7547f9fb8..a0cff3f6f388 100644 Binary files a/sound/direct_sound_samples/cries/pichu.aif and b/sound/direct_sound_samples/cries/pichu.aif differ diff --git a/sound/direct_sound_samples/cries/pidgeot.aif b/sound/direct_sound_samples/cries/pidgeot.aif index 2e29607ad0dd..67f49406a94a 100644 Binary files a/sound/direct_sound_samples/cries/pidgeot.aif and b/sound/direct_sound_samples/cries/pidgeot.aif differ diff --git a/sound/direct_sound_samples/cries/pidgeot_mega.aif b/sound/direct_sound_samples/cries/pidgeot_mega.aif index 89b846a1cc3b..a1639ba4e913 100644 Binary files a/sound/direct_sound_samples/cries/pidgeot_mega.aif and b/sound/direct_sound_samples/cries/pidgeot_mega.aif differ diff --git a/sound/direct_sound_samples/cries/pidgeotto.aif b/sound/direct_sound_samples/cries/pidgeotto.aif index 102e3afb5cee..f31d3df8cf8b 100644 Binary files a/sound/direct_sound_samples/cries/pidgeotto.aif and b/sound/direct_sound_samples/cries/pidgeotto.aif differ diff --git a/sound/direct_sound_samples/cries/pidgey.aif b/sound/direct_sound_samples/cries/pidgey.aif index 14d8284b976f..3b4b6ece2757 100644 Binary files a/sound/direct_sound_samples/cries/pidgey.aif and b/sound/direct_sound_samples/cries/pidgey.aif differ diff --git a/sound/direct_sound_samples/cries/pidove.aif b/sound/direct_sound_samples/cries/pidove.aif index faec9a046c22..b2bd5590bc8d 100644 Binary files a/sound/direct_sound_samples/cries/pidove.aif and b/sound/direct_sound_samples/cries/pidove.aif differ diff --git a/sound/direct_sound_samples/cries/pignite.aif b/sound/direct_sound_samples/cries/pignite.aif index 3cb8d0a850ef..8e1f78ae2f3e 100644 Binary files a/sound/direct_sound_samples/cries/pignite.aif and b/sound/direct_sound_samples/cries/pignite.aif differ diff --git a/sound/direct_sound_samples/cries/pikachu.aif b/sound/direct_sound_samples/cries/pikachu.aif index 30c770165947..4a7b27024562 100644 Binary files a/sound/direct_sound_samples/cries/pikachu.aif and b/sound/direct_sound_samples/cries/pikachu.aif differ diff --git a/sound/direct_sound_samples/cries/pikipek.aif b/sound/direct_sound_samples/cries/pikipek.aif index ee55aca4cefd..04efe56a4cb7 100644 Binary files a/sound/direct_sound_samples/cries/pikipek.aif and b/sound/direct_sound_samples/cries/pikipek.aif differ diff --git a/sound/direct_sound_samples/cries/piloswine.aif b/sound/direct_sound_samples/cries/piloswine.aif index 6b6fd0a2d4c2..2511d3fd701b 100644 Binary files a/sound/direct_sound_samples/cries/piloswine.aif and b/sound/direct_sound_samples/cries/piloswine.aif differ diff --git a/sound/direct_sound_samples/cries/pineco.aif b/sound/direct_sound_samples/cries/pineco.aif index 6f02c13690d9..acb6de8a0c67 100644 Binary files a/sound/direct_sound_samples/cries/pineco.aif and b/sound/direct_sound_samples/cries/pineco.aif differ diff --git a/sound/direct_sound_samples/cries/pinsir.aif b/sound/direct_sound_samples/cries/pinsir.aif index 995999b6849a..bfbb268d68ce 100644 Binary files a/sound/direct_sound_samples/cries/pinsir.aif and b/sound/direct_sound_samples/cries/pinsir.aif differ diff --git a/sound/direct_sound_samples/cries/pinsir_mega.aif b/sound/direct_sound_samples/cries/pinsir_mega.aif index f6f2b6649f95..c2e57d2a39ea 100644 Binary files a/sound/direct_sound_samples/cries/pinsir_mega.aif and b/sound/direct_sound_samples/cries/pinsir_mega.aif differ diff --git a/sound/direct_sound_samples/cries/piplup.aif b/sound/direct_sound_samples/cries/piplup.aif index 1f7da9b20812..e8c161eb3518 100644 Binary files a/sound/direct_sound_samples/cries/piplup.aif and b/sound/direct_sound_samples/cries/piplup.aif differ diff --git a/sound/direct_sound_samples/cries/plusle.aif b/sound/direct_sound_samples/cries/plusle.aif index 2c023697f64d..e584201a8f38 100644 Binary files a/sound/direct_sound_samples/cries/plusle.aif and b/sound/direct_sound_samples/cries/plusle.aif differ diff --git a/sound/direct_sound_samples/cries/poipole.aif b/sound/direct_sound_samples/cries/poipole.aif index b9f9fce1d065..c2a141ac85ef 100644 Binary files a/sound/direct_sound_samples/cries/poipole.aif and b/sound/direct_sound_samples/cries/poipole.aif differ diff --git a/sound/direct_sound_samples/cries/politoed.aif b/sound/direct_sound_samples/cries/politoed.aif index 75e7f20efeba..2739c2a4282d 100644 Binary files a/sound/direct_sound_samples/cries/politoed.aif and b/sound/direct_sound_samples/cries/politoed.aif differ diff --git a/sound/direct_sound_samples/cries/poliwag.aif b/sound/direct_sound_samples/cries/poliwag.aif index f4ee1617450b..d76e2094953e 100644 Binary files a/sound/direct_sound_samples/cries/poliwag.aif and b/sound/direct_sound_samples/cries/poliwag.aif differ diff --git a/sound/direct_sound_samples/cries/poliwhirl.aif b/sound/direct_sound_samples/cries/poliwhirl.aif index 31ffeb044d66..4aee053d7f8f 100644 Binary files a/sound/direct_sound_samples/cries/poliwhirl.aif and b/sound/direct_sound_samples/cries/poliwhirl.aif differ diff --git a/sound/direct_sound_samples/cries/poliwrath.aif b/sound/direct_sound_samples/cries/poliwrath.aif index ba1aac528d66..bb9d78f3c39f 100644 Binary files a/sound/direct_sound_samples/cries/poliwrath.aif and b/sound/direct_sound_samples/cries/poliwrath.aif differ diff --git a/sound/direct_sound_samples/cries/poltchageist.aif b/sound/direct_sound_samples/cries/poltchageist.aif index d861a0022b4a..855eb010cebf 100644 Binary files a/sound/direct_sound_samples/cries/poltchageist.aif and b/sound/direct_sound_samples/cries/poltchageist.aif differ diff --git a/sound/direct_sound_samples/cries/ponyta.aif b/sound/direct_sound_samples/cries/ponyta.aif index 121dbb39487d..ec66a33faf46 100644 Binary files a/sound/direct_sound_samples/cries/ponyta.aif and b/sound/direct_sound_samples/cries/ponyta.aif differ diff --git a/sound/direct_sound_samples/cries/poochyena.aif b/sound/direct_sound_samples/cries/poochyena.aif index d7bad7c909cc..bfa6a00ae20a 100644 Binary files a/sound/direct_sound_samples/cries/poochyena.aif and b/sound/direct_sound_samples/cries/poochyena.aif differ diff --git a/sound/direct_sound_samples/cries/popplio.aif b/sound/direct_sound_samples/cries/popplio.aif index 4b5571a17cba..cbb3a0ff30e0 100644 Binary files a/sound/direct_sound_samples/cries/popplio.aif and b/sound/direct_sound_samples/cries/popplio.aif differ diff --git a/sound/direct_sound_samples/cries/porygon.aif b/sound/direct_sound_samples/cries/porygon.aif index 9179a9d7545e..79160cdbbb45 100644 Binary files a/sound/direct_sound_samples/cries/porygon.aif and b/sound/direct_sound_samples/cries/porygon.aif differ diff --git a/sound/direct_sound_samples/cries/porygon2.aif b/sound/direct_sound_samples/cries/porygon2.aif index 2e6ae0b1f207..94237057b1ab 100644 Binary files a/sound/direct_sound_samples/cries/porygon2.aif and b/sound/direct_sound_samples/cries/porygon2.aif differ diff --git a/sound/direct_sound_samples/cries/porygon_z.aif b/sound/direct_sound_samples/cries/porygon_z.aif index d969b5f1d4d1..55448d13c056 100644 Binary files a/sound/direct_sound_samples/cries/porygon_z.aif and b/sound/direct_sound_samples/cries/porygon_z.aif differ diff --git a/sound/direct_sound_samples/cries/primarina.aif b/sound/direct_sound_samples/cries/primarina.aif index c5161df5f169..7952fda82e79 100644 Binary files a/sound/direct_sound_samples/cries/primarina.aif and b/sound/direct_sound_samples/cries/primarina.aif differ diff --git a/sound/direct_sound_samples/cries/primeape.aif b/sound/direct_sound_samples/cries/primeape.aif index ef53c2146171..35898bf2e64e 100644 Binary files a/sound/direct_sound_samples/cries/primeape.aif and b/sound/direct_sound_samples/cries/primeape.aif differ diff --git a/sound/direct_sound_samples/cries/prinplup.aif b/sound/direct_sound_samples/cries/prinplup.aif index 2550fd01c691..62311c1cbf2c 100644 Binary files a/sound/direct_sound_samples/cries/prinplup.aif and b/sound/direct_sound_samples/cries/prinplup.aif differ diff --git a/sound/direct_sound_samples/cries/probopass.aif b/sound/direct_sound_samples/cries/probopass.aif index a8307da81a4a..ac831dbf2032 100644 Binary files a/sound/direct_sound_samples/cries/probopass.aif and b/sound/direct_sound_samples/cries/probopass.aif differ diff --git a/sound/direct_sound_samples/cries/psyduck.aif b/sound/direct_sound_samples/cries/psyduck.aif index 881b55b60b84..e99270f05fd4 100644 Binary files a/sound/direct_sound_samples/cries/psyduck.aif and b/sound/direct_sound_samples/cries/psyduck.aif differ diff --git a/sound/direct_sound_samples/cries/pumpkaboo.aif b/sound/direct_sound_samples/cries/pumpkaboo.aif index 5f7d92b4bdb6..6960875e58b8 100644 Binary files a/sound/direct_sound_samples/cries/pumpkaboo.aif and b/sound/direct_sound_samples/cries/pumpkaboo.aif differ diff --git a/sound/direct_sound_samples/cries/pumpkaboo_super.aif b/sound/direct_sound_samples/cries/pumpkaboo_super.aif index 11d1ebf22335..f6c7500f68ab 100644 Binary files a/sound/direct_sound_samples/cries/pumpkaboo_super.aif and b/sound/direct_sound_samples/cries/pumpkaboo_super.aif differ diff --git a/sound/direct_sound_samples/cries/pupitar.aif b/sound/direct_sound_samples/cries/pupitar.aif index dbbe3bbaf041..eb4674d5214c 100644 Binary files a/sound/direct_sound_samples/cries/pupitar.aif and b/sound/direct_sound_samples/cries/pupitar.aif differ diff --git a/sound/direct_sound_samples/cries/purrloin.aif b/sound/direct_sound_samples/cries/purrloin.aif index 23791edb2b83..ceb00874c529 100644 Binary files a/sound/direct_sound_samples/cries/purrloin.aif and b/sound/direct_sound_samples/cries/purrloin.aif differ diff --git a/sound/direct_sound_samples/cries/purugly.aif b/sound/direct_sound_samples/cries/purugly.aif index d06f74fa5a3a..9f6460a63078 100644 Binary files a/sound/direct_sound_samples/cries/purugly.aif and b/sound/direct_sound_samples/cries/purugly.aif differ diff --git a/sound/direct_sound_samples/cries/pyroar.aif b/sound/direct_sound_samples/cries/pyroar.aif index d54a45de0b32..7bf77d50cb6e 100644 Binary files a/sound/direct_sound_samples/cries/pyroar.aif and b/sound/direct_sound_samples/cries/pyroar.aif differ diff --git a/sound/direct_sound_samples/cries/pyukumuku.aif b/sound/direct_sound_samples/cries/pyukumuku.aif index 1a8f25b1116f..ad1d740c31d4 100644 Binary files a/sound/direct_sound_samples/cries/pyukumuku.aif and b/sound/direct_sound_samples/cries/pyukumuku.aif differ diff --git a/sound/direct_sound_samples/cries/quagsire.aif b/sound/direct_sound_samples/cries/quagsire.aif index 84330f4de54c..7373b6bb0c9c 100644 Binary files a/sound/direct_sound_samples/cries/quagsire.aif and b/sound/direct_sound_samples/cries/quagsire.aif differ diff --git a/sound/direct_sound_samples/cries/quilava.aif b/sound/direct_sound_samples/cries/quilava.aif index 7b3e35ffb584..40d3db5594d4 100644 Binary files a/sound/direct_sound_samples/cries/quilava.aif and b/sound/direct_sound_samples/cries/quilava.aif differ diff --git a/sound/direct_sound_samples/cries/quilladin.aif b/sound/direct_sound_samples/cries/quilladin.aif index 9a4ca6e1f723..9b6dfabdc603 100644 Binary files a/sound/direct_sound_samples/cries/quilladin.aif and b/sound/direct_sound_samples/cries/quilladin.aif differ diff --git a/sound/direct_sound_samples/cries/qwilfish.aif b/sound/direct_sound_samples/cries/qwilfish.aif index 59d4c6db4492..a5a56480f18d 100644 Binary files a/sound/direct_sound_samples/cries/qwilfish.aif and b/sound/direct_sound_samples/cries/qwilfish.aif differ diff --git a/sound/direct_sound_samples/cries/rabsca.aif b/sound/direct_sound_samples/cries/rabsca.aif index 9d36d01cdca5..5665f798656a 100644 Binary files a/sound/direct_sound_samples/cries/rabsca.aif and b/sound/direct_sound_samples/cries/rabsca.aif differ diff --git a/sound/direct_sound_samples/cries/raichu.aif b/sound/direct_sound_samples/cries/raichu.aif index b8ed0d4b3776..001dcba62708 100644 Binary files a/sound/direct_sound_samples/cries/raichu.aif and b/sound/direct_sound_samples/cries/raichu.aif differ diff --git a/sound/direct_sound_samples/cries/raikou.aif b/sound/direct_sound_samples/cries/raikou.aif index 941cfca0f1ed..ac1e84669110 100644 Binary files a/sound/direct_sound_samples/cries/raikou.aif and b/sound/direct_sound_samples/cries/raikou.aif differ diff --git a/sound/direct_sound_samples/cries/ralts.aif b/sound/direct_sound_samples/cries/ralts.aif index de75400e15c4..660438548c8b 100644 Binary files a/sound/direct_sound_samples/cries/ralts.aif and b/sound/direct_sound_samples/cries/ralts.aif differ diff --git a/sound/direct_sound_samples/cries/rampardos.aif b/sound/direct_sound_samples/cries/rampardos.aif index 7134c57dd63a..edec1aac4f34 100644 Binary files a/sound/direct_sound_samples/cries/rampardos.aif and b/sound/direct_sound_samples/cries/rampardos.aif differ diff --git a/sound/direct_sound_samples/cries/rapidash.aif b/sound/direct_sound_samples/cries/rapidash.aif index 2dd536735b6f..c070475d183d 100644 Binary files a/sound/direct_sound_samples/cries/rapidash.aif and b/sound/direct_sound_samples/cries/rapidash.aif differ diff --git a/sound/direct_sound_samples/cries/raticate.aif b/sound/direct_sound_samples/cries/raticate.aif index f7d60550261b..fd726b655f33 100644 Binary files a/sound/direct_sound_samples/cries/raticate.aif and b/sound/direct_sound_samples/cries/raticate.aif differ diff --git a/sound/direct_sound_samples/cries/rattata.aif b/sound/direct_sound_samples/cries/rattata.aif index 73d2a718bc89..af6a4f246822 100644 Binary files a/sound/direct_sound_samples/cries/rattata.aif and b/sound/direct_sound_samples/cries/rattata.aif differ diff --git a/sound/direct_sound_samples/cries/rayquaza.aif b/sound/direct_sound_samples/cries/rayquaza.aif index 41fb48561dcf..ba7a73c7eece 100644 Binary files a/sound/direct_sound_samples/cries/rayquaza.aif and b/sound/direct_sound_samples/cries/rayquaza.aif differ diff --git a/sound/direct_sound_samples/cries/regice.aif b/sound/direct_sound_samples/cries/regice.aif index 488f06aa6c72..812737a80575 100644 Binary files a/sound/direct_sound_samples/cries/regice.aif and b/sound/direct_sound_samples/cries/regice.aif differ diff --git a/sound/direct_sound_samples/cries/regidrago.aif b/sound/direct_sound_samples/cries/regidrago.aif index ea725dfab5f3..d67dbe0ce3a5 100644 Binary files a/sound/direct_sound_samples/cries/regidrago.aif and b/sound/direct_sound_samples/cries/regidrago.aif differ diff --git a/sound/direct_sound_samples/cries/regigigas.aif b/sound/direct_sound_samples/cries/regigigas.aif index 87ba6eda574d..9de9e451d832 100644 Binary files a/sound/direct_sound_samples/cries/regigigas.aif and b/sound/direct_sound_samples/cries/regigigas.aif differ diff --git a/sound/direct_sound_samples/cries/regirock.aif b/sound/direct_sound_samples/cries/regirock.aif index 7540aa5860c0..b9c294809599 100644 Binary files a/sound/direct_sound_samples/cries/regirock.aif and b/sound/direct_sound_samples/cries/regirock.aif differ diff --git a/sound/direct_sound_samples/cries/registeel.aif b/sound/direct_sound_samples/cries/registeel.aif index 95e783ff4ba2..5afe87279e47 100644 Binary files a/sound/direct_sound_samples/cries/registeel.aif and b/sound/direct_sound_samples/cries/registeel.aif differ diff --git a/sound/direct_sound_samples/cries/relicanth.aif b/sound/direct_sound_samples/cries/relicanth.aif index 6af29ea3d130..a9c2b69e607e 100644 Binary files a/sound/direct_sound_samples/cries/relicanth.aif and b/sound/direct_sound_samples/cries/relicanth.aif differ diff --git a/sound/direct_sound_samples/cries/remoraid.aif b/sound/direct_sound_samples/cries/remoraid.aif index 5016ec78132e..f879cf28350e 100644 Binary files a/sound/direct_sound_samples/cries/remoraid.aif and b/sound/direct_sound_samples/cries/remoraid.aif differ diff --git a/sound/direct_sound_samples/cries/reshiram.aif b/sound/direct_sound_samples/cries/reshiram.aif index e8e187d65cc1..870d3cf515d8 100644 Binary files a/sound/direct_sound_samples/cries/reshiram.aif and b/sound/direct_sound_samples/cries/reshiram.aif differ diff --git a/sound/direct_sound_samples/cries/reuniclus.aif b/sound/direct_sound_samples/cries/reuniclus.aif index 75d92858c498..ab22f0f97e5f 100644 Binary files a/sound/direct_sound_samples/cries/reuniclus.aif and b/sound/direct_sound_samples/cries/reuniclus.aif differ diff --git a/sound/direct_sound_samples/cries/revavroom.aif b/sound/direct_sound_samples/cries/revavroom.aif index 731e2496c7c0..e52bf1c6fe7b 100644 Binary files a/sound/direct_sound_samples/cries/revavroom.aif and b/sound/direct_sound_samples/cries/revavroom.aif differ diff --git a/sound/direct_sound_samples/cries/rhydon.aif b/sound/direct_sound_samples/cries/rhydon.aif index 7e862c560c65..c02623703d4c 100644 Binary files a/sound/direct_sound_samples/cries/rhydon.aif and b/sound/direct_sound_samples/cries/rhydon.aif differ diff --git a/sound/direct_sound_samples/cries/rhyhorn.aif b/sound/direct_sound_samples/cries/rhyhorn.aif index f1eac45f0874..9a80e08f0163 100644 Binary files a/sound/direct_sound_samples/cries/rhyhorn.aif and b/sound/direct_sound_samples/cries/rhyhorn.aif differ diff --git a/sound/direct_sound_samples/cries/rhyperior.aif b/sound/direct_sound_samples/cries/rhyperior.aif index 1cc41c14c2bb..210a7c8fd3f2 100644 Binary files a/sound/direct_sound_samples/cries/rhyperior.aif and b/sound/direct_sound_samples/cries/rhyperior.aif differ diff --git a/sound/direct_sound_samples/cries/ribombee.aif b/sound/direct_sound_samples/cries/ribombee.aif index e5110c80b840..fb7dcd1f87ca 100644 Binary files a/sound/direct_sound_samples/cries/ribombee.aif and b/sound/direct_sound_samples/cries/ribombee.aif differ diff --git a/sound/direct_sound_samples/cries/rillaboom.aif b/sound/direct_sound_samples/cries/rillaboom.aif index c6a8b8932d76..f7e4624e8807 100644 Binary files a/sound/direct_sound_samples/cries/rillaboom.aif and b/sound/direct_sound_samples/cries/rillaboom.aif differ diff --git a/sound/direct_sound_samples/cries/riolu.aif b/sound/direct_sound_samples/cries/riolu.aif index c8fcaf0345da..cd25b09faf4f 100644 Binary files a/sound/direct_sound_samples/cries/riolu.aif and b/sound/direct_sound_samples/cries/riolu.aif differ diff --git a/sound/direct_sound_samples/cries/rockruff.aif b/sound/direct_sound_samples/cries/rockruff.aif index e0a5ffa7c072..90f6bed36b2d 100644 Binary files a/sound/direct_sound_samples/cries/rockruff.aif and b/sound/direct_sound_samples/cries/rockruff.aif differ diff --git a/sound/direct_sound_samples/cries/roggenrola.aif b/sound/direct_sound_samples/cries/roggenrola.aif index c4764dc82bf0..8f2f7c8fa0d3 100644 Binary files a/sound/direct_sound_samples/cries/roggenrola.aif and b/sound/direct_sound_samples/cries/roggenrola.aif differ diff --git a/sound/direct_sound_samples/cries/rookidee.aif b/sound/direct_sound_samples/cries/rookidee.aif index 036d3e2f1718..6fba48730a5a 100644 Binary files a/sound/direct_sound_samples/cries/rookidee.aif and b/sound/direct_sound_samples/cries/rookidee.aif differ diff --git a/sound/direct_sound_samples/cries/roselia.aif b/sound/direct_sound_samples/cries/roselia.aif index 146771f8ce5f..c6c53f3c1f8d 100644 Binary files a/sound/direct_sound_samples/cries/roselia.aif and b/sound/direct_sound_samples/cries/roselia.aif differ diff --git a/sound/direct_sound_samples/cries/roserade.aif b/sound/direct_sound_samples/cries/roserade.aif index 00a9430f2d5b..7c9de96a0e1c 100644 Binary files a/sound/direct_sound_samples/cries/roserade.aif and b/sound/direct_sound_samples/cries/roserade.aif differ diff --git a/sound/direct_sound_samples/cries/rotom.aif b/sound/direct_sound_samples/cries/rotom.aif index 41468228d1cb..81080115c2ee 100644 Binary files a/sound/direct_sound_samples/cries/rotom.aif and b/sound/direct_sound_samples/cries/rotom.aif differ diff --git a/sound/direct_sound_samples/cries/rowlet.aif b/sound/direct_sound_samples/cries/rowlet.aif index e14b229c210b..c201336015f3 100644 Binary files a/sound/direct_sound_samples/cries/rowlet.aif and b/sound/direct_sound_samples/cries/rowlet.aif differ diff --git a/sound/direct_sound_samples/cries/rufflet.aif b/sound/direct_sound_samples/cries/rufflet.aif index 2aff67b5cf6a..b7cc6cab12eb 100644 Binary files a/sound/direct_sound_samples/cries/rufflet.aif and b/sound/direct_sound_samples/cries/rufflet.aif differ diff --git a/sound/direct_sound_samples/cries/sableye.aif b/sound/direct_sound_samples/cries/sableye.aif index fb31e329d129..885a3b0b35c3 100644 Binary files a/sound/direct_sound_samples/cries/sableye.aif and b/sound/direct_sound_samples/cries/sableye.aif differ diff --git a/sound/direct_sound_samples/cries/sableye_mega.aif b/sound/direct_sound_samples/cries/sableye_mega.aif index 47d4a869ec00..7f869cd7b813 100644 Binary files a/sound/direct_sound_samples/cries/sableye_mega.aif and b/sound/direct_sound_samples/cries/sableye_mega.aif differ diff --git a/sound/direct_sound_samples/cries/salamence.aif b/sound/direct_sound_samples/cries/salamence.aif index 6a2d63ca5b16..f733e098dd9a 100644 Binary files a/sound/direct_sound_samples/cries/salamence.aif and b/sound/direct_sound_samples/cries/salamence.aif differ diff --git a/sound/direct_sound_samples/cries/salandit.aif b/sound/direct_sound_samples/cries/salandit.aif index 23872d7c0e23..90de8f0573a5 100644 Binary files a/sound/direct_sound_samples/cries/salandit.aif and b/sound/direct_sound_samples/cries/salandit.aif differ diff --git a/sound/direct_sound_samples/cries/salazzle.aif b/sound/direct_sound_samples/cries/salazzle.aif index 427bf8905af8..7447bfc0bf15 100644 Binary files a/sound/direct_sound_samples/cries/salazzle.aif and b/sound/direct_sound_samples/cries/salazzle.aif differ diff --git a/sound/direct_sound_samples/cries/samurott.aif b/sound/direct_sound_samples/cries/samurott.aif index 96691f6459d5..fc8aa1c7c8cf 100644 Binary files a/sound/direct_sound_samples/cries/samurott.aif and b/sound/direct_sound_samples/cries/samurott.aif differ diff --git a/sound/direct_sound_samples/cries/sandaconda.aif b/sound/direct_sound_samples/cries/sandaconda.aif index 13dd2b5ec246..3fd1b08d960d 100644 Binary files a/sound/direct_sound_samples/cries/sandaconda.aif and b/sound/direct_sound_samples/cries/sandaconda.aif differ diff --git a/sound/direct_sound_samples/cries/sandile.aif b/sound/direct_sound_samples/cries/sandile.aif index 9e52575b7cd0..316b66aec954 100644 Binary files a/sound/direct_sound_samples/cries/sandile.aif and b/sound/direct_sound_samples/cries/sandile.aif differ diff --git a/sound/direct_sound_samples/cries/sandshrew.aif b/sound/direct_sound_samples/cries/sandshrew.aif index b9a73351b6c1..02dd3c11822a 100644 Binary files a/sound/direct_sound_samples/cries/sandshrew.aif and b/sound/direct_sound_samples/cries/sandshrew.aif differ diff --git a/sound/direct_sound_samples/cries/sandslash.aif b/sound/direct_sound_samples/cries/sandslash.aif index 29950ff0ca84..59304e2dfea9 100644 Binary files a/sound/direct_sound_samples/cries/sandslash.aif and b/sound/direct_sound_samples/cries/sandslash.aif differ diff --git a/sound/direct_sound_samples/cries/sandygast.aif b/sound/direct_sound_samples/cries/sandygast.aif index 330cf75551d7..b99472bbaf34 100644 Binary files a/sound/direct_sound_samples/cries/sandygast.aif and b/sound/direct_sound_samples/cries/sandygast.aif differ diff --git a/sound/direct_sound_samples/cries/sawk.aif b/sound/direct_sound_samples/cries/sawk.aif index ebfe11e4a825..c040994edcde 100644 Binary files a/sound/direct_sound_samples/cries/sawk.aif and b/sound/direct_sound_samples/cries/sawk.aif differ diff --git a/sound/direct_sound_samples/cries/sawsbuck.aif b/sound/direct_sound_samples/cries/sawsbuck.aif index 745d3761d31f..9dcc4f927c8f 100644 Binary files a/sound/direct_sound_samples/cries/sawsbuck.aif and b/sound/direct_sound_samples/cries/sawsbuck.aif differ diff --git a/sound/direct_sound_samples/cries/scatterbug.aif b/sound/direct_sound_samples/cries/scatterbug.aif index 9fba052198bb..c553fb4771ab 100644 Binary files a/sound/direct_sound_samples/cries/scatterbug.aif and b/sound/direct_sound_samples/cries/scatterbug.aif differ diff --git a/sound/direct_sound_samples/cries/sceptile.aif b/sound/direct_sound_samples/cries/sceptile.aif index 6c8820d17ee0..c460e445d513 100644 Binary files a/sound/direct_sound_samples/cries/sceptile.aif and b/sound/direct_sound_samples/cries/sceptile.aif differ diff --git a/sound/direct_sound_samples/cries/scizor.aif b/sound/direct_sound_samples/cries/scizor.aif index 87305f608d4c..eb423f61ddc1 100644 Binary files a/sound/direct_sound_samples/cries/scizor.aif and b/sound/direct_sound_samples/cries/scizor.aif differ diff --git a/sound/direct_sound_samples/cries/scolipede.aif b/sound/direct_sound_samples/cries/scolipede.aif index 687402d8cafe..0372641b70b6 100644 Binary files a/sound/direct_sound_samples/cries/scolipede.aif and b/sound/direct_sound_samples/cries/scolipede.aif differ diff --git a/sound/direct_sound_samples/cries/scorbunny.aif b/sound/direct_sound_samples/cries/scorbunny.aif index 120dd0f88898..c0963bbc1cca 100644 Binary files a/sound/direct_sound_samples/cries/scorbunny.aif and b/sound/direct_sound_samples/cries/scorbunny.aif differ diff --git a/sound/direct_sound_samples/cries/scrafty.aif b/sound/direct_sound_samples/cries/scrafty.aif index 218c897f4aa4..bc351aa3de3d 100644 Binary files a/sound/direct_sound_samples/cries/scrafty.aif and b/sound/direct_sound_samples/cries/scrafty.aif differ diff --git a/sound/direct_sound_samples/cries/scraggy.aif b/sound/direct_sound_samples/cries/scraggy.aif index 5b6958fcafdf..bd836ebc465d 100644 Binary files a/sound/direct_sound_samples/cries/scraggy.aif and b/sound/direct_sound_samples/cries/scraggy.aif differ diff --git a/sound/direct_sound_samples/cries/scyther.aif b/sound/direct_sound_samples/cries/scyther.aif index 441612854d50..88bc85cdbbaf 100644 Binary files a/sound/direct_sound_samples/cries/scyther.aif and b/sound/direct_sound_samples/cries/scyther.aif differ diff --git a/sound/direct_sound_samples/cries/seadra.aif b/sound/direct_sound_samples/cries/seadra.aif index 68bbc8745c72..19852ad2312f 100644 Binary files a/sound/direct_sound_samples/cries/seadra.aif and b/sound/direct_sound_samples/cries/seadra.aif differ diff --git a/sound/direct_sound_samples/cries/seaking.aif b/sound/direct_sound_samples/cries/seaking.aif index e4d56b9b0695..f572ce5dd421 100644 Binary files a/sound/direct_sound_samples/cries/seaking.aif and b/sound/direct_sound_samples/cries/seaking.aif differ diff --git a/sound/direct_sound_samples/cries/sealeo.aif b/sound/direct_sound_samples/cries/sealeo.aif index 9cb4058c8bbf..9a0aedda624e 100644 Binary files a/sound/direct_sound_samples/cries/sealeo.aif and b/sound/direct_sound_samples/cries/sealeo.aif differ diff --git a/sound/direct_sound_samples/cries/seedot.aif b/sound/direct_sound_samples/cries/seedot.aif index 410e98328036..eac082184f33 100644 Binary files a/sound/direct_sound_samples/cries/seedot.aif and b/sound/direct_sound_samples/cries/seedot.aif differ diff --git a/sound/direct_sound_samples/cries/seel.aif b/sound/direct_sound_samples/cries/seel.aif index 927a8fd6c9b2..1cc31998f2df 100644 Binary files a/sound/direct_sound_samples/cries/seel.aif and b/sound/direct_sound_samples/cries/seel.aif differ diff --git a/sound/direct_sound_samples/cries/seismitoad.aif b/sound/direct_sound_samples/cries/seismitoad.aif index 267979cc0bbb..521f9b741b9b 100644 Binary files a/sound/direct_sound_samples/cries/seismitoad.aif and b/sound/direct_sound_samples/cries/seismitoad.aif differ diff --git a/sound/direct_sound_samples/cries/sentret.aif b/sound/direct_sound_samples/cries/sentret.aif index 91b5fc4561c8..ffbce9c7c57d 100644 Binary files a/sound/direct_sound_samples/cries/sentret.aif and b/sound/direct_sound_samples/cries/sentret.aif differ diff --git a/sound/direct_sound_samples/cries/serperior.aif b/sound/direct_sound_samples/cries/serperior.aif index 73ea832cd49f..9a2eb0baadca 100644 Binary files a/sound/direct_sound_samples/cries/serperior.aif and b/sound/direct_sound_samples/cries/serperior.aif differ diff --git a/sound/direct_sound_samples/cries/servine.aif b/sound/direct_sound_samples/cries/servine.aif index aa687c02d6ea..7098f526d9f9 100644 Binary files a/sound/direct_sound_samples/cries/servine.aif and b/sound/direct_sound_samples/cries/servine.aif differ diff --git a/sound/direct_sound_samples/cries/seviper.aif b/sound/direct_sound_samples/cries/seviper.aif index 32b069f068b9..5e3968db6d2a 100644 Binary files a/sound/direct_sound_samples/cries/seviper.aif and b/sound/direct_sound_samples/cries/seviper.aif differ diff --git a/sound/direct_sound_samples/cries/sewaddle.aif b/sound/direct_sound_samples/cries/sewaddle.aif index 9918b44645dc..9a3ac1272149 100644 Binary files a/sound/direct_sound_samples/cries/sewaddle.aif and b/sound/direct_sound_samples/cries/sewaddle.aif differ diff --git a/sound/direct_sound_samples/cries/sharpedo.aif b/sound/direct_sound_samples/cries/sharpedo.aif index 2f01fa058501..b68c24bb812a 100644 Binary files a/sound/direct_sound_samples/cries/sharpedo.aif and b/sound/direct_sound_samples/cries/sharpedo.aif differ diff --git a/sound/direct_sound_samples/cries/sharpedo_mega.aif b/sound/direct_sound_samples/cries/sharpedo_mega.aif index 454ec15892ea..3fa5b49e9223 100644 Binary files a/sound/direct_sound_samples/cries/sharpedo_mega.aif and b/sound/direct_sound_samples/cries/sharpedo_mega.aif differ diff --git a/sound/direct_sound_samples/cries/shaymin_land.aif b/sound/direct_sound_samples/cries/shaymin_land.aif index f26ff71788a7..ab0c40f156d0 100644 Binary files a/sound/direct_sound_samples/cries/shaymin_land.aif and b/sound/direct_sound_samples/cries/shaymin_land.aif differ diff --git a/sound/direct_sound_samples/cries/shaymin_sky.aif b/sound/direct_sound_samples/cries/shaymin_sky.aif index 3a340b56ec5d..ee3dfa8457f4 100644 Binary files a/sound/direct_sound_samples/cries/shaymin_sky.aif and b/sound/direct_sound_samples/cries/shaymin_sky.aif differ diff --git a/sound/direct_sound_samples/cries/shedinja.aif b/sound/direct_sound_samples/cries/shedinja.aif index ad19071a6527..d891bd382c39 100644 Binary files a/sound/direct_sound_samples/cries/shedinja.aif and b/sound/direct_sound_samples/cries/shedinja.aif differ diff --git a/sound/direct_sound_samples/cries/shelgon.aif b/sound/direct_sound_samples/cries/shelgon.aif index 8df317b3a650..b202dc037625 100644 Binary files a/sound/direct_sound_samples/cries/shelgon.aif and b/sound/direct_sound_samples/cries/shelgon.aif differ diff --git a/sound/direct_sound_samples/cries/shellder.aif b/sound/direct_sound_samples/cries/shellder.aif index 51513ae6a369..3f2df4a82ca5 100644 Binary files a/sound/direct_sound_samples/cries/shellder.aif and b/sound/direct_sound_samples/cries/shellder.aif differ diff --git a/sound/direct_sound_samples/cries/shellos.aif b/sound/direct_sound_samples/cries/shellos.aif index 2f6f095d05da..f59073120229 100644 Binary files a/sound/direct_sound_samples/cries/shellos.aif and b/sound/direct_sound_samples/cries/shellos.aif differ diff --git a/sound/direct_sound_samples/cries/shelmet.aif b/sound/direct_sound_samples/cries/shelmet.aif index b65d435f532c..472b6658c07e 100644 Binary files a/sound/direct_sound_samples/cries/shelmet.aif and b/sound/direct_sound_samples/cries/shelmet.aif differ diff --git a/sound/direct_sound_samples/cries/shieldon.aif b/sound/direct_sound_samples/cries/shieldon.aif index 44b564ccf0b1..5ea98bf1748a 100644 Binary files a/sound/direct_sound_samples/cries/shieldon.aif and b/sound/direct_sound_samples/cries/shieldon.aif differ diff --git a/sound/direct_sound_samples/cries/shiftry.aif b/sound/direct_sound_samples/cries/shiftry.aif index 970d5ef11654..dbc65b749ed5 100644 Binary files a/sound/direct_sound_samples/cries/shiftry.aif and b/sound/direct_sound_samples/cries/shiftry.aif differ diff --git a/sound/direct_sound_samples/cries/shiinotic.aif b/sound/direct_sound_samples/cries/shiinotic.aif index 6d275d9376c7..972aef0769fe 100644 Binary files a/sound/direct_sound_samples/cries/shiinotic.aif and b/sound/direct_sound_samples/cries/shiinotic.aif differ diff --git a/sound/direct_sound_samples/cries/shinx.aif b/sound/direct_sound_samples/cries/shinx.aif index fcdae1cb70b3..08f7ad8a4caf 100644 Binary files a/sound/direct_sound_samples/cries/shinx.aif and b/sound/direct_sound_samples/cries/shinx.aif differ diff --git a/sound/direct_sound_samples/cries/shroomish.aif b/sound/direct_sound_samples/cries/shroomish.aif index 587cf6188270..9c092ae07231 100644 Binary files a/sound/direct_sound_samples/cries/shroomish.aif and b/sound/direct_sound_samples/cries/shroomish.aif differ diff --git a/sound/direct_sound_samples/cries/shuckle.aif b/sound/direct_sound_samples/cries/shuckle.aif index 0844390f9de1..a5523506b571 100644 Binary files a/sound/direct_sound_samples/cries/shuckle.aif and b/sound/direct_sound_samples/cries/shuckle.aif differ diff --git a/sound/direct_sound_samples/cries/shuppet.aif b/sound/direct_sound_samples/cries/shuppet.aif index 642123c46d54..8f48e8b5fd19 100644 Binary files a/sound/direct_sound_samples/cries/shuppet.aif and b/sound/direct_sound_samples/cries/shuppet.aif differ diff --git a/sound/direct_sound_samples/cries/sigilyph.aif b/sound/direct_sound_samples/cries/sigilyph.aif index cce44936cf02..cf84e7dcf9eb 100644 Binary files a/sound/direct_sound_samples/cries/sigilyph.aif and b/sound/direct_sound_samples/cries/sigilyph.aif differ diff --git a/sound/direct_sound_samples/cries/silcoon.aif b/sound/direct_sound_samples/cries/silcoon.aif index b00697830216..89cd186676b6 100644 Binary files a/sound/direct_sound_samples/cries/silcoon.aif and b/sound/direct_sound_samples/cries/silcoon.aif differ diff --git a/sound/direct_sound_samples/cries/silvally.aif b/sound/direct_sound_samples/cries/silvally.aif index eb2e2e225dc1..48856c7d1647 100644 Binary files a/sound/direct_sound_samples/cries/silvally.aif and b/sound/direct_sound_samples/cries/silvally.aif differ diff --git a/sound/direct_sound_samples/cries/simipour.aif b/sound/direct_sound_samples/cries/simipour.aif index 47ac114690cc..91e891b63fbf 100644 Binary files a/sound/direct_sound_samples/cries/simipour.aif and b/sound/direct_sound_samples/cries/simipour.aif differ diff --git a/sound/direct_sound_samples/cries/simisage.aif b/sound/direct_sound_samples/cries/simisage.aif index 0117cf73fc34..944f5ff83101 100644 Binary files a/sound/direct_sound_samples/cries/simisage.aif and b/sound/direct_sound_samples/cries/simisage.aif differ diff --git a/sound/direct_sound_samples/cries/simisear.aif b/sound/direct_sound_samples/cries/simisear.aif index c6f9ec22972a..e3e8eb860aa8 100644 Binary files a/sound/direct_sound_samples/cries/simisear.aif and b/sound/direct_sound_samples/cries/simisear.aif differ diff --git a/sound/direct_sound_samples/cries/skarmory.aif b/sound/direct_sound_samples/cries/skarmory.aif index 10d36503767b..56414862344a 100644 Binary files a/sound/direct_sound_samples/cries/skarmory.aif and b/sound/direct_sound_samples/cries/skarmory.aif differ diff --git a/sound/direct_sound_samples/cries/skiddo.aif b/sound/direct_sound_samples/cries/skiddo.aif index 2e655c797115..5b2dc104f73c 100644 Binary files a/sound/direct_sound_samples/cries/skiddo.aif and b/sound/direct_sound_samples/cries/skiddo.aif differ diff --git a/sound/direct_sound_samples/cries/skiploom.aif b/sound/direct_sound_samples/cries/skiploom.aif index 04c3a438e942..4517e39c7a70 100644 Binary files a/sound/direct_sound_samples/cries/skiploom.aif and b/sound/direct_sound_samples/cries/skiploom.aif differ diff --git a/sound/direct_sound_samples/cries/skitty.aif b/sound/direct_sound_samples/cries/skitty.aif index f200d7fae48a..0f903b53779e 100644 Binary files a/sound/direct_sound_samples/cries/skitty.aif and b/sound/direct_sound_samples/cries/skitty.aif differ diff --git a/sound/direct_sound_samples/cries/skorupi.aif b/sound/direct_sound_samples/cries/skorupi.aif index 22e22b6d42ea..a638cb464532 100644 Binary files a/sound/direct_sound_samples/cries/skorupi.aif and b/sound/direct_sound_samples/cries/skorupi.aif differ diff --git a/sound/direct_sound_samples/cries/skrelp.aif b/sound/direct_sound_samples/cries/skrelp.aif index 4fd1178d9ab0..12bb27c043b2 100644 Binary files a/sound/direct_sound_samples/cries/skrelp.aif and b/sound/direct_sound_samples/cries/skrelp.aif differ diff --git a/sound/direct_sound_samples/cries/skuntank.aif b/sound/direct_sound_samples/cries/skuntank.aif index 90a00511e2ed..354f2af92ca0 100644 Binary files a/sound/direct_sound_samples/cries/skuntank.aif and b/sound/direct_sound_samples/cries/skuntank.aif differ diff --git a/sound/direct_sound_samples/cries/slaking.aif b/sound/direct_sound_samples/cries/slaking.aif index 287b5a3b6b8f..d023af76817e 100644 Binary files a/sound/direct_sound_samples/cries/slaking.aif and b/sound/direct_sound_samples/cries/slaking.aif differ diff --git a/sound/direct_sound_samples/cries/slakoth.aif b/sound/direct_sound_samples/cries/slakoth.aif index 67bc28459641..54248b2d8545 100644 Binary files a/sound/direct_sound_samples/cries/slakoth.aif and b/sound/direct_sound_samples/cries/slakoth.aif differ diff --git a/sound/direct_sound_samples/cries/sliggoo.aif b/sound/direct_sound_samples/cries/sliggoo.aif index f4351dd99972..ed141e69c576 100644 Binary files a/sound/direct_sound_samples/cries/sliggoo.aif and b/sound/direct_sound_samples/cries/sliggoo.aif differ diff --git a/sound/direct_sound_samples/cries/slither_wing.aif b/sound/direct_sound_samples/cries/slither_wing.aif index d61cadb5eb9e..699f74f2f956 100644 Binary files a/sound/direct_sound_samples/cries/slither_wing.aif and b/sound/direct_sound_samples/cries/slither_wing.aif differ diff --git a/sound/direct_sound_samples/cries/slowbro.aif b/sound/direct_sound_samples/cries/slowbro.aif index b7d3821897d8..c3778734e395 100644 Binary files a/sound/direct_sound_samples/cries/slowbro.aif and b/sound/direct_sound_samples/cries/slowbro.aif differ diff --git a/sound/direct_sound_samples/cries/slowking.aif b/sound/direct_sound_samples/cries/slowking.aif index 20008c627059..e135c9e0db95 100644 Binary files a/sound/direct_sound_samples/cries/slowking.aif and b/sound/direct_sound_samples/cries/slowking.aif differ diff --git a/sound/direct_sound_samples/cries/slowpoke.aif b/sound/direct_sound_samples/cries/slowpoke.aif index ab7f5d6bc9f2..e92ed0c20883 100644 Binary files a/sound/direct_sound_samples/cries/slowpoke.aif and b/sound/direct_sound_samples/cries/slowpoke.aif differ diff --git a/sound/direct_sound_samples/cries/slowpoke_galarian.aif b/sound/direct_sound_samples/cries/slowpoke_galarian.aif index 2cb7b8a5f383..30251a2e8c7b 100644 Binary files a/sound/direct_sound_samples/cries/slowpoke_galarian.aif and b/sound/direct_sound_samples/cries/slowpoke_galarian.aif differ diff --git a/sound/direct_sound_samples/cries/slugma.aif b/sound/direct_sound_samples/cries/slugma.aif index d89032e4dc62..3526b7f6e7bd 100644 Binary files a/sound/direct_sound_samples/cries/slugma.aif and b/sound/direct_sound_samples/cries/slugma.aif differ diff --git a/sound/direct_sound_samples/cries/slurpuff.aif b/sound/direct_sound_samples/cries/slurpuff.aif index c741a553de37..93b59e8e3527 100644 Binary files a/sound/direct_sound_samples/cries/slurpuff.aif and b/sound/direct_sound_samples/cries/slurpuff.aif differ diff --git a/sound/direct_sound_samples/cries/smeargle.aif b/sound/direct_sound_samples/cries/smeargle.aif index f59d7bb8a277..76cc479ccccb 100644 Binary files a/sound/direct_sound_samples/cries/smeargle.aif and b/sound/direct_sound_samples/cries/smeargle.aif differ diff --git a/sound/direct_sound_samples/cries/smoliv.aif b/sound/direct_sound_samples/cries/smoliv.aif index f30f88a1c3b3..44b688aff915 100644 Binary files a/sound/direct_sound_samples/cries/smoliv.aif and b/sound/direct_sound_samples/cries/smoliv.aif differ diff --git a/sound/direct_sound_samples/cries/smoochum.aif b/sound/direct_sound_samples/cries/smoochum.aif index 90253fcc3a59..812586940cfb 100644 Binary files a/sound/direct_sound_samples/cries/smoochum.aif and b/sound/direct_sound_samples/cries/smoochum.aif differ diff --git a/sound/direct_sound_samples/cries/sneasel.aif b/sound/direct_sound_samples/cries/sneasel.aif index ba0e84c044fb..e4bf7129c444 100644 Binary files a/sound/direct_sound_samples/cries/sneasel.aif and b/sound/direct_sound_samples/cries/sneasel.aif differ diff --git a/sound/direct_sound_samples/cries/sneasler.aif b/sound/direct_sound_samples/cries/sneasler.aif index 77b4f99a213f..b8537fef07cf 100644 Binary files a/sound/direct_sound_samples/cries/sneasler.aif and b/sound/direct_sound_samples/cries/sneasler.aif differ diff --git a/sound/direct_sound_samples/cries/snivy.aif b/sound/direct_sound_samples/cries/snivy.aif index f7f9790a168d..cd0335decbd2 100644 Binary files a/sound/direct_sound_samples/cries/snivy.aif and b/sound/direct_sound_samples/cries/snivy.aif differ diff --git a/sound/direct_sound_samples/cries/snom.aif b/sound/direct_sound_samples/cries/snom.aif index 5166e1a3847d..9591fa1d7d60 100644 Binary files a/sound/direct_sound_samples/cries/snom.aif and b/sound/direct_sound_samples/cries/snom.aif differ diff --git a/sound/direct_sound_samples/cries/snorlax.aif b/sound/direct_sound_samples/cries/snorlax.aif index d099fbf70978..d65557c79867 100644 Binary files a/sound/direct_sound_samples/cries/snorlax.aif and b/sound/direct_sound_samples/cries/snorlax.aif differ diff --git a/sound/direct_sound_samples/cries/snorunt.aif b/sound/direct_sound_samples/cries/snorunt.aif index 1c29a200d777..21bae9fc67a7 100644 Binary files a/sound/direct_sound_samples/cries/snorunt.aif and b/sound/direct_sound_samples/cries/snorunt.aif differ diff --git a/sound/direct_sound_samples/cries/snover.aif b/sound/direct_sound_samples/cries/snover.aif index bd4f1a415d5b..d02aceda4cb4 100644 Binary files a/sound/direct_sound_samples/cries/snover.aif and b/sound/direct_sound_samples/cries/snover.aif differ diff --git a/sound/direct_sound_samples/cries/snubbull.aif b/sound/direct_sound_samples/cries/snubbull.aif index ff2e104b9881..5e2ca9adb0da 100644 Binary files a/sound/direct_sound_samples/cries/snubbull.aif and b/sound/direct_sound_samples/cries/snubbull.aif differ diff --git a/sound/direct_sound_samples/cries/solgaleo.aif b/sound/direct_sound_samples/cries/solgaleo.aif index 9f176d6f435e..8cb9ad0cb5a3 100644 Binary files a/sound/direct_sound_samples/cries/solgaleo.aif and b/sound/direct_sound_samples/cries/solgaleo.aif differ diff --git a/sound/direct_sound_samples/cries/solosis.aif b/sound/direct_sound_samples/cries/solosis.aif index 875f608407b2..701424bbd6dc 100644 Binary files a/sound/direct_sound_samples/cries/solosis.aif and b/sound/direct_sound_samples/cries/solosis.aif differ diff --git a/sound/direct_sound_samples/cries/solrock.aif b/sound/direct_sound_samples/cries/solrock.aif index 2dc614c92a50..ed58aeecaec6 100644 Binary files a/sound/direct_sound_samples/cries/solrock.aif and b/sound/direct_sound_samples/cries/solrock.aif differ diff --git a/sound/direct_sound_samples/cries/spearow.aif b/sound/direct_sound_samples/cries/spearow.aif index beb87568ef5b..9fb8d0cc8f10 100644 Binary files a/sound/direct_sound_samples/cries/spearow.aif and b/sound/direct_sound_samples/cries/spearow.aif differ diff --git a/sound/direct_sound_samples/cries/spectrier.aif b/sound/direct_sound_samples/cries/spectrier.aif index 058cc9f8c5c4..a43dc77a6cde 100644 Binary files a/sound/direct_sound_samples/cries/spectrier.aif and b/sound/direct_sound_samples/cries/spectrier.aif differ diff --git a/sound/direct_sound_samples/cries/spewpa.aif b/sound/direct_sound_samples/cries/spewpa.aif index 1a9fce278118..34cd82b98983 100644 Binary files a/sound/direct_sound_samples/cries/spewpa.aif and b/sound/direct_sound_samples/cries/spewpa.aif differ diff --git a/sound/direct_sound_samples/cries/spheal.aif b/sound/direct_sound_samples/cries/spheal.aif index eee9b636c3ed..44d21a97390d 100644 Binary files a/sound/direct_sound_samples/cries/spheal.aif and b/sound/direct_sound_samples/cries/spheal.aif differ diff --git a/sound/direct_sound_samples/cries/spidops.aif b/sound/direct_sound_samples/cries/spidops.aif index e1f2c3271588..626aa0c3f547 100644 Binary files a/sound/direct_sound_samples/cries/spidops.aif and b/sound/direct_sound_samples/cries/spidops.aif differ diff --git a/sound/direct_sound_samples/cries/spinarak.aif b/sound/direct_sound_samples/cries/spinarak.aif index 880e81df6fbe..f49c856acacd 100644 Binary files a/sound/direct_sound_samples/cries/spinarak.aif and b/sound/direct_sound_samples/cries/spinarak.aif differ diff --git a/sound/direct_sound_samples/cries/spinda.aif b/sound/direct_sound_samples/cries/spinda.aif index e5984de5bb28..01914a5d09d3 100644 Binary files a/sound/direct_sound_samples/cries/spinda.aif and b/sound/direct_sound_samples/cries/spinda.aif differ diff --git a/sound/direct_sound_samples/cries/spiritomb.aif b/sound/direct_sound_samples/cries/spiritomb.aif index 2f5621b7c2df..7a504adfb096 100644 Binary files a/sound/direct_sound_samples/cries/spiritomb.aif and b/sound/direct_sound_samples/cries/spiritomb.aif differ diff --git a/sound/direct_sound_samples/cries/spoink.aif b/sound/direct_sound_samples/cries/spoink.aif index af9e1a1ebc9e..102f53d8f1ff 100644 Binary files a/sound/direct_sound_samples/cries/spoink.aif and b/sound/direct_sound_samples/cries/spoink.aif differ diff --git a/sound/direct_sound_samples/cries/sprigatito.aif b/sound/direct_sound_samples/cries/sprigatito.aif index 5d6b5c966d7d..13616f9686e6 100644 Binary files a/sound/direct_sound_samples/cries/sprigatito.aif and b/sound/direct_sound_samples/cries/sprigatito.aif differ diff --git a/sound/direct_sound_samples/cries/spritzee.aif b/sound/direct_sound_samples/cries/spritzee.aif index 9c451c63ff89..3bf2499d72e1 100644 Binary files a/sound/direct_sound_samples/cries/spritzee.aif and b/sound/direct_sound_samples/cries/spritzee.aif differ diff --git a/sound/direct_sound_samples/cries/squawkabilly.aif b/sound/direct_sound_samples/cries/squawkabilly.aif index 140243d8026d..0c88f36f7414 100644 Binary files a/sound/direct_sound_samples/cries/squawkabilly.aif and b/sound/direct_sound_samples/cries/squawkabilly.aif differ diff --git a/sound/direct_sound_samples/cries/squirtle.aif b/sound/direct_sound_samples/cries/squirtle.aif index e570bc18342a..8e6cf8644d18 100644 Binary files a/sound/direct_sound_samples/cries/squirtle.aif and b/sound/direct_sound_samples/cries/squirtle.aif differ diff --git a/sound/direct_sound_samples/cries/stakataka.aif b/sound/direct_sound_samples/cries/stakataka.aif index 41f9336a7442..cabe903b43b4 100644 Binary files a/sound/direct_sound_samples/cries/stakataka.aif and b/sound/direct_sound_samples/cries/stakataka.aif differ diff --git a/sound/direct_sound_samples/cries/stantler.aif b/sound/direct_sound_samples/cries/stantler.aif index 502840a83c9c..231466ebea8d 100644 Binary files a/sound/direct_sound_samples/cries/stantler.aif and b/sound/direct_sound_samples/cries/stantler.aif differ diff --git a/sound/direct_sound_samples/cries/staraptor.aif b/sound/direct_sound_samples/cries/staraptor.aif index 764a9d663929..05ccd1f0246e 100644 Binary files a/sound/direct_sound_samples/cries/staraptor.aif and b/sound/direct_sound_samples/cries/staraptor.aif differ diff --git a/sound/direct_sound_samples/cries/staravia.aif b/sound/direct_sound_samples/cries/staravia.aif index 3326b33006f4..235d14eaf813 100644 Binary files a/sound/direct_sound_samples/cries/staravia.aif and b/sound/direct_sound_samples/cries/staravia.aif differ diff --git a/sound/direct_sound_samples/cries/starly.aif b/sound/direct_sound_samples/cries/starly.aif index 00457fe6a42f..2b0dd3960af4 100644 Binary files a/sound/direct_sound_samples/cries/starly.aif and b/sound/direct_sound_samples/cries/starly.aif differ diff --git a/sound/direct_sound_samples/cries/starmie.aif b/sound/direct_sound_samples/cries/starmie.aif index 3dea58cecbb8..a2daf8680075 100644 Binary files a/sound/direct_sound_samples/cries/starmie.aif and b/sound/direct_sound_samples/cries/starmie.aif differ diff --git a/sound/direct_sound_samples/cries/staryu.aif b/sound/direct_sound_samples/cries/staryu.aif index 60b416a1ccf8..cd0cbc6b2b53 100644 Binary files a/sound/direct_sound_samples/cries/staryu.aif and b/sound/direct_sound_samples/cries/staryu.aif differ diff --git a/sound/direct_sound_samples/cries/steelix.aif b/sound/direct_sound_samples/cries/steelix.aif index 75836d1433db..060cd00be473 100644 Binary files a/sound/direct_sound_samples/cries/steelix.aif and b/sound/direct_sound_samples/cries/steelix.aif differ diff --git a/sound/direct_sound_samples/cries/steenee.aif b/sound/direct_sound_samples/cries/steenee.aif index 27233d2c26d6..54b9df83b76d 100644 Binary files a/sound/direct_sound_samples/cries/steenee.aif and b/sound/direct_sound_samples/cries/steenee.aif differ diff --git a/sound/direct_sound_samples/cries/stoutland.aif b/sound/direct_sound_samples/cries/stoutland.aif index 3175b64767c6..5479323d49d8 100644 Binary files a/sound/direct_sound_samples/cries/stoutland.aif and b/sound/direct_sound_samples/cries/stoutland.aif differ diff --git a/sound/direct_sound_samples/cries/stufful.aif b/sound/direct_sound_samples/cries/stufful.aif index f471a443b34c..abd70624f062 100644 Binary files a/sound/direct_sound_samples/cries/stufful.aif and b/sound/direct_sound_samples/cries/stufful.aif differ diff --git a/sound/direct_sound_samples/cries/stunfisk.aif b/sound/direct_sound_samples/cries/stunfisk.aif index 5dbdb6dc9cf8..3d7f116cfd33 100644 Binary files a/sound/direct_sound_samples/cries/stunfisk.aif and b/sound/direct_sound_samples/cries/stunfisk.aif differ diff --git a/sound/direct_sound_samples/cries/stunky.aif b/sound/direct_sound_samples/cries/stunky.aif index 41923bd96e84..bb9a34bc6254 100644 Binary files a/sound/direct_sound_samples/cries/stunky.aif and b/sound/direct_sound_samples/cries/stunky.aif differ diff --git a/sound/direct_sound_samples/cries/sudowoodo.aif b/sound/direct_sound_samples/cries/sudowoodo.aif index c81a09531baa..64ef66ef0c23 100644 Binary files a/sound/direct_sound_samples/cries/sudowoodo.aif and b/sound/direct_sound_samples/cries/sudowoodo.aif differ diff --git a/sound/direct_sound_samples/cries/suicune.aif b/sound/direct_sound_samples/cries/suicune.aif index 863d4adedc88..10840f92c190 100644 Binary files a/sound/direct_sound_samples/cries/suicune.aif and b/sound/direct_sound_samples/cries/suicune.aif differ diff --git a/sound/direct_sound_samples/cries/sunflora.aif b/sound/direct_sound_samples/cries/sunflora.aif index c14458082570..e64c7ab4e4b7 100644 Binary files a/sound/direct_sound_samples/cries/sunflora.aif and b/sound/direct_sound_samples/cries/sunflora.aif differ diff --git a/sound/direct_sound_samples/cries/sunkern.aif b/sound/direct_sound_samples/cries/sunkern.aif index 54ab4fba5d43..ecead99e9919 100644 Binary files a/sound/direct_sound_samples/cries/sunkern.aif and b/sound/direct_sound_samples/cries/sunkern.aif differ diff --git a/sound/direct_sound_samples/cries/surskit.aif b/sound/direct_sound_samples/cries/surskit.aif index 9898e58f1e8c..445daa612950 100644 Binary files a/sound/direct_sound_samples/cries/surskit.aif and b/sound/direct_sound_samples/cries/surskit.aif differ diff --git a/sound/direct_sound_samples/cries/swablu.aif b/sound/direct_sound_samples/cries/swablu.aif index 75e1555b7432..0940910ce3bd 100644 Binary files a/sound/direct_sound_samples/cries/swablu.aif and b/sound/direct_sound_samples/cries/swablu.aif differ diff --git a/sound/direct_sound_samples/cries/swadloon.aif b/sound/direct_sound_samples/cries/swadloon.aif index 5de03159209a..d2606953b2cb 100644 Binary files a/sound/direct_sound_samples/cries/swadloon.aif and b/sound/direct_sound_samples/cries/swadloon.aif differ diff --git a/sound/direct_sound_samples/cries/swalot.aif b/sound/direct_sound_samples/cries/swalot.aif index 45c0b0b85dc0..87e57c9b70ef 100644 Binary files a/sound/direct_sound_samples/cries/swalot.aif and b/sound/direct_sound_samples/cries/swalot.aif differ diff --git a/sound/direct_sound_samples/cries/swampert.aif b/sound/direct_sound_samples/cries/swampert.aif index 613e75261cbd..132844c70517 100644 Binary files a/sound/direct_sound_samples/cries/swampert.aif and b/sound/direct_sound_samples/cries/swampert.aif differ diff --git a/sound/direct_sound_samples/cries/swanna.aif b/sound/direct_sound_samples/cries/swanna.aif index d7b01aed3bbb..9b2ef724f6c7 100644 Binary files a/sound/direct_sound_samples/cries/swanna.aif and b/sound/direct_sound_samples/cries/swanna.aif differ diff --git a/sound/direct_sound_samples/cries/swellow.aif b/sound/direct_sound_samples/cries/swellow.aif index 9ddeec7057c1..a5bf66627d1e 100644 Binary files a/sound/direct_sound_samples/cries/swellow.aif and b/sound/direct_sound_samples/cries/swellow.aif differ diff --git a/sound/direct_sound_samples/cries/swinub.aif b/sound/direct_sound_samples/cries/swinub.aif index 375f1b60a0da..7b2a08bf6fae 100644 Binary files a/sound/direct_sound_samples/cries/swinub.aif and b/sound/direct_sound_samples/cries/swinub.aif differ diff --git a/sound/direct_sound_samples/cries/swirlix.aif b/sound/direct_sound_samples/cries/swirlix.aif index b08e684fa723..89fa6ecd16b3 100644 Binary files a/sound/direct_sound_samples/cries/swirlix.aif and b/sound/direct_sound_samples/cries/swirlix.aif differ diff --git a/sound/direct_sound_samples/cries/swoobat.aif b/sound/direct_sound_samples/cries/swoobat.aif index c5b530b7144e..32f8d406c56d 100644 Binary files a/sound/direct_sound_samples/cries/swoobat.aif and b/sound/direct_sound_samples/cries/swoobat.aif differ diff --git a/sound/direct_sound_samples/cries/sylveon.aif b/sound/direct_sound_samples/cries/sylveon.aif index 8d21184dc5a2..0ded5d19d187 100644 Binary files a/sound/direct_sound_samples/cries/sylveon.aif and b/sound/direct_sound_samples/cries/sylveon.aif differ diff --git a/sound/direct_sound_samples/cries/tadbulb.aif b/sound/direct_sound_samples/cries/tadbulb.aif index 6944fa31dcc6..4680059cde52 100644 Binary files a/sound/direct_sound_samples/cries/tadbulb.aif and b/sound/direct_sound_samples/cries/tadbulb.aif differ diff --git a/sound/direct_sound_samples/cries/taillow.aif b/sound/direct_sound_samples/cries/taillow.aif index 9cbf5bcd6a4b..c30cdb275bc4 100644 Binary files a/sound/direct_sound_samples/cries/taillow.aif and b/sound/direct_sound_samples/cries/taillow.aif differ diff --git a/sound/direct_sound_samples/cries/talonflame.aif b/sound/direct_sound_samples/cries/talonflame.aif index ac86007040ba..d16a4a2128c6 100644 Binary files a/sound/direct_sound_samples/cries/talonflame.aif and b/sound/direct_sound_samples/cries/talonflame.aif differ diff --git a/sound/direct_sound_samples/cries/tangela.aif b/sound/direct_sound_samples/cries/tangela.aif index a3962027c254..e463f2b7e621 100644 Binary files a/sound/direct_sound_samples/cries/tangela.aif and b/sound/direct_sound_samples/cries/tangela.aif differ diff --git a/sound/direct_sound_samples/cries/tangrowth.aif b/sound/direct_sound_samples/cries/tangrowth.aif index 0f3ca54902ef..23e3d995b798 100644 Binary files a/sound/direct_sound_samples/cries/tangrowth.aif and b/sound/direct_sound_samples/cries/tangrowth.aif differ diff --git a/sound/direct_sound_samples/cries/tapu_bulu.aif b/sound/direct_sound_samples/cries/tapu_bulu.aif index 36d31a68d7a0..ab84791fa7b1 100644 Binary files a/sound/direct_sound_samples/cries/tapu_bulu.aif and b/sound/direct_sound_samples/cries/tapu_bulu.aif differ diff --git a/sound/direct_sound_samples/cries/tapu_fini.aif b/sound/direct_sound_samples/cries/tapu_fini.aif index 203ca8d9c8d9..301b0a70b8a5 100644 Binary files a/sound/direct_sound_samples/cries/tapu_fini.aif and b/sound/direct_sound_samples/cries/tapu_fini.aif differ diff --git a/sound/direct_sound_samples/cries/tapu_koko.aif b/sound/direct_sound_samples/cries/tapu_koko.aif index b8b71fcf096f..2fae1a3b0b75 100644 Binary files a/sound/direct_sound_samples/cries/tapu_koko.aif and b/sound/direct_sound_samples/cries/tapu_koko.aif differ diff --git a/sound/direct_sound_samples/cries/tapu_lele.aif b/sound/direct_sound_samples/cries/tapu_lele.aif index 8b13f0ddf014..c15bb3186275 100644 Binary files a/sound/direct_sound_samples/cries/tapu_lele.aif and b/sound/direct_sound_samples/cries/tapu_lele.aif differ diff --git a/sound/direct_sound_samples/cries/tarountula.aif b/sound/direct_sound_samples/cries/tarountula.aif index a08f51ee202e..d8d24385657b 100644 Binary files a/sound/direct_sound_samples/cries/tarountula.aif and b/sound/direct_sound_samples/cries/tarountula.aif differ diff --git a/sound/direct_sound_samples/cries/tatsugiri_curly.aif b/sound/direct_sound_samples/cries/tatsugiri_curly.aif index ad84b372853c..16c03553abc2 100644 Binary files a/sound/direct_sound_samples/cries/tatsugiri_curly.aif and b/sound/direct_sound_samples/cries/tatsugiri_curly.aif differ diff --git a/sound/direct_sound_samples/cries/tatsugiri_droopy.aif b/sound/direct_sound_samples/cries/tatsugiri_droopy.aif index 38b0a7949a5b..20131039e5a6 100644 Binary files a/sound/direct_sound_samples/cries/tatsugiri_droopy.aif and b/sound/direct_sound_samples/cries/tatsugiri_droopy.aif differ diff --git a/sound/direct_sound_samples/cries/tatsugiri_stretchy.aif b/sound/direct_sound_samples/cries/tatsugiri_stretchy.aif index ad1fbe930b10..08e568043354 100644 Binary files a/sound/direct_sound_samples/cries/tatsugiri_stretchy.aif and b/sound/direct_sound_samples/cries/tatsugiri_stretchy.aif differ diff --git a/sound/direct_sound_samples/cries/tauros.aif b/sound/direct_sound_samples/cries/tauros.aif index fb79a648aee9..1b4bdfa5c438 100644 Binary files a/sound/direct_sound_samples/cries/tauros.aif and b/sound/direct_sound_samples/cries/tauros.aif differ diff --git a/sound/direct_sound_samples/cries/teddiursa.aif b/sound/direct_sound_samples/cries/teddiursa.aif index dc99db734b58..19ba558c3b94 100644 Binary files a/sound/direct_sound_samples/cries/teddiursa.aif and b/sound/direct_sound_samples/cries/teddiursa.aif differ diff --git a/sound/direct_sound_samples/cries/tentacool.aif b/sound/direct_sound_samples/cries/tentacool.aif index f3b32c741e90..8918f25627f7 100644 Binary files a/sound/direct_sound_samples/cries/tentacool.aif and b/sound/direct_sound_samples/cries/tentacool.aif differ diff --git a/sound/direct_sound_samples/cries/tentacruel.aif b/sound/direct_sound_samples/cries/tentacruel.aif index 13b91bbd3e6e..2497d178df3c 100644 Binary files a/sound/direct_sound_samples/cries/tentacruel.aif and b/sound/direct_sound_samples/cries/tentacruel.aif differ diff --git a/sound/direct_sound_samples/cries/tepig.aif b/sound/direct_sound_samples/cries/tepig.aif index fa226ef1f174..45b7b4ecdaf4 100644 Binary files a/sound/direct_sound_samples/cries/tepig.aif and b/sound/direct_sound_samples/cries/tepig.aif differ diff --git a/sound/direct_sound_samples/cries/terrakion.aif b/sound/direct_sound_samples/cries/terrakion.aif index 77e5c71ca280..e567be0f1eed 100644 Binary files a/sound/direct_sound_samples/cries/terrakion.aif and b/sound/direct_sound_samples/cries/terrakion.aif differ diff --git a/sound/direct_sound_samples/cries/throh.aif b/sound/direct_sound_samples/cries/throh.aif index 176d1065d6c1..eeeba64e4b29 100644 Binary files a/sound/direct_sound_samples/cries/throh.aif and b/sound/direct_sound_samples/cries/throh.aif differ diff --git a/sound/direct_sound_samples/cries/thundurus_incarnate.aif b/sound/direct_sound_samples/cries/thundurus_incarnate.aif index 75a1af958a47..8b1c81b9f94a 100644 Binary files a/sound/direct_sound_samples/cries/thundurus_incarnate.aif and b/sound/direct_sound_samples/cries/thundurus_incarnate.aif differ diff --git a/sound/direct_sound_samples/cries/thundurus_therian.aif b/sound/direct_sound_samples/cries/thundurus_therian.aif index 318201f1b896..f5ac69f17725 100644 Binary files a/sound/direct_sound_samples/cries/thundurus_therian.aif and b/sound/direct_sound_samples/cries/thundurus_therian.aif differ diff --git a/sound/direct_sound_samples/cries/thwackey.aif b/sound/direct_sound_samples/cries/thwackey.aif index dff37f5c806a..579df5c965b0 100644 Binary files a/sound/direct_sound_samples/cries/thwackey.aif and b/sound/direct_sound_samples/cries/thwackey.aif differ diff --git a/sound/direct_sound_samples/cries/timburr.aif b/sound/direct_sound_samples/cries/timburr.aif index 839bfb59b734..49edb74efb85 100644 Binary files a/sound/direct_sound_samples/cries/timburr.aif and b/sound/direct_sound_samples/cries/timburr.aif differ diff --git a/sound/direct_sound_samples/cries/ting_lu.aif b/sound/direct_sound_samples/cries/ting_lu.aif index 82cbff16f33e..a4a5ed211847 100644 Binary files a/sound/direct_sound_samples/cries/ting_lu.aif and b/sound/direct_sound_samples/cries/ting_lu.aif differ diff --git a/sound/direct_sound_samples/cries/tinkatink.aif b/sound/direct_sound_samples/cries/tinkatink.aif index 24b50dbbf041..a6229c133856 100644 Binary files a/sound/direct_sound_samples/cries/tinkatink.aif and b/sound/direct_sound_samples/cries/tinkatink.aif differ diff --git a/sound/direct_sound_samples/cries/tinkaton.aif b/sound/direct_sound_samples/cries/tinkaton.aif index c48068f69263..fd88cb84596c 100644 Binary files a/sound/direct_sound_samples/cries/tinkaton.aif and b/sound/direct_sound_samples/cries/tinkaton.aif differ diff --git a/sound/direct_sound_samples/cries/tirtouga.aif b/sound/direct_sound_samples/cries/tirtouga.aif index d32ec5ef3c13..2233557d229c 100644 Binary files a/sound/direct_sound_samples/cries/tirtouga.aif and b/sound/direct_sound_samples/cries/tirtouga.aif differ diff --git a/sound/direct_sound_samples/cries/toedscruel.aif b/sound/direct_sound_samples/cries/toedscruel.aif index 87fc37decde4..1f2fade60c6f 100644 Binary files a/sound/direct_sound_samples/cries/toedscruel.aif and b/sound/direct_sound_samples/cries/toedscruel.aif differ diff --git a/sound/direct_sound_samples/cries/togedemaru.aif b/sound/direct_sound_samples/cries/togedemaru.aif index 1ac46d6f97a9..366ce2be960c 100644 Binary files a/sound/direct_sound_samples/cries/togedemaru.aif and b/sound/direct_sound_samples/cries/togedemaru.aif differ diff --git a/sound/direct_sound_samples/cries/togekiss.aif b/sound/direct_sound_samples/cries/togekiss.aif index a365ddd94dd5..c66baeaf552f 100644 Binary files a/sound/direct_sound_samples/cries/togekiss.aif and b/sound/direct_sound_samples/cries/togekiss.aif differ diff --git a/sound/direct_sound_samples/cries/togepi.aif b/sound/direct_sound_samples/cries/togepi.aif index 351fea00fc50..0785a662ab91 100644 Binary files a/sound/direct_sound_samples/cries/togepi.aif and b/sound/direct_sound_samples/cries/togepi.aif differ diff --git a/sound/direct_sound_samples/cries/togetic.aif b/sound/direct_sound_samples/cries/togetic.aif index 6fd29b73d5bc..f577120c6d39 100644 Binary files a/sound/direct_sound_samples/cries/togetic.aif and b/sound/direct_sound_samples/cries/togetic.aif differ diff --git a/sound/direct_sound_samples/cries/torchic.aif b/sound/direct_sound_samples/cries/torchic.aif index 0f39232bff96..3accc1b3c880 100644 Binary files a/sound/direct_sound_samples/cries/torchic.aif and b/sound/direct_sound_samples/cries/torchic.aif differ diff --git a/sound/direct_sound_samples/cries/torkoal.aif b/sound/direct_sound_samples/cries/torkoal.aif index cfdcd3971e7e..b73d06ef5e44 100644 Binary files a/sound/direct_sound_samples/cries/torkoal.aif and b/sound/direct_sound_samples/cries/torkoal.aif differ diff --git a/sound/direct_sound_samples/cries/tornadus_incarnate.aif b/sound/direct_sound_samples/cries/tornadus_incarnate.aif index 30f96ec8fe50..b980ce2bb5c3 100644 Binary files a/sound/direct_sound_samples/cries/tornadus_incarnate.aif and b/sound/direct_sound_samples/cries/tornadus_incarnate.aif differ diff --git a/sound/direct_sound_samples/cries/tornadus_therian.aif b/sound/direct_sound_samples/cries/tornadus_therian.aif index ff5993e9622f..a1d98062b688 100644 Binary files a/sound/direct_sound_samples/cries/tornadus_therian.aif and b/sound/direct_sound_samples/cries/tornadus_therian.aif differ diff --git a/sound/direct_sound_samples/cries/torracat.aif b/sound/direct_sound_samples/cries/torracat.aif index 7b9d9bd5741b..44bb00137593 100644 Binary files a/sound/direct_sound_samples/cries/torracat.aif and b/sound/direct_sound_samples/cries/torracat.aif differ diff --git a/sound/direct_sound_samples/cries/torterra.aif b/sound/direct_sound_samples/cries/torterra.aif index 3f0960d9a219..e659181e2383 100644 Binary files a/sound/direct_sound_samples/cries/torterra.aif and b/sound/direct_sound_samples/cries/torterra.aif differ diff --git a/sound/direct_sound_samples/cries/totodile.aif b/sound/direct_sound_samples/cries/totodile.aif index d87de7d52269..98fbb528bead 100644 Binary files a/sound/direct_sound_samples/cries/totodile.aif and b/sound/direct_sound_samples/cries/totodile.aif differ diff --git a/sound/direct_sound_samples/cries/toucannon.aif b/sound/direct_sound_samples/cries/toucannon.aif index e83fe24fe8f6..83a90bab9cdb 100644 Binary files a/sound/direct_sound_samples/cries/toucannon.aif and b/sound/direct_sound_samples/cries/toucannon.aif differ diff --git a/sound/direct_sound_samples/cries/toxapex.aif b/sound/direct_sound_samples/cries/toxapex.aif index 226a666b71a2..3369da2f70f7 100644 Binary files a/sound/direct_sound_samples/cries/toxapex.aif and b/sound/direct_sound_samples/cries/toxapex.aif differ diff --git a/sound/direct_sound_samples/cries/toxel.aif b/sound/direct_sound_samples/cries/toxel.aif index 2f1304295b2f..0f917edddb81 100644 Binary files a/sound/direct_sound_samples/cries/toxel.aif and b/sound/direct_sound_samples/cries/toxel.aif differ diff --git a/sound/direct_sound_samples/cries/toxicroak.aif b/sound/direct_sound_samples/cries/toxicroak.aif index 676e53276ccc..ada83b0a2b0b 100644 Binary files a/sound/direct_sound_samples/cries/toxicroak.aif and b/sound/direct_sound_samples/cries/toxicroak.aif differ diff --git a/sound/direct_sound_samples/cries/tranquill.aif b/sound/direct_sound_samples/cries/tranquill.aif index e11795686b7d..6a4e8a7661ca 100644 Binary files a/sound/direct_sound_samples/cries/tranquill.aif and b/sound/direct_sound_samples/cries/tranquill.aif differ diff --git a/sound/direct_sound_samples/cries/trapinch.aif b/sound/direct_sound_samples/cries/trapinch.aif index 03e1b1a94621..cc27653fd44d 100644 Binary files a/sound/direct_sound_samples/cries/trapinch.aif and b/sound/direct_sound_samples/cries/trapinch.aif differ diff --git a/sound/direct_sound_samples/cries/treecko.aif b/sound/direct_sound_samples/cries/treecko.aif index 5ee12d7b92ca..e9a47979e0e0 100644 Binary files a/sound/direct_sound_samples/cries/treecko.aif and b/sound/direct_sound_samples/cries/treecko.aif differ diff --git a/sound/direct_sound_samples/cries/trevenant.aif b/sound/direct_sound_samples/cries/trevenant.aif index 164253fd1669..018a80e8c2de 100644 Binary files a/sound/direct_sound_samples/cries/trevenant.aif and b/sound/direct_sound_samples/cries/trevenant.aif differ diff --git a/sound/direct_sound_samples/cries/tropius.aif b/sound/direct_sound_samples/cries/tropius.aif index 17359795eaa4..81046fe1cfdb 100644 Binary files a/sound/direct_sound_samples/cries/tropius.aif and b/sound/direct_sound_samples/cries/tropius.aif differ diff --git a/sound/direct_sound_samples/cries/trubbish.aif b/sound/direct_sound_samples/cries/trubbish.aif index 7bde68d8ca74..09c1aac572b8 100644 Binary files a/sound/direct_sound_samples/cries/trubbish.aif and b/sound/direct_sound_samples/cries/trubbish.aif differ diff --git a/sound/direct_sound_samples/cries/trumbeak.aif b/sound/direct_sound_samples/cries/trumbeak.aif index 73fdb3f838ed..c6e477c4017a 100644 Binary files a/sound/direct_sound_samples/cries/trumbeak.aif and b/sound/direct_sound_samples/cries/trumbeak.aif differ diff --git a/sound/direct_sound_samples/cries/tsareena.aif b/sound/direct_sound_samples/cries/tsareena.aif index 92d7ad1b93e0..bff64b0f3f7b 100644 Binary files a/sound/direct_sound_samples/cries/tsareena.aif and b/sound/direct_sound_samples/cries/tsareena.aif differ diff --git a/sound/direct_sound_samples/cries/turtonator.aif b/sound/direct_sound_samples/cries/turtonator.aif index a15a2bb13047..b5d27b630f43 100644 Binary files a/sound/direct_sound_samples/cries/turtonator.aif and b/sound/direct_sound_samples/cries/turtonator.aif differ diff --git a/sound/direct_sound_samples/cries/turtwig.aif b/sound/direct_sound_samples/cries/turtwig.aif index 3de56621bb09..a2e4ad60b378 100644 Binary files a/sound/direct_sound_samples/cries/turtwig.aif and b/sound/direct_sound_samples/cries/turtwig.aif differ diff --git a/sound/direct_sound_samples/cries/tympole.aif b/sound/direct_sound_samples/cries/tympole.aif index 172aab0560ef..d643216736d1 100644 Binary files a/sound/direct_sound_samples/cries/tympole.aif and b/sound/direct_sound_samples/cries/tympole.aif differ diff --git a/sound/direct_sound_samples/cries/tynamo.aif b/sound/direct_sound_samples/cries/tynamo.aif index 647040c17aca..ca9e2962fcb8 100644 Binary files a/sound/direct_sound_samples/cries/tynamo.aif and b/sound/direct_sound_samples/cries/tynamo.aif differ diff --git a/sound/direct_sound_samples/cries/type_null.aif b/sound/direct_sound_samples/cries/type_null.aif index e1d46c83e44c..6b6be2dcfb15 100644 Binary files a/sound/direct_sound_samples/cries/type_null.aif and b/sound/direct_sound_samples/cries/type_null.aif differ diff --git a/sound/direct_sound_samples/cries/typhlosion.aif b/sound/direct_sound_samples/cries/typhlosion.aif index c0f4f7de3c75..cc993c805223 100644 Binary files a/sound/direct_sound_samples/cries/typhlosion.aif and b/sound/direct_sound_samples/cries/typhlosion.aif differ diff --git a/sound/direct_sound_samples/cries/tyranitar.aif b/sound/direct_sound_samples/cries/tyranitar.aif index 54fcd8796390..3572da76678c 100644 Binary files a/sound/direct_sound_samples/cries/tyranitar.aif and b/sound/direct_sound_samples/cries/tyranitar.aif differ diff --git a/sound/direct_sound_samples/cries/tyrantrum.aif b/sound/direct_sound_samples/cries/tyrantrum.aif index 7bb4825a0f8e..88e9506129d0 100644 Binary files a/sound/direct_sound_samples/cries/tyrantrum.aif and b/sound/direct_sound_samples/cries/tyrantrum.aif differ diff --git a/sound/direct_sound_samples/cries/tyrogue.aif b/sound/direct_sound_samples/cries/tyrogue.aif index 5cbb4792f0c0..7caea851b3f9 100644 Binary files a/sound/direct_sound_samples/cries/tyrogue.aif and b/sound/direct_sound_samples/cries/tyrogue.aif differ diff --git a/sound/direct_sound_samples/cries/tyrunt.aif b/sound/direct_sound_samples/cries/tyrunt.aif index 5f8599dbfbfc..e69373600537 100644 Binary files a/sound/direct_sound_samples/cries/tyrunt.aif and b/sound/direct_sound_samples/cries/tyrunt.aif differ diff --git a/sound/direct_sound_samples/cries/umbreon.aif b/sound/direct_sound_samples/cries/umbreon.aif index b28a8602a858..93c739dd7477 100644 Binary files a/sound/direct_sound_samples/cries/umbreon.aif and b/sound/direct_sound_samples/cries/umbreon.aif differ diff --git a/sound/direct_sound_samples/cries/uncomp_klefki.aif b/sound/direct_sound_samples/cries/uncomp_klefki.aif index 4af6a9d6d18b..c059b5662890 100644 Binary files a/sound/direct_sound_samples/cries/uncomp_klefki.aif and b/sound/direct_sound_samples/cries/uncomp_klefki.aif differ diff --git a/sound/direct_sound_samples/cries/uncomp_oricorio_pom_pom.aif b/sound/direct_sound_samples/cries/uncomp_oricorio_pom_pom.aif index a37b0537ecf8..aa5fce23b6a3 100644 Binary files a/sound/direct_sound_samples/cries/uncomp_oricorio_pom_pom.aif and b/sound/direct_sound_samples/cries/uncomp_oricorio_pom_pom.aif differ diff --git a/sound/direct_sound_samples/cries/unfezant.aif b/sound/direct_sound_samples/cries/unfezant.aif index 4a3a8a9b0714..1fde88bf0eeb 100644 Binary files a/sound/direct_sound_samples/cries/unfezant.aif and b/sound/direct_sound_samples/cries/unfezant.aif differ diff --git a/sound/direct_sound_samples/cries/unown.aif b/sound/direct_sound_samples/cries/unown.aif index 86a836135d46..0b3edf577fb2 100644 Binary files a/sound/direct_sound_samples/cries/unown.aif and b/sound/direct_sound_samples/cries/unown.aif differ diff --git a/sound/direct_sound_samples/cries/ursaluna.aif b/sound/direct_sound_samples/cries/ursaluna.aif index f2e96997f135..7ce14c630e5b 100644 Binary files a/sound/direct_sound_samples/cries/ursaluna.aif and b/sound/direct_sound_samples/cries/ursaluna.aif differ diff --git a/sound/direct_sound_samples/cries/ursaring.aif b/sound/direct_sound_samples/cries/ursaring.aif index 643738f83935..7837ba65973d 100644 Binary files a/sound/direct_sound_samples/cries/ursaring.aif and b/sound/direct_sound_samples/cries/ursaring.aif differ diff --git a/sound/direct_sound_samples/cries/uxie.aif b/sound/direct_sound_samples/cries/uxie.aif index 34745ddd9b9f..da67cfc9960b 100644 Binary files a/sound/direct_sound_samples/cries/uxie.aif and b/sound/direct_sound_samples/cries/uxie.aif differ diff --git a/sound/direct_sound_samples/cries/vanillish.aif b/sound/direct_sound_samples/cries/vanillish.aif index 07fe3555e453..625921a24b60 100644 Binary files a/sound/direct_sound_samples/cries/vanillish.aif and b/sound/direct_sound_samples/cries/vanillish.aif differ diff --git a/sound/direct_sound_samples/cries/vanillite.aif b/sound/direct_sound_samples/cries/vanillite.aif index e982d31bee80..03d25f96154e 100644 Binary files a/sound/direct_sound_samples/cries/vanillite.aif and b/sound/direct_sound_samples/cries/vanillite.aif differ diff --git a/sound/direct_sound_samples/cries/vanilluxe.aif b/sound/direct_sound_samples/cries/vanilluxe.aif index 94b6f0349209..e515359ee0ab 100644 Binary files a/sound/direct_sound_samples/cries/vanilluxe.aif and b/sound/direct_sound_samples/cries/vanilluxe.aif differ diff --git a/sound/direct_sound_samples/cries/vaporeon.aif b/sound/direct_sound_samples/cries/vaporeon.aif index 937ad74ce11e..3c9bf7ee8b79 100644 Binary files a/sound/direct_sound_samples/cries/vaporeon.aif and b/sound/direct_sound_samples/cries/vaporeon.aif differ diff --git a/sound/direct_sound_samples/cries/veluza.aif b/sound/direct_sound_samples/cries/veluza.aif index 9bcf8974ff37..d76ed74b6698 100644 Binary files a/sound/direct_sound_samples/cries/veluza.aif and b/sound/direct_sound_samples/cries/veluza.aif differ diff --git a/sound/direct_sound_samples/cries/venipede.aif b/sound/direct_sound_samples/cries/venipede.aif index 4ccde9b76874..d1c1e04e7bad 100644 Binary files a/sound/direct_sound_samples/cries/venipede.aif and b/sound/direct_sound_samples/cries/venipede.aif differ diff --git a/sound/direct_sound_samples/cries/venomoth.aif b/sound/direct_sound_samples/cries/venomoth.aif index 0ae031bb93b7..eb4ad02af793 100644 Binary files a/sound/direct_sound_samples/cries/venomoth.aif and b/sound/direct_sound_samples/cries/venomoth.aif differ diff --git a/sound/direct_sound_samples/cries/venonat.aif b/sound/direct_sound_samples/cries/venonat.aif index f490a4445b81..5bf36808c417 100644 Binary files a/sound/direct_sound_samples/cries/venonat.aif and b/sound/direct_sound_samples/cries/venonat.aif differ diff --git a/sound/direct_sound_samples/cries/venusaur.aif b/sound/direct_sound_samples/cries/venusaur.aif index 6e890f73b76d..91386c177ddc 100644 Binary files a/sound/direct_sound_samples/cries/venusaur.aif and b/sound/direct_sound_samples/cries/venusaur.aif differ diff --git a/sound/direct_sound_samples/cries/vespiquen.aif b/sound/direct_sound_samples/cries/vespiquen.aif index 5fdbd5e2f10c..c86e9a403bbb 100644 Binary files a/sound/direct_sound_samples/cries/vespiquen.aif and b/sound/direct_sound_samples/cries/vespiquen.aif differ diff --git a/sound/direct_sound_samples/cries/vibrava.aif b/sound/direct_sound_samples/cries/vibrava.aif index 7470142647b2..7e0a13c6df52 100644 Binary files a/sound/direct_sound_samples/cries/vibrava.aif and b/sound/direct_sound_samples/cries/vibrava.aif differ diff --git a/sound/direct_sound_samples/cries/victini.aif b/sound/direct_sound_samples/cries/victini.aif index 4bd7d7c1caea..cada6fbf078f 100644 Binary files a/sound/direct_sound_samples/cries/victini.aif and b/sound/direct_sound_samples/cries/victini.aif differ diff --git a/sound/direct_sound_samples/cries/victreebel.aif b/sound/direct_sound_samples/cries/victreebel.aif index d16996bb8681..62bb048d4c70 100644 Binary files a/sound/direct_sound_samples/cries/victreebel.aif and b/sound/direct_sound_samples/cries/victreebel.aif differ diff --git a/sound/direct_sound_samples/cries/vigoroth.aif b/sound/direct_sound_samples/cries/vigoroth.aif index 4f6e00a1372a..8e3560ab1dfc 100644 Binary files a/sound/direct_sound_samples/cries/vigoroth.aif and b/sound/direct_sound_samples/cries/vigoroth.aif differ diff --git a/sound/direct_sound_samples/cries/vikavolt.aif b/sound/direct_sound_samples/cries/vikavolt.aif index e92d6fdd41a3..badd95c3c51a 100644 Binary files a/sound/direct_sound_samples/cries/vikavolt.aif and b/sound/direct_sound_samples/cries/vikavolt.aif differ diff --git a/sound/direct_sound_samples/cries/vileplume.aif b/sound/direct_sound_samples/cries/vileplume.aif index f182cf99da42..e190e2151172 100644 Binary files a/sound/direct_sound_samples/cries/vileplume.aif and b/sound/direct_sound_samples/cries/vileplume.aif differ diff --git a/sound/direct_sound_samples/cries/virizion.aif b/sound/direct_sound_samples/cries/virizion.aif index 06cf7a86f3ca..7f1d8292b022 100644 Binary files a/sound/direct_sound_samples/cries/virizion.aif and b/sound/direct_sound_samples/cries/virizion.aif differ diff --git a/sound/direct_sound_samples/cries/vivillon.aif b/sound/direct_sound_samples/cries/vivillon.aif index 303834d8a1c4..bf7474dd9544 100644 Binary files a/sound/direct_sound_samples/cries/vivillon.aif and b/sound/direct_sound_samples/cries/vivillon.aif differ diff --git a/sound/direct_sound_samples/cries/volbeat.aif b/sound/direct_sound_samples/cries/volbeat.aif index 90e5e66ca04d..8d73e2c21db4 100644 Binary files a/sound/direct_sound_samples/cries/volbeat.aif and b/sound/direct_sound_samples/cries/volbeat.aif differ diff --git a/sound/direct_sound_samples/cries/volcanion.aif b/sound/direct_sound_samples/cries/volcanion.aif index 3d4ecd09a8ad..72c78807a6ee 100644 Binary files a/sound/direct_sound_samples/cries/volcanion.aif and b/sound/direct_sound_samples/cries/volcanion.aif differ diff --git a/sound/direct_sound_samples/cries/volcarona.aif b/sound/direct_sound_samples/cries/volcarona.aif index 8d34404dc02b..f62e6e9e38a1 100644 Binary files a/sound/direct_sound_samples/cries/volcarona.aif and b/sound/direct_sound_samples/cries/volcarona.aif differ diff --git a/sound/direct_sound_samples/cries/voltorb.aif b/sound/direct_sound_samples/cries/voltorb.aif index 54a3597708d0..832429cbf2cb 100644 Binary files a/sound/direct_sound_samples/cries/voltorb.aif and b/sound/direct_sound_samples/cries/voltorb.aif differ diff --git a/sound/direct_sound_samples/cries/vullaby.aif b/sound/direct_sound_samples/cries/vullaby.aif index 97df0d14f9e6..49d0648e9ff8 100644 Binary files a/sound/direct_sound_samples/cries/vullaby.aif and b/sound/direct_sound_samples/cries/vullaby.aif differ diff --git a/sound/direct_sound_samples/cries/vulpix.aif b/sound/direct_sound_samples/cries/vulpix.aif index 04a60e27ea1d..32b149999e29 100644 Binary files a/sound/direct_sound_samples/cries/vulpix.aif and b/sound/direct_sound_samples/cries/vulpix.aif differ diff --git a/sound/direct_sound_samples/cries/wailmer.aif b/sound/direct_sound_samples/cries/wailmer.aif index e21c05c4b299..8bada495e4c4 100644 Binary files a/sound/direct_sound_samples/cries/wailmer.aif and b/sound/direct_sound_samples/cries/wailmer.aif differ diff --git a/sound/direct_sound_samples/cries/wailord.aif b/sound/direct_sound_samples/cries/wailord.aif index 40c331d40d8b..ea0f553cf843 100644 Binary files a/sound/direct_sound_samples/cries/wailord.aif and b/sound/direct_sound_samples/cries/wailord.aif differ diff --git a/sound/direct_sound_samples/cries/walrein.aif b/sound/direct_sound_samples/cries/walrein.aif index 475a874ef93a..2843617fbfe0 100644 Binary files a/sound/direct_sound_samples/cries/walrein.aif and b/sound/direct_sound_samples/cries/walrein.aif differ diff --git a/sound/direct_sound_samples/cries/wartortle.aif b/sound/direct_sound_samples/cries/wartortle.aif index aa664369d70e..de2aa254805b 100644 Binary files a/sound/direct_sound_samples/cries/wartortle.aif and b/sound/direct_sound_samples/cries/wartortle.aif differ diff --git a/sound/direct_sound_samples/cries/watchog.aif b/sound/direct_sound_samples/cries/watchog.aif index a3bd8a0f7ed0..df08e7a29649 100644 Binary files a/sound/direct_sound_samples/cries/watchog.aif and b/sound/direct_sound_samples/cries/watchog.aif differ diff --git a/sound/direct_sound_samples/cries/wattrel.aif b/sound/direct_sound_samples/cries/wattrel.aif index 7390eea50a78..361ead83565c 100644 Binary files a/sound/direct_sound_samples/cries/wattrel.aif and b/sound/direct_sound_samples/cries/wattrel.aif differ diff --git a/sound/direct_sound_samples/cries/weavile.aif b/sound/direct_sound_samples/cries/weavile.aif index 2a1ff90b56c7..5bfb5019dfd7 100644 Binary files a/sound/direct_sound_samples/cries/weavile.aif and b/sound/direct_sound_samples/cries/weavile.aif differ diff --git a/sound/direct_sound_samples/cries/weedle.aif b/sound/direct_sound_samples/cries/weedle.aif index 06a26f3d7676..ac5b0eb76524 100644 Binary files a/sound/direct_sound_samples/cries/weedle.aif and b/sound/direct_sound_samples/cries/weedle.aif differ diff --git a/sound/direct_sound_samples/cries/weepinbell.aif b/sound/direct_sound_samples/cries/weepinbell.aif index b5df3f600260..0b20df8089fe 100644 Binary files a/sound/direct_sound_samples/cries/weepinbell.aif and b/sound/direct_sound_samples/cries/weepinbell.aif differ diff --git a/sound/direct_sound_samples/cries/weezing.aif b/sound/direct_sound_samples/cries/weezing.aif index 42c3d4a5bba5..b7b8d93da517 100644 Binary files a/sound/direct_sound_samples/cries/weezing.aif and b/sound/direct_sound_samples/cries/weezing.aif differ diff --git a/sound/direct_sound_samples/cries/whimsicott.aif b/sound/direct_sound_samples/cries/whimsicott.aif index 806904d0d855..873d8a1b4197 100644 Binary files a/sound/direct_sound_samples/cries/whimsicott.aif and b/sound/direct_sound_samples/cries/whimsicott.aif differ diff --git a/sound/direct_sound_samples/cries/whirlipede.aif b/sound/direct_sound_samples/cries/whirlipede.aif index f2b6c5fa69e9..c9b64404b8af 100644 Binary files a/sound/direct_sound_samples/cries/whirlipede.aif and b/sound/direct_sound_samples/cries/whirlipede.aif differ diff --git a/sound/direct_sound_samples/cries/whiscash.aif b/sound/direct_sound_samples/cries/whiscash.aif index 9d3a28786f46..71cd9fd00a8b 100644 Binary files a/sound/direct_sound_samples/cries/whiscash.aif and b/sound/direct_sound_samples/cries/whiscash.aif differ diff --git a/sound/direct_sound_samples/cries/whismur.aif b/sound/direct_sound_samples/cries/whismur.aif index 272a9f8654ea..c5a2369ba9d5 100644 Binary files a/sound/direct_sound_samples/cries/whismur.aif and b/sound/direct_sound_samples/cries/whismur.aif differ diff --git a/sound/direct_sound_samples/cries/wigglytuff.aif b/sound/direct_sound_samples/cries/wigglytuff.aif index 468dcc2066e7..07fcc8ebd318 100644 Binary files a/sound/direct_sound_samples/cries/wigglytuff.aif and b/sound/direct_sound_samples/cries/wigglytuff.aif differ diff --git a/sound/direct_sound_samples/cries/wimpod.aif b/sound/direct_sound_samples/cries/wimpod.aif index 07242eeebbf1..5b7596409657 100644 Binary files a/sound/direct_sound_samples/cries/wimpod.aif and b/sound/direct_sound_samples/cries/wimpod.aif differ diff --git a/sound/direct_sound_samples/cries/wingull.aif b/sound/direct_sound_samples/cries/wingull.aif index f1965f663574..49b04d9d96ca 100644 Binary files a/sound/direct_sound_samples/cries/wingull.aif and b/sound/direct_sound_samples/cries/wingull.aif differ diff --git a/sound/direct_sound_samples/cries/wishiwashi_school.aif b/sound/direct_sound_samples/cries/wishiwashi_school.aif index ab0ac985354e..e63ce913a26a 100644 Binary files a/sound/direct_sound_samples/cries/wishiwashi_school.aif and b/sound/direct_sound_samples/cries/wishiwashi_school.aif differ diff --git a/sound/direct_sound_samples/cries/wishiwashi_solo.aif b/sound/direct_sound_samples/cries/wishiwashi_solo.aif index 9a9d1aae7159..e6e26b75c6b9 100644 Binary files a/sound/direct_sound_samples/cries/wishiwashi_solo.aif and b/sound/direct_sound_samples/cries/wishiwashi_solo.aif differ diff --git a/sound/direct_sound_samples/cries/wo_chien.aif b/sound/direct_sound_samples/cries/wo_chien.aif index fa201694ebe5..f50bd73e8d42 100644 Binary files a/sound/direct_sound_samples/cries/wo_chien.aif and b/sound/direct_sound_samples/cries/wo_chien.aif differ diff --git a/sound/direct_sound_samples/cries/wobbuffet.aif b/sound/direct_sound_samples/cries/wobbuffet.aif index 2c8193908aa6..8e50da47bbf5 100644 Binary files a/sound/direct_sound_samples/cries/wobbuffet.aif and b/sound/direct_sound_samples/cries/wobbuffet.aif differ diff --git a/sound/direct_sound_samples/cries/woobat.aif b/sound/direct_sound_samples/cries/woobat.aif index d66f5bd15719..db8ae140e219 100644 Binary files a/sound/direct_sound_samples/cries/woobat.aif and b/sound/direct_sound_samples/cries/woobat.aif differ diff --git a/sound/direct_sound_samples/cries/wooper.aif b/sound/direct_sound_samples/cries/wooper.aif index c2d80b32c466..d4b9ea1b4a25 100644 Binary files a/sound/direct_sound_samples/cries/wooper.aif and b/sound/direct_sound_samples/cries/wooper.aif differ diff --git a/sound/direct_sound_samples/cries/wormadam.aif b/sound/direct_sound_samples/cries/wormadam.aif index 633aeeafc311..364510820687 100644 Binary files a/sound/direct_sound_samples/cries/wormadam.aif and b/sound/direct_sound_samples/cries/wormadam.aif differ diff --git a/sound/direct_sound_samples/cries/wurmple.aif b/sound/direct_sound_samples/cries/wurmple.aif index e75a6e237fb3..1754d7e2b7e2 100644 Binary files a/sound/direct_sound_samples/cries/wurmple.aif and b/sound/direct_sound_samples/cries/wurmple.aif differ diff --git a/sound/direct_sound_samples/cries/wynaut.aif b/sound/direct_sound_samples/cries/wynaut.aif index f7563a8ebb0e..ddd289f9a485 100644 Binary files a/sound/direct_sound_samples/cries/wynaut.aif and b/sound/direct_sound_samples/cries/wynaut.aif differ diff --git a/sound/direct_sound_samples/cries/wyrdeer.aif b/sound/direct_sound_samples/cries/wyrdeer.aif index 4d0c83dc517f..597df62ab82e 100644 Binary files a/sound/direct_sound_samples/cries/wyrdeer.aif and b/sound/direct_sound_samples/cries/wyrdeer.aif differ diff --git a/sound/direct_sound_samples/cries/xatu.aif b/sound/direct_sound_samples/cries/xatu.aif index 8a4f2369d866..da4afe62caf5 100644 Binary files a/sound/direct_sound_samples/cries/xatu.aif and b/sound/direct_sound_samples/cries/xatu.aif differ diff --git a/sound/direct_sound_samples/cries/xerneas.aif b/sound/direct_sound_samples/cries/xerneas.aif index 88cace168bbe..4745e8e68568 100644 Binary files a/sound/direct_sound_samples/cries/xerneas.aif and b/sound/direct_sound_samples/cries/xerneas.aif differ diff --git a/sound/direct_sound_samples/cries/xurkitree.aif b/sound/direct_sound_samples/cries/xurkitree.aif index 917348ac0bae..3b0f5f381258 100644 Binary files a/sound/direct_sound_samples/cries/xurkitree.aif and b/sound/direct_sound_samples/cries/xurkitree.aif differ diff --git a/sound/direct_sound_samples/cries/yamask.aif b/sound/direct_sound_samples/cries/yamask.aif index 8d44817f7b1a..51f07034b860 100644 Binary files a/sound/direct_sound_samples/cries/yamask.aif and b/sound/direct_sound_samples/cries/yamask.aif differ diff --git a/sound/direct_sound_samples/cries/yanma.aif b/sound/direct_sound_samples/cries/yanma.aif index 5f373734a47c..3d8354bb5921 100644 Binary files a/sound/direct_sound_samples/cries/yanma.aif and b/sound/direct_sound_samples/cries/yanma.aif differ diff --git a/sound/direct_sound_samples/cries/yanmega.aif b/sound/direct_sound_samples/cries/yanmega.aif index daf0c0d9f0ed..6f3a3eb2dd93 100644 Binary files a/sound/direct_sound_samples/cries/yanmega.aif and b/sound/direct_sound_samples/cries/yanmega.aif differ diff --git a/sound/direct_sound_samples/cries/yungoos.aif b/sound/direct_sound_samples/cries/yungoos.aif index 7fe144860bb2..13b633a98af8 100644 Binary files a/sound/direct_sound_samples/cries/yungoos.aif and b/sound/direct_sound_samples/cries/yungoos.aif differ diff --git a/sound/direct_sound_samples/cries/yveltal.aif b/sound/direct_sound_samples/cries/yveltal.aif index 4112426bd9d4..3c2bbcb02116 100644 Binary files a/sound/direct_sound_samples/cries/yveltal.aif and b/sound/direct_sound_samples/cries/yveltal.aif differ diff --git a/sound/direct_sound_samples/cries/zacian_crowned_sword.aif b/sound/direct_sound_samples/cries/zacian_crowned_sword.aif index 5e47f9275b54..597c5ddd2661 100644 Binary files a/sound/direct_sound_samples/cries/zacian_crowned_sword.aif and b/sound/direct_sound_samples/cries/zacian_crowned_sword.aif differ diff --git a/sound/direct_sound_samples/cries/zamazenta_crowned_shield.aif b/sound/direct_sound_samples/cries/zamazenta_crowned_shield.aif index 1e7eae771ba5..05d170baba4a 100644 Binary files a/sound/direct_sound_samples/cries/zamazenta_crowned_shield.aif and b/sound/direct_sound_samples/cries/zamazenta_crowned_shield.aif differ diff --git a/sound/direct_sound_samples/cries/zangoose.aif b/sound/direct_sound_samples/cries/zangoose.aif index f82cd235d015..dc6182b784c0 100644 Binary files a/sound/direct_sound_samples/cries/zangoose.aif and b/sound/direct_sound_samples/cries/zangoose.aif differ diff --git a/sound/direct_sound_samples/cries/zapdos.aif b/sound/direct_sound_samples/cries/zapdos.aif index 88dcb48cc8a3..83bbd043e427 100644 Binary files a/sound/direct_sound_samples/cries/zapdos.aif and b/sound/direct_sound_samples/cries/zapdos.aif differ diff --git a/sound/direct_sound_samples/cries/zebstrika.aif b/sound/direct_sound_samples/cries/zebstrika.aif index 74ef8d943aff..0609b145b21e 100644 Binary files a/sound/direct_sound_samples/cries/zebstrika.aif and b/sound/direct_sound_samples/cries/zebstrika.aif differ diff --git a/sound/direct_sound_samples/cries/zekrom.aif b/sound/direct_sound_samples/cries/zekrom.aif index e3fc0cc74b2e..dd74f8091109 100644 Binary files a/sound/direct_sound_samples/cries/zekrom.aif and b/sound/direct_sound_samples/cries/zekrom.aif differ diff --git a/sound/direct_sound_samples/cries/zeraora.aif b/sound/direct_sound_samples/cries/zeraora.aif index 880fc7203317..b1455a010052 100644 Binary files a/sound/direct_sound_samples/cries/zeraora.aif and b/sound/direct_sound_samples/cries/zeraora.aif differ diff --git a/sound/direct_sound_samples/cries/zigzagoon.aif b/sound/direct_sound_samples/cries/zigzagoon.aif index c477208d13ff..8f7b32f8189a 100644 Binary files a/sound/direct_sound_samples/cries/zigzagoon.aif and b/sound/direct_sound_samples/cries/zigzagoon.aif differ diff --git a/sound/direct_sound_samples/cries/zoroark.aif b/sound/direct_sound_samples/cries/zoroark.aif index 7cd45de062c1..91e7ab0ce97f 100644 Binary files a/sound/direct_sound_samples/cries/zoroark.aif and b/sound/direct_sound_samples/cries/zoroark.aif differ diff --git a/sound/direct_sound_samples/cries/zorua.aif b/sound/direct_sound_samples/cries/zorua.aif index 039955ac19d8..674681f5bc46 100644 Binary files a/sound/direct_sound_samples/cries/zorua.aif and b/sound/direct_sound_samples/cries/zorua.aif differ diff --git a/sound/direct_sound_samples/cries/zubat.aif b/sound/direct_sound_samples/cries/zubat.aif index 4b2d1a1cc95d..9ba4d364891c 100644 Binary files a/sound/direct_sound_samples/cries/zubat.aif and b/sound/direct_sound_samples/cries/zubat.aif differ diff --git a/sound/direct_sound_samples/cries/zweilous.aif b/sound/direct_sound_samples/cries/zweilous.aif index 987f436d9a81..fc9a366ce9e9 100644 Binary files a/sound/direct_sound_samples/cries/zweilous.aif and b/sound/direct_sound_samples/cries/zweilous.aif differ diff --git a/sound/direct_sound_samples/cries/zygarde_10.aif b/sound/direct_sound_samples/cries/zygarde_10.aif index 45b0cd0c8deb..a8301cdc16ba 100644 Binary files a/sound/direct_sound_samples/cries/zygarde_10.aif and b/sound/direct_sound_samples/cries/zygarde_10.aif differ diff --git a/sound/direct_sound_samples/cries/zygarde_50.aif b/sound/direct_sound_samples/cries/zygarde_50.aif index 1b403fcfe3a6..92daba8bcb0b 100644 Binary files a/sound/direct_sound_samples/cries/zygarde_50.aif and b/sound/direct_sound_samples/cries/zygarde_50.aif differ diff --git a/sound/direct_sound_samples/cries/zygarde_complete.aif b/sound/direct_sound_samples/cries/zygarde_complete.aif index 0d0797ebbbbc..2eae63203b66 100644 Binary files a/sound/direct_sound_samples/cries/zygarde_complete.aif and b/sound/direct_sound_samples/cries/zygarde_complete.aif differ diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index b80a7e6c8416..08b8e4335cec 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -409,7 +409,7 @@ static u32 Ai_SetMoveAccuracy(struct AiLogicData *aiData, u32 battlerAtk, u32 ba { u32 accuracy; u32 abilityAtk = aiData->abilities[battlerAtk]; - u32 abilityDef = aiData->abilities[battlerAtk]; + u32 abilityDef = aiData->abilities[battlerDef]; if (abilityAtk == ABILITY_NO_GUARD || abilityDef == ABILITY_NO_GUARD || gMovesInfo[move].accuracy == 0) // Moves with accuracy 0 or no guard ability always hit. accuracy = 100; else @@ -4911,6 +4911,8 @@ static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u32 move, s32 score static s32 AI_Risky(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { u8 i; + struct AiLogicData *aiData = AI_DATA; + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) return score; @@ -4933,12 +4935,16 @@ static s32 AI_Risky(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) break; // +2 Score + case EFFECT_MEMENTO: + if (aiData->hpPercents[battlerAtk] < 50 && AI_RandLessThan(128)) + ADJUST_SCORE(AVERAGE_RISKY_EFFECT); + break; case EFFECT_REVENGE: if (gSpeciesInfo[gBattleMons[battlerDef].species].baseSpeed >= gSpeciesInfo[gBattleMons[battlerAtk].species].baseSpeed + 10) ADJUST_SCORE(AVERAGE_RISKY_EFFECT); break; case EFFECT_BELLY_DRUM: - if (gBattleMons[battlerAtk].hp >= gBattleMons[battlerAtk].maxHP * 90 / 100) + if (aiData->hpPercents[battlerAtk] >= 90) ADJUST_SCORE(AVERAGE_RISKY_EFFECT); break; case EFFECT_MAX_HP_50_RECOIL: diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 5f29529d1486..5505bbed183d 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -1353,7 +1353,7 @@ bool32 DoesBattlerIgnoreAbilityChecks(u32 atkAbility, u32 move) if (AI_THINKING_STRUCT->aiFlags[sBattler_AI] & AI_FLAG_NEGATE_UNAWARE) return FALSE; // AI handicap flag: doesn't understand ability suppression concept - if (IsMoldBreakerTypeAbility(atkAbility) || gMovesInfo[move].ignoresTargetAbility) + if (IsMoldBreakerTypeAbility(sBattler_AI, atkAbility) || gMovesInfo[move].ignoresTargetAbility) return TRUE; return FALSE; @@ -2947,7 +2947,7 @@ bool32 AI_CanBeInfatuated(u32 battlerAtk, u32 battlerDef, u32 defAbility) u32 ShouldTryToFlinch(u32 battlerAtk, u32 battlerDef, u32 atkAbility, u32 defAbility, u32 move) { - if (((!IsMoldBreakerTypeAbility(AI_DATA->abilities[battlerAtk]) && (defAbility == ABILITY_SHIELD_DUST || defAbility == ABILITY_INNER_FOCUS)) + if (((!IsMoldBreakerTypeAbility(battlerAtk, AI_DATA->abilities[battlerAtk]) && (defAbility == ABILITY_SHIELD_DUST || defAbility == ABILITY_INNER_FOCUS)) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_COVERT_CLOAK || DoesSubstituteBlockMove(battlerAtk, battlerDef, move) || AI_IsSlower(battlerAtk, battlerDef, move))) // Opponent goes first @@ -2990,7 +2990,7 @@ bool32 ShouldFakeOut(u32 battlerAtk, u32 battlerDef, u32 move) || AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_CHOICE_BAND || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_COVERT_CLOAK || DoesSubstituteBlockMove(battlerAtk, battlerDef, move) - || (!IsMoldBreakerTypeAbility(AI_DATA->abilities[battlerAtk]) + || (!IsMoldBreakerTypeAbility(battlerAtk, AI_DATA->abilities[battlerAtk]) && (AI_DATA->abilities[battlerDef] == ABILITY_SHIELD_DUST || AI_DATA->abilities[battlerDef] == ABILITY_INNER_FOCUS))) return FALSE; @@ -3043,7 +3043,7 @@ bool32 AnyPartyMemberStatused(u32 battlerId, bool32 checkSoundproof) } // Check attacker's status - if ((B_HEAL_BELL_SOUNDPROOF == GEN_5 || B_HEAL_BELL_SOUNDPROOF >= GEN_9 + if ((B_HEAL_BELL_SOUNDPROOF == GEN_5 || B_HEAL_BELL_SOUNDPROOF >= GEN_8 || AI_DATA->abilities[battlerId] != ABILITY_SOUNDPROOF || !checkSoundproof) && GetMonData(&party[battlerOnField1], MON_DATA_STATUS) != STATUS1_NONE) return TRUE; diff --git a/src/battle_anim.c b/src/battle_anim.c index 77ee730c0c52..71813ddf46bf 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_jumpifmovetypeequal(void); static void Cmd_createdragondartsprite(void); static void RunAnimScriptCommand(void); static void Task_UpdateMonBg(u8 taskId); @@ -177,7 +178,8 @@ static void (* const sScriptCmdTable[])(void) = Cmd_createvisualtaskontargets, // 0x30 Cmd_createspriteontargets, // 0x31 Cmd_createspriteontargets_onpos, // 0x32 - Cmd_createdragondartsprite, // 0x33 + Cmd_jumpifmovetypeequal, // 0x33 + Cmd_createdragondartsprite, // 0x34 }; void ClearBattleAnimationVars(void) @@ -2141,6 +2143,19 @@ static void Cmd_stopsound(void) sBattleAnimScriptPtr++; } +static void Cmd_jumpifmovetypeequal(void) +{ + u8 moveType; + const u8 *type = sBattleAnimScriptPtr + 1; + sBattleAnimScriptPtr += 2; + GET_MOVE_TYPE(gCurrentMove, moveType); + + if (*type != moveType) + sBattleAnimScriptPtr += 4; + else + sBattleAnimScriptPtr = T2_READ_PTR(sBattleAnimScriptPtr); +} + static void Cmd_createdragondartsprite(void) { s32 i; diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index d47c8aeebb15..b917cdc9a57a 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -2958,6 +2958,50 @@ const struct SpriteTemplate gWoodHammerHammerSpriteTemplate = .callback = AnimWoodHammerHammer, }; +const struct SpriteTemplate gIvyCudgelSpriteTemplate = +{ + .tileTag = ANIM_TAG_IVY_CUDGEL_GRASS, + .paletteTag = ANIM_TAG_IVY_CUDGEL_GRASS, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gWoodHammerHammerAffineAnims, + .callback = AnimWoodHammerHammer, +}; + +const struct SpriteTemplate gIvyCudgelFireSpriteTemplate = +{ + .tileTag = ANIM_TAG_IVY_CUDGEL_GRASS, + .paletteTag = ANIM_TAG_IVY_CUDGEL_FIRE, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gWoodHammerHammerAffineAnims, + .callback = AnimWoodHammerHammer, +}; + +const struct SpriteTemplate gIvyCudgelRockSpriteTemplate = +{ + .tileTag = ANIM_TAG_IVY_CUDGEL_GRASS, + .paletteTag = ANIM_TAG_IVY_CUDGEL_ROCK, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gWoodHammerHammerAffineAnims, + .callback = AnimWoodHammerHammer, +}; + +const struct SpriteTemplate gIvyCudgelWaterSpriteTemplate = +{ + .tileTag = ANIM_TAG_IVY_CUDGEL_GRASS, + .paletteTag = ANIM_TAG_IVY_CUDGEL_WATER, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gWoodHammerHammerAffineAnims, + .callback = AnimWoodHammerHammer, +}; + const struct SpriteTemplate gJudgmentGrayOutwardSpikesTemplate = { .tileTag = ANIM_TAG_GREEN_SPIKE, diff --git a/src/battle_anim_new.c b/src/battle_anim_new.c index 98af6c22ba50..f023859b5940 100644 --- a/src/battle_anim_new.c +++ b/src/battle_anim_new.c @@ -110,6 +110,14 @@ static const union AffineAnimCmd sSquishTargetAffineAnimCmds[] = AFFINEANIMCMD_END, }; +static const union AffineAnimCmd sSquishTargetShortAffineAnimCmds[] = +{ + AFFINEANIMCMD_FRAME(0, 64, 0, 4), //Flatten + AFFINEANIMCMD_FRAME(0, 0, 0, 16), + AFFINEANIMCMD_FRAME(0, -64, 0, 4), + AFFINEANIMCMD_END, +}; + // GEN 4 // shadow sneak const struct SpriteTemplate gShadowSneakImpactSpriteTemplate = @@ -4801,6 +4809,17 @@ const struct SpriteTemplate gUltraBurstSymbolSpriteTemplate = .callback = AnimSpriteOnMonPos }; +const struct SpriteTemplate gAxeKickSpriteTemplate = +{ + .tileTag = ANIM_TAG_HANDS_AND_FEET, + .paletteTag = ANIM_TAG_HANDS_AND_FEET, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = &gAnims_HandsAndFeet[2], + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimBounceBallLand, +}; + // Z MOVES //activate const struct SpriteTemplate gZMoveSymbolSpriteTemplate = @@ -8544,6 +8563,15 @@ void AnimTask_SquishTarget(u8 taskId) task->func = AnimTask_WaitAffineAnim; } +void AnimTask_SquishTargetShort(u8 taskId) +{ + struct Task* task = &gTasks[taskId]; + u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); + + PrepareAffineAnimInTaskData(task, spriteId, sSquishTargetShortAffineAnimCmds); + task->func = AnimTask_WaitAffineAnim; +} + void CoreEnforcerLoadBeamTarget(struct Sprite *sprite) { sprite->data[0] = gBattleAnimArgs[2]; diff --git a/src/battle_debug.c b/src/battle_debug.c index 63627104be39..4aefb2b1ff11 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -118,42 +118,125 @@ enum enum { - ACTIVE_WIN_MAIN, - ACTIVE_WIN_SECONDARY, - ACTIVE_WIN_MODIFY + LIST_STAT_HP_CURRENT, + LIST_STAT_HP_MAX, + LIST_STAT_ATTACK, + LIST_STAT_DEFENSE, + LIST_STAT_SPEED, + LIST_STAT_SP_ATK, + LIST_STAT_SP_DEF, }; enum { - VAL_U8, - VAL_U16, - VAL_U32, - VAL_BITFIELD_8, - VAL_BITFIELD_16, - VAL_BITFIELD_32, - VAR_SIDE_STATUS, - VAR_SHOW_HP, - VAR_SUBSTITUTE, - VAR_IN_LOVE, - VAR_U16_4_ENTRIES, - VAL_S8, - VAL_ALL_STAT_STAGES, + LIST_STATUS1_SLEEP, + LIST_STATUS1_POISON, + LIST_STATUS1_BURN, + LIST_STATUS1_FREEZE, + LIST_STATUS1_PARALYSIS, + LIST_STATUS1_TOXIC_POISON, + LIST_STATUS1_TOXIC_COUNTER, + LIST_STATUS1_FROSTBITE, +}; + +enum +{ + LIST_STATUS2_CONFUSION, + LIST_STATUS2_FLINCHED, + LIST_STATUS2_TORMENT, + LIST_STATUS2_POWDER, + LIST_STATUS2_DEFENSE_CURL, + LIST_STATUS2_RECHARGE, + LIST_STATUS2_RAGE, + LIST_STATUS2_DESTINY_BOND, + LIST_STATUS2_ESCAPE_PREVENTION, + LIST_STATUS2_CURSED, + LIST_STATUS2_FORESIGHT, + LIST_STATUS2_DRAGON_CHEER, + LIST_STATUS2_FOCUS_ENERGY +}; + +enum +{ + LIST_STATUS3_LEECH_SEED_HEALER, + LIST_STATUS3_LEECH_SEEDED, + LIST_STATUS3_ALWAYS_HITS, + LIST_STATUS3_PERISH_SONG, + LIST_STATUS3_ON_AIR, + LIST_STATUS3_UNDERGROUND, + LIST_STATUS3_MINIMIZED, + LIST_STATUS3_CHARGED_UP, + LIST_STATUS3_ROOTED, + LIST_STATUS3_YAWN, + LIST_STATUS3_IMPRISONED_OTHERS, + LIST_STATUS3_GRUDGE, + LIST_STATUS3_GASTRO_ACID, + LIST_STATUS3_EMBARGO, + LIST_STATUS3_UNDERWATER, + LIST_STATUS3_SMACKED_DOWN, + LIST_STATUS3_TELEKINESIS, + LIST_STATUS3_MIRACLE_EYED, + LIST_STATUS3_MAGNET_RISE, + LIST_STATUS3_HEAL_BLOCK, + LIST_STATUS3_AQUA_RING, + LIST_STATUS3_LASER_FOCUS, + LIST_STATUS3_POWER_TRICK, +}; + +enum +{ + LIST_STATUS4_ELECTRIFIED, + LIST_STATUS4_MUD_SPORT, + LIST_STATUS4_WATER_SPORT, + LIST_STATUS4_SALT_CURE, + LIST_STATUS4_SYRUP_BOMB, + LIST_STATUS4_GLAIVE_RUSH, }; enum { LIST_SIDE_REFLECT, LIST_SIDE_LIGHTSCREEN, + LIST_SIDE_STICKY_WEB, LIST_SIDE_SPIKES, LIST_SIDE_SAFEGUARD, LIST_SIDE_MIST, + LIST_SIDE_TAILWIND, LIST_SIDE_AURORA_VEIL, LIST_SIDE_LUCKY_CHANT, - LIST_SIDE_TAILWIND, - LIST_SIDE_STEALTH_ROCK, LIST_SIDE_TOXIC_SPIKES, - LIST_SIDE_STICKY_WEB, + LIST_SIDE_STEALTH_ROCK, LIST_SIDE_STEELSURGE, + LIST_SIDE_DAMAGE_NON_TYPES, + LIST_SIDE_RAINBOW, + LIST_SIDE_SEA_OF_FIRE, + LIST_SIDE_SWAMP, +}; + +enum +{ + LIST_AI_CHECK_BAD_MOVE, + LIST_AI_TRY_TO_FAINT, + LIST_AI_CHECK_VIABILITY, + LIST_AI_SETUP_FIRST_TURN, + LIST_AI_RISKY, + LIST_AI_PREFER_STRONGEST_MOVE, + LIST_AI_PREFER_BATON_PASS, + LIST_AI_DOUBLE_BATTLE, + LIST_AI_HP_AWARE, + LIST_AI_POWERFUL_STATUS, + LIST_AI_NEGATE_UNAWARE, + LIST_AI_WILL_SUICIDE, + LIST_AI_HELP_PARTNER, + LIST_AI_PREFER_STATUS_MOVES, + LIST_AI_STALL, + LIST_AI_SMART_SWITCHING, + LIST_AI_ACE_POKEMON, + LIST_AI_OMNISCIENT, + LIST_AI_SMART_MON_CHOICES, + LIST_AI_ROAMING, + LIST_AI_SAFARI, + LIST_AI_FIRST_BATTLE, }; enum @@ -163,91 +246,166 @@ enum VARIOUS_IN_LOVE, }; +enum +{ + ACTIVE_WIN_MAIN, + ACTIVE_WIN_SECONDARY, + ACTIVE_WIN_MODIFY +}; + +enum +{ + VAL_U8, + VAL_U16, + VAL_U32, + VAL_BITFIELD_8, + VAL_BITFIELD_16, + VAL_BITFIELD_32, + VAR_SIDE_STATUS, + VAR_SHOW_HP, + VAR_SUBSTITUTE, + VAR_IN_LOVE, + VAR_U16_4_ENTRIES, + VAL_S8, + VAL_ALL_STAT_STAGES, +}; + // Static Declarations static const u8 *GetHoldEffectName(u16 holdEffect); // const rom data -static const u8 sText_HoldEffect[] = _("Hold Effect"); -static const u8 sText_Ability[] = _("Ability"); static const u8 sText_Moves[] = _("Moves"); +static const u8 sText_Ability[] = _("Ability"); +static const u8 sText_HeldItem[] = _("Held Item"); +static const u8 sText_HoldEffect[] = _("Hold Effect"); +static const u8 sText_PP[] = _("PP"); +static const u8 sText_Types[] = _("Types"); static const u8 sText_Stats[] = _("Stats"); static const u8 sText_StatStages[] = _("Stat Stages"); static const u8 sText_Status1[] = _("Status1"); static const u8 sText_Status2[] = _("Status2"); static const u8 sText_Status3[] = _("Status3"); static const u8 sText_Status4[] = _("Status4"); -static const u8 sText_HeldItem[] = _("Held Item"); static const u8 sText_SideStatus[] = _("Side Status"); -static const u8 sText_MaxHp[] = _("HP Max"); +static const u8 sText_AI[] = _("AI"); +static const u8 sText_AIMovePts[] = _("AI Pts/Dmg"); +static const u8 sText_AiKnowledge[] = _("AI Info"); +static const u8 sText_AiParty[] = _("AI Party"); +static const u8 sText_Various[] = _("Various"); static const u8 sText_CurrHp[] = _("HP Current"); +static const u8 sText_MaxHp[] = _("HP Max"); +static const u8 sText_Attack[] = _("Attack"); +static const u8 sText_Defense[] = _("Defense"); +static const u8 sText_Speed[] = _("Speed"); +static const u8 sText_SpAtk[] = _("Sp. Atk"); +static const u8 sText_SpDef[] = _("Sp. Def"); +static const u8 sText_Sleep[] = _("Sleep"); +static const u8 sText_Poison[] = _("Poison"); +static const u8 sText_Burn[] = _("Burn"); static const u8 sText_Freeze[] = _("Freeze"); -static const u8 sText_Frostbite[] = _("Frostbite"); +static const u8 sText_Paralysis[] = _("Paralysis"); static const u8 sText_ToxicPoison[] = _("Toxic Poison"); static const u8 sText_ToxicCounter[] = _("Toxic Counter"); -static const u8 sText_Flinch[] = _("Flinch"); +static const u8 sText_Frostbite[] = _("Frostbite"); +static const u8 sText_Confusion[] = _("Confusion"); +static const u8 sText_Flinched[] = _("Flinched"); static const u8 sText_Uproar[] = _("Uproar"); +static const u8 sText_Torment[] = _("Torment"); static const u8 sText_Bide[] = _("Bide"); static const u8 sText_LockConfuse[] = _("Lock Confuse"); -static const u8 sText_MultipleTurns[] = _("MultipleTurns"); -static const u8 sText_FocusEnergy[] = _("Focus Energy"); +static const u8 sText_MultipleTurns[] = _("Multiple Turns"); +static const u8 sText_Wrapped[] = _("Wrapped"); +static const u8 sText_Powder[] = _("Powder"); +static const u8 sText_Infatuation[] = _("Infatuation"); +static const u8 sText_DefenseCurl[] = _("Defense Curl"); static const u8 sText_Transformed[] = _("Transformed"); static const u8 sText_Recharge[] = _("Recharge"); static const u8 sText_Rage[] = _("Rage"); static const u8 sText_Substitute[] = _("Substitute"); -static const u8 sText_SubstituteHp[] = _("Substitute HP"); static const u8 sText_DestinyBond[] = _("Destiny Bond"); -static const u8 sText_CantEscape[] = _("Cant Escape"); +static const u8 sText_EscapePrevention[] = _("Escape Prevention"); static const u8 sText_Nightmare[] = _("Nightmare"); static const u8 sText_Cursed[] = _("Cursed"); -static const u8 sText_Foresight[] = _("Foresighted"); -static const u8 sText_DefenseCurl[] = _("Def Curled"); -static const u8 sText_Tormented[] = _("Tormented"); -static const u8 sText_AlwaysHits[] = _("Sure Hit"); +static const u8 sText_Foresight[] = _("Foresight"); +static const u8 sText_DragonCheer[] = _("Dragon Cheer"); +static const u8 sText_FocusEnergy[] = _("Focus Energy"); +static const u8 sText_LeechSeedHealer[] = _("Leech Seed Healer"); +static const u8 sText_LeechSeeded[] = _("Leech Seeded"); +static const u8 sText_AlwaysHits[] = _("Always Hits"); +static const u8 sText_PerishSong[] = _("Perish Song"); +static const u8 sText_OnAir[] = _("On Air"); +static const u8 sText_Underground[] = _("Underground"); +static const u8 sText_Minimized[] = _("Minimized"); static const u8 sText_ChargedUp[] = _("Charged Up"); static const u8 sText_Rooted[] = _("Rooted"); -static const u8 sText_Yawned[] = _("Yawned"); -static const u8 sText_Minimized[] = _("Minimized"); -static const u8 sText_NoCrit[] = _("No Crit"); -static const u8 sText_Imprisoned[] = _("Imprison"); +static const u8 sText_Yawn[] = _("Yawn"); +static const u8 sText_ImprisonedOthers[] = _("Imprisoned Others"); +static const u8 sText_Grudge[] = _("Grudge"); +static const u8 sText_GastroAcid[] = _("Gastro Acid"); +static const u8 sText_Embargo[] = _("Embargo"); +static const u8 sText_Underwater[] = _("Underwater"); +static const u8 sText_Trace[] = _("Trace"); +static const u8 sText_SmackedDown[] = _("Smacked Down"); +static const u8 sText_MeFirst[] = _("Me First"); +static const u8 sText_Telekinesis[] = _("Telekinesis"); +static const u8 sText_PhantomForce[] = _("Phantom Force"); +static const u8 sText_MiracleEyed[] = _("Miracle Eyed"); +static const u8 sText_MagnetRise[] = _("Magnet Rise"); +static const u8 sText_HealBlock[] = _("Heal Block"); +static const u8 sText_AquaRing[] = _("Aqua Ring"); +static const u8 sText_LaserFocus[] = _("Laser Focus"); +static const u8 sText_PowerTrick[] = _("Power Trick"); +static const u8 sText_SkyDropped[] = _("Sky Dropped"); +static const u8 sText_Electrified[] = _("Electrified"); +static const u8 sText_MudSport[] = _("Mud Sport"); +static const u8 sText_WaterSport[] = _("Water Sport"); +static const u8 sText_InfiniteConfusion[] = _("Infinite Confusion"); +static const u8 sText_SaltCure[] = _("Salt Cure"); +static const u8 sText_SyrupBomb[] = _("Syrup Bomb"); +static const u8 sText_GlaiveRush[] = _("Glaive Rush"); static const u8 sText_Reflect[] = _("Reflect"); static const u8 sText_LightScreen[] = _("Light Screen"); +static const u8 sText_StickyWeb[] = _("Sticky Web"); static const u8 sText_Spikes[] = _("Spikes"); static const u8 sText_Safeguard[] = _("Safeguard"); +static const u8 sText_FutureAttack[] = _("Future Attack"); static const u8 sText_Mist[] = _("Mist"); -static const u8 sText_ShowOpponentHP[] = _("Opponent Hp"); -static const u8 sText_Types[] = _("Types"); -static const u8 sText_GastroAcid[] = _("Gastro Acid"); -static const u8 sText_SmackDown[] = _("Smacked Down"); -static const u8 sText_MiracleEye[] = _("Miracle Eye"); -static const u8 sText_AquaRing[] = _("Aqua Ring"); -static const u8 sText_LaserFocus[] = _("Laser Focused"); -static const u8 sText_Electrified[] = _("Electrified"); +static const u8 sText_Tailwind[] = _("Tailwind"); static const u8 sText_AuroraVeil[] = _("Aurora Veil"); static const u8 sText_LuckyChant[] = _("Lucky Chant"); -static const u8 sText_Tailwind[] = _("Tailwind"); -static const u8 sText_PP[] = _("PP"); -static const u8 sText_StealthRock[] = _("Stealth Rock"); static const u8 sText_ToxicSpikes[] = _("Toxic Spikes"); -static const u8 sText_StickyWeb[] = _("Sticky Web"); +static const u8 sText_StealthRock[] = _("Stealth Rock"); static const u8 sText_Steelsurge[] = _("Steelsurge"); -static const u8 sText_AI[] = _("AI"); -static const u8 sText_NoBadMoves[] = _("No Bad Moves"); -static const u8 sText_Viability[] = _("Viability"); -static const u8 sText_TryFaint[] = _("Try Faint"); -static const u8 sText_SetUpFirstTurn[] = _("Setup 1 turn"); +static const u8 sText_DamageNonTypes[] = _("Damage Non-Types"); +static const u8 sText_Rainbow[] = _("Rainbow"); +static const u8 sText_SeaOfFire[] = _("Sea of Fire"); +static const u8 sText_Swamp[] = _("Swamp"); +static const u8 sText_CheckBadMove[] = _("Check Bad Move"); +static const u8 sText_TryToFaint[] = _("Try to Faint"); +static const u8 sText_CheckViability[] = _("Check Viability"); +static const u8 sText_SetUpFirstTurn[] = _("Setup First Turn"); static const u8 sText_Risky[] = _("Risky"); -static const u8 sText_StrongestMove[] = _("Most dmg move"); -static const u8 sText_Various[] = _("Various"); +static const u8 sText_PreferStrongestMove[] = _("Prefer Strongest Move"); +static const u8 sText_PreferBatonPass[] = _("Prefer Baton Pass"); +static const u8 sText_DoubleBattle[] = _("Double Battle"); +static const u8 sText_HpAware[] = _("HP Aware"); +static const u8 sText_PowerfulStatus[] = _("Powerful Status"); +static const u8 sText_NegateUnaware[] = _("Negate Unaware"); +static const u8 sText_WillSuicide[] = _("Will Suicide"); +static const u8 sText_HelpPartner[] = _("Help Partner"); +static const u8 sText_PreferStatusMoves[] = _("Prefer Status Moves"); +static const u8 sText_Stall[] = _("Stall"); +static const u8 sText_SmartSwitching[] = _("Smart Switching"); +static const u8 sText_AcePokemon[] = _("Ace Pokemon"); +static const u8 sText_Omniscient[] = _("Omniscient"); +static const u8 sText_SmartMonChoices[] = _("Smart Mon Choices"); +static const u8 sText_Roaming[] = _("Roaming"); +static const u8 sText_Safari[] = _("Safari"); +static const u8 sText_FirstBattle[] = _("First Battle"); static const u8 sText_ShowHP[] = _("Show HP"); -static const u8 sText_PreferBatonPass[] = _("Baton Pass"); -static const u8 sText_InDoubles[] = _("In Doubles"); -static const u8 sText_HpAware[] = _("HP aware"); -static const u8 sText_Unknown[] = _("Unknown"); +static const u8 sText_SubstituteHp[] = _("Substitute HP"); static const u8 sText_InLove[] = _("In Love"); -static const u8 sText_AIMovePts[] = _("AI Pts/Dmg"); -static const u8 sText_AiKnowledge[] = _("AI Info"); -static const u8 sText_AiParty[] = _("AI Party"); - +static const u8 sText_Unknown[] = _("Unknown"); static const u8 sText_EmptyString[] = _(""); static const struct BitfieldInfo sStatus1Bitfield[] = @@ -265,78 +423,86 @@ static const struct BitfieldInfo sStatus1Bitfield[] = static const struct BitfieldInfo sStatus2Bitfield[] = { {/*Confusion*/ 3, 0}, - {/*Flinch*/ 1, 3}, - {/*Uproar*/ 3, 4}, - // Bit 7 is unused. - {/*Bide*/ 2, 8}, - {/*Lock Confuse*/ 2, 10}, - {/*Multiple Turns*/ 1, 12}, - // Wrap bits are omitted. Done in various. - // In Love bits are omitted. Done in various. - {/*(Focus Energy*/ 1, 20}, - {/*Transformed*/ 1, 21}, + {/*Flinched*/ 1, 3}, + {/*Torment*/ 1, 7}, + {/*Powder*/ 1, 14}, + {/*Defense Curl*/ 1, 20}, {/*Recharge*/ 1, 22}, {/*Rage*/ 1, 23}, - {/*Substitute*/ 1, 24}, - {/*Destiny bond*/ 1, 25}, - {/*Can't escape*/ 1, 26}, - {/*Nightmares*/ 1, 27}, + {/*Destiny Bond*/ 1, 25}, + {/*Escape Prevention*/ 1, 26}, {/*Cursed*/ 1, 28}, - {/*Foresighted*/ 1, 29}, - {/*Defense Curled*/ 1, 30}, - {/*Tormented*/ 1, 31}, + {/*Foresight*/ 1, 29}, + {/*Dragon Cheer*/ 1, 30}, + {/*Focus Energy*/ 1, 31}, }; static const struct BitfieldInfo sStatus3Bitfield[] = { - {/*Always hits*/ 2, 4}, - //*Perish Song*/ 1, 5}, - // On Air 1, 6, - // Underground 1, 7, + {/*Leech Seed Battler*/ 2, 0}, + {/*Leech Seed*/ 1, 2}, + {/*Always Hits*/ 2, 3}, + {/*Perish Song*/ 1, 5}, + {/*On Air*/ 1, 6}, + {/*Underground*/ 1, 7}, {/*Minimized*/ 1, 8}, {/*Charged Up*/ 1, 9}, {/*Rooted*/ 1, 10}, {/*Yawn*/ 2, 11}, - {/*Imprison*/ 1, 13}, - // Grudge 1, 14, - {/*No Crit*/ 1, 15}, + {/*Imprisoned Others*/ 1, 13}, + {/*Grudge*/ 1, 14}, {/*Gastro Acid*/ 1, 16}, - // Embargo 1, 17, - // Underwater 1, 18, - // Intimidated Mons 1, 19, - // Traced 1, 20, + {/*Embargo*/ 1, 17}, + {/*Underwater*/ 1, 18}, {/*Smacked Down*/ 1, 21}, - // Me First 1, 22, - // Telekinesis 1, 23, - // Phantom Force 1, 24}, + {/*Telekinesis*/ 1, 23}, {/*Miracle Eyed*/ 1, 25}, - // Magnet Rise 1, 26, - // Heal Block 1, 27, + {/*Magnet Rise*/ 1, 26}, + {/*Heal Blocked*/ 1, 27}, {/*Aqua Ring*/ 1, 28}, {/*Laser Focus*/ 1, 29}, - // Power Trick 1, 30, + {/*Power Trick*/ 1, 30}, }; static const struct BitfieldInfo sStatus4Bitfield[] = { - {/*Electrified*/ 1, 0,} + {/*Electrified*/ 1, 0}, + {/*Mud Sport*/ 1, 1}, + {/*Water Sport*/ 1, 2}, + {/*Salt Cure*/ 1, 4}, + {/*Syrup Bomb*/ 1, 5}, + {/*Glaive Rush*/ 1, 6}, }; static const struct BitfieldInfo sAIBitfield[] = { - {/*Check bad move*/ 1, 0}, - {/*Try To Faint*/ 1, 1}, - {/*Viability*/ 1, 2}, - {/*Set up first turn*/ 1, 3}, + {/*Check Bad Move*/ 1, 0}, + {/*Try to Faint*/ 1, 1}, + {/*Check Viability*/ 1, 2}, + {/*Setup First Turn*/ 1, 3}, {/*Risky*/ 1, 4}, {/*Prefer Strongest Move*/ 1, 5}, {/*Prefer Baton Pass*/ 1, 6}, - {/*In Doubles*/ 1, 7}, - {/*Hp aware*/ 1, 8}, - {/*Unknown*/ 1, 9}, + {/*Double Battle*/ 1, 7}, + {/*HP Aware*/ 1, 8}, + {/*Powerful Status*/ 1, 9}, + {/*Negate Unaware*/ 1, 10}, + {/*Will Suicide*/ 1, 11}, + {/*Help Partner*/ 1, 12}, + {/*Prefer Status Moves*/ 1, 13}, + {/*Stall*/ 1, 14}, + {/*Smart Switching*/ 1, 15}, + {/*Ace Pokemon*/ 1, 16}, + {/*Omniscient*/ 1, 17}, + {/*Smart Mon Choices*/ 1, 18}, + {/*Ace Pokemon*/ 1, 16}, + {/*Omniscient*/ 1, 17}, + {/*Smart Mon Choices*/ 1, 18}, + {/*Roaming*/ 1, 29}, + {/*Safari*/ 1, 30}, + {/*First Battle*/ 1, 31}, }; - static const struct ListMenuItem sMainListItems[] = { {sText_Moves, LIST_ITEM_MOVES}, @@ -358,106 +524,134 @@ static const struct ListMenuItem sMainListItems[] = {sText_Various, LIST_ITEM_VARIOUS}, }; -static const struct ListMenuItem sVariousListItems[] = -{ - {sText_ShowHP, VARIOUS_SHOW_HP}, - {sText_SubstituteHp, VARIOUS_SUBSTITUTE_HP}, - {sText_InLove, VARIOUS_IN_LOVE}, -}; - -static const struct ListMenuItem sAIListItems[] = -{ - {sText_NoBadMoves, 0}, - {sText_TryFaint, 1}, - {sText_Viability, 2}, - {sText_SetUpFirstTurn, 3}, - {sText_Risky, 4}, - {sText_StrongestMove, 5}, - {sText_PreferBatonPass, 6}, - {sText_InDoubles, 7}, - {sText_HpAware, 8}, - // {sText_Unknown, 9}, -}; - static const struct ListMenuItem sStatsListItems[] = { - {sText_CurrHp, 0}, - {sText_MaxHp, 1}, - {gText_Attack, 2}, - {gText_Defense, 3}, - {gText_Speed, 4}, - {gText_SpAtk, 5}, - {gText_SpDef, 6}, + {sText_CurrHp, LIST_STAT_HP_CURRENT}, + {sText_MaxHp, LIST_STAT_HP_MAX}, + {sText_Attack, LIST_STAT_ATTACK}, + {sText_Defense, LIST_STAT_DEFENSE}, + {sText_Speed, LIST_STAT_SPEED}, + {sText_SpAtk, LIST_STAT_SP_ATK}, + {sText_SpDef, LIST_STAT_SP_DEF}, }; static const struct ListMenuItem sStatus1ListItems[] = { - {gText_Sleep, 0}, - {gText_Poison, 1}, - {gText_Burn, 2}, - {sText_Freeze, 3}, - {gText_Paralysis, 4}, - {sText_ToxicPoison, 5}, - {sText_ToxicCounter, 6}, - {sText_Frostbite, 7}, + {sText_Sleep, LIST_STATUS1_SLEEP}, + {sText_Poison, LIST_STATUS1_POISON}, + {sText_Burn, LIST_STATUS1_BURN}, + {sText_Freeze, LIST_STATUS1_FREEZE}, + {sText_Paralysis, LIST_STATUS1_PARALYSIS}, + {sText_ToxicPoison, LIST_STATUS1_TOXIC_POISON}, + {sText_ToxicCounter, LIST_STATUS1_TOXIC_COUNTER}, + {sText_Frostbite, LIST_STATUS1_FROSTBITE}, }; static const struct ListMenuItem sStatus2ListItems[] = { - {gText_Confusion, 0}, - {sText_Flinch, 1}, - {sText_Uproar, 2}, - {sText_Bide, 3}, - {sText_LockConfuse, 4}, - {sText_MultipleTurns, 5}, - {sText_FocusEnergy, 6}, - {sText_Recharge, 7}, - {sText_Rage, 8}, - {sText_Substitute, 9}, - {sText_DestinyBond, 10}, - {sText_CantEscape, 11}, - {sText_Nightmare, 12}, - {sText_Cursed, 13}, - {sText_Foresight, 14}, - {sText_DefenseCurl, 15}, - {sText_Tormented, 16}, + {sText_Confusion, LIST_STATUS2_CONFUSION}, + {sText_Flinched, LIST_STATUS2_FLINCHED}, + {sText_Torment, LIST_STATUS2_TORMENT}, + {sText_Powder, LIST_STATUS2_POWDER}, + {sText_DefenseCurl, LIST_STATUS2_DEFENSE_CURL}, + {sText_Recharge, LIST_STATUS2_RECHARGE}, + {sText_Rage, LIST_STATUS2_RAGE}, + {sText_DestinyBond, LIST_STATUS2_DESTINY_BOND}, + {sText_EscapePrevention, LIST_STATUS2_ESCAPE_PREVENTION}, + {sText_Cursed, LIST_STATUS2_CURSED}, + {sText_Foresight, LIST_STATUS2_FORESIGHT}, + {sText_DragonCheer, LIST_STATUS2_DRAGON_CHEER}, + {sText_FocusEnergy, LIST_STATUS2_FOCUS_ENERGY}, }; static const struct ListMenuItem sStatus3ListItems[] = { - {sText_AlwaysHits, 0}, - {sText_Minimized, 1}, - {sText_ChargedUp, 2}, - {sText_Rooted, 3}, - {sText_Yawned, 4}, - {sText_Imprisoned, 5}, - {sText_NoCrit, 6}, - {sText_GastroAcid, 7}, - {sText_SmackDown, 8}, - {sText_MiracleEye, 9}, - {sText_AquaRing, 10}, - {sText_LaserFocus, 11}, + {sText_LeechSeedHealer, LIST_STATUS3_LEECH_SEED_HEALER}, + {sText_LeechSeeded, LIST_STATUS3_LEECH_SEEDED}, + {sText_AlwaysHits, LIST_STATUS3_ALWAYS_HITS}, + {sText_PerishSong, LIST_STATUS3_PERISH_SONG}, + {sText_OnAir, LIST_STATUS3_ON_AIR}, + {sText_Underground, LIST_STATUS3_UNDERGROUND}, + {sText_Minimized, LIST_STATUS3_MINIMIZED}, + {sText_ChargedUp, LIST_STATUS3_CHARGED_UP}, + {sText_Rooted, LIST_STATUS3_ROOTED}, + {sText_Yawn, LIST_STATUS3_YAWN}, + {sText_ImprisonedOthers, LIST_STATUS3_IMPRISONED_OTHERS}, + {sText_Grudge, LIST_STATUS3_GRUDGE}, + {sText_GastroAcid, LIST_STATUS3_GASTRO_ACID}, + {sText_Embargo, LIST_STATUS3_EMBARGO}, + {sText_Underwater, LIST_STATUS3_UNDERWATER}, + {sText_SmackedDown, LIST_STATUS3_SMACKED_DOWN}, + {sText_Telekinesis, LIST_STATUS3_TELEKINESIS}, + {sText_MiracleEyed, LIST_STATUS3_MIRACLE_EYED}, + {sText_MagnetRise, LIST_STATUS3_MAGNET_RISE}, + {sText_HealBlock, LIST_STATUS3_HEAL_BLOCK}, + {sText_AquaRing, LIST_STATUS3_AQUA_RING}, + {sText_LaserFocus, LIST_STATUS3_LASER_FOCUS}, + {sText_PowerTrick, LIST_STATUS3_POWER_TRICK}, }; static const struct ListMenuItem sStatus4ListItems[] = { - {sText_Electrified, 0}, + {sText_Electrified, LIST_STATUS4_ELECTRIFIED}, + {sText_MudSport, LIST_STATUS4_MUD_SPORT}, + {sText_WaterSport, LIST_STATUS4_WATER_SPORT}, + {sText_SaltCure, LIST_STATUS4_SALT_CURE}, + {sText_SyrupBomb, LIST_STATUS4_SYRUP_BOMB}, + {sText_GlaiveRush, LIST_STATUS4_GLAIVE_RUSH}, }; static const struct ListMenuItem sSideStatusListItems[] = { {sText_Reflect, LIST_SIDE_REFLECT}, {sText_LightScreen, LIST_SIDE_LIGHTSCREEN}, + {sText_StickyWeb, LIST_SIDE_STICKY_WEB}, {sText_Spikes, LIST_SIDE_SPIKES}, {sText_Safeguard, LIST_SIDE_SAFEGUARD}, {sText_Mist, LIST_SIDE_MIST}, + {sText_Tailwind, LIST_SIDE_TAILWIND}, {sText_AuroraVeil, LIST_SIDE_AURORA_VEIL}, {sText_LuckyChant, LIST_SIDE_LUCKY_CHANT}, - {sText_Tailwind, LIST_SIDE_TAILWIND}, - {sText_StealthRock, LIST_SIDE_STEALTH_ROCK}, {sText_ToxicSpikes, LIST_SIDE_TOXIC_SPIKES}, - {sText_StickyWeb, LIST_SIDE_STICKY_WEB}, + {sText_StealthRock, LIST_SIDE_STEALTH_ROCK}, {sText_Steelsurge, LIST_SIDE_STEELSURGE}, + {sText_DamageNonTypes, LIST_SIDE_DAMAGE_NON_TYPES}, + {sText_Rainbow, LIST_SIDE_RAINBOW}, + {sText_SeaOfFire, LIST_SIDE_SEA_OF_FIRE}, + {sText_Swamp, LIST_SIDE_SWAMP}, +}; + +static const struct ListMenuItem sAIListItems[] = +{ + {sText_CheckBadMove, LIST_AI_CHECK_BAD_MOVE}, + {sText_TryToFaint, LIST_AI_TRY_TO_FAINT}, + {sText_CheckViability, LIST_AI_CHECK_VIABILITY}, + {sText_SetUpFirstTurn, LIST_AI_SETUP_FIRST_TURN}, + {sText_Risky, LIST_AI_RISKY}, + {sText_PreferStrongestMove, LIST_AI_PREFER_STRONGEST_MOVE}, + {sText_PreferBatonPass, LIST_AI_PREFER_BATON_PASS}, + {sText_DoubleBattle, LIST_AI_DOUBLE_BATTLE}, + {sText_HpAware, LIST_AI_HP_AWARE}, + {sText_PowerfulStatus, LIST_AI_POWERFUL_STATUS}, + {sText_NegateUnaware, LIST_AI_NEGATE_UNAWARE}, + {sText_WillSuicide, LIST_AI_WILL_SUICIDE}, + {sText_HelpPartner, LIST_AI_HELP_PARTNER}, + {sText_PreferStatusMoves, LIST_AI_PREFER_STATUS_MOVES}, + {sText_Stall, LIST_AI_STALL}, + {sText_SmartSwitching, LIST_AI_SMART_SWITCHING}, + {sText_AcePokemon, LIST_AI_ACE_POKEMON}, + {sText_Omniscient, LIST_AI_OMNISCIENT}, + {sText_SmartMonChoices, LIST_AI_SMART_MON_CHOICES}, + {sText_Roaming, LIST_AI_ROAMING}, + {sText_Safari, LIST_AI_SAFARI}, + {sText_FirstBattle, LIST_AI_FIRST_BATTLE}, +}; + +static const struct ListMenuItem sVariousListItems[] = +{ + {sText_ShowHP, VARIOUS_SHOW_HP}, + {sText_SubstituteHp, VARIOUS_SUBSTITUTE_HP}, + {sText_InLove, VARIOUS_IN_LOVE}, }; static const struct ListMenuItem sSecondaryListItems[] = @@ -527,7 +721,7 @@ static const struct WindowTemplate sMainListWindowTemplate = .width = 9, .height = 12, .paletteNum = 0xF, - .baseBlock = 0x2 + .baseBlock = 0x1 }; static const struct WindowTemplate sSecondaryListWindowTemplate = @@ -535,10 +729,10 @@ static const struct WindowTemplate sSecondaryListWindowTemplate = .bg = 0, .tilemapLeft = 12, .tilemapTop = 3, - .width = 10, - .height = 2, + .width = 20, + .height = 16, .paletteNum = 0xF, - .baseBlock = 0xA0 + .baseBlock = 0x6D }; static const struct WindowTemplate sModifyWindowTemplate = @@ -549,7 +743,7 @@ static const struct WindowTemplate sModifyWindowTemplate = .width = 4, .height = 2, .paletteNum = 0xF, - .baseBlock = 0x200 + .baseBlock = 0x1AD }; static const struct WindowTemplate sBattlerWindowTemplate = @@ -560,7 +754,7 @@ static const struct WindowTemplate sBattlerWindowTemplate = .width = 14, .height = 2, .paletteNum = 0xF, - .baseBlock = 0x300 + .baseBlock = 0x1B5 }; static const struct BgTemplate sBgTemplates[] = @@ -1363,7 +1557,6 @@ static void CreateSecondaryListMenu(struct BattleDebugMenu *data) listTemplate.items = sStatus2ListItems; itemsCount = ARRAY_COUNT(sStatus2ListItems); data->bitfield = sStatus2Bitfield; - winTemplate.height = 1; break; case LIST_ITEM_STATUS3: listTemplate.items = sStatus3ListItems; @@ -1394,7 +1587,6 @@ static void CreateSecondaryListMenu(struct BattleDebugMenu *data) } data->secondaryListItemCount = itemsCount; - winTemplate.height *= itemsCount; data->secondaryListWindowId = AddWindow(&winTemplate); listTemplate.totalItems = itemsCount; @@ -1411,10 +1603,10 @@ static void PadString(const u8 *src, u8 *dst) { u32 i; - for (i = 0; i < 17 && src[i] != EOS; i++) + for (i = 0; i < 19 && src[i] != EOS; i++) dst[i] = src[i]; - for (; i < 17; i++) + for (; i < 19; i++) dst[i] = CHAR_SPACE; dst[i] = EOS; @@ -1516,11 +1708,10 @@ static void PrintSecondaryEntries(struct BattleDebugMenu *data) static void DestroyModifyArrows(struct BattleDebugMenu *data) { - FreeSpritePaletteByTag(gSpritePalette_Arrow.tag); if (data->modifyArrows.arrowSpriteId[0] != 0xFF) - DestroySprite(&gSprites[data->modifyArrows.arrowSpriteId[0]]); + DestroySpriteAndFreeResources(&gSprites[data->modifyArrows.arrowSpriteId[0]]); if (data->modifyArrows.arrowSpriteId[1] != 0xFF) - DestroySprite(&gSprites[data->modifyArrows.arrowSpriteId[1]]); + DestroySpriteAndFreeResources(&gSprites[data->modifyArrows.arrowSpriteId[1]]); } static void PrintDigitChars(struct BattleDebugMenu *data) @@ -1533,6 +1724,7 @@ static void PrintDigitChars(struct BattleDebugMenu *data) text[i] = EOS; + FillWindowPixelBuffer(data->modifyWindowId, 0x11); AddTextPrinterParameterized(data->modifyWindowId, FONT_NORMAL, text, 3, 0, 0, NULL); } @@ -1686,6 +1878,17 @@ static u8 *GetSideStatusValue(struct BattleDebugMenu *data, bool32 changeStatus, sideTimer->lightscreenBattlerId = data->battlerId; } return &sideTimer->lightscreenTimer; + case LIST_SIDE_STICKY_WEB: + if (changeStatus) + { + if (statusTrue) + *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_STICKY_WEB; + else + *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_STICKY_WEB; + sideTimer->stickyWebBattlerId = data->battlerId; + sideTimer->stickyWebBattlerSide = GetBattlerSide(data->battlerId); + } + return &sideTimer->stickyWebAmount; case LIST_SIDE_SPIKES: if (changeStatus) { @@ -1715,6 +1918,16 @@ static u8 *GetSideStatusValue(struct BattleDebugMenu *data, bool32 changeStatus, sideTimer->mistBattlerId = data->battlerId; } return &sideTimer->mistTimer; + case LIST_SIDE_TAILWIND: + if (changeStatus) + { + if (statusTrue) + *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_TAILWIND; + else + *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_TAILWIND; + sideTimer->tailwindBattlerId = data->battlerId; + } + return &sideTimer->tailwindTimer; case LIST_SIDE_AURORA_VEIL: if (changeStatus) { @@ -1735,16 +1948,15 @@ static u8 *GetSideStatusValue(struct BattleDebugMenu *data, bool32 changeStatus, sideTimer->luckyChantBattlerId = data->battlerId; } return &sideTimer->luckyChantTimer; - case LIST_SIDE_TAILWIND: + case LIST_SIDE_TOXIC_SPIKES: if (changeStatus) { if (statusTrue) - *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_TAILWIND; + *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_TOXIC_SPIKES; else - *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_TAILWIND; - sideTimer->tailwindBattlerId = data->battlerId; + *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_TOXIC_SPIKES; } - return &sideTimer->tailwindTimer; + return &sideTimer->toxicSpikesAmount; case LIST_SIDE_STEALTH_ROCK: if (changeStatus) { @@ -1754,33 +1966,52 @@ static u8 *GetSideStatusValue(struct BattleDebugMenu *data, bool32 changeStatus, *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_STEALTH_ROCK; } return &sideTimer->stealthRockAmount; - case LIST_SIDE_TOXIC_SPIKES: + case LIST_SIDE_STEELSURGE: if (changeStatus) { if (statusTrue) - *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_TOXIC_SPIKES; + *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_STEELSURGE; else - *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_TOXIC_SPIKES; + *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_STEELSURGE; } - return &sideTimer->toxicSpikesAmount; - case LIST_SIDE_STICKY_WEB: + return &sideTimer->steelsurgeAmount; + case LIST_SIDE_DAMAGE_NON_TYPES: if (changeStatus) { if (statusTrue) - *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_STICKY_WEB; + *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_DAMAGE_NON_TYPES; else - *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_STICKY_WEB; + *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_DAMAGE_NON_TYPES; + sideTimer->damageNonTypesType = gMovesInfo[gCurrentMove].type; } - return &sideTimer->stickyWebAmount; - case LIST_SIDE_STEELSURGE: + return &sideTimer->damageNonTypesTimer; + case LIST_SIDE_RAINBOW: if (changeStatus) { if (statusTrue) - *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_STEELSURGE; + *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_RAINBOW; else - *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_STEELSURGE; + *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_RAINBOW; } - return &sideTimer->steelsurgeAmount; + return &sideTimer->rainbowTimer; + case LIST_SIDE_SEA_OF_FIRE: + if (changeStatus) + { + if (statusTrue) + *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_SEA_OF_FIRE; + else + *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_SEA_OF_FIRE; + } + return &sideTimer->seaOfFireTimer; + case LIST_SIDE_SWAMP: + if (changeStatus) + { + if (statusTrue) + *(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_SWAMP; + else + *(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_SWAMP; + } + return &sideTimer->swampTimer; default: return NULL; } @@ -1847,14 +2078,15 @@ static void SetUpModifyArrows(struct BattleDebugMenu *data) data->modifyArrows.minValue = 0; data->modifyArrows.maxValue = 9999; data->modifyArrows.maxDigits = 4; - if (data->currentSecondaryListItemId == 0) + data->modifyArrows.typeOfVal = VAL_U16; + if (data->currentSecondaryListItemId == LIST_STAT_HP_CURRENT) { data->modifyArrows.modifiedValPtr = &gBattleMons[data->battlerId].hp; data->modifyArrows.currValue = gBattleMons[data->battlerId].hp; data->modifyArrows.minValue = 1; data->modifyArrows.maxValue = gBattleMons[data->battlerId].maxHP; } - else if (data->currentSecondaryListItemId == 1) + else if (data->currentSecondaryListItemId == LIST_STAT_HP_MAX) { data->modifyArrows.modifiedValPtr = &gBattleMons[data->battlerId].maxHP; data->modifyArrows.minValue = gBattleMons[data->battlerId].hp; @@ -1865,7 +2097,6 @@ static void SetUpModifyArrows(struct BattleDebugMenu *data) data->modifyArrows.modifiedValPtr = (u16 *)((&gBattleMons[data->battlerId].attack) + (data->currentSecondaryListItemId - 2)); data->modifyArrows.currValue = *(u16 *)((&gBattleMons[data->battlerId].attack) + (data->currentSecondaryListItemId - 2)); } - data->modifyArrows.typeOfVal = VAL_U16; break; case LIST_ITEM_STAT_STAGES: data->modifyArrows.minValue = 0; @@ -2196,6 +2427,14 @@ static const u8 sText_HoldEffectRoomService[] = _("Room Service"); static const u8 sText_HoldEffectBlunderPolicy[] = _("Blunder Policy"); static const u8 sText_HoldEffectHeavyDutyBoots[] = _("Heavy Duty Boots"); static const u8 sText_HoldEffectThroatSpray[] = _("Throat Spray"); +static const u8 sText_HoldEffectAbilityShield[] = _("Ability Shield"); +static const u8 sText_HoldEffectClearAmulet[] = _("Clear Amulet"); +static const u8 sText_HoldEffectMirrorHerb[] = _("Mirror Herb"); +static const u8 sText_HoldEffectPunchingGlove[] = _("Punching Glove"); +static const u8 sText_HoldEffectCovertCloak[] = _("Covert Cloak"); +static const u8 sText_HoldEffectLoadedDice[] = _("Loaded Dice"); +static const u8 sText_HoldEffectBoosterEnergy[] = _("Booster Energy"); +static const u8 sText_HoldEffectBerserkGene[] = _("Berserk Gene"); static const u8 *const sHoldEffectNames[] = { [HOLD_EFFECT_NONE] = sText_HoldEffectNone, @@ -2338,6 +2577,14 @@ static const u8 *const sHoldEffectNames[] = [HOLD_EFFECT_BLUNDER_POLICY] = sText_HoldEffectBlunderPolicy, [HOLD_EFFECT_HEAVY_DUTY_BOOTS] = sText_HoldEffectHeavyDutyBoots, [HOLD_EFFECT_THROAT_SPRAY] = sText_HoldEffectThroatSpray, + [HOLD_EFFECT_ABILITY_SHIELD] = sText_HoldEffectAbilityShield, + [HOLD_EFFECT_CLEAR_AMULET] = sText_HoldEffectClearAmulet, + [HOLD_EFFECT_MIRROR_HERB] = sText_HoldEffectMirrorHerb, + [HOLD_EFFECT_PUNCHING_GLOVE] = sText_HoldEffectPunchingGlove, + [HOLD_EFFECT_COVERT_CLOAK] = sText_HoldEffectCovertCloak, + [HOLD_EFFECT_LOADED_DICE] = sText_HoldEffectLoadedDice, + [HOLD_EFFECT_BOOSTER_ENERGY] = sText_HoldEffectBoosterEnergy, + [HOLD_EFFECT_BERSERK_GENE] = sText_HoldEffectBerserkGene, }; static const u8 *GetHoldEffectName(u16 holdEffect) { diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 62bee8a477fa..f25cef9cf563 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -5712,10 +5712,10 @@ static void Cmd_moveend(void) gBattlescriptCurrInstr = BattleScript_TargetBurnHeal; break; case STATUS1_FREEZE: - gBattlescriptCurrInstr = BattleScript_FrostbiteHealedViaFireMove; + gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove; break; case STATUS1_FROSTBITE: - gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove; + gBattlescriptCurrInstr = BattleScript_FrostbiteHealedViaFireMove; break; case STATUS1_POISON: case STATUS1_TOXIC_POISON: @@ -11756,16 +11756,6 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr } return STAT_CHANGE_DIDNT_WORK; } - else if (battlerAbility == ABILITY_SHIELD_DUST && flags == 0) - { - RecordAbilityBattle(battler, ABILITY_SHIELD_DUST); - return STAT_CHANGE_DIDNT_WORK; - } - else if (flags == 0 && battlerHoldEffect == HOLD_EFFECT_COVERT_CLOAK) - { - RecordItemEffectBattle(battler, HOLD_EFFECT_COVERT_CLOAK); - return STAT_CHANGE_DIDNT_WORK; - } else // try to decrease { statValue = -GET_STAT_BUFF_VALUE(statValue); @@ -13192,7 +13182,7 @@ static void Cmd_healpartystatus(void) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_BELL; if (GetBattlerAbility(gBattlerAttacker) != ABILITY_SOUNDPROOF - || B_HEAL_BELL_SOUNDPROOF == GEN_5 || B_HEAL_BELL_SOUNDPROOF >= GEN_9) + || B_HEAL_BELL_SOUNDPROOF == GEN_5 || B_HEAL_BELL_SOUNDPROOF >= GEN_8) { gBattleMons[gBattlerAttacker].status1 = 0; gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_NIGHTMARE; @@ -13232,7 +13222,7 @@ static void Cmd_healpartystatus(void) bool32 isAttacker = gBattlerPartyIndexes[gBattlerAttacker] == i; bool32 isDoublesPartner = gBattlerPartyIndexes[partner] == i && IsBattlerAlive(partner); - if (B_HEAL_BELL_SOUNDPROOF == GEN_5 || (isAttacker && B_HEAL_BELL_SOUNDPROOF >= GEN_9)) + if (B_HEAL_BELL_SOUNDPROOF == GEN_5 || (isAttacker && B_HEAL_BELL_SOUNDPROOF >= GEN_8)) ability = ABILITY_NONE; else if (B_HEAL_BELL_SOUNDPROOF > GEN_5 && !isAttacker && !isDoublesPartner) ability = ABILITY_NONE; @@ -13416,7 +13406,7 @@ static void Cmd_handlefurycutter(void) max = 5; if (gDisableStructs[gBattlerAttacker].furyCutterCounter < max - && gSpecialStatuses[gBattlerAttacker].parentalBondState != PARENTAL_BOND_1ST_HIT) // Don't increment counter on first hit + && gSpecialStatuses[gBattlerAttacker].parentalBondState != PARENTAL_BOND_2ND_HIT) // Don't increment counter on second hit gDisableStructs[gBattlerAttacker].furyCutterCounter++; gBattlescriptCurrInstr = cmd->nextInstr; @@ -16948,7 +16938,7 @@ static void TryUpdateEvolutionTracker(u32 evolutionMethod, u32 upAmount, u16 use val = 0; SetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]], MON_DATA_EVOLUTION_TRACKER, &val); break; - case EVO_DEFEAT_WITH_ITEM: + case EVO_DEFEAT_THREE_WITH_ITEM: if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_SPECIES) == GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]], MON_DATA_SPECIES) && GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_HELD_ITEM) == evolutions[i].param) SetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]], MON_DATA_EVOLUTION_TRACKER, &val); @@ -16981,7 +16971,7 @@ void BS_TryUpdateRecoilTracker(void) void BS_TryUpdateLeadersCrestTracker(void) { NATIVE_ARGS(); - TryUpdateEvolutionTracker(EVO_DEFEAT_WITH_ITEM, 1, MOVE_NONE); + TryUpdateEvolutionTracker(EVO_DEFEAT_THREE_WITH_ITEM, 1, MOVE_NONE); gBattlescriptCurrInstr = cmd->nextInstr; } diff --git a/src/battle_util.c b/src/battle_util.c index b1ba41ad8007..678778bf1ac2 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -237,8 +237,8 @@ void HandleAction_UseMove(void) && GetBattlerTurnOrderNum(battler) < var && gMovesInfo[gCurrentMove].effect != EFFECT_SNIPE_SHOT && gMovesInfo[gCurrentMove].effect != EFFECT_PLEDGE - && (GetBattlerAbility(gBattlerAttacker) != ABILITY_PROPELLER_TAIL - || GetBattlerAbility(gBattlerAttacker) != ABILITY_STALWART)) + && GetBattlerAbility(gBattlerAttacker) != ABILITY_PROPELLER_TAIL + && GetBattlerAbility(gBattlerAttacker) != ABILITY_STALWART) { var = GetBattlerTurnOrderNum(battler); } @@ -6358,23 +6358,41 @@ bool32 IsNeutralizingGasOnField(void) return FALSE; } -bool32 IsMoldBreakerTypeAbility(u32 ability) +bool32 IsMoldBreakerTypeAbility(u32 battler, u32 ability) { + if (gStatuses3[battler] & STATUS3_GASTRO_ACID) + return FALSE; + return (ability == ABILITY_MOLD_BREAKER || ability == ABILITY_TERAVOLT || ability == ABILITY_TURBOBLAZE || (ability == ABILITY_MYCELIUM_MIGHT && IS_MOVE_STATUS(gCurrentMove))); } +static inline bool32 CanBreakThroughAbility(u32 battlerAtk, u32 battlerDef, u32 ability) +{ + return ((IsMoldBreakerTypeAbility(battlerAtk, ability) || gMovesInfo[gCurrentMove].ignoresTargetAbility) + && battlerDef != battlerAtk + && gAbilitiesInfo[gBattleMons[battlerDef].ability].breakable + && gBattlerByTurnOrder[gCurrentTurnActionNumber] == battlerAtk + && gActionsByTurnOrder[gCurrentTurnActionNumber] == B_ACTION_USE_MOVE + && gCurrentTurnActionNumber < gBattlersCount); +} + u32 GetBattlerAbility(u32 battler) { bool32 noAbilityShield = GetBattlerHoldEffectIgnoreAbility(battler, TRUE) != HOLD_EFFECT_ABILITY_SHIELD; + bool32 abilityCantBeSuppressed = gAbilitiesInfo[gBattleMons[battler].ability].cantBeSuppressed; - if (gAbilitiesInfo[gBattleMons[battler].ability].cantBeSuppressed) + if (abilityCantBeSuppressed) { // Edge case: pokemon under the effect of gastro acid transforms into a pokemon with Comatose (Todo: verify how other unsuppressable abilities behave) if (gBattleMons[battler].status2 & STATUS2_TRANSFORMED && gStatuses3[battler] & STATUS3_GASTRO_ACID && gBattleMons[battler].ability == ABILITY_COMATOSE) return ABILITY_NONE; + + if (noAbilityShield && CanBreakThroughAbility(gBattlerAttacker, battler, gBattleMons[gBattlerAttacker].ability)) + return ABILITY_NONE; + return gBattleMons[battler].ability; } @@ -6386,15 +6404,7 @@ u32 GetBattlerAbility(u32 battler) && noAbilityShield) return ABILITY_NONE; - if (((IsMoldBreakerTypeAbility(gBattleMons[gBattlerAttacker].ability) - && !(gStatuses3[gBattlerAttacker] & STATUS3_GASTRO_ACID)) - || gMovesInfo[gCurrentMove].ignoresTargetAbility) - && battler != gBattlerAttacker - && gAbilitiesInfo[gBattleMons[battler].ability].breakable - && noAbilityShield - && gBattlerByTurnOrder[gCurrentTurnActionNumber] == gBattlerAttacker - && gActionsByTurnOrder[gBattlerByTurnOrder[gBattlerAttacker]] == B_ACTION_USE_MOVE - && gCurrentTurnActionNumber < gBattlersCount) + if (noAbilityShield && CanBreakThroughAbility(gBattlerAttacker, battler, gBattleMons[gBattlerAttacker].ability)) return ABILITY_NONE; return gBattleMons[battler].ability; @@ -7956,6 +7966,7 @@ u8 ItemBattleEffects(u8 caseID, u32 battler, bool32 moveTurn) if (IsBattlerAlive(gBattlerAttacker) && !(TestIfSheerForceAffected(gBattlerAttacker, gCurrentMove)) && GetBattlerAbility(gBattlerAttacker) != ABILITY_MAGIC_GUARD + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && !gSpecialStatuses[gBattlerAttacker].preventLifeOrbDamage && gSpecialStatuses[gBattlerAttacker].damagedMons) { @@ -8705,12 +8716,12 @@ u32 GetMoveTargetCount(u32 move, u32 battlerAtk, u32 battlerDef) switch (GetBattlerMoveTargetType(gBattlerAttacker, move)) { case MOVE_TARGET_BOTH: - return IsBattlerAlive(battlerDef) - + IsBattlerAlive(BATTLE_PARTNER(battlerDef)); + return !(gAbsentBattlerFlags & gBitTable[battlerDef]) + + !(gAbsentBattlerFlags & gBitTable[BATTLE_PARTNER(battlerDef)]); case MOVE_TARGET_FOES_AND_ALLY: - return IsBattlerAlive(battlerDef) - + IsBattlerAlive(BATTLE_PARTNER(battlerDef)) - + IsBattlerAlive(BATTLE_PARTNER(battlerAtk)); + return !(gAbsentBattlerFlags & gBitTable[battlerDef]) + + !(gAbsentBattlerFlags & gBitTable[BATTLE_PARTNER(battlerDef)]) + + !(gAbsentBattlerFlags & gBitTable[BATTLE_PARTNER(battlerAtk)]); case MOVE_TARGET_OPPONENTS_FIELD: return 1; case MOVE_TARGET_DEPENDS: @@ -9853,7 +9864,7 @@ static inline s32 CalculateBaseDamage(u32 power, u32 userFinalAttack, u32 level, static inline uq4_12_t GetTargetDamageModifier(u32 move, u32 battlerAtk, u32 battlerDef) { - if (GetMoveTargetCount(move, battlerAtk, battlerDef) >= 2) + if (IsDoubleBattle() && GetMoveTargetCount(move, battlerAtk, battlerDef) >= 2) return B_MULTIPLE_TARGETS_DMG >= GEN_4 ? UQ_4_12(0.75) : UQ_4_12(0.5); return UQ_4_12(1.0); } @@ -11063,6 +11074,7 @@ static u32 SwapMoveDamageCategory(u32 move) u8 GetBattleMoveCategory(u32 moveId) { + u8 moveType; if (gBattleStruct != NULL && gBattleStruct->swapDamageCategory) // Photon Geyser, Shell Side Arm, Light That Burns the Sky, Tera Blast return SwapMoveDamageCategory(moveId); if (gBattleStruct != NULL && (IsZMove(moveId) || IsMaxMove(moveId))) // TODO: Might be buggy depending on when this is called. @@ -11072,8 +11084,11 @@ u8 GetBattleMoveCategory(u32 moveId) if (IS_MOVE_STATUS(moveId)) return DAMAGE_CATEGORY_STATUS; + else if (gMain.inBattle) + GET_MOVE_TYPE(moveId, moveType); else - return gTypesInfo[gMovesInfo[moveId].type].damageCategory; + moveType = gMovesInfo[moveId].type; + return gTypesInfo[moveType].damageCategory; } static bool32 TryRemoveScreens(u32 battler) diff --git a/src/data/battle_anim.h b/src/data/battle_anim.h index 485519cdc5a0..371fb61a482d 100644 --- a/src/data/battle_anim.h +++ b/src/data/battle_anim.h @@ -1454,6 +1454,10 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] = {gBattleAnimSpriteGfx_SyrupShell, 0x2000, ANIM_TAG_SYRUP_SHELL_YELLOW}, {gBattleAnimSpriteGfx_SyrupSplat, 0x400, ANIM_TAG_SYRUP_SPLAT_RED}, {gBattleAnimSpriteGfx_SyrupSplat, 0x400, ANIM_TAG_SYRUP_SPLAT_YELLOW}, + {gBattleAnimSpriteGfx_IvyCudgel, 0x800, ANIM_TAG_IVY_CUDGEL_GRASS}, + {NULL, 0x0, ANIM_TAG_IVY_CUDGEL_FIRE}, + {NULL, 0x0, ANIM_TAG_IVY_CUDGEL_ROCK}, + {NULL, 0x0, ANIM_TAG_IVY_CUDGEL_WATER}, {gBattleAnimSpriteGfx_TeraCrystal, 0x800, ANIM_TAG_TERA_CRYSTAL}, {gBattleAnimSpriteGfx_TeraShatter, 0x0180, ANIM_TAG_TERA_SHATTER}, {gBattleAnimSpriteGfx_DreepyMissile, 0x200, ANIM_TAG_DREEPY_SHINY}, @@ -1912,6 +1916,10 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] = {gBattleAnimSpritePal_SyrupYellow, ANIM_TAG_SYRUP_SHELL_YELLOW}, {gBattleAnimSpritePal_SyrupRed, ANIM_TAG_SYRUP_SPLAT_RED}, {gBattleAnimSpritePal_SyrupYellow, ANIM_TAG_SYRUP_SPLAT_YELLOW}, + {gBattleAnimSpritePal_IvyCudgelGrass, ANIM_TAG_IVY_CUDGEL_GRASS}, + {gBattleAnimSpritePal_IvyCudgelFire, ANIM_TAG_IVY_CUDGEL_FIRE}, + {gBattleAnimSpritePal_IvyCudgelRock, ANIM_TAG_IVY_CUDGEL_ROCK}, + {gBattleAnimSpritePal_IvyCudgelWater, ANIM_TAG_IVY_CUDGEL_WATER}, {gBattleAnimSpritePal_TeraCrystal, ANIM_TAG_TERA_CRYSTAL}, {gBattleAnimSpritePal_TeraShatter, ANIM_TAG_TERA_SHATTER}, {gBattleAnimSpritePal_DreepyMissileShiny, ANIM_TAG_DREEPY_SHINY}, diff --git a/src/data/battle_frontier/battle_frontier_mons.h b/src/data/battle_frontier/battle_frontier_mons.h index 7299e78a03fb..e83a25e82998 100644 --- a/src/data/battle_frontier/battle_frontier_mons.h +++ b/src/data/battle_frontier/battle_frontier_mons.h @@ -2804,7 +2804,7 @@ const struct TrainerMon gBattleFrontierMons[NUM_FRONTIER_MONS] = .species = SPECIES_LUDICOLO, .moves = {MOVE_SURF, MOVE_RAIN_DANCE, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH}, .heldItem = ITEM_SHELL_BELL, - .ev = TRAINER_PARTY_EVS(170, 170, 0, 0, 170, 0), + .ev = TRAINER_PARTY_EVS(170, 0, 170, 0, 170, 0), .nature = NATURE_QUIET }, [FRONTIER_MON_HYPNO_1] = { @@ -2853,7 +2853,7 @@ const struct TrainerMon gBattleFrontierMons[NUM_FRONTIER_MONS] = .species = SPECIES_ELECTABUZZ, .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_BRICK_BREAK, MOVE_LIGHT_SCREEN}, .heldItem = ITEM_CHERI_BERRY, - .ev = TRAINER_PARTY_EVS(170, 170, 0, 0, 170, 0), + .ev = TRAINER_PARTY_EVS(170, 0, 170, 0, 170, 0), .nature = NATURE_RELAXED }, [FRONTIER_MON_TAUROS_1] = { @@ -2909,7 +2909,7 @@ const struct TrainerMon gBattleFrontierMons[NUM_FRONTIER_MONS] = .species = SPECIES_MAGMAR, .moves = {MOVE_FLAMETHROWER, MOVE_SMOKESCREEN, MOVE_BRICK_BREAK, MOVE_BARRIER}, .heldItem = ITEM_RAWST_BERRY, - .ev = TRAINER_PARTY_EVS(170, 170, 0, 0, 170, 0), + .ev = TRAINER_PARTY_EVS(170, 0, 170, 0, 170, 0), .nature = NATURE_RELAXED }, [FRONTIER_MON_CRADILY_1] = { @@ -3245,7 +3245,7 @@ const struct TrainerMon gBattleFrontierMons[NUM_FRONTIER_MONS] = .species = SPECIES_MILOTIC, .moves = {MOVE_HYDRO_PUMP, MOVE_ICY_WIND, MOVE_RECOVER, MOVE_MIRROR_COAT}, .heldItem = ITEM_LUM_BERRY, - .ev = TRAINER_PARTY_EVS(170, 170, 0, 0, 170, 0), + .ev = TRAINER_PARTY_EVS(170, 0, 170, 0, 170, 0), .nature = NATURE_MODEST }, [FRONTIER_MON_ARCANINE_1] = { @@ -3714,7 +3714,7 @@ const struct TrainerMon gBattleFrontierMons[NUM_FRONTIER_MONS] = .species = SPECIES_TENTACRUEL, .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_SURF}, .heldItem = ITEM_LEFTOVERS, - .ev = TRAINER_PARTY_EVS(170, 170, 0, 0, 170, 0), + .ev = TRAINER_PARTY_EVS(170, 0, 170, 0, 170, 0), .nature = NATURE_HARDY }, [FRONTIER_MON_AERODACTYL_2] = { @@ -5870,7 +5870,7 @@ const struct TrainerMon gBattleFrontierMons[NUM_FRONTIER_MONS] = .species = SPECIES_REGICE, .moves = {MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_CURSE, MOVE_COUNTER}, .heldItem = ITEM_LEFTOVERS, - .ev = TRAINER_PARTY_EVS(170, 170, 0, 0, 170, 0), + .ev = TRAINER_PARTY_EVS(170, 0, 170, 0, 170, 0), .nature = NATURE_BRAVE }, [FRONTIER_MON_REGICE_6] = { diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index a68e0da53c73..37258b7f540b 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -21833,25 +21833,25 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_OgerponCornerstoneMask[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/shiny.gbapal.lz"); const u8 gMonIcon_OgerponCornerstoneMask[] = INCBIN_U8("graphics/pokemon/ogerpon/cornerstone/icon.4bpp"); - // const u32 gMonFrontPic_OgerponTealMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/tera/front.4bpp.lz"); - // const u32 gMonPalette_OgerponTealMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/tera/normal.gbapal.lz"); - // const u32 gMonBackPic_OgerponTealMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/tera/back.4bpp.lz"); - // const u32 gMonShinyPalette_OgerponTealMaskTera[]] = INCBIN_U32("graphics/pokemon/ogerpon/tera/shiny.gbapal.lz"); - - // const u32 gMonFrontPic_OgerponWellspringMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/tera/front.4bpp.lz"); - // const u32 gMonPalette_OgerponWellspringMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/tera/normal.gbapal.lz"); - // const u32 gMonBackPic_OgerponWellspringMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/tera/back.4bpp.lz"); - // const u32 gMonShinyPalette_OgerponWellspringMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/tera/shiny.gbapal.lz"); - - // const u32 gMonFrontPic_OgerponHearthflameMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/tera/front.4bpp.lz"); - // const u32 gMonPalette_OgerponHearthflameMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/tera/normal.gbapal.lz"); - // const u32 gMonBackPic_OgerponHearthflameMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/tera/back.4bpp.lz"); - // const u32 gMonShinyPalette_OgerponHearthflameMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/tera/shiny.gbapal.lz"); - - // const u32 gMonFrontPic_OgerponCornerstoneMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/tera/front.4bpp.lz"); - // const u32 gMonPalette_OgerponCornerstoneMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/tera/normal.gbapal.lz"); - // const u32 gMonBackPic_OgerponCornerstoneMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/tera/back.4bpp.lz"); - // const u32 gMonShinyPalette_OgerponCornerstoneMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/tera/shiny.gbapal.lz"); + const u32 gMonFrontPic_OgerponTealMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/tera/front.4bpp.lz"); + const u32 gMonPalette_OgerponTealMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/tera/normal.gbapal.lz"); + const u32 gMonBackPic_OgerponTealMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/tera/back.4bpp.lz"); + const u32 gMonShinyPalette_OgerponTealMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/tera/shiny.gbapal.lz"); + + const u32 gMonFrontPic_OgerponWellspringMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/tera/front.4bpp.lz"); + const u32 gMonPalette_OgerponWellspringMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/tera/normal.gbapal.lz"); + const u32 gMonBackPic_OgerponWellspringMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/tera/back.4bpp.lz"); + const u32 gMonShinyPalette_OgerponWellspringMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/tera/shiny.gbapal.lz"); + + const u32 gMonFrontPic_OgerponHearthflameMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/tera/front.4bpp.lz"); + const u32 gMonPalette_OgerponHearthflameMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/tera/normal.gbapal.lz"); + const u32 gMonBackPic_OgerponHearthflameMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/tera/back.4bpp.lz"); + const u32 gMonShinyPalette_OgerponHearthflameMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/tera/shiny.gbapal.lz"); + + const u32 gMonFrontPic_OgerponCornerstoneMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/tera/front.4bpp.lz"); + const u32 gMonPalette_OgerponCornerstoneMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/tera/normal.gbapal.lz"); + const u32 gMonBackPic_OgerponCornerstoneMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/tera/back.4bpp.lz"); + const u32 gMonShinyPalette_OgerponCornerstoneMaskTera[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/tera/shiny.gbapal.lz"); #if OW_POKEMON_OBJECT_EVENTS // const u32 gObjectEventPic_OgerponTealMask[] = INCBIN_COMP("graphics/pokemon/ogerpon/overworld.4bpp"); diff --git a/src/data/heal_locations_pkm_center.h b/src/data/heal_locations_pkm_center.h new file mode 100644 index 000000000000..58be0be05ed6 --- /dev/null +++ b/src/data/heal_locations_pkm_center.h @@ -0,0 +1,175 @@ +#define DEFAULT_POKEMON_CENTER_COORDS .x = 7, .y = 4 + +static const struct HealLocation sHealLocationsPokemonCenter[HEAL_LOCATION_COUNT - 1] = +{ + [HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F - 1] = + { + .group = MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F), + .map = MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F), + .x = 2, + .y = 7, + }, + [HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F - 1] = + { + .group = MAP_GROUP(LITTLEROOT_TOWN_MAYS_HOUSE_1F), + .map = MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_1F), + .x = 8, + .y = 7, + }, + [HEAL_LOCATION_PETALBURG_CITY - 1] = + { + .group = MAP_GROUP(PETALBURG_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(PETALBURG_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_SLATEPORT_CITY - 1] = + { + .group = MAP_GROUP(SLATEPORT_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(SLATEPORT_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_MAUVILLE_CITY - 1] = + { + .group = MAP_GROUP(MAUVILLE_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(MAUVILLE_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_RUSTBORO_CITY - 1] = + { + .group = MAP_GROUP(RUSTBORO_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(RUSTBORO_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_FORTREE_CITY - 1] = + { + .group = MAP_GROUP(FORTREE_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(FORTREE_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_LILYCOVE_CITY - 1] = + { + .group = MAP_GROUP(LILYCOVE_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(LILYCOVE_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_MOSSDEEP_CITY - 1] = + { + .group = MAP_GROUP(MOSSDEEP_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(MOSSDEEP_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_SOOTOPOLIS_CITY - 1] = + { + .group = MAP_GROUP(SOOTOPOLIS_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(SOOTOPOLIS_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_EVER_GRANDE_CITY - 1] = + { + .group = MAP_GROUP(EVER_GRANDE_CITY_POKEMON_CENTER_1F), + .map = MAP_NUM(EVER_GRANDE_CITY_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE - 1] = + { + .group = MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F), + .map = MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F), + .x = 2, + .y = 7, + }, + [HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE - 1] = + { + .group = MAP_GROUP(LITTLEROOT_TOWN_MAYS_HOUSE_1F), + .map = MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_1F), + .x = 8, + .y = 7, + }, + [HEAL_LOCATION_OLDALE_TOWN - 1] = + { + .group = MAP_GROUP(OLDALE_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(OLDALE_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_DEWFORD_TOWN - 1] = + { + .group = MAP_GROUP(DEWFORD_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(DEWFORD_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_LAVARIDGE_TOWN - 1] = + { + .group = MAP_GROUP(LAVARIDGE_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(LAVARIDGE_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_FALLARBOR_TOWN - 1] = + { + .group = MAP_GROUP(FALLARBOR_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(FALLARBOR_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_VERDANTURF_TOWN - 1] = + { + .group = MAP_GROUP(VERDANTURF_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(VERDANTURF_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_PACIFIDLOG_TOWN - 1] = + { + .group = MAP_GROUP(PACIFIDLOG_TOWN_POKEMON_CENTER_1F), + .map = MAP_NUM(PACIFIDLOG_TOWN_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, + [HEAL_LOCATION_EVER_GRANDE_CITY_POKEMON_LEAGUE - 1] = + { + .group = MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), + .map = MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), + .x = 3, + .y = 4, + }, + [HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR - 1] = + { + .group = MAP_GROUP(SOUTHERN_ISLAND_EXTERIOR), + .map = MAP_NUM(SOUTHERN_ISLAND_EXTERIOR), + .x = 15, + .y = 20, + }, + [HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST - 1] = + { + .group = MAP_GROUP(BATTLE_FRONTIER_POKEMON_CENTER_1F), + .map = MAP_NUM(BATTLE_FRONTIER_POKEMON_CENTER_1F), + DEFAULT_POKEMON_CENTER_COORDS, + }, +}; + +#undef DEFAULT_POKEMON_CENTER_COORDS + +// localIds can be found in the generated events.inc file for the specific heal location map +// e.g. for OldaleTown_PokemonCenter1F/events.inc the following entry gets generated: +// object_event 1, OBJ_EVENT_GFX_NURSE, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, TRAINER_TYPE_NONE, 0, OldaleTown_PokemonCenter_1F_EventScript_Nurse, 0 +// In this case the localId is 1. +static const u8 sHealNpcLocalId[HEAL_LOCATION_COUNT - 1] = +{ + [HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F - 1] = 1, + [HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F - 1] = 1, + [HEAL_LOCATION_PETALBURG_CITY - 1] = 1, + [HEAL_LOCATION_SLATEPORT_CITY - 1] = 1, + [HEAL_LOCATION_MAUVILLE_CITY - 1] = 1, + [HEAL_LOCATION_RUSTBORO_CITY - 1] = 1, + [HEAL_LOCATION_FORTREE_CITY - 1] = 1, + [HEAL_LOCATION_LILYCOVE_CITY - 1] = 1, + [HEAL_LOCATION_MOSSDEEP_CITY - 1] = 1, + [HEAL_LOCATION_SOOTOPOLIS_CITY - 1] = 1, + [HEAL_LOCATION_EVER_GRANDE_CITY - 1] = 1, + [HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE - 1] = 1, + [HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE - 1] = 1, + [HEAL_LOCATION_OLDALE_TOWN - 1] = 1, + [HEAL_LOCATION_DEWFORD_TOWN - 1] = 1, + [HEAL_LOCATION_LAVARIDGE_TOWN - 1] = 1, + [HEAL_LOCATION_FALLARBOR_TOWN - 1] = 1, + [HEAL_LOCATION_VERDANTURF_TOWN - 1] = 1, + [HEAL_LOCATION_PACIFIDLOG_TOWN - 1] = 1, + [HEAL_LOCATION_EVER_GRANDE_CITY_POKEMON_LEAGUE - 1] = 1, + [HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR - 1] = 0, // no heal npc + [HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST - 1] = 1, +}; diff --git a/src/data/pokemon/level_up_learnsets/gen_1.h b/src/data/pokemon/level_up_learnsets/gen_1.h index 240a4b06956f..e7b9d23238f4 100644 --- a/src/data/pokemon/level_up_learnsets/gen_1.h +++ b/src/data/pokemon/level_up_learnsets/gen_1.h @@ -5048,7 +5048,7 @@ static const struct LevelUpMove sSwampertLevelUpLearnset[] = { LEVEL_UP_MOVE(46, MOVE_PROTECT), LEVEL_UP_MOVE(52, MOVE_EARTHQUAKE), LEVEL_UP_MOVE(61, MOVE_ENDEAVOR), - LEVEL_UP_END + LEVEL_UP_END }; #endif //P_FAMILY_MUDKIP @@ -17587,6 +17587,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -17645,6 +17647,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -17704,6 +17708,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -18188,6 +18193,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -18524,6 +18533,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -19050,6 +19061,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -19072,6 +19084,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -19093,6 +19106,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -19115,6 +19129,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -19138,6 +19153,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -19183,6 +19199,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -19203,6 +19220,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -19249,6 +19267,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -19272,11 +19291,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -19473,6 +19493,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -19496,6 +19520,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -19511,8 +19536,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -19564,6 +19589,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -19585,6 +19612,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -19692,8 +19721,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -19702,6 +19731,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -19723,6 +19756,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -19746,6 +19782,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -19833,6 +19870,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), diff --git a/src/data/pokemon/level_up_learnsets/gen_2.h b/src/data/pokemon/level_up_learnsets/gen_2.h index 0995a4c1504a..991cf5daf8aa 100644 --- a/src/data/pokemon/level_up_learnsets/gen_2.h +++ b/src/data/pokemon/level_up_learnsets/gen_2.h @@ -5292,7 +5292,7 @@ static const struct LevelUpMove sSwampertLevelUpLearnset[] = { LEVEL_UP_MOVE(46, MOVE_PROTECT), LEVEL_UP_MOVE(52, MOVE_EARTHQUAKE), LEVEL_UP_MOVE(61, MOVE_ENDEAVOR), - LEVEL_UP_END + LEVEL_UP_END }; #endif //P_FAMILY_MUDKIP @@ -17831,6 +17831,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -17889,6 +17891,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -17948,6 +17952,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -18432,6 +18437,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -18768,6 +18777,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -19294,6 +19305,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -19316,6 +19328,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -19337,6 +19350,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -19359,6 +19373,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -19382,6 +19397,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -19427,6 +19443,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -19447,6 +19464,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -19493,6 +19511,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -19516,11 +19535,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -19717,6 +19737,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -19740,6 +19764,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -19755,8 +19780,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -19808,6 +19833,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -19829,6 +19856,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -19936,8 +19965,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -19946,6 +19975,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -19967,6 +20000,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -19990,6 +20026,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -20077,6 +20114,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), diff --git a/src/data/pokemon/level_up_learnsets/gen_3.h b/src/data/pokemon/level_up_learnsets/gen_3.h index 999c4c29d241..35af1dfbe674 100644 --- a/src/data/pokemon/level_up_learnsets/gen_3.h +++ b/src/data/pokemon/level_up_learnsets/gen_3.h @@ -5518,7 +5518,7 @@ static const struct LevelUpMove sSwampertLevelUpLearnset[] = { LEVEL_UP_MOVE(46, MOVE_PROTECT), LEVEL_UP_MOVE(52, MOVE_EARTHQUAKE), LEVEL_UP_MOVE(61, MOVE_ENDEAVOR), - LEVEL_UP_END + LEVEL_UP_END }; #endif //P_FAMILY_MUDKIP @@ -18057,6 +18057,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -18115,6 +18117,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -18174,6 +18178,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -18658,6 +18663,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -18994,6 +19003,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -19520,6 +19531,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -19542,6 +19554,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -19563,6 +19576,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -19585,6 +19599,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -19608,6 +19623,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -19653,6 +19669,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -19673,6 +19690,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -19719,6 +19737,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -19742,11 +19761,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -19943,6 +19963,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -19966,6 +19990,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -19981,8 +20006,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -20034,6 +20059,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -20055,6 +20082,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -20162,8 +20191,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -20172,6 +20201,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -20193,6 +20226,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -20216,6 +20252,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -20303,6 +20340,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), diff --git a/src/data/pokemon/level_up_learnsets/gen_4.h b/src/data/pokemon/level_up_learnsets/gen_4.h index 169281c56f15..f620abc3df48 100644 --- a/src/data/pokemon/level_up_learnsets/gen_4.h +++ b/src/data/pokemon/level_up_learnsets/gen_4.h @@ -19331,6 +19331,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -19389,6 +19391,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -19448,6 +19452,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -19932,6 +19937,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -20268,6 +20277,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -20794,6 +20805,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -20816,6 +20828,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -20837,6 +20850,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -20859,6 +20873,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -20882,6 +20897,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -20927,6 +20943,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -20947,6 +20964,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -20993,6 +21011,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -21016,11 +21035,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -21217,6 +21237,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -21240,6 +21264,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -21255,8 +21280,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -21308,6 +21333,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -21329,6 +21356,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -21436,8 +21465,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -21446,6 +21475,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -21467,6 +21500,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -21490,6 +21526,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -21577,6 +21614,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), diff --git a/src/data/pokemon/level_up_learnsets/gen_5.h b/src/data/pokemon/level_up_learnsets/gen_5.h index af612cf583ed..b02bbdf4304a 100644 --- a/src/data/pokemon/level_up_learnsets/gen_5.h +++ b/src/data/pokemon/level_up_learnsets/gen_5.h @@ -19854,6 +19854,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -19912,6 +19914,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -19971,6 +19975,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -20455,6 +20460,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -20791,6 +20800,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -21317,6 +21328,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -21339,6 +21351,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21360,6 +21373,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21382,6 +21396,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -21405,6 +21420,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -21450,6 +21466,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -21470,6 +21487,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -21516,6 +21534,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -21539,11 +21558,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -21740,6 +21760,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -21763,6 +21787,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -21778,8 +21803,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -21831,6 +21856,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -21852,6 +21879,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -21959,8 +21988,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -21969,6 +21998,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -21990,6 +22023,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -22013,6 +22049,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -22100,6 +22137,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), diff --git a/src/data/pokemon/level_up_learnsets/gen_6.h b/src/data/pokemon/level_up_learnsets/gen_6.h index 59b05f96055c..3286c5ce4ee3 100644 --- a/src/data/pokemon/level_up_learnsets/gen_6.h +++ b/src/data/pokemon/level_up_learnsets/gen_6.h @@ -1787,7 +1787,7 @@ static const struct LevelUpMove sTentacruelLevelUpLearnset[] = { LEVEL_UP_MOVE(44, MOVE_HEX), LEVEL_UP_MOVE(48, MOVE_SLUDGE_WAVE), LEVEL_UP_MOVE(52, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(56, MOVE_WRING_OUT), + LEVEL_UP_MOVE(56, MOVE_WRING_OUT), LEVEL_UP_END }; #endif //P_FAMILY_TENTACOOL @@ -20504,6 +20504,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -20562,6 +20564,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -20621,6 +20625,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -21105,6 +21110,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21441,6 +21450,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -21967,6 +21978,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -21989,6 +22001,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -22010,6 +22023,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -22032,6 +22046,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -22055,6 +22070,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -22100,6 +22116,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -22120,6 +22137,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -22166,6 +22184,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -22189,11 +22208,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -22390,6 +22410,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -22413,6 +22437,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -22428,8 +22453,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -22481,6 +22506,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -22502,6 +22529,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -22609,8 +22638,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -22619,6 +22648,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -22640,6 +22673,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -22663,6 +22699,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -22750,6 +22787,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), diff --git a/src/data/pokemon/level_up_learnsets/gen_7.h b/src/data/pokemon/level_up_learnsets/gen_7.h index dd561a27fafd..1b95b442e0f2 100644 --- a/src/data/pokemon/level_up_learnsets/gen_7.h +++ b/src/data/pokemon/level_up_learnsets/gen_7.h @@ -20867,6 +20867,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -20925,6 +20927,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -20984,6 +20988,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -21468,6 +21473,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21804,6 +21813,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -22330,6 +22341,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -22352,6 +22364,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -22373,6 +22386,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -22395,6 +22409,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -22418,6 +22433,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -22463,6 +22479,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -22483,6 +22500,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -22529,6 +22547,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -22552,11 +22571,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -22753,6 +22773,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -22776,6 +22800,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -22791,8 +22816,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -22844,6 +22869,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -22865,6 +22892,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -22972,8 +23001,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -22982,6 +23011,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -23003,6 +23036,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -23026,6 +23062,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -23113,6 +23150,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), diff --git a/src/data/pokemon/level_up_learnsets/gen_8.h b/src/data/pokemon/level_up_learnsets/gen_8.h index e774dd088a83..4357fdf64357 100644 --- a/src/data/pokemon/level_up_learnsets/gen_8.h +++ b/src/data/pokemon/level_up_learnsets/gen_8.h @@ -9937,7 +9937,7 @@ static const struct LevelUpMove sRegiceLevelUpLearnset[] = { LEVEL_UP_MOVE(66, MOVE_ZAP_CANNON), LEVEL_UP_MOVE(72, MOVE_HYPER_BEAM), LEVEL_UP_MOVE(78, MOVE_EXPLOSION), - LEVEL_UP_END + LEVEL_UP_END }; #endif //P_FAMILY_REGICE @@ -9960,7 +9960,7 @@ static const struct LevelUpMove sRegisteelLevelUpLearnset[] = { LEVEL_UP_MOVE(66, MOVE_ZAP_CANNON), LEVEL_UP_MOVE(72, MOVE_HYPER_BEAM), LEVEL_UP_MOVE(78, MOVE_EXPLOSION), - LEVEL_UP_END + LEVEL_UP_END }; #endif //P_FAMILY_REGISTEEL @@ -20438,6 +20438,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -20496,6 +20498,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -20555,6 +20559,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -21039,6 +21044,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21375,6 +21384,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -21901,6 +21912,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -21923,6 +21935,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21944,6 +21957,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21966,6 +21980,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -21989,6 +22004,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -22034,6 +22050,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -22054,6 +22071,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -22100,6 +22118,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -22123,11 +22142,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -22324,6 +22344,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -22347,6 +22371,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -22362,8 +22387,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -22415,6 +22440,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -22436,6 +22463,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -22543,8 +22572,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -22553,6 +22582,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -22574,6 +22607,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -22597,6 +22633,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -22684,6 +22721,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), diff --git a/src/data/pokemon/level_up_learnsets/gen_9.h b/src/data/pokemon/level_up_learnsets/gen_9.h index 0db97107a22a..de35a1d36de0 100644 --- a/src/data/pokemon/level_up_learnsets/gen_9.h +++ b/src/data/pokemon/level_up_learnsets/gen_9.h @@ -21,15 +21,15 @@ static const struct LevelUpMove sBulbasaurLevelUpLearnset[] = { LEVEL_UP_MOVE(24, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(27, MOVE_SYNTHESIS), LEVEL_UP_MOVE(30, MOVE_WORRY_SEED), - LEVEL_UP_MOVE(33, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(33, MOVE_POWER_WHIP), LEVEL_UP_MOVE(36, MOVE_SOLAR_BEAM), LEVEL_UP_END }; static const struct LevelUpMove sIvysaurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 9, MOVE_LEECH_SEED), LEVEL_UP_MOVE(12, MOVE_RAZOR_LEAF), @@ -40,29 +40,28 @@ static const struct LevelUpMove sIvysaurLevelUpLearnset[] = { LEVEL_UP_MOVE(30, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(35, MOVE_SYNTHESIS), LEVEL_UP_MOVE(40, MOVE_WORRY_SEED), - LEVEL_UP_MOVE(45, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(45, MOVE_POWER_WHIP), LEVEL_UP_MOVE(50, MOVE_SOLAR_BEAM), LEVEL_UP_END }; static const struct LevelUpMove sVenusaurLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PETAL_BLIZZARD), - LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), - LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 9, MOVE_LEECH_SEED), LEVEL_UP_MOVE(12, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), LEVEL_UP_MOVE(20, MOVE_SEED_BOMB), LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), LEVEL_UP_MOVE(30, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(37, MOVE_SYNTHESIS), LEVEL_UP_MOVE(44, MOVE_WORRY_SEED), - LEVEL_UP_MOVE(51, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(51, MOVE_POWER_WHIP), LEVEL_UP_MOVE(58, MOVE_SOLAR_BEAM), LEVEL_UP_END }; @@ -135,7 +134,7 @@ static const struct LevelUpMove sSquirtleLevelUpLearnset[] = { LEVEL_UP_MOVE(27, MOVE_SHELL_SMASH), LEVEL_UP_MOVE(30, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(33, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(36, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(36, MOVE_WAVE_CRASH), LEVEL_UP_END }; @@ -153,13 +152,12 @@ static const struct LevelUpMove sWartortleLevelUpLearnset[] = { LEVEL_UP_MOVE(35, MOVE_SHELL_SMASH), LEVEL_UP_MOVE(40, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(45, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(50, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(50, MOVE_WAVE_CRASH), LEVEL_UP_END }; static const struct LevelUpMove sBlastoiseLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLASH_CANNON), - LEVEL_UP_MOVE( 1, MOVE_FLASH_CANNON), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -173,7 +171,7 @@ static const struct LevelUpMove sBlastoiseLevelUpLearnset[] = { LEVEL_UP_MOVE(35, MOVE_SHELL_SMASH), LEVEL_UP_MOVE(42, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(49, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(56, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(56, MOVE_WAVE_CRASH), LEVEL_UP_END }; #endif //P_FAMILY_SQUIRTLE @@ -444,8 +442,8 @@ static const struct LevelUpMove sEkansLevelUpLearnset[] = { LEVEL_UP_MOVE(12, MOVE_GLARE), LEVEL_UP_MOVE(17, MOVE_SCREECH), LEVEL_UP_MOVE(20, MOVE_ACID), - LEVEL_UP_MOVE(25, MOVE_STOCKPILE), LEVEL_UP_MOVE(25, MOVE_SWALLOW), + LEVEL_UP_MOVE(25, MOVE_STOCKPILE), LEVEL_UP_MOVE(25, MOVE_SPIT_UP), LEVEL_UP_MOVE(28, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(33, MOVE_SLUDGE_BOMB), @@ -459,21 +457,18 @@ static const struct LevelUpMove sEkansLevelUpLearnset[] = { static const struct LevelUpMove sArbokLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_CRUNCH), - LEVEL_UP_MOVE( 1, MOVE_CRUNCH), - LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), - LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_WRAP), - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), - LEVEL_UP_MOVE( 4, MOVE_POISON_STING), - LEVEL_UP_MOVE( 9, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE(12, MOVE_GLARE), LEVEL_UP_MOVE(17, MOVE_SCREECH), LEVEL_UP_MOVE(20, MOVE_ACID), - LEVEL_UP_MOVE(27, MOVE_STOCKPILE), LEVEL_UP_MOVE(27, MOVE_SWALLOW), + LEVEL_UP_MOVE(27, MOVE_STOCKPILE), LEVEL_UP_MOVE(27, MOVE_SPIT_UP), LEVEL_UP_MOVE(32, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(39, MOVE_SLUDGE_BOMB), @@ -600,11 +595,11 @@ static const struct LevelUpMove sSandshrewLevelUpLearnset[] = { }; static const struct LevelUpMove sSandslashLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CRUSH_CLAW), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_CRUSH_CLAW), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 9, MOVE_ROLLOUT), LEVEL_UP_MOVE(12, MOVE_FURY_CUTTER), LEVEL_UP_MOVE(15, MOVE_RAPID_SPIN), @@ -623,8 +618,8 @@ static const struct LevelUpMove sSandslashLevelUpLearnset[] = { #if P_ALOLAN_FORMS static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 3, MOVE_MIST), LEVEL_UP_MOVE( 6, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 9, MOVE_ROLLOUT), @@ -638,33 +633,32 @@ static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { LEVEL_UP_MOVE(33, MOVE_IRON_HEAD), LEVEL_UP_MOVE(36, MOVE_GYRO_BALL), LEVEL_UP_MOVE(39, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(42, MOVE_HAIL), + LEVEL_UP_MOVE(42, MOVE_SNOWSCAPE), LEVEL_UP_MOVE(45, MOVE_BLIZZARD), LEVEL_UP_END }; static const struct LevelUpMove sSandslashAlolanLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), - LEVEL_UP_MOVE( 1, MOVE_ICICLE_SPEAR), - LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), - LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_BLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), - LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), - LEVEL_UP_MOVE( 1, MOVE_SWIFT), - LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE( 1, MOVE_SLASH), - LEVEL_UP_MOVE( 1, MOVE_IRON_HEAD), LEVEL_UP_MOVE( 1, MOVE_GYRO_BALL), + LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), + LEVEL_UP_MOVE( 1, MOVE_IRON_HEAD), + LEVEL_UP_MOVE( 1, MOVE_SNOWSCAPE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE( 1, MOVE_HAIL), - LEVEL_UP_MOVE( 1, MOVE_BLIZZARD), - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE( 1, MOVE_MIST), - LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_END }; #endif //P_ALOLAN_FORMS @@ -707,6 +701,7 @@ static const struct LevelUpMove sNidorinaLevelUpLearnset[] = { static const struct LevelUpMove sNidoqueenLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SUPERPOWER), + LEVEL_UP_MOVE( 1, MOVE_SLUDGE_WAVE), LEVEL_UP_MOVE( 1, MOVE_SUPERPOWER), LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), LEVEL_UP_MOVE( 1, MOVE_TOXIC_SPIKES), @@ -760,6 +755,7 @@ static const struct LevelUpMove sNidorinoLevelUpLearnset[] = { static const struct LevelUpMove sNidokingLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_MEGAHORN), + LEVEL_UP_MOVE( 1, MOVE_SLUDGE_WAVE), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TOXIC_SPIKES), @@ -781,8 +777,8 @@ static const struct LevelUpMove sNidokingLevelUpLearnset[] = { #if P_FAMILY_CLEFAIRY #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sCleffaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_COPYCAT), LEVEL_UP_MOVE( 4, MOVE_SING), LEVEL_UP_MOVE( 8, MOVE_SWEET_KISS), @@ -794,18 +790,17 @@ static const struct LevelUpMove sCleffaLevelUpLearnset[] = { #endif //P_GEN_2_CROSS_EVOS static const struct LevelUpMove sClefairyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_SING), - LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), - LEVEL_UP_MOVE( 1, MOVE_ENCORE), - LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 1, MOVE_SPLASH), - LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 1, MOVE_COPYCAT), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 4, MOVE_STORED_POWER), - LEVEL_UP_MOVE( 8, MOVE_MINIMIZE), + LEVEL_UP_MOVE( 8, MOVE_ENCORE), LEVEL_UP_MOVE(12, MOVE_AFTER_YOU), LEVEL_UP_MOVE(16, MOVE_LIFE_DEW), LEVEL_UP_MOVE(20, MOVE_METRONOME), @@ -820,36 +815,35 @@ static const struct LevelUpMove sClefairyLevelUpLearnset[] = { }; static const struct LevelUpMove sClefableLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), - LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), - LEVEL_UP_MOVE( 1, MOVE_ENCORE), LEVEL_UP_MOVE( 1, MOVE_CHARM), - LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), - LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), - LEVEL_UP_MOVE( 1, MOVE_AFTER_YOU), - LEVEL_UP_MOVE( 1, MOVE_LIFE_DEW), - LEVEL_UP_MOVE( 1, MOVE_METRONOME), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), - LEVEL_UP_MOVE( 1, MOVE_GRAVITY), - LEVEL_UP_MOVE( 1, MOVE_METEOR_MASH), LEVEL_UP_MOVE( 1, MOVE_FOLLOW_ME), LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), - LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), + LEVEL_UP_MOVE( 1, MOVE_GRAVITY), LEVEL_UP_MOVE( 1, MOVE_HEALING_WISH), - LEVEL_UP_MOVE( 1, MOVE_SPLASH), - LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_COPYCAT), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_AFTER_YOU), + LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_METRONOME), + LEVEL_UP_MOVE( 1, MOVE_METEOR_MASH), + LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), + LEVEL_UP_MOVE( 1, MOVE_LIFE_DEW), LEVEL_UP_END }; #endif //P_FAMILY_CLEFAIRY #if P_FAMILY_VULPIX static const struct LevelUpMove sVulpixLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 4, MOVE_DISABLE), LEVEL_UP_MOVE( 8, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(12, MOVE_SPITE), @@ -862,36 +856,34 @@ static const struct LevelUpMove sVulpixLevelUpLearnset[] = { LEVEL_UP_MOVE(40, MOVE_FIRE_SPIN), LEVEL_UP_MOVE(44, MOVE_SAFEGUARD), LEVEL_UP_MOVE(48, MOVE_INFERNO), - LEVEL_UP_MOVE(52, MOVE_GRUDGE), - LEVEL_UP_MOVE(56, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(52, MOVE_FIRE_BLAST), LEVEL_UP_END }; static const struct LevelUpMove sNinetalesLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), - LEVEL_UP_MOVE( 1, MOVE_INCINERATE), - LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_FIRE_SPIN), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), LEVEL_UP_MOVE( 1, MOVE_WILL_O_WISP), - LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), - LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), - LEVEL_UP_MOVE( 1, MOVE_FIRE_SPIN), - LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_INCINERATE), LEVEL_UP_MOVE( 1, MOVE_INFERNO), - LEVEL_UP_MOVE( 1, MOVE_GRUDGE), - LEVEL_UP_MOVE( 1, MOVE_FIRE_BLAST), - LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_END }; #if P_ALOLAN_FORMS static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 4, MOVE_DISABLE), LEVEL_UP_MOVE( 8, MOVE_ICE_SHARD), LEVEL_UP_MOVE(12, MOVE_SPITE), @@ -903,32 +895,29 @@ static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { LEVEL_UP_MOVE(36, MOVE_IMPRISON), LEVEL_UP_MOVE(40, MOVE_MIST), LEVEL_UP_MOVE(44, MOVE_AURORA_VEIL), - LEVEL_UP_MOVE(48, MOVE_SHEER_COLD), - LEVEL_UP_MOVE(52, MOVE_GRUDGE), - LEVEL_UP_MOVE(56, MOVE_BLIZZARD), + LEVEL_UP_MOVE(48, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE(52, MOVE_BLIZZARD), LEVEL_UP_END }; static const struct LevelUpMove sNinetalesAlolanLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), - LEVEL_UP_MOVE( 1, MOVE_DAZZLING_GLEAM), - LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), - LEVEL_UP_MOVE( 1, MOVE_SPITE), - LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), - LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_ICE_BEAM), LEVEL_UP_MOVE( 1, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), - LEVEL_UP_MOVE( 1, MOVE_ICE_BEAM), - LEVEL_UP_MOVE( 1, MOVE_IMPRISON), - LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_ICE_SHARD), + LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 1, MOVE_AURORA_VEIL), - LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), - LEVEL_UP_MOVE( 1, MOVE_GRUDGE), - LEVEL_UP_MOVE( 1, MOVE_BLIZZARD), - LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_DISABLE), - LEVEL_UP_MOVE( 1, MOVE_ICE_SHARD), + LEVEL_UP_MOVE( 1, MOVE_BLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), + LEVEL_UP_MOVE( 1, MOVE_IMPRISON), LEVEL_UP_END }; #endif //P_ALOLAN_FORMS @@ -1080,9 +1069,9 @@ static const struct LevelUpMove sOddishLevelUpLearnset[] = { }; static const struct LevelUpMove sGloomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ACID), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), - LEVEL_UP_MOVE( 1, MOVE_ACID), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(14, MOVE_POISON_POWDER), @@ -1099,44 +1088,41 @@ static const struct LevelUpMove sGloomLevelUpLearnset[] = { static const struct LevelUpMove sVileplumeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PETAL_BLIZZARD), - LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), - LEVEL_UP_MOVE( 1, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), - LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_TOXIC), - LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), - LEVEL_UP_MOVE( 1, MOVE_GRASSY_TERRAIN), - LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_GROWTH), - LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_TOXIC), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), + LEVEL_UP_MOVE( 1, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), LEVEL_UP_END }; #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sBellossomLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PETAL_BLIZZARD), - LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), - LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), - LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_TOXIC), - LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), - LEVEL_UP_MOVE( 1, MOVE_GRASSY_TERRAIN), - LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_GROWTH), - LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_TOXIC), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), + LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), LEVEL_UP_END }; #endif //P_GEN_2_CROSS_EVOS @@ -1624,9 +1610,9 @@ static const struct LevelUpMove sPoliwagLevelUpLearnset[] = { }; static const struct LevelUpMove sPoliwhirlLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), - LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE(18, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(24, MOVE_RAIN_DANCE), @@ -1639,43 +1625,39 @@ static const struct LevelUpMove sPoliwhirlLevelUpLearnset[] = { }; static const struct LevelUpMove sPoliwrathLevelUpLearnset[] = { - LEVEL_UP_MOVE( 0, MOVE_SUBMISSION), - LEVEL_UP_MOVE( 1, MOVE_SUBMISSION), - LEVEL_UP_MOVE( 1, MOVE_CIRCLE_THROW), - LEVEL_UP_MOVE( 1, MOVE_MIND_READER), - LEVEL_UP_MOVE( 1, MOVE_DYNAMIC_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), - LEVEL_UP_MOVE( 1, MOVE_BODY_SLAM), - LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), - LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE( 0, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), - LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), + LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), + LEVEL_UP_MOVE( 1, MOVE_CIRCLE_THROW), + LEVEL_UP_MOVE( 1, MOVE_BODY_SLAM), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_END }; #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sPolitoedLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_BOUNCE), - LEVEL_UP_MOVE( 1, MOVE_BOUNCE), - LEVEL_UP_MOVE( 1, MOVE_SWAGGER), - LEVEL_UP_MOVE( 1, MOVE_HYPER_VOICE), - LEVEL_UP_MOVE( 1, MOVE_PERISH_SONG), - LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), LEVEL_UP_MOVE( 1, MOVE_BODY_SLAM), - LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), - LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), - LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_PERISH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_HYPER_VOICE), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), + LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), LEVEL_UP_END }; #endif //P_GEN_2_CROSS_EVOS @@ -1800,15 +1782,15 @@ static const struct LevelUpMove sBellsproutLevelUpLearnset[] = { LEVEL_UP_MOVE(39, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE(41, MOVE_POISON_JAB), LEVEL_UP_MOVE(47, MOVE_SLAM), + LEVEL_UP_MOVE(52, MOVE_POWER_WHIP), LEVEL_UP_END }; + static const struct LevelUpMove sWeepinbellLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), - LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_WRAP), - LEVEL_UP_MOVE( 7, MOVE_GROWTH), - LEVEL_UP_MOVE(11, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE(13, MOVE_SLEEP_POWDER), LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), LEVEL_UP_MOVE(17, MOVE_STUN_SPORE), @@ -1819,29 +1801,21 @@ static const struct LevelUpMove sWeepinbellLevelUpLearnset[] = { LEVEL_UP_MOVE(44, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE(47, MOVE_POISON_JAB), LEVEL_UP_MOVE(54, MOVE_SLAM), + LEVEL_UP_MOVE(58, MOVE_POWER_WHIP), LEVEL_UP_END }; static const struct LevelUpMove sVictreebelLevelUpLearnset[] = { - LEVEL_UP_MOVE( 0, MOVE_LEAF_TORNADO), - LEVEL_UP_MOVE( 1, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE( 0, MOVE_LEAF_STORM), LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), - LEVEL_UP_MOVE( 1, MOVE_SWALLOW), LEVEL_UP_MOVE( 1, MOVE_SPIT_UP), + LEVEL_UP_MOVE( 1, MOVE_SWALLOW), + LEVEL_UP_MOVE( 1, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE( 1, MOVE_POWER_WHIP), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), - LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 1, MOVE_GROWTH), - LEVEL_UP_MOVE( 1, MOVE_WRAP), - LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), - LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), - LEVEL_UP_MOVE( 1, MOVE_ACID), - LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE( 1, MOVE_GASTRO_ACID), - LEVEL_UP_MOVE( 1, MOVE_POISON_JAB), - LEVEL_UP_MOVE( 1, MOVE_SLAM), - LEVEL_UP_MOVE(32, MOVE_LEAF_STORM), LEVEL_UP_MOVE(44, MOVE_LEAF_BLADE), LEVEL_UP_END }; @@ -1867,11 +1841,11 @@ static const struct LevelUpMove sTentacoolLevelUpLearnset[] = { }; static const struct LevelUpMove sTentacruelLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_REFLECT_TYPE), + LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_ACID), - LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_REFLECT_TYPE), LEVEL_UP_MOVE(12, MOVE_SUPERSONIC), LEVEL_UP_MOVE(16, MOVE_WATER_PULSE), LEVEL_UP_MOVE(20, MOVE_SCREECH), @@ -1890,13 +1864,11 @@ static const struct LevelUpMove sTentacruelLevelUpLearnset[] = { static const struct LevelUpMove sGeodudeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE( 4, MOVE_SANDSTORM), LEVEL_UP_MOVE( 6, MOVE_ROCK_POLISH), LEVEL_UP_MOVE(10, MOVE_ROLLOUT), - LEVEL_UP_MOVE(12, MOVE_HARDEN), + LEVEL_UP_MOVE(12, MOVE_BULLDOZE), LEVEL_UP_MOVE(16, MOVE_ROCK_THROW), LEVEL_UP_MOVE(18, MOVE_SMACK_DOWN), - LEVEL_UP_MOVE(22, MOVE_BULLDOZE), LEVEL_UP_MOVE(24, MOVE_SELF_DESTRUCT), LEVEL_UP_MOVE(28, MOVE_STEALTH_ROCK), LEVEL_UP_MOVE(30, MOVE_ROCK_BLAST), @@ -1911,13 +1883,10 @@ static const struct LevelUpMove sGravelerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_ROCK_POLISH), - LEVEL_UP_MOVE( 4, MOVE_SANDSTORM), - LEVEL_UP_MOVE( 6, MOVE_ROCK_POLISH), LEVEL_UP_MOVE(10, MOVE_ROLLOUT), - LEVEL_UP_MOVE(12, MOVE_HARDEN), + LEVEL_UP_MOVE(12, MOVE_BULLDOZE), LEVEL_UP_MOVE(16, MOVE_ROCK_THROW), LEVEL_UP_MOVE(18, MOVE_SMACK_DOWN), - LEVEL_UP_MOVE(22, MOVE_BULLDOZE), LEVEL_UP_MOVE(24, MOVE_SELF_DESTRUCT), LEVEL_UP_MOVE(30, MOVE_STEALTH_ROCK), LEVEL_UP_MOVE(34, MOVE_ROCK_BLAST), @@ -1929,14 +1898,10 @@ static const struct LevelUpMove sGravelerLevelUpLearnset[] = { }; static const struct LevelUpMove sGolemLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_ROCK_POLISH), - LEVEL_UP_MOVE( 4, MOVE_SANDSTORM), - LEVEL_UP_MOVE( 6, MOVE_ROCK_POLISH), - LEVEL_UP_MOVE(10, MOVE_ROLLOUT), - LEVEL_UP_MOVE(12, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE(16, MOVE_ROCK_THROW), LEVEL_UP_MOVE(18, MOVE_SMACK_DOWN), LEVEL_UP_MOVE(22, MOVE_BULLDOZE), @@ -1947,7 +1912,6 @@ static const struct LevelUpMove sGolemLevelUpLearnset[] = { LEVEL_UP_MOVE(44, MOVE_EXPLOSION), LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(54, MOVE_STONE_EDGE), - LEVEL_UP_MOVE(60, MOVE_HEAVY_SLAM), LEVEL_UP_END }; @@ -1977,8 +1941,6 @@ static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_ROCK_POLISH), - LEVEL_UP_MOVE( 4, MOVE_CHARGE), - LEVEL_UP_MOVE( 6, MOVE_ROCK_POLISH), LEVEL_UP_MOVE(10, MOVE_ROLLOUT), LEVEL_UP_MOVE(12, MOVE_SPARK), LEVEL_UP_MOVE(16, MOVE_ROCK_THROW), @@ -1995,14 +1957,11 @@ static const struct LevelUpMove sGravelerAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sGolemAlolanLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_ROCK_POLISH), - LEVEL_UP_MOVE( 4, MOVE_CHARGE), - LEVEL_UP_MOVE( 6, MOVE_ROCK_POLISH), - LEVEL_UP_MOVE(10, MOVE_STEAMROLLER), + LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE(12, MOVE_SPARK), LEVEL_UP_MOVE(16, MOVE_ROCK_THROW), LEVEL_UP_MOVE(18, MOVE_SMACK_DOWN), @@ -2014,7 +1973,6 @@ static const struct LevelUpMove sGolemAlolanLevelUpLearnset[] = { LEVEL_UP_MOVE(44, MOVE_EXPLOSION), LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(54, MOVE_STONE_EDGE), - LEVEL_UP_MOVE(60, MOVE_HEAVY_SLAM), LEVEL_UP_END }; #endif //P_ALOLAN_FORMS @@ -2124,6 +2082,7 @@ static const struct LevelUpMove sSlowpokeLevelUpLearnset[] = { }; static const struct LevelUpMove sSlowbroLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -2147,6 +2106,8 @@ static const struct LevelUpMove sSlowbroLevelUpLearnset[] = { #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sSlowkingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE( 1, MOVE_CHILLY_RECEPTION), LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -2218,6 +2179,9 @@ static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sSlowkingGalarianLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), + LEVEL_UP_MOVE( 1, MOVE_TOXIC), + LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE( 1, MOVE_CHILLY_RECEPTION), LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), LEVEL_UP_MOVE( 1, MOVE_CURSE), @@ -2378,45 +2342,37 @@ static const struct LevelUpMove sSirfetchdLevelUpLearnset[] = { #if P_FAMILY_DODUO static const struct LevelUpMove sDoduoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 5, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE( 8, MOVE_LEER), - LEVEL_UP_MOVE(12, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(15, MOVE_WING_ATTACK), - LEVEL_UP_MOVE(19, MOVE_PLUCK), - LEVEL_UP_MOVE(22, MOVE_DOUBLE_HIT), - LEVEL_UP_MOVE(26, MOVE_AGILITY), - LEVEL_UP_MOVE(29, MOVE_UPROAR), - LEVEL_UP_MOVE(33, MOVE_ACUPRESSURE), - LEVEL_UP_MOVE(36, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(40, MOVE_LUNGE), - LEVEL_UP_MOVE(43, MOVE_DRILL_PECK), - LEVEL_UP_MOVE(47, MOVE_ENDEAVOR), - LEVEL_UP_MOVE(50, MOVE_THRASH), + LEVEL_UP_MOVE( 9, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(14, MOVE_PLUCK), + LEVEL_UP_MOVE(19, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(23, MOVE_AGILITY), + LEVEL_UP_MOVE(27, MOVE_UPROAR), + LEVEL_UP_MOVE(30, MOVE_ACUPRESSURE), + LEVEL_UP_MOVE(33, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(36, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(39, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(43, MOVE_THRASH), LEVEL_UP_END }; static const struct LevelUpMove sDodrioLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE( 5, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE( 8, MOVE_LEER), LEVEL_UP_MOVE(12, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(15, MOVE_WING_ATTACK), - LEVEL_UP_MOVE(19, MOVE_PLUCK), - LEVEL_UP_MOVE(22, MOVE_DOUBLE_HIT), - LEVEL_UP_MOVE(26, MOVE_AGILITY), - LEVEL_UP_MOVE(29, MOVE_UPROAR), - LEVEL_UP_MOVE(34, MOVE_ACUPRESSURE), - LEVEL_UP_MOVE(38, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(43, MOVE_LUNGE), - LEVEL_UP_MOVE(47, MOVE_DRILL_PECK), - LEVEL_UP_MOVE(52, MOVE_ENDEAVOR), - LEVEL_UP_MOVE(56, MOVE_THRASH), + LEVEL_UP_MOVE(15, MOVE_PLUCK), + LEVEL_UP_MOVE(19, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(23, MOVE_AGILITY), + LEVEL_UP_MOVE(26, MOVE_UPROAR), + LEVEL_UP_MOVE(30, MOVE_ACUPRESSURE), + LEVEL_UP_MOVE(34, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(38, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(43, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(50, MOVE_THRASH), LEVEL_UP_END }; #endif //P_FAMILY_DODUO @@ -2425,7 +2381,7 @@ static const struct LevelUpMove sDodrioLevelUpLearnset[] = { static const struct LevelUpMove sSeelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 3, MOVE_GROWL), - LEVEL_UP_MOVE( 7, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_CHARM), LEVEL_UP_MOVE(11, MOVE_ICY_WIND), LEVEL_UP_MOVE(13, MOVE_ENCORE), LEVEL_UP_MOVE(17, MOVE_ICE_SHARD), @@ -2439,21 +2395,15 @@ static const struct LevelUpMove sSeelLevelUpLearnset[] = { LEVEL_UP_MOVE(43, MOVE_AQUA_TAIL), LEVEL_UP_MOVE(47, MOVE_ICE_BEAM), LEVEL_UP_MOVE(51, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(53, MOVE_HAIL), + LEVEL_UP_MOVE(53, MOVE_SNOWSCAPE), LEVEL_UP_END }; static const struct LevelUpMove sDewgongLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHEER_COLD), - LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 3, MOVE_GROWL), - LEVEL_UP_MOVE( 7, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(11, MOVE_ICY_WIND), LEVEL_UP_MOVE(13, MOVE_ENCORE), LEVEL_UP_MOVE(17, MOVE_ICE_SHARD), LEVEL_UP_MOVE(21, MOVE_REST), @@ -2466,7 +2416,7 @@ static const struct LevelUpMove sDewgongLevelUpLearnset[] = { LEVEL_UP_MOVE(49, MOVE_AQUA_TAIL), LEVEL_UP_MOVE(55, MOVE_ICE_BEAM), LEVEL_UP_MOVE(61, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(65, MOVE_HAIL), + LEVEL_UP_MOVE(65, MOVE_SNOWSCAPE), LEVEL_UP_END }; #endif //P_FAMILY_SEEL @@ -2900,48 +2850,48 @@ static const struct LevelUpMove sExeggcuteLevelUpLearnset[] = { static const struct LevelUpMove sExeggutorLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_STOMP), - LEVEL_UP_MOVE( 1, MOVE_STOMP), - LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), - LEVEL_UP_MOVE( 1, MOVE_PSYSHOCK), - LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), - LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_CONFUSION), - LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), + LEVEL_UP_MOVE( 1, MOVE_WORRY_SEED), LEVEL_UP_MOVE( 1, MOVE_BULLET_SEED), - LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), LEVEL_UP_MOVE( 1, MOVE_UPROAR), - LEVEL_UP_MOVE( 1, MOVE_WORRY_SEED), - LEVEL_UP_MOVE( 1, MOVE_SOLAR_BEAM), - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_PSYSHOCK), LEVEL_UP_MOVE( 1, MOVE_REFLECT), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BEAM), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), LEVEL_UP_END }; #if P_ALOLAN_FORMS static const struct LevelUpMove sExeggutorAlolanLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), - LEVEL_UP_MOVE( 1, MOVE_DRAGON_HAMMER), - LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), - LEVEL_UP_MOVE( 1, MOVE_PSYSHOCK), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), - LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_CONFUSION), - LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), + LEVEL_UP_MOVE( 1, MOVE_WORRY_SEED), LEVEL_UP_MOVE( 1, MOVE_BULLET_SEED), - LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), LEVEL_UP_MOVE( 1, MOVE_UPROAR), - LEVEL_UP_MOVE( 1, MOVE_WORRY_SEED), - LEVEL_UP_MOVE( 1, MOVE_SOLAR_BEAM), - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_REFLECT), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BEAM), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_PSYSHOCK), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_END }; #endif //P_ALOLAN_FORMS @@ -3015,50 +2965,46 @@ static const struct LevelUpMove sMarowakAlolanLevelUpLearnset[] = { #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sTyrogueLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_END }; #endif //P_GEN_2_CROSS_EVOS static const struct LevelUpMove sHitmonleeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_BRICK_BREAK), - LEVEL_UP_MOVE( 1, MOVE_BRICK_BREAK), - LEVEL_UP_MOVE( 1, MOVE_FEINT), - LEVEL_UP_MOVE( 1, MOVE_LOW_SWEEP), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_LOW_SWEEP), LEVEL_UP_MOVE( 4, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 8, MOVE_LOW_KICK), LEVEL_UP_MOVE(12, MOVE_ENDURE), - LEVEL_UP_MOVE(16, MOVE_REVENGE), + LEVEL_UP_MOVE(16, MOVE_SUCKER_PUNCH), LEVEL_UP_MOVE(21, MOVE_WIDE_GUARD), LEVEL_UP_MOVE(24, MOVE_BLAZE_KICK), - LEVEL_UP_MOVE(28, MOVE_MIND_READER), + LEVEL_UP_MOVE(28, MOVE_FEINT), LEVEL_UP_MOVE(32, MOVE_MEGA_KICK), LEVEL_UP_MOVE(36, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(40, MOVE_REVERSAL), LEVEL_UP_MOVE(44, MOVE_HIGH_JUMP_KICK), + LEVEL_UP_MOVE(50, MOVE_AXE_KICK), LEVEL_UP_END }; static const struct LevelUpMove sHitmonchanLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DRAIN_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_DRAIN_PUNCH), LEVEL_UP_MOVE( 1, MOVE_FEINT), - LEVEL_UP_MOVE( 1, MOVE_VACUUM_WAVE), - LEVEL_UP_MOVE( 1, MOVE_BULLET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 4, MOVE_MACH_PUNCH), - LEVEL_UP_MOVE( 8, MOVE_POWER_UP_PUNCH), + LEVEL_UP_MOVE( 8, MOVE_VACUUM_WAVE), LEVEL_UP_MOVE(12, MOVE_DETECT), - LEVEL_UP_MOVE(16, MOVE_REVENGE), + LEVEL_UP_MOVE(16, MOVE_BULLET_PUNCH), LEVEL_UP_MOVE(21, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(24, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE(24, MOVE_ICE_PUNCH), @@ -3074,17 +3020,15 @@ static const struct LevelUpMove sHitmonchanLevelUpLearnset[] = { #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sHitmontopLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TRIPLE_KICK), - LEVEL_UP_MOVE( 1, MOVE_TRIPLE_KICK), - LEVEL_UP_MOVE( 1, MOVE_FEINT), - LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FEINT), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 4, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 8, MOVE_GYRO_BALL), LEVEL_UP_MOVE(12, MOVE_DETECT), - LEVEL_UP_MOVE(16, MOVE_REVENGE), + LEVEL_UP_MOVE(16, MOVE_RAPID_SPIN), LEVEL_UP_MOVE(21, MOVE_WIDE_GUARD), LEVEL_UP_MOVE(21, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(24, MOVE_SUCKER_PUNCH), @@ -3136,8 +3080,8 @@ static const struct LevelUpMove sLickilickyLevelUpLearnset[] = { #if P_FAMILY_KOFFING static const struct LevelUpMove sKoffingLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 4, MOVE_SMOG), LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), @@ -3156,12 +3100,11 @@ static const struct LevelUpMove sKoffingLevelUpLearnset[] = { static const struct LevelUpMove sWeezingLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), - LEVEL_UP_MOVE( 1, MOVE_HEAT_WAVE), - LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_HEAT_WAVE), LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), LEVEL_UP_MOVE(16, MOVE_ASSURANCE), LEVEL_UP_MOVE(20, MOVE_SLUDGE), @@ -3179,21 +3122,19 @@ static const struct LevelUpMove sWeezingLevelUpLearnset[] = { #if P_GALARIAN_FORMS static const struct LevelUpMove sWeezingGalarianLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_STRANGE_STEAM), LEVEL_UP_MOVE( 1, MOVE_DEFOG), LEVEL_UP_MOVE( 1, MOVE_HEAT_WAVE), - LEVEL_UP_MOVE( 1, MOVE_SMOG), - LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE( 1, MOVE_HAZE), + LEVEL_UP_MOVE( 1, MOVE_AROMATIC_MIST), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), - LEVEL_UP_MOVE( 1, MOVE_AROMATIC_MIST), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_HAZE), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), LEVEL_UP_MOVE(16, MOVE_ASSURANCE), LEVEL_UP_MOVE(20, MOVE_SLUDGE), - LEVEL_UP_MOVE(24, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(24, MOVE_FAIRY_WIND), LEVEL_UP_MOVE(28, MOVE_SELF_DESTRUCT), LEVEL_UP_MOVE(32, MOVE_SLUDGE_BOMB), LEVEL_UP_MOVE(38, MOVE_TOXIC), @@ -3228,7 +3169,6 @@ static const struct LevelUpMove sRhyhornLevelUpLearnset[] = { static const struct LevelUpMove sRhydonLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), - LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_SMACK_DOWN), @@ -3248,9 +3188,9 @@ static const struct LevelUpMove sRhydonLevelUpLearnset[] = { #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sRhyperiorLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_SMACK_DOWN), LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), LEVEL_UP_MOVE(15, MOVE_HORN_ATTACK), @@ -3402,15 +3342,15 @@ static const struct LevelUpMove sKangaskhanLevelUpLearnset[] = { #if P_FAMILY_HORSEA static const struct LevelUpMove sHorseaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 5, MOVE_SMOKESCREEN), LEVEL_UP_MOVE(10, MOVE_TWISTER), LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(30, MOVE_AGILITY), - LEVEL_UP_MOVE(35, MOVE_LASER_FOCUS), + LEVEL_UP_MOVE(35, MOVE_WATER_PULSE), LEVEL_UP_MOVE(40, MOVE_DRAGON_PULSE), LEVEL_UP_MOVE(45, MOVE_HYDRO_PUMP), LEVEL_UP_MOVE(50, MOVE_DRAGON_DANCE), @@ -3419,15 +3359,15 @@ static const struct LevelUpMove sHorseaLevelUpLearnset[] = { }; static const struct LevelUpMove sSeadraLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(30, MOVE_AGILITY), - LEVEL_UP_MOVE(37, MOVE_LASER_FOCUS), + LEVEL_UP_MOVE(37, MOVE_WATER_PULSE), LEVEL_UP_MOVE(44, MOVE_DRAGON_PULSE), LEVEL_UP_MOVE(51, MOVE_HYDRO_PUMP), LEVEL_UP_MOVE(58, MOVE_DRAGON_DANCE), @@ -3437,21 +3377,22 @@ static const struct LevelUpMove sSeadraLevelUpLearnset[] = { #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sKingdraLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), - LEVEL_UP_MOVE( 1, MOVE_YAWN), - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(30, MOVE_AGILITY), - LEVEL_UP_MOVE(37, MOVE_LASER_FOCUS), + LEVEL_UP_MOVE(37, MOVE_WATER_PULSE), LEVEL_UP_MOVE(44, MOVE_DRAGON_PULSE), LEVEL_UP_MOVE(51, MOVE_HYDRO_PUMP), LEVEL_UP_MOVE(58, MOVE_DRAGON_DANCE), LEVEL_UP_MOVE(65, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(72, MOVE_WAVE_CRASH), LEVEL_UP_END }; #endif //P_GEN_2_CROSS_EVOS @@ -3755,8 +3696,8 @@ static const struct LevelUpMove sJynxLevelUpLearnset[] = { #if P_FAMILY_ELECTABUZZ #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sElekidLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 4, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 8, MOVE_CHARGE), LEVEL_UP_MOVE(12, MOVE_SWIFT), @@ -3774,9 +3715,9 @@ static const struct LevelUpMove sElekidLevelUpLearnset[] = { #endif //P_GEN_2_CROSS_EVOS static const struct LevelUpMove sElectabuzzLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE(12, MOVE_SWIFT), LEVEL_UP_MOVE(16, MOVE_SHOCK_WAVE), @@ -3794,10 +3735,9 @@ static const struct LevelUpMove sElectabuzzLevelUpLearnset[] = { #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sElectivireLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WILD_CHARGE), - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE(12, MOVE_SWIFT), LEVEL_UP_MOVE(16, MOVE_SHOCK_WAVE), @@ -3818,8 +3758,8 @@ static const struct LevelUpMove sElectivireLevelUpLearnset[] = { #if P_FAMILY_MAGMAR #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sMagbyLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 4, MOVE_EMBER), LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), @@ -3837,10 +3777,10 @@ static const struct LevelUpMove sMagbyLevelUpLearnset[] = { #endif //P_GEN_2_CROSS_EVOS static const struct LevelUpMove sMagmarLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), LEVEL_UP_MOVE(16, MOVE_FLAME_WHEEL), LEVEL_UP_MOVE(20, MOVE_CONFUSE_RAY), @@ -3857,10 +3797,10 @@ static const struct LevelUpMove sMagmarLevelUpLearnset[] = { #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sMagmortarLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), LEVEL_UP_MOVE(16, MOVE_FLAME_WHEEL), LEVEL_UP_MOVE(20, MOVE_CONFUSE_RAY), @@ -4295,7 +4235,7 @@ static const struct LevelUpMove sPorygonLevelUpLearnset[] = { LEVEL_UP_MOVE(35, MOVE_RECOVER), LEVEL_UP_MOVE(40, MOVE_DISCHARGE), LEVEL_UP_MOVE(45, MOVE_TRI_ATTACK), - LEVEL_UP_MOVE(50, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(55, MOVE_LOCK_ON), LEVEL_UP_MOVE(60, MOVE_ZAP_CANNON), LEVEL_UP_END @@ -4303,8 +4243,8 @@ static const struct LevelUpMove sPorygonLevelUpLearnset[] = { #if P_GEN_2_CROSS_EVOS static const struct LevelUpMove sPorygon2LevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONVERSION), LEVEL_UP_MOVE( 1, MOVE_RECYCLE), LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), @@ -4315,22 +4255,21 @@ static const struct LevelUpMove sPorygon2LevelUpLearnset[] = { LEVEL_UP_MOVE(35, MOVE_RECOVER), LEVEL_UP_MOVE(40, MOVE_DISCHARGE), LEVEL_UP_MOVE(45, MOVE_TRI_ATTACK), - LEVEL_UP_MOVE(50, MOVE_MAGIC_COAT), - LEVEL_UP_MOVE(55, MOVE_LOCK_ON), - LEVEL_UP_MOVE(60, MOVE_ZAP_CANNON), - LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(50, MOVE_LOCK_ON), + LEVEL_UP_MOVE(55, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(60, MOVE_HYPER_BEAM), LEVEL_UP_END }; #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sPorygonZLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TRICK_ROOM), + LEVEL_UP_MOVE( 1, MOVE_CONVERSION), LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE( 1, MOVE_RECYCLE), + LEVEL_UP_MOVE( 1, MOVE_TRICK_ROOM), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_CONVERSION), - LEVEL_UP_MOVE( 1, MOVE_RECYCLE), - LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), LEVEL_UP_MOVE(15, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE(20, MOVE_PSYBEAM), LEVEL_UP_MOVE(25, MOVE_CONVERSION_2), @@ -4338,7 +4277,7 @@ static const struct LevelUpMove sPorygonZLevelUpLearnset[] = { LEVEL_UP_MOVE(35, MOVE_RECOVER), LEVEL_UP_MOVE(40, MOVE_DISCHARGE), LEVEL_UP_MOVE(45, MOVE_TRI_ATTACK), - LEVEL_UP_MOVE(50, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(55, MOVE_LOCK_ON), LEVEL_UP_MOVE(60, MOVE_ZAP_CANNON), LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), @@ -4453,8 +4392,8 @@ static const struct LevelUpMove sAerodactylLevelUpLearnset[] = { #if P_FAMILY_SNORLAX #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sMunchlaxLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 8, MOVE_RECYCLE), LEVEL_UP_MOVE(12, MOVE_COVET), @@ -4474,24 +4413,24 @@ static const struct LevelUpMove sMunchlaxLevelUpLearnset[] = { #endif //P_GEN_4_CROSS_EVOS static const struct LevelUpMove sSnorlaxLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_RECYCLE), - LEVEL_UP_MOVE( 1, MOVE_COVET), - LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LAST_RESORT), LEVEL_UP_MOVE( 1, MOVE_SWALLOW), LEVEL_UP_MOVE( 1, MOVE_SCREECH), - LEVEL_UP_MOVE( 1, MOVE_FLING), - LEVEL_UP_MOVE( 1, MOVE_METRONOME), - LEVEL_UP_MOVE( 1, MOVE_FLAIL), - LEVEL_UP_MOVE( 1, MOVE_LAST_RESORT), - LEVEL_UP_MOVE( 1, MOVE_LICK), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_METRONOME), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_FLING), + LEVEL_UP_MOVE( 1, MOVE_RECYCLE), + LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_COVET), LEVEL_UP_MOVE( 1, MOVE_BLOCK), LEVEL_UP_MOVE(12, MOVE_YAWN), LEVEL_UP_MOVE(16, MOVE_BITE), - LEVEL_UP_MOVE(20, MOVE_REST), LEVEL_UP_MOVE(20, MOVE_SNORE), LEVEL_UP_MOVE(20, MOVE_SLEEP_TALK), + LEVEL_UP_MOVE(20, MOVE_REST), LEVEL_UP_MOVE(24, MOVE_CRUNCH), LEVEL_UP_MOVE(28, MOVE_BODY_SLAM), LEVEL_UP_MOVE(32, MOVE_HEAVY_SLAM), @@ -4747,12 +4686,12 @@ static const struct LevelUpMove sChikoritaLevelUpLearnset[] = { LEVEL_UP_MOVE(12, MOVE_SYNTHESIS), LEVEL_UP_MOVE(17, MOVE_REFLECT), LEVEL_UP_MOVE(20, MOVE_MAGICAL_LEAF), - LEVEL_UP_MOVE(23, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(23, MOVE_LEECH_SEED), LEVEL_UP_MOVE(28, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(31, MOVE_LIGHT_SCREEN), LEVEL_UP_MOVE(34, MOVE_BODY_SLAM), LEVEL_UP_MOVE(39, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(42, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(42, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE(45, MOVE_SOLAR_BEAM), LEVEL_UP_END }; @@ -4762,42 +4701,36 @@ static const struct LevelUpMove sBayleefLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), - LEVEL_UP_MOVE( 6, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 9, MOVE_POISON_POWDER), LEVEL_UP_MOVE(12, MOVE_SYNTHESIS), LEVEL_UP_MOVE(18, MOVE_REFLECT), LEVEL_UP_MOVE(22, MOVE_MAGICAL_LEAF), - LEVEL_UP_MOVE(26, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(26, MOVE_LEECH_SEED), LEVEL_UP_MOVE(32, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(36, MOVE_LIGHT_SCREEN), LEVEL_UP_MOVE(40, MOVE_BODY_SLAM), LEVEL_UP_MOVE(46, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(50, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(50, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE(54, MOVE_SOLAR_BEAM), LEVEL_UP_END }; static const struct LevelUpMove sMeganiumLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), - LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), - LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), - LEVEL_UP_MOVE( 6, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 9, MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), LEVEL_UP_MOVE(12, MOVE_SYNTHESIS), LEVEL_UP_MOVE(18, MOVE_REFLECT), LEVEL_UP_MOVE(22, MOVE_MAGICAL_LEAF), - LEVEL_UP_MOVE(26, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(26, MOVE_LEECH_SEED), LEVEL_UP_MOVE(34, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(40, MOVE_LIGHT_SCREEN), LEVEL_UP_MOVE(46, MOVE_BODY_SLAM), LEVEL_UP_MOVE(54, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(60, MOVE_AROMATHERAPY), - LEVEL_UP_MOVE(66, MOVE_SOLAR_BEAM), - LEVEL_UP_MOVE(70, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE(60, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(65, MOVE_SOLAR_BEAM), LEVEL_UP_END }; #endif //P_FAMILY_CHIKORITA @@ -4894,18 +4827,16 @@ static const struct LevelUpMove sTotodileLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 8, MOVE_MUD_SLAP), - LEVEL_UP_MOVE(13, MOVE_BITE), - LEVEL_UP_MOVE(15, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(20, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 9, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(19, MOVE_ICE_FANG), LEVEL_UP_MOVE(22, MOVE_FLAIL), LEVEL_UP_MOVE(27, MOVE_CRUNCH), - LEVEL_UP_MOVE(29, MOVE_LOW_KICK), - LEVEL_UP_MOVE(34, MOVE_SLASH), - LEVEL_UP_MOVE(36, MOVE_SCREECH), - LEVEL_UP_MOVE(41, MOVE_THRASH), - LEVEL_UP_MOVE(43, MOVE_AQUA_TAIL), - LEVEL_UP_MOVE(48, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(30, MOVE_SLASH), + LEVEL_UP_MOVE(33, MOVE_SCREECH), + LEVEL_UP_MOVE(37, MOVE_THRASH), + LEVEL_UP_MOVE(41, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(45, MOVE_SUPERPOWER), LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), LEVEL_UP_END }; @@ -4914,43 +4845,36 @@ static const struct LevelUpMove sCroconawLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 8, MOVE_MUD_SLAP), LEVEL_UP_MOVE(13, MOVE_BITE), LEVEL_UP_MOVE(15, MOVE_SCARY_FACE), LEVEL_UP_MOVE(21, MOVE_ICE_FANG), LEVEL_UP_MOVE(24, MOVE_FLAIL), LEVEL_UP_MOVE(30, MOVE_CRUNCH), - LEVEL_UP_MOVE(33, MOVE_LOW_KICK), - LEVEL_UP_MOVE(39, MOVE_SLASH), - LEVEL_UP_MOVE(42, MOVE_SCREECH), - LEVEL_UP_MOVE(48, MOVE_THRASH), - LEVEL_UP_MOVE(51, MOVE_AQUA_TAIL), - LEVEL_UP_MOVE(57, MOVE_SUPERPOWER), - LEVEL_UP_MOVE(60, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(34, MOVE_SLASH), + LEVEL_UP_MOVE(37, MOVE_SCREECH), + LEVEL_UP_MOVE(42, MOVE_THRASH), + LEVEL_UP_MOVE(47, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(50, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), LEVEL_UP_END }; static const struct LevelUpMove sFeraligatrLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_AGILITY), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), - LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 8, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_AGILITY), LEVEL_UP_MOVE(13, MOVE_BITE), LEVEL_UP_MOVE(15, MOVE_SCARY_FACE), LEVEL_UP_MOVE(21, MOVE_ICE_FANG), LEVEL_UP_MOVE(24, MOVE_FLAIL), LEVEL_UP_MOVE(32, MOVE_CRUNCH), - LEVEL_UP_MOVE(37, MOVE_LOW_KICK), - LEVEL_UP_MOVE(45, MOVE_SLASH), - LEVEL_UP_MOVE(50, MOVE_SCREECH), - LEVEL_UP_MOVE(58, MOVE_THRASH), - LEVEL_UP_MOVE(63, MOVE_AQUA_TAIL), - LEVEL_UP_MOVE(71, MOVE_SUPERPOWER), - LEVEL_UP_MOVE(76, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(37, MOVE_SLASH), + LEVEL_UP_MOVE(44, MOVE_SCREECH), + LEVEL_UP_MOVE(51, MOVE_THRASH), + LEVEL_UP_MOVE(59, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(65, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(70, MOVE_HYDRO_PUMP), LEVEL_UP_END }; #endif //P_FAMILY_TOTODILE @@ -4958,7 +4882,6 @@ static const struct LevelUpMove sFeraligatrLevelUpLearnset[] = { #if P_FAMILY_SENTRET static const struct LevelUpMove sSentretLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), @@ -4969,21 +4892,17 @@ static const struct LevelUpMove sSentretLevelUpLearnset[] = { LEVEL_UP_MOVE(31, MOVE_SUCKER_PUNCH), LEVEL_UP_MOVE(36, MOVE_AMNESIA), LEVEL_UP_MOVE(39, MOVE_BATON_PASS), - LEVEL_UP_MOVE(42, MOVE_REVERSAL), + LEVEL_UP_MOVE(42, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(47, MOVE_HYPER_VOICE), LEVEL_UP_END }; static const struct LevelUpMove sFurretLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AGILITY), - LEVEL_UP_MOVE( 1, MOVE_AGILITY), - LEVEL_UP_MOVE( 1, MOVE_COIL), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_COIL), LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(17, MOVE_HELPING_HAND), LEVEL_UP_MOVE(21, MOVE_FOLLOW_ME), @@ -4992,7 +4911,7 @@ static const struct LevelUpMove sFurretLevelUpLearnset[] = { LEVEL_UP_MOVE(36, MOVE_SUCKER_PUNCH), LEVEL_UP_MOVE(42, MOVE_AMNESIA), LEVEL_UP_MOVE(46, MOVE_BATON_PASS), - LEVEL_UP_MOVE(50, MOVE_REVERSAL), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(56, MOVE_HYPER_VOICE), LEVEL_UP_END }; @@ -5000,13 +4919,13 @@ static const struct LevelUpMove sFurretLevelUpLearnset[] = { #if P_FAMILY_HOOTHOOT static const struct LevelUpMove sHoothootLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 3, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_ECHOED_VOICE), LEVEL_UP_MOVE( 9, MOVE_CONFUSION), LEVEL_UP_MOVE(12, MOVE_REFLECT), - LEVEL_UP_MOVE(15, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(15, MOVE_DEFOG), LEVEL_UP_MOVE(18, MOVE_AIR_SLASH), LEVEL_UP_MOVE(21, MOVE_EXTRASENSORY), LEVEL_UP_MOVE(24, MOVE_TAKE_DOWN), @@ -5019,14 +4938,14 @@ static const struct LevelUpMove sHoothootLevelUpLearnset[] = { }; static const struct LevelUpMove sNoctowlLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_PECK), - LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), LEVEL_UP_MOVE( 9, MOVE_CONFUSION), LEVEL_UP_MOVE(12, MOVE_REFLECT), - LEVEL_UP_MOVE(15, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(15, MOVE_DEFOG), LEVEL_UP_MOVE(18, MOVE_AIR_SLASH), LEVEL_UP_MOVE(23, MOVE_EXTRASENSORY), LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), @@ -5090,50 +5009,45 @@ static const struct LevelUpMove sSpinarakLevelUpLearnset[] = { LEVEL_UP_MOVE(19, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE(22, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(26, MOVE_SUCKER_PUNCH), - LEVEL_UP_MOVE(29, MOVE_LEECH_LIFE), - LEVEL_UP_MOVE(33, MOVE_AGILITY), - LEVEL_UP_MOVE(36, MOVE_PIN_MISSILE), - LEVEL_UP_MOVE(40, MOVE_PSYCHIC), - LEVEL_UP_MOVE(43, MOVE_POISON_JAB), - LEVEL_UP_MOVE(47, MOVE_CROSS_POISON), - LEVEL_UP_MOVE(50, MOVE_STICKY_WEB), - LEVEL_UP_MOVE(54, MOVE_TOXIC_THREAD), + LEVEL_UP_MOVE(29, MOVE_AGILITY), + LEVEL_UP_MOVE(33, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(40, MOVE_POISON_JAB), + LEVEL_UP_MOVE(44, MOVE_CROSS_POISON), + LEVEL_UP_MOVE(47, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(51, MOVE_TOXIC_THREAD), LEVEL_UP_END }; static const struct LevelUpMove sAriadosLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), - LEVEL_UP_MOVE( 1, MOVE_FELL_STINGER), - LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), - LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_FELL_STINGER), LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 5, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 8, MOVE_INFESTATION), LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), LEVEL_UP_MOVE(15, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(19, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE(23, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(28, MOVE_SUCKER_PUNCH), - LEVEL_UP_MOVE(32, MOVE_LEECH_LIFE), - LEVEL_UP_MOVE(37, MOVE_AGILITY), - LEVEL_UP_MOVE(41, MOVE_PIN_MISSILE), - LEVEL_UP_MOVE(46, MOVE_PSYCHIC), - LEVEL_UP_MOVE(50, MOVE_POISON_JAB), - LEVEL_UP_MOVE(55, MOVE_CROSS_POISON), - LEVEL_UP_MOVE(58, MOVE_STICKY_WEB), - LEVEL_UP_MOVE(63, MOVE_TOXIC_THREAD), + LEVEL_UP_MOVE(31, MOVE_AGILITY), + LEVEL_UP_MOVE(35, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(41, MOVE_PSYCHIC), + LEVEL_UP_MOVE(46, MOVE_POISON_JAB), + LEVEL_UP_MOVE(50, MOVE_CROSS_POISON), + LEVEL_UP_MOVE(54, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(59, MOVE_TOXIC_THREAD), LEVEL_UP_END }; #endif //P_FAMILY_SPINARAK #if P_FAMILY_CHINCHOU static const struct LevelUpMove sChinchouLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 4, MOVE_ELECTRO_BALL), LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(12, MOVE_BUBBLE_BEAM), @@ -5150,16 +5064,13 @@ static const struct LevelUpMove sChinchouLevelUpLearnset[] = { static const struct LevelUpMove sLanturnLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SWALLOW), - LEVEL_UP_MOVE( 0, MOVE_STOCKPILE), LEVEL_UP_MOVE( 0, MOVE_SPIT_UP), - LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), - LEVEL_UP_MOVE( 1, MOVE_SWALLOW), - LEVEL_UP_MOVE( 1, MOVE_SPIT_UP), + LEVEL_UP_MOVE( 0, MOVE_STOCKPILE), LEVEL_UP_MOVE( 1, MOVE_EERIE_IMPULSE), - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), - LEVEL_UP_MOVE( 1, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_ELECTRO_BALL), LEVEL_UP_MOVE(12, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(16, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE(20, MOVE_SPARK), @@ -5534,13 +5445,10 @@ static const struct LevelUpMove sAipomLevelUpLearnset[] = { #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sAmbipomLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_DUAL_CHOP), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE( 8, MOVE_ASTONISH), LEVEL_UP_MOVE(11, MOVE_BATON_PASS), LEVEL_UP_MOVE(15, MOVE_TICKLE), LEVEL_UP_MOVE(18, MOVE_FURY_SWIPES), @@ -5599,14 +5507,13 @@ static const struct LevelUpMove sSunfloraLevelUpLearnset[] = { #if P_FAMILY_YANMA static const struct LevelUpMove sYanmaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 6, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(14, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(14, MOVE_AIR_CUTTER), LEVEL_UP_MOVE(17, MOVE_DETECT), LEVEL_UP_MOVE(22, MOVE_SUPERSONIC), LEVEL_UP_MOVE(27, MOVE_UPROAR), - LEVEL_UP_MOVE(30, MOVE_STRING_SHOT), + LEVEL_UP_MOVE(30, MOVE_BUG_BITE), LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE(38, MOVE_HYPNOSIS), LEVEL_UP_MOVE(43, MOVE_WING_ATTACK), @@ -5619,30 +5526,22 @@ static const struct LevelUpMove sYanmaLevelUpLearnset[] = { #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sYanmegaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_BUG_BUZZ), - LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), - LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), - LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_GUST), - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), - LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), - LEVEL_UP_MOVE( 6, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(14, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 1, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(14, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(17, MOVE_DETECT), LEVEL_UP_MOVE(22, MOVE_SUPERSONIC), LEVEL_UP_MOVE(27, MOVE_UPROAR), - LEVEL_UP_MOVE(30, MOVE_STRING_SHOT), + LEVEL_UP_MOVE(30, MOVE_BUG_BITE), LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE(38, MOVE_FEINT), LEVEL_UP_MOVE(43, MOVE_SLASH), LEVEL_UP_MOVE(46, MOVE_SCREECH), LEVEL_UP_MOVE(49, MOVE_U_TURN), - LEVEL_UP_MOVE(54, MOVE_AIR_SLASH), - LEVEL_UP_MOVE(57, MOVE_BUG_BUZZ), LEVEL_UP_END }; #endif //P_GEN_4_CROSS_EVOS @@ -5963,45 +5862,35 @@ static const struct LevelUpMove sGligarLevelUpLearnset[] = { LEVEL_UP_MOVE(10, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(16, MOVE_FURY_CUTTER), - LEVEL_UP_MOVE(19, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(19, MOVE_POISON_TAIL), LEVEL_UP_MOVE(22, MOVE_ACROBATICS), LEVEL_UP_MOVE(27, MOVE_SLASH), LEVEL_UP_MOVE(30, MOVE_U_TURN), LEVEL_UP_MOVE(35, MOVE_SCREECH), LEVEL_UP_MOVE(40, MOVE_X_SCISSOR), - LEVEL_UP_MOVE(45, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(45, MOVE_CRABHAMMER), LEVEL_UP_MOVE(50, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(55, MOVE_GUILLOTINE), LEVEL_UP_END }; #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sGliscorLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_GUILLOTINE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_POISON_JAB), LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), - LEVEL_UP_MOVE( 1, MOVE_POISON_JAB), - LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE( 1, MOVE_POISON_STING), - LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), - LEVEL_UP_MOVE( 1, MOVE_SLASH), - LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE( 7, MOVE_HARDEN), - LEVEL_UP_MOVE(10, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(16, MOVE_FURY_CUTTER), - LEVEL_UP_MOVE(19, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(22, MOVE_ACROBATICS), LEVEL_UP_MOVE(27, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE(30, MOVE_U_TURN), LEVEL_UP_MOVE(35, MOVE_SCREECH), LEVEL_UP_MOVE(40, MOVE_X_SCISSOR), - LEVEL_UP_MOVE(45, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(45, MOVE_CRABHAMMER), LEVEL_UP_MOVE(50, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(55, MOVE_GUILLOTINE), LEVEL_UP_END }; #endif //P_GEN_4_CROSS_EVOS @@ -6009,18 +5898,19 @@ static const struct LevelUpMove sGliscorLevelUpLearnset[] = { #if P_FAMILY_SNUBBULL static const struct LevelUpMove sSnubbullLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 7, MOVE_BITE), LEVEL_UP_MOVE(13, MOVE_LICK), LEVEL_UP_MOVE(19, MOVE_HEADBUTT), LEVEL_UP_MOVE(25, MOVE_ROAR), - LEVEL_UP_MOVE(31, MOVE_TAUNT), + LEVEL_UP_MOVE(31, MOVE_LAST_RESORT), LEVEL_UP_MOVE(37, MOVE_PLAY_ROUGH), LEVEL_UP_MOVE(43, MOVE_PAYBACK), LEVEL_UP_MOVE(49, MOVE_CRUNCH), @@ -6029,22 +5919,22 @@ static const struct LevelUpMove sSnubbullLevelUpLearnset[] = { static const struct LevelUpMove sGranbullLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_OUTRAGE), - LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_BITE), LEVEL_UP_MOVE(13, MOVE_LICK), LEVEL_UP_MOVE(19, MOVE_HEADBUTT), LEVEL_UP_MOVE(27, MOVE_ROAR), - LEVEL_UP_MOVE(35, MOVE_TAUNT), + LEVEL_UP_MOVE(35, MOVE_LAST_RESORT), LEVEL_UP_MOVE(43, MOVE_PLAY_ROUGH), LEVEL_UP_MOVE(51, MOVE_PAYBACK), LEVEL_UP_MOVE(59, MOVE_CRUNCH), - LEVEL_UP_MOVE(67, MOVE_OUTRAGE), LEVEL_UP_END }; #endif //P_FAMILY_SNUBBULL @@ -6220,10 +6110,10 @@ static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { static const struct LevelUpMove sSneaslerLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DIRE_CLAW), - LEVEL_UP_MOVE( 1, MOVE_FLING), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_FLING), LEVEL_UP_MOVE( 6, MOVE_TAUNT), LEVEL_UP_MOVE(12, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(18, MOVE_METAL_CLAW), @@ -6304,6 +6194,7 @@ static const struct LevelUpMove sUrsalunaLevelUpLearnset[] = { }; static const struct LevelUpMove sUrsalunaBloodmoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_LICK), @@ -6327,14 +6218,14 @@ static const struct LevelUpMove sUrsalunaBloodmoonLevelUpLearnset[] = { #if P_FAMILY_SLUGMA static const struct LevelUpMove sSlugmaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 6, MOVE_EMBER), LEVEL_UP_MOVE( 8, MOVE_ROCK_THROW), LEVEL_UP_MOVE(13, MOVE_HARDEN), - LEVEL_UP_MOVE(15, MOVE_INCINERATE), LEVEL_UP_MOVE(20, MOVE_CLEAR_SMOG), LEVEL_UP_MOVE(22, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(27, MOVE_INCINERATE), LEVEL_UP_MOVE(29, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE(34, MOVE_LAVA_PLUME), LEVEL_UP_MOVE(36, MOVE_AMNESIA), @@ -6347,25 +6238,21 @@ static const struct LevelUpMove sSlugmaLevelUpLearnset[] = { static const struct LevelUpMove sMagcargoLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHELL_SMASH), - LEVEL_UP_MOVE( 1, MOVE_SHELL_SMASH), - LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), - LEVEL_UP_MOVE( 1, MOVE_YAWN), - LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), - LEVEL_UP_MOVE( 6, MOVE_EMBER), - LEVEL_UP_MOVE( 8, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), LEVEL_UP_MOVE(13, MOVE_HARDEN), - LEVEL_UP_MOVE(15, MOVE_INCINERATE), LEVEL_UP_MOVE(20, MOVE_CLEAR_SMOG), LEVEL_UP_MOVE(22, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(27, MOVE_INCINERATE), LEVEL_UP_MOVE(29, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE(34, MOVE_LAVA_PLUME), LEVEL_UP_MOVE(36, MOVE_AMNESIA), LEVEL_UP_MOVE(43, MOVE_BODY_SLAM), LEVEL_UP_MOVE(47, MOVE_RECOVER), LEVEL_UP_MOVE(54, MOVE_FLAMETHROWER), - LEVEL_UP_MOVE(58, MOVE_EARTH_POWER), LEVEL_UP_END }; #endif //P_FAMILY_SLUGMA @@ -6389,12 +6276,11 @@ static const struct LevelUpMove sSwinubLevelUpLearnset[] = { static const struct LevelUpMove sPiloswineLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), - LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE(15, MOVE_ICE_SHARD), LEVEL_UP_MOVE(20, MOVE_MIST), LEVEL_UP_MOVE(25, MOVE_ENDURE), @@ -6410,13 +6296,12 @@ static const struct LevelUpMove sPiloswineLevelUpLearnset[] = { #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sMamoswineLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), - LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), - LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), LEVEL_UP_MOVE(15, MOVE_ICE_SHARD), LEVEL_UP_MOVE(20, MOVE_MIST), LEVEL_UP_MOVE(25, MOVE_ENDURE), @@ -6581,8 +6466,8 @@ static const struct LevelUpMove sMantineLevelUpLearnset[] = { #if P_FAMILY_SKARMORY static const struct LevelUpMove sSkarmoryLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 8, MOVE_FURY_ATTACK), LEVEL_UP_MOVE(12, MOVE_METAL_CLAW), @@ -6590,7 +6475,7 @@ static const struct LevelUpMove sSkarmoryLevelUpLearnset[] = { LEVEL_UP_MOVE(20, MOVE_WING_ATTACK), LEVEL_UP_MOVE(24, MOVE_SLASH), LEVEL_UP_MOVE(28, MOVE_STEEL_WING), - LEVEL_UP_MOVE(32, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(32, MOVE_PAYBACK), LEVEL_UP_MOVE(36, MOVE_DRILL_PECK), LEVEL_UP_MOVE(40, MOVE_METAL_SOUND), LEVEL_UP_MOVE(44, MOVE_SPIKES), @@ -6723,6 +6608,7 @@ static const struct LevelUpMove sWyrdeerLevelUpLearnset[] = { #if P_FAMILY_SMEARGLE static const struct LevelUpMove sSmeargleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SKETCH), LEVEL_UP_MOVE(11, MOVE_SKETCH), LEVEL_UP_MOVE(21, MOVE_SKETCH), LEVEL_UP_MOVE(31, MOVE_SKETCH), @@ -6757,10 +6643,10 @@ static const struct LevelUpMove sMiltankLevelUpLearnset[] = { #if P_FAMILY_RAIKOU static const struct LevelUpMove sRaikouLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_EXTREME_SPEED), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_EXTREME_SPEED), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_SPARK), LEVEL_UP_MOVE(12, MOVE_BITE), @@ -6783,9 +6669,9 @@ static const struct LevelUpMove sRaikouLevelUpLearnset[] = { static const struct LevelUpMove sEnteiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SACRED_FIRE), LEVEL_UP_MOVE( 1, MOVE_EXTREME_SPEED), - LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), LEVEL_UP_MOVE( 6, MOVE_FLAME_WHEEL), LEVEL_UP_MOVE(12, MOVE_BITE), @@ -6806,12 +6692,12 @@ static const struct LevelUpMove sEnteiLevelUpLearnset[] = { #if P_FAMILY_SUICUNE static const struct LevelUpMove sSuicuneLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_EXTREME_SPEED), - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 6, MOVE_WATER_PULSE), LEVEL_UP_MOVE(12, MOVE_BITE), LEVEL_UP_MOVE(18, MOVE_CALM_MIND), @@ -6903,8 +6789,8 @@ static const struct LevelUpMove sLugiaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_DRAGON_RUSH), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), - LEVEL_UP_MOVE( 1, MOVE_WEATHER_BALL), LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_WEATHER_BALL), LEVEL_UP_MOVE( 9, MOVE_MIST), LEVEL_UP_MOVE(18, MOVE_SAFEGUARD), LEVEL_UP_MOVE(27, MOVE_CALM_MIND), @@ -6923,8 +6809,8 @@ static const struct LevelUpMove sLugiaLevelUpLearnset[] = { static const struct LevelUpMove sHoOhLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), - LEVEL_UP_MOVE( 1, MOVE_WEATHER_BALL), LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_WEATHER_BALL), LEVEL_UP_MOVE( 9, MOVE_LIFE_DEW), LEVEL_UP_MOVE(18, MOVE_SAFEGUARD), LEVEL_UP_MOVE(27, MOVE_CALM_MIND), @@ -6935,7 +6821,7 @@ static const struct LevelUpMove sHoOhLevelUpLearnset[] = { LEVEL_UP_MOVE(72, MOVE_FIRE_BLAST), LEVEL_UP_MOVE(81, MOVE_FUTURE_SIGHT), LEVEL_UP_MOVE(90, MOVE_SKY_ATTACK), - LEVEL_UP_MOVE(99, MOVE_BURN_UP), + LEVEL_UP_MOVE(99, MOVE_OVERHEAT), LEVEL_UP_END }; #endif //P_FAMILY_HO_OH @@ -6979,14 +6865,14 @@ static const struct LevelUpMove sTreeckoLevelUpLearnset[] = { }; static const struct LevelUpMove sGrovyleLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_X_SCISSOR), LEVEL_UP_MOVE( 1, MOVE_ENERGY_BALL), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 9, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(12, MOVE_DETECT), LEVEL_UP_MOVE(15, MOVE_QUICK_GUARD), @@ -7002,16 +6888,16 @@ static const struct LevelUpMove sGrovyleLevelUpLearnset[] = { }; static const struct LevelUpMove sSceptileLevelUpLearnset[] = { - LEVEL_UP_MOVE( 0, MOVE_DUAL_CHOP), - LEVEL_UP_MOVE( 1, MOVE_DUAL_CHOP), - LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 0, MOVE_LEAF_BLADE), LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_X_SCISSOR), LEVEL_UP_MOVE( 1, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE( 1, MOVE_SHED_TAIL), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 5, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(12, MOVE_DETECT), LEVEL_UP_MOVE(15, MOVE_QUICK_GUARD), @@ -7019,10 +6905,9 @@ static const struct LevelUpMove sSceptileLevelUpLearnset[] = { LEVEL_UP_MOVE(25, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE(30, MOVE_SLAM), LEVEL_UP_MOVE(35, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(42, MOVE_LEAF_BLADE), - LEVEL_UP_MOVE(49, MOVE_SCREECH), - LEVEL_UP_MOVE(56, MOVE_ENDEAVOR), - LEVEL_UP_MOVE(63, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(42, MOVE_SCREECH), + LEVEL_UP_MOVE(49, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(56, MOVE_LEAF_STORM), LEVEL_UP_END }; #endif //P_FAMILY_TREECKO @@ -7049,7 +6934,6 @@ static const struct LevelUpMove sTorchicLevelUpLearnset[] = { static const struct LevelUpMove sCombuskenLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_KICK), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), LEVEL_UP_MOVE( 1, MOVE_FEATHER_DANCE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), @@ -7071,15 +6955,14 @@ static const struct LevelUpMove sCombuskenLevelUpLearnset[] = { }; static const struct LevelUpMove sBlazikenLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 0, MOVE_BLAZE_KICK), LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), LEVEL_UP_MOVE( 1, MOVE_FEATHER_DANCE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 9, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE(12, MOVE_DETECT), @@ -7088,10 +6971,10 @@ static const struct LevelUpMove sBlazikenLevelUpLearnset[] = { LEVEL_UP_MOVE(25, MOVE_SLASH), LEVEL_UP_MOVE(30, MOVE_BOUNCE), LEVEL_UP_MOVE(35, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(42, MOVE_BLAZE_KICK), - LEVEL_UP_MOVE(49, MOVE_BULK_UP), - LEVEL_UP_MOVE(56, MOVE_REVERSAL), - LEVEL_UP_MOVE(63, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(42, MOVE_BULK_UP), + LEVEL_UP_MOVE(49, MOVE_REVERSAL), + LEVEL_UP_MOVE(56, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(63, MOVE_BRAVE_BIRD), LEVEL_UP_END }; #endif //P_FAMILY_TORCHIC @@ -7118,13 +7001,10 @@ static const struct LevelUpMove sMudkipLevelUpLearnset[] = { static const struct LevelUpMove sMarshtompLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_MUD_SHOT), - LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), - LEVEL_UP_MOVE( 1, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE( 1, MOVE_SURF), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 9, MOVE_ROCK_THROW), LEVEL_UP_MOVE(12, MOVE_PROTECT), LEVEL_UP_MOVE(15, MOVE_SUPERSONIC), @@ -7140,14 +7020,14 @@ static const struct LevelUpMove sMarshtompLevelUpLearnset[] = { }; static const struct LevelUpMove sSwampertLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), - LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), - LEVEL_UP_MOVE( 1, MOVE_EARTHQUAKE), LEVEL_UP_MOVE( 1, MOVE_SURF), + LEVEL_UP_MOVE( 1, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 9, MOVE_ROCK_THROW), LEVEL_UP_MOVE(12, MOVE_PROTECT), LEVEL_UP_MOVE(15, MOVE_SUPERSONIC), @@ -7169,44 +7049,37 @@ static const struct LevelUpMove sPoochyenaLevelUpLearnset[] = { LEVEL_UP_MOVE( 4, MOVE_HOWL), LEVEL_UP_MOVE( 7, MOVE_SAND_ATTACK), LEVEL_UP_MOVE(10, MOVE_BITE), - LEVEL_UP_MOVE(13, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(13, MOVE_LEER), LEVEL_UP_MOVE(16, MOVE_ROAR), LEVEL_UP_MOVE(19, MOVE_SWAGGER), LEVEL_UP_MOVE(22, MOVE_ASSURANCE), LEVEL_UP_MOVE(25, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(28, MOVE_HEADBUTT), - LEVEL_UP_MOVE(31, MOVE_TAUNT), - LEVEL_UP_MOVE(34, MOVE_CRUNCH), - LEVEL_UP_MOVE(37, MOVE_YAWN), - LEVEL_UP_MOVE(40, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(43, MOVE_SUCKER_PUNCH), - LEVEL_UP_MOVE(46, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(28, MOVE_TAUNT), + LEVEL_UP_MOVE(31, MOVE_CRUNCH), + LEVEL_UP_MOVE(34, MOVE_YAWN), + LEVEL_UP_MOVE(36, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(40, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(44, MOVE_PLAY_ROUGH), LEVEL_UP_END }; static const struct LevelUpMove sMightyenaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SNARL), - LEVEL_UP_MOVE( 1, MOVE_SNARL), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_THIEF), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_HOWL), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_BITE), - LEVEL_UP_MOVE( 4, MOVE_HOWL), - LEVEL_UP_MOVE( 7, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(10, MOVE_BITE), - LEVEL_UP_MOVE(13, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE(13, MOVE_HOWL), + LEVEL_UP_MOVE(13, MOVE_LEER), LEVEL_UP_MOVE(16, MOVE_ROAR), LEVEL_UP_MOVE(20, MOVE_SWAGGER), LEVEL_UP_MOVE(24, MOVE_ASSURANCE), LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(32, MOVE_HEADBUTT), LEVEL_UP_MOVE(36, MOVE_TAUNT), - LEVEL_UP_MOVE(40, MOVE_CRUNCH), LEVEL_UP_MOVE(44, MOVE_YAWN), LEVEL_UP_MOVE(48, MOVE_TAKE_DOWN), LEVEL_UP_MOVE(52, MOVE_SUCKER_PUNCH), @@ -7397,15 +7270,15 @@ static const struct LevelUpMove sDustoxLevelUpLearnset[] = { #if P_FAMILY_LOTAD static const struct LevelUpMove sLotadLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 3, MOVE_ABSORB), LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), LEVEL_UP_MOVE( 9, MOVE_MIST), LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(16, MOVE_FLAIL), LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(24, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(24, MOVE_LEECH_SEED), LEVEL_UP_MOVE(28, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE(33, MOVE_RAIN_DANCE), LEVEL_UP_MOVE(38, MOVE_ZEN_HEADBUTT), @@ -7414,21 +7287,20 @@ static const struct LevelUpMove sLotadLevelUpLearnset[] = { }; static const struct LevelUpMove sLombreLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_TEETER_DANCE), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_FLAIL), - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 9, MOVE_MIST), LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(18, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(24, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(30, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(30, MOVE_LEECH_SEED), LEVEL_UP_MOVE(36, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE(43, MOVE_RAIN_DANCE), LEVEL_UP_MOVE(50, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(57, MOVE_ENERGY_BALL), LEVEL_UP_MOVE(64, MOVE_HYDRO_PUMP), @@ -7436,24 +7308,22 @@ static const struct LevelUpMove sLombreLevelUpLearnset[] = { }; static const struct LevelUpMove sLudicoloLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TEETER_DANCE), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), - LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE( 1, MOVE_NATURE_POWER), - LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), - LEVEL_UP_MOVE( 1, MOVE_ZEN_HEADBUTT), - LEVEL_UP_MOVE( 1, MOVE_ENERGY_BALL), - LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE( 1, MOVE_TEETER_DANCE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE( 1, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), LEVEL_UP_END }; #endif //P_FAMILY_LOTAD @@ -7468,7 +7338,7 @@ static const struct LevelUpMove sSeedotLevelUpLearnset[] = { LEVEL_UP_MOVE(12, MOVE_ROLLOUT), LEVEL_UP_MOVE(15, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(18, MOVE_PAYBACK), - LEVEL_UP_MOVE(21, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(21, MOVE_HEADBUTT), LEVEL_UP_MOVE(24, MOVE_SUNNY_DAY), LEVEL_UP_MOVE(27, MOVE_SYNTHESIS), LEVEL_UP_MOVE(30, MOVE_SUCKER_PUNCH), @@ -7478,22 +7348,20 @@ static const struct LevelUpMove sSeedotLevelUpLearnset[] = { static const struct LevelUpMove sNuzleafLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 1, MOVE_AIR_CUTTER), - LEVEL_UP_MOVE( 1, MOVE_TORMENT), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), - LEVEL_UP_MOVE( 1, MOVE_SWAGGER), - LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), - LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_TORMENT), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 9, MOVE_GROWTH), LEVEL_UP_MOVE(12, MOVE_ROLLOUT), LEVEL_UP_MOVE(18, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(24, MOVE_PAYBACK), - LEVEL_UP_MOVE(30, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(30, MOVE_SYNTHESIS), LEVEL_UP_MOVE(36, MOVE_SUNNY_DAY), LEVEL_UP_MOVE(43, MOVE_EXTRASENSORY), LEVEL_UP_MOVE(50, MOVE_SUCKER_PUNCH), @@ -7502,30 +7370,28 @@ static const struct LevelUpMove sNuzleafLevelUpLearnset[] = { }; static const struct LevelUpMove sShiftryLevelUpLearnset[] = { - LEVEL_UP_MOVE( 0, MOVE_LEAF_TORNADO), - LEVEL_UP_MOVE( 1, MOVE_LEAF_TORNADO), - LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 1, MOVE_AIR_CUTTER), - LEVEL_UP_MOVE( 1, MOVE_TORMENT), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), - LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 0, MOVE_LEAF_BLADE), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), - LEVEL_UP_MOVE( 1, MOVE_HURRICANE), - LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), - LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), - LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_PAYBACK), - LEVEL_UP_MOVE( 1, MOVE_NATURE_POWER), - LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_BEAT_UP), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_TORMENT), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_LEAF_BLADE), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_PAYBACK), + LEVEL_UP_MOVE( 1, MOVE_HURRICANE), LEVEL_UP_END }; #endif //P_FAMILY_SEEDOT @@ -7767,6 +7633,7 @@ static const struct LevelUpMove sShroomishLevelUpLearnset[] = { static const struct LevelUpMove sBreloomLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_SPORE), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -8024,27 +7891,21 @@ static const struct LevelUpMove sNosepassLevelUpLearnset[] = { LEVEL_UP_MOVE(34, MOVE_SANDSTORM), LEVEL_UP_MOVE(37, MOVE_EARTH_POWER), LEVEL_UP_MOVE(40, MOVE_STONE_EDGE), - LEVEL_UP_MOVE(43, MOVE_LOCK_ON), LEVEL_UP_MOVE(43, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(43, MOVE_LOCK_ON), LEVEL_UP_END }; #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sProbopassLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), LEVEL_UP_MOVE( 1, MOVE_GRAVITY), + LEVEL_UP_MOVE( 1, MOVE_BLOCK), LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE( 1, MOVE_BLOCK), - LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), - LEVEL_UP_MOVE( 4, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE( 7, MOVE_BLOCK), - LEVEL_UP_MOVE(10, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(13, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(16, MOVE_REST), LEVEL_UP_MOVE(19, MOVE_SPARK), @@ -8055,9 +7916,8 @@ static const struct LevelUpMove sProbopassLevelUpLearnset[] = { LEVEL_UP_MOVE(34, MOVE_SANDSTORM), LEVEL_UP_MOVE(37, MOVE_EARTH_POWER), LEVEL_UP_MOVE(40, MOVE_STONE_EDGE), - LEVEL_UP_MOVE(43, MOVE_LOCK_ON), LEVEL_UP_MOVE(43, MOVE_ZAP_CANNON), - LEVEL_UP_MOVE(50, MOVE_BODY_PRESS), + LEVEL_UP_MOVE(43, MOVE_LOCK_ON), LEVEL_UP_END }; #endif //P_GEN_4_CROSS_EVOS @@ -8303,19 +8163,18 @@ static const struct LevelUpMove sManectricLevelUpLearnset[] = { #if P_FAMILY_PLUSLE static const struct LevelUpMove sPlusleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 4, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 7, MOVE_SPARK), LEVEL_UP_MOVE(10, MOVE_ENCORE), - LEVEL_UP_MOVE(13, MOVE_SKILL_SWAP), + LEVEL_UP_MOVE(13, MOVE_SWITCHEROO), LEVEL_UP_MOVE(16, MOVE_SWIFT), LEVEL_UP_MOVE(19, MOVE_ELECTRO_BALL), LEVEL_UP_MOVE(22, MOVE_COPYCAT), - LEVEL_UP_MOVE(25, MOVE_CHARM), - LEVEL_UP_MOVE(28, MOVE_CHARGE), + LEVEL_UP_MOVE(26, MOVE_CHARGE), LEVEL_UP_MOVE(31, MOVE_DISCHARGE), LEVEL_UP_MOVE(34, MOVE_BATON_PASS), LEVEL_UP_MOVE(37, MOVE_AGILITY), @@ -8330,10 +8189,10 @@ static const struct LevelUpMove sPlusleLevelUpLearnset[] = { #if P_FAMILY_MINUN static const struct LevelUpMove sMinunLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 4, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 7, MOVE_SPARK), LEVEL_UP_MOVE(10, MOVE_ENCORE), @@ -8341,8 +8200,7 @@ static const struct LevelUpMove sMinunLevelUpLearnset[] = { LEVEL_UP_MOVE(16, MOVE_SWIFT), LEVEL_UP_MOVE(19, MOVE_ELECTRO_BALL), LEVEL_UP_MOVE(22, MOVE_COPYCAT), - LEVEL_UP_MOVE(25, MOVE_FAKE_TEARS), - LEVEL_UP_MOVE(28, MOVE_CHARGE), + LEVEL_UP_MOVE(26, MOVE_CHARGE), LEVEL_UP_MOVE(31, MOVE_DISCHARGE), LEVEL_UP_MOVE(34, MOVE_BATON_PASS), LEVEL_UP_MOVE(37, MOVE_AGILITY), @@ -8356,7 +8214,6 @@ static const struct LevelUpMove sMinunLevelUpLearnset[] = { #if P_FAMILY_VOLBEAT_ILLUMISE static const struct LevelUpMove sVolbeatLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 8, MOVE_CONFUSE_RAY), @@ -8364,20 +8221,19 @@ static const struct LevelUpMove sVolbeatLevelUpLearnset[] = { LEVEL_UP_MOVE(15, MOVE_STRUGGLE_BUG), LEVEL_UP_MOVE(19, MOVE_MOONLIGHT), LEVEL_UP_MOVE(22, MOVE_TAIL_GLOW), - LEVEL_UP_MOVE(26, MOVE_ENCORE), - LEVEL_UP_MOVE(29, MOVE_PROTECT), - LEVEL_UP_MOVE(33, MOVE_ZEN_HEADBUTT), - LEVEL_UP_MOVE(36, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(40, MOVE_BUG_BUZZ), - LEVEL_UP_MOVE(43, MOVE_PLAY_ROUGH), - LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), - LEVEL_UP_MOVE(50, MOVE_INFESTATION), + LEVEL_UP_MOVE(26, MOVE_PROTECT), + LEVEL_UP_MOVE(29, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(33, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(36, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(40, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(43, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(47, MOVE_INFESTATION), LEVEL_UP_END }; static const struct LevelUpMove sIllumiseLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 5, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 9, MOVE_CHARM), LEVEL_UP_MOVE(12, MOVE_QUICK_ATTACK), @@ -8390,8 +8246,7 @@ static const struct LevelUpMove sIllumiseLevelUpLearnset[] = { LEVEL_UP_MOVE(36, MOVE_HELPING_HAND), LEVEL_UP_MOVE(40, MOVE_BUG_BUZZ), LEVEL_UP_MOVE(43, MOVE_PLAY_ROUGH), - LEVEL_UP_MOVE(47, MOVE_COVET), - LEVEL_UP_MOVE(50, MOVE_INFESTATION), + LEVEL_UP_MOVE(47, MOVE_INFESTATION), LEVEL_UP_END }; #endif //P_FAMILY_VOLBEAT_ILLUMISE @@ -8704,7 +8559,6 @@ static const struct LevelUpMove sSpindaLevelUpLearnset[] = { static const struct LevelUpMove sTrapinchLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 4, MOVE_LASER_FOCUS), LEVEL_UP_MOVE( 8, MOVE_BITE), LEVEL_UP_MOVE(12, MOVE_MUD_SLAP), LEVEL_UP_MOVE(16, MOVE_SAND_TOMB), @@ -8721,17 +8575,15 @@ static const struct LevelUpMove sTrapinchLevelUpLearnset[] = { static const struct LevelUpMove sVibravaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE( 1, MOVE_LASER_FOCUS), - LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), - LEVEL_UP_MOVE( 1, MOVE_DIG), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_FISSURE), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_SUPERPOWER), - LEVEL_UP_MOVE( 1, MOVE_FISSURE), - LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_DIG), LEVEL_UP_MOVE(12, MOVE_MUD_SLAP), LEVEL_UP_MOVE(16, MOVE_SAND_TOMB), LEVEL_UP_MOVE(20, MOVE_DRAGON_TAIL), @@ -8748,21 +8600,18 @@ static const struct LevelUpMove sVibravaLevelUpLearnset[] = { static const struct LevelUpMove sFlygonLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DRAGON_CLAW), - LEVEL_UP_MOVE( 1, MOVE_OUTRAGE), - LEVEL_UP_MOVE( 1, MOVE_DRAGON_CLAW), - LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE( 1, MOVE_DRAGON_DANCE), - LEVEL_UP_MOVE( 1, MOVE_FEINT), - LEVEL_UP_MOVE( 1, MOVE_LASER_FOCUS), - LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_FISSURE), LEVEL_UP_MOVE( 1, MOVE_DIG), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_SUPERPOWER), - LEVEL_UP_MOVE( 1, MOVE_FISSURE), - LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), - LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), LEVEL_UP_MOVE(12, MOVE_MUD_SLAP), LEVEL_UP_MOVE(16, MOVE_SAND_TOMB), LEVEL_UP_MOVE(20, MOVE_DRAGON_TAIL), @@ -8864,6 +8713,18 @@ static const struct LevelUpMove sAltariaLevelUpLearnset[] = { #if P_FAMILY_ZANGOOSE static const struct LevelUpMove sZangooseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_FINAL_GAMBIT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 5, MOVE_QUICK_ATTACK), @@ -9009,10 +8870,9 @@ static const struct LevelUpMove sCorphishLevelUpLearnset[] = { static const struct LevelUpMove sCrawdauntLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SWIFT), - LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_TAUNT), LEVEL_UP_MOVE(12, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(16, MOVE_KNOCK_OFF), @@ -9163,12 +9023,11 @@ static const struct LevelUpMove sFeebasLevelUpLearnset[] = { static const struct LevelUpMove sMiloticLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_WATER_PULSE), - LEVEL_UP_MOVE( 1, MOVE_WATER_PULSE), - LEVEL_UP_MOVE( 1, MOVE_FLAIL), - LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), LEVEL_UP_MOVE( 4, MOVE_DISARMING_VOICE), LEVEL_UP_MOVE( 8, MOVE_TWISTER), LEVEL_UP_MOVE(12, MOVE_AQUA_RING), @@ -9268,8 +9127,8 @@ static const struct LevelUpMove sBanetteLevelUpLearnset[] = { #if P_FAMILY_DUSKULL static const struct LevelUpMove sDuskullLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 4, MOVE_DISABLE), LEVEL_UP_MOVE( 8, MOVE_SHADOW_SNEAK), LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), @@ -9286,16 +9145,15 @@ static const struct LevelUpMove sDuskullLevelUpLearnset[] = { static const struct LevelUpMove sDusclopsLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ICE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_GRAVITY), LEVEL_UP_MOVE( 1, MOVE_BIND), - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_GRAVITY), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE(16, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(20, MOVE_PAYBACK), @@ -9310,16 +9168,16 @@ static const struct LevelUpMove sDusclopsLevelUpLearnset[] = { #if P_GEN_4_CROSS_EVOS static const struct LevelUpMove sDusknoirLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ICE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_GRAVITY), LEVEL_UP_MOVE( 1, MOVE_BIND), - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_GRAVITY), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE(16, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(20, MOVE_PAYBACK), @@ -9372,18 +9230,13 @@ static const struct LevelUpMove sChinglingLevelUpLearnset[] = { #endif //P_GEN_4_CROSS_EVOS static const struct LevelUpMove sChimechoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_HEALING_WISH), LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), - LEVEL_UP_MOVE( 1, MOVE_LAST_RESORT), - LEVEL_UP_MOVE( 1, MOVE_ENTRAINMENT), - LEVEL_UP_MOVE( 4, MOVE_GROWL), - LEVEL_UP_MOVE( 7, MOVE_ASTONISH), - LEVEL_UP_MOVE(10, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_HEALING_WISH), LEVEL_UP_MOVE(13, MOVE_YAWN), - LEVEL_UP_MOVE(16, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(16, MOVE_STORED_POWER), LEVEL_UP_MOVE(19, MOVE_TAKE_DOWN), LEVEL_UP_MOVE(22, MOVE_EXTRASENSORY), LEVEL_UP_MOVE(27, MOVE_HEAL_BELL), @@ -9391,8 +9244,6 @@ static const struct LevelUpMove sChimechoLevelUpLearnset[] = { LEVEL_UP_MOVE(37, MOVE_SAFEGUARD), LEVEL_UP_MOVE(42, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(47, MOVE_HEAL_PULSE), - LEVEL_UP_MOVE(52, MOVE_PSYCHIC), - LEVEL_UP_MOVE(57, MOVE_HEALING_WISH), LEVEL_UP_END }; #endif //P_FAMILY_CHIMECHO @@ -9709,12 +9560,11 @@ static const struct LevelUpMove sBeldumLevelUpLearnset[] = { }; static const struct LevelUpMove sMetangLevelUpLearnset[] = { - LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 0, MOVE_CONFUSION), - LEVEL_UP_MOVE( 1, MOVE_CONFUSION), - LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), - LEVEL_UP_MOVE( 1, MOVE_BULLET_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_BULLET_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 6, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(12, MOVE_MAGNET_RISE), LEVEL_UP_MOVE(18, MOVE_FLASH_CANNON), @@ -9730,11 +9580,12 @@ static const struct LevelUpMove sMetangLevelUpLearnset[] = { static const struct LevelUpMove sMetagrossLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), - LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_BULLET_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(12, MOVE_MAGNET_RISE), LEVEL_UP_MOVE(16, MOVE_FLASH_CANNON), @@ -9751,8 +9602,8 @@ static const struct LevelUpMove sMetagrossLevelUpLearnset[] = { #if P_FAMILY_REGIROCK static const struct LevelUpMove sRegirockLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), LEVEL_UP_MOVE( 6, MOVE_BULLDOZE), LEVEL_UP_MOVE(12, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE(18, MOVE_STOMP), @@ -9772,8 +9623,8 @@ static const struct LevelUpMove sRegirockLevelUpLearnset[] = { #if P_FAMILY_REGICE static const struct LevelUpMove sRegiceLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), + LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), LEVEL_UP_MOVE( 6, MOVE_BULLDOZE), LEVEL_UP_MOVE(12, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE(18, MOVE_STOMP), @@ -9793,16 +9644,16 @@ static const struct LevelUpMove sRegiceLevelUpLearnset[] = { #if P_FAMILY_REGISTEEL static const struct LevelUpMove sRegisteelLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), LEVEL_UP_MOVE( 6, MOVE_BULLDOZE), LEVEL_UP_MOVE(12, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE(18, MOVE_STOMP), - LEVEL_UP_MOVE(24, MOVE_IRON_HEAD), LEVEL_UP_MOVE(24, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(24, MOVE_IRON_HEAD), LEVEL_UP_MOVE(30, MOVE_CURSE), - LEVEL_UP_MOVE(36, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(36, MOVE_AMNESIA), + LEVEL_UP_MOVE(36, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(42, MOVE_HAMMER_ARM), LEVEL_UP_MOVE(48, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE(54, MOVE_SUPERPOWER), @@ -9816,8 +9667,8 @@ static const struct LevelUpMove sRegisteelLevelUpLearnset[] = { #if P_FAMILY_LATIAS static const struct LevelUpMove sLatiasLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 5, MOVE_HELPING_HAND), LEVEL_UP_MOVE(10, MOVE_RECOVER), LEVEL_UP_MOVE(15, MOVE_CONFUSION), @@ -9832,15 +9683,14 @@ static const struct LevelUpMove sLatiasLevelUpLearnset[] = { LEVEL_UP_MOVE(60, MOVE_PSYCHIC), LEVEL_UP_MOVE(65, MOVE_GUARD_SPLIT), LEVEL_UP_MOVE(70, MOVE_HEALING_WISH), - LEVEL_UP_MOVE(75, MOVE_PSYCHO_SHIFT), LEVEL_UP_END }; #endif //P_FAMILY_LATIAS #if P_FAMILY_LATIOS static const struct LevelUpMove sLatiosLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 5, MOVE_HELPING_HAND), LEVEL_UP_MOVE(10, MOVE_RECOVER), LEVEL_UP_MOVE(15, MOVE_CONFUSION), @@ -9855,7 +9705,6 @@ static const struct LevelUpMove sLatiosLevelUpLearnset[] = { LEVEL_UP_MOVE(60, MOVE_PSYCHIC), LEVEL_UP_MOVE(65, MOVE_POWER_SPLIT), LEVEL_UP_MOVE(70, MOVE_MEMENTO), - LEVEL_UP_MOVE(75, MOVE_PSYCHO_SHIFT), LEVEL_UP_END }; #endif //P_FAMILY_LATIOS @@ -9926,7 +9775,6 @@ static const struct LevelUpMove sJirachiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_WISH), LEVEL_UP_MOVE( 7, MOVE_SWIFT), - LEVEL_UP_MOVE(14, MOVE_HELPING_HAND), LEVEL_UP_MOVE(21, MOVE_LIFE_DEW), LEVEL_UP_MOVE(28, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(35, MOVE_GRAVITY), @@ -9945,15 +9793,15 @@ static const struct LevelUpMove sJirachiLevelUpLearnset[] = { #if P_FAMILY_DEOXYS static const struct LevelUpMove sDeoxysNormalLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(13, MOVE_TELEPORT), LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE(25, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(25, MOVE_PSYSHOCK), LEVEL_UP_MOVE(31, MOVE_PSYCHIC), - LEVEL_UP_MOVE(37, MOVE_SWITCHEROO), - LEVEL_UP_MOVE(43, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(37, MOVE_GRAVITY), + LEVEL_UP_MOVE(43, MOVE_SKILL_SWAP), LEVEL_UP_MOVE(49, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(55, MOVE_COSMIC_POWER), LEVEL_UP_MOVE(61, MOVE_RECOVER), @@ -9963,15 +9811,15 @@ static const struct LevelUpMove sDeoxysNormalLevelUpLearnset[] = { }; static const struct LevelUpMove sDeoxysAttackLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(13, MOVE_TELEPORT), LEVEL_UP_MOVE(19, MOVE_TAUNT), - LEVEL_UP_MOVE(25, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(25, MOVE_PSYSHOCK), LEVEL_UP_MOVE(31, MOVE_PSYCHIC), LEVEL_UP_MOVE(37, MOVE_SUPERPOWER), - LEVEL_UP_MOVE(43, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(43, MOVE_SKILL_SWAP), LEVEL_UP_MOVE(49, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(55, MOVE_COSMIC_POWER), LEVEL_UP_MOVE(61, MOVE_ZAP_CANNON), @@ -9981,18 +9829,18 @@ static const struct LevelUpMove sDeoxysAttackLevelUpLearnset[] = { }; static const struct LevelUpMove sDeoxysDefenseLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(13, MOVE_TELEPORT), LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(25, MOVE_SPIKES), LEVEL_UP_MOVE(31, MOVE_PSYCHIC), - LEVEL_UP_MOVE(37, MOVE_SWITCHEROO), - LEVEL_UP_MOVE(43, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(37, MOVE_PROTECT), + LEVEL_UP_MOVE(43, MOVE_SKILL_SWAP), LEVEL_UP_MOVE(49, MOVE_ZEN_HEADBUTT), - LEVEL_UP_MOVE(55, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(55, MOVE_AMNESIA), + LEVEL_UP_MOVE(55, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(61, MOVE_RECOVER), LEVEL_UP_MOVE(67, MOVE_PSYCHO_BOOST), LEVEL_UP_MOVE(73, MOVE_COUNTER), @@ -10001,15 +9849,15 @@ static const struct LevelUpMove sDeoxysDefenseLevelUpLearnset[] = { }; static const struct LevelUpMove sDeoxysSpeedLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(13, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE(25, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(25, MOVE_PSYSHOCK), LEVEL_UP_MOVE(31, MOVE_PSYCHIC), LEVEL_UP_MOVE(37, MOVE_SWIFT), - LEVEL_UP_MOVE(43, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(43, MOVE_SKILL_SWAP), LEVEL_UP_MOVE(49, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(55, MOVE_AGILITY), LEVEL_UP_MOVE(61, MOVE_RECOVER), @@ -10023,8 +9871,7 @@ static const struct LevelUpMove sDeoxysSpeedLevelUpLearnset[] = { static const struct LevelUpMove sTurtwigLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_WITHDRAW), - LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), - LEVEL_UP_MOVE(10, MOVE_GROWTH), + LEVEL_UP_MOVE( 9, MOVE_ABSORB), LEVEL_UP_MOVE(13, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE(17, MOVE_CURSE), LEVEL_UP_MOVE(21, MOVE_BITE), @@ -10039,11 +9886,8 @@ static const struct LevelUpMove sTurtwigLevelUpLearnset[] = { static const struct LevelUpMove sGrotleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 5, MOVE_WITHDRAW), - LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), - LEVEL_UP_MOVE(10, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE(13, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE(17, MOVE_CURSE), LEVEL_UP_MOVE(22, MOVE_BITE), @@ -10058,16 +9902,11 @@ static const struct LevelUpMove sGrotleLevelUpLearnset[] = { static const struct LevelUpMove sTorterraLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE( 1, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 5, MOVE_WITHDRAW), - LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), - LEVEL_UP_MOVE(10, MOVE_GROWTH), - LEVEL_UP_MOVE(13, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), LEVEL_UP_MOVE(17, MOVE_CURSE), LEVEL_UP_MOVE(22, MOVE_BITE), LEVEL_UP_MOVE(27, MOVE_MEGA_DRAIN), @@ -10076,6 +9915,7 @@ static const struct LevelUpMove sTorterraLevelUpLearnset[] = { LEVEL_UP_MOVE(45, MOVE_CRUNCH), LEVEL_UP_MOVE(51, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE(57, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(63, MOVE_HEADLONG_RUSH), LEVEL_UP_END }; #endif //P_FAMILY_TURTWIG @@ -10084,9 +9924,8 @@ static const struct LevelUpMove sTorterraLevelUpLearnset[] = { static const struct LevelUpMove sChimcharLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 6, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_TAUNT), - LEVEL_UP_MOVE(12, MOVE_POWER_UP_PUNCH), LEVEL_UP_MOVE(15, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(17, MOVE_FLAME_WHEEL), LEVEL_UP_MOVE(23, MOVE_NASTY_PLOT), @@ -10101,16 +9940,10 @@ static const struct LevelUpMove sChimcharLevelUpLearnset[] = { static const struct LevelUpMove sMonfernoLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), - LEVEL_UP_MOVE( 1, MOVE_FACADE), - LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), - LEVEL_UP_MOVE( 7, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_TAUNT), - LEVEL_UP_MOVE(12, MOVE_POWER_UP_PUNCH), LEVEL_UP_MOVE(16, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(19, MOVE_FLAME_WHEEL), LEVEL_UP_MOVE(26, MOVE_FEINT), @@ -10125,29 +9958,21 @@ static const struct LevelUpMove sMonfernoLevelUpLearnset[] = { static const struct LevelUpMove sInfernapeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_CLOSE_COMBAT), - LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), - LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 1, MOVE_SLACK_OFF), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 1, MOVE_TAUNT), - LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), - LEVEL_UP_MOVE( 1, MOVE_FACADE), - LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), - LEVEL_UP_MOVE( 1, MOVE_TORMENT), - LEVEL_UP_MOVE( 1, MOVE_SLACK_OFF), - LEVEL_UP_MOVE( 7, MOVE_EMBER), - LEVEL_UP_MOVE( 9, MOVE_TAUNT), - LEVEL_UP_MOVE(12, MOVE_POWER_UP_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), LEVEL_UP_MOVE(16, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(19, MOVE_FLAME_WHEEL), LEVEL_UP_MOVE(26, MOVE_FEINT), - LEVEL_UP_MOVE(29, MOVE_U_TURN), + LEVEL_UP_MOVE(29, MOVE_TORMENT), LEVEL_UP_MOVE(42, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(47, MOVE_FLARE_BLITZ), LEVEL_UP_MOVE(52, MOVE_ACROBATICS), LEVEL_UP_MOVE(58, MOVE_CALM_MIND), - LEVEL_UP_MOVE(68, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(65, MOVE_RAGING_FURY), LEVEL_UP_END }; #endif //P_FAMILY_CHIMCHAR @@ -10156,7 +9981,7 @@ static const struct LevelUpMove sInfernapeLevelUpLearnset[] = { static const struct LevelUpMove sPiplupLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 4, MOVE_GROWL), - LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 8, MOVE_WATER_GUN), LEVEL_UP_MOVE(11, MOVE_CHARM), LEVEL_UP_MOVE(15, MOVE_PECK), LEVEL_UP_MOVE(18, MOVE_BUBBLE_BEAM), @@ -10172,13 +9997,9 @@ static const struct LevelUpMove sPiplupLevelUpLearnset[] = { static const struct LevelUpMove sPrinplupLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), - LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 4, MOVE_GROWL), - LEVEL_UP_MOVE( 8, MOVE_WATER_GUN), - LEVEL_UP_MOVE(11, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE(15, MOVE_PECK), LEVEL_UP_MOVE(19, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(24, MOVE_SWAGGER), @@ -10193,14 +10014,10 @@ static const struct LevelUpMove sPrinplupLevelUpLearnset[] = { static const struct LevelUpMove sEmpoleonLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_JET), - LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), - LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 1, MOVE_CHARM), - LEVEL_UP_MOVE( 4, MOVE_GROWL), - LEVEL_UP_MOVE( 8, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE(11, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE(15, MOVE_PECK), LEVEL_UP_MOVE(19, MOVE_BUBBLE_BEAM), @@ -10211,6 +10028,7 @@ static const struct LevelUpMove sEmpoleonLevelUpLearnset[] = { LEVEL_UP_MOVE(46, MOVE_MIST), LEVEL_UP_MOVE(52, MOVE_DRILL_PECK), LEVEL_UP_MOVE(59, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(66, MOVE_WAVE_CRASH), LEVEL_UP_END }; #endif //P_FAMILY_PIPLUP @@ -10398,11 +10216,11 @@ static const struct LevelUpMove sCranidosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(10, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(10, MOVE_ROCK_SMASH), LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), LEVEL_UP_MOVE(19, MOVE_SCARY_FACE), LEVEL_UP_MOVE(24, MOVE_ASSURANCE), - LEVEL_UP_MOVE(28, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(28, MOVE_SLAM), LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE(37, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(42, MOVE_SCREECH), @@ -10411,16 +10229,15 @@ static const struct LevelUpMove sCranidosLevelUpLearnset[] = { }; static const struct LevelUpMove sRampardosLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), + LEVEL_UP_MOVE( 0, MOVE_ENDEAVOR), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(10, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(10, MOVE_ROCK_SMASH), LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), LEVEL_UP_MOVE(19, MOVE_SCARY_FACE), LEVEL_UP_MOVE(24, MOVE_ASSURANCE), - LEVEL_UP_MOVE(28, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(28, MOVE_SLAM), LEVEL_UP_MOVE(36, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE(43, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(51, MOVE_SCREECH), @@ -10448,13 +10265,11 @@ static const struct LevelUpMove sShieldonLevelUpLearnset[] = { static const struct LevelUpMove sBastiodonLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_BLOCK), - LEVEL_UP_MOVE( 1, MOVE_BLOCK), + LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_TAUNT), LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), - LEVEL_UP_MOVE( 6, MOVE_TAUNT), - LEVEL_UP_MOVE(10, MOVE_METAL_SOUND), LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), LEVEL_UP_MOVE(19, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(24, MOVE_SWAGGER), @@ -11332,6 +11147,16 @@ static const struct LevelUpMove sRotomLevelUpLearnset[] = { #if P_FAMILY_UXIE static const struct LevelUpMove sUxieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SNORE), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_IRON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 1, MOVE_WONDER_ROOM), + LEVEL_UP_MOVE( 1, MOVE_MAGIC_ROOM), + LEVEL_UP_MOVE( 1, MOVE_ROUND), + LEVEL_UP_MOVE( 1, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE( 1, MOVE_EXPANDING_FORCE), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_REST), LEVEL_UP_MOVE( 7, MOVE_SWIFT), @@ -11352,6 +11177,16 @@ static const struct LevelUpMove sUxieLevelUpLearnset[] = { #if P_FAMILY_MESPRIT static const struct LevelUpMove sMespritLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SNORE), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_IRON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 1, MOVE_WONDER_ROOM), + LEVEL_UP_MOVE( 1, MOVE_MAGIC_ROOM), + LEVEL_UP_MOVE( 1, MOVE_ROUND), + LEVEL_UP_MOVE( 1, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE( 1, MOVE_EXPANDING_FORCE), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_REST), LEVEL_UP_MOVE( 7, MOVE_SWIFT), @@ -11372,6 +11207,19 @@ static const struct LevelUpMove sMespritLevelUpLearnset[] = { #if P_FAMILY_AZELF static const struct LevelUpMove sAzelfLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SNORE), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_IRON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_PAYBACK), + LEVEL_UP_MOVE( 1, MOVE_ASSURANCE), + LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 1, MOVE_WONDER_ROOM), + LEVEL_UP_MOVE( 1, MOVE_MAGIC_ROOM), + LEVEL_UP_MOVE( 1, MOVE_ROUND), + LEVEL_UP_MOVE( 1, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE( 1, MOVE_EXPANDING_FORCE), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_REST), LEVEL_UP_MOVE( 7, MOVE_SWIFT), @@ -11452,7 +11300,7 @@ static const struct LevelUpMove sRegigigasLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 6, MOVE_PAYBACK), - LEVEL_UP_MOVE(12, MOVE_REVENGE), + LEVEL_UP_MOVE(12, MOVE_FACADE), LEVEL_UP_MOVE(18, MOVE_STOMP), LEVEL_UP_MOVE(24, MOVE_PROTECT), LEVEL_UP_MOVE(30, MOVE_KNOCK_OFF), @@ -11521,12 +11369,14 @@ static const struct LevelUpMove sPhioneLevelUpLearnset[] = { LEVEL_UP_MOVE(54, MOVE_AQUA_RING), LEVEL_UP_MOVE(61, MOVE_DIVE), LEVEL_UP_MOVE(69, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(75, MOVE_TAKE_HEART), LEVEL_UP_END }; static const struct LevelUpMove sManaphyLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TAIL_GLOW), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_TAIL_GLOW), + LEVEL_UP_MOVE( 1, MOVE_HEART_SWAP), LEVEL_UP_MOVE( 9, MOVE_CHARM), LEVEL_UP_MOVE(16, MOVE_SUPERSONIC), LEVEL_UP_MOVE(24, MOVE_BUBBLE_BEAM), @@ -11536,19 +11386,18 @@ static const struct LevelUpMove sManaphyLevelUpLearnset[] = { LEVEL_UP_MOVE(54, MOVE_AQUA_RING), LEVEL_UP_MOVE(61, MOVE_DIVE), LEVEL_UP_MOVE(69, MOVE_RAIN_DANCE), - LEVEL_UP_MOVE(76, MOVE_HEART_SWAP), + LEVEL_UP_MOVE(76, MOVE_TAKE_HEART), LEVEL_UP_END }; #endif //P_FAMILY_MANAPHY #if P_FAMILY_DARKRAI static const struct LevelUpMove sDarkraiLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE(11, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(20, MOVE_HYPNOSIS), LEVEL_UP_MOVE(29, MOVE_SUCKER_PUNCH), - LEVEL_UP_MOVE(38, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(38, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(47, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE(57, MOVE_HAZE), LEVEL_UP_MOVE(66, MOVE_DARK_VOID), @@ -11566,11 +11415,12 @@ static const struct LevelUpMove sShayminLandLevelUpLearnset[] = { LEVEL_UP_MOVE(19, MOVE_LEECH_SEED), LEVEL_UP_MOVE(28, MOVE_SYNTHESIS), LEVEL_UP_MOVE(37, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(46, MOVE_PLAY_ROUGH), LEVEL_UP_MOVE(55, MOVE_WORRY_SEED), - LEVEL_UP_MOVE(64, MOVE_AROMATHERAPY), - LEVEL_UP_MOVE(68, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(64, MOVE_GRASSY_TERRAIN), LEVEL_UP_MOVE(73, MOVE_ENERGY_BALL), LEVEL_UP_MOVE(82, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(91, MOVE_HEALING_WISH), LEVEL_UP_MOVE(100, MOVE_SEED_FLARE), LEVEL_UP_END }; @@ -11581,7 +11431,7 @@ static const struct LevelUpMove sShayminSkyLevelUpLearnset[] = { LEVEL_UP_MOVE(19, MOVE_LEECH_SEED), LEVEL_UP_MOVE(28, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(37, MOVE_SWEET_SCENT), - LEVEL_UP_MOVE(46, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(46, MOVE_PLAY_ROUGH), LEVEL_UP_MOVE(55, MOVE_WORRY_SEED), LEVEL_UP_MOVE(64, MOVE_AIR_SLASH), LEVEL_UP_MOVE(73, MOVE_ENERGY_BALL), @@ -11641,60 +11491,51 @@ static const struct LevelUpMove sSnivyLevelUpLearnset[] = { LEVEL_UP_MOVE( 7, MOVE_VINE_WHIP), LEVEL_UP_MOVE(10, MOVE_WRAP), LEVEL_UP_MOVE(13, MOVE_GROWTH), - LEVEL_UP_MOVE(16, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE(16, MOVE_MAGICAL_LEAF), LEVEL_UP_MOVE(19, MOVE_LEECH_SEED), LEVEL_UP_MOVE(22, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(25, MOVE_SLAM), LEVEL_UP_MOVE(28, MOVE_LEAF_BLADE), LEVEL_UP_MOVE(31, MOVE_COIL), LEVEL_UP_MOVE(34, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE(37, MOVE_WRING_OUT), - LEVEL_UP_MOVE(40, MOVE_GASTRO_ACID), - LEVEL_UP_MOVE(43, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(37, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(40, MOVE_LEAF_STORM), LEVEL_UP_END }; static const struct LevelUpMove sServineLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WRAP), - LEVEL_UP_MOVE( 4, MOVE_LEER), - LEVEL_UP_MOVE( 7, MOVE_VINE_WHIP), - LEVEL_UP_MOVE(10, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(13, MOVE_GROWTH), - LEVEL_UP_MOVE(16, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE(16, MOVE_MAGICAL_LEAF), LEVEL_UP_MOVE(20, MOVE_LEECH_SEED), LEVEL_UP_MOVE(24, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(28, MOVE_SLAM), LEVEL_UP_MOVE(32, MOVE_LEAF_BLADE), LEVEL_UP_MOVE(36, MOVE_COIL), LEVEL_UP_MOVE(40, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE(44, MOVE_WRING_OUT), - LEVEL_UP_MOVE(48, MOVE_GASTRO_ACID), - LEVEL_UP_MOVE(52, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(44, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(48, MOVE_LEAF_STORM), LEVEL_UP_END }; static const struct LevelUpMove sSerperiorLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WRAP), - LEVEL_UP_MOVE( 4, MOVE_LEER), - LEVEL_UP_MOVE( 7, MOVE_VINE_WHIP), - LEVEL_UP_MOVE(10, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(13, MOVE_GROWTH), - LEVEL_UP_MOVE(16, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE(16, MOVE_MAGICAL_LEAF), LEVEL_UP_MOVE(20, MOVE_LEECH_SEED), LEVEL_UP_MOVE(24, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE(28, MOVE_SLAM), LEVEL_UP_MOVE(32, MOVE_LEAF_BLADE), LEVEL_UP_MOVE(38, MOVE_COIL), LEVEL_UP_MOVE(44, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE(50, MOVE_WRING_OUT), - LEVEL_UP_MOVE(56, MOVE_GASTRO_ACID), - LEVEL_UP_MOVE(62, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(50, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(56, MOVE_LEAF_STORM), LEVEL_UP_END }; #endif //P_FAMILY_SNIVY @@ -11704,7 +11545,7 @@ static const struct LevelUpMove sTepigLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 3, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 7, MOVE_EMBER), - LEVEL_UP_MOVE( 9, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE( 9, MOVE_ENDURE), LEVEL_UP_MOVE(13, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE(15, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE(19, MOVE_SMOG), @@ -11721,14 +11562,10 @@ static const struct LevelUpMove sTepigLevelUpLearnset[] = { static const struct LevelUpMove sPigniteLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_ARM_THRUST), - LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE( 3, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 7, MOVE_EMBER), - LEVEL_UP_MOVE( 9, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE( 1, MOVE_ENDURE), LEVEL_UP_MOVE(13, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE(15, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE(20, MOVE_SMOG), @@ -11744,15 +11581,12 @@ static const struct LevelUpMove sPigniteLevelUpLearnset[] = { }; static const struct LevelUpMove sEmboarLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), + LEVEL_UP_MOVE( 1, MOVE_ENDURE), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE( 3, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 7, MOVE_EMBER), - LEVEL_UP_MOVE( 9, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), LEVEL_UP_MOVE(13, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE(15, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE(20, MOVE_SMOG), @@ -12188,35 +12022,28 @@ static const struct LevelUpMove sBlitzleLevelUpLearnset[] = { LEVEL_UP_MOVE(11, MOVE_SHOCK_WAVE), LEVEL_UP_MOVE(15, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(18, MOVE_FLAME_CHARGE), - LEVEL_UP_MOVE(22, MOVE_PURSUIT), - LEVEL_UP_MOVE(25, MOVE_SPARK), - LEVEL_UP_MOVE(29, MOVE_STOMP), - LEVEL_UP_MOVE(32, MOVE_DISCHARGE), - LEVEL_UP_MOVE(36, MOVE_AGILITY), - LEVEL_UP_MOVE(39, MOVE_WILD_CHARGE), - LEVEL_UP_MOVE(43, MOVE_THRASH), + LEVEL_UP_MOVE(22, MOVE_SPARK), + LEVEL_UP_MOVE(25, MOVE_STOMP), + LEVEL_UP_MOVE(29, MOVE_DISCHARGE), + LEVEL_UP_MOVE(33, MOVE_AGILITY), + LEVEL_UP_MOVE(35, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(40, MOVE_THRASH), LEVEL_UP_END }; static const struct LevelUpMove sZebstrikaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ION_DELUGE), - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 8, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE(11, MOVE_SHOCK_WAVE), - LEVEL_UP_MOVE(15, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(18, MOVE_FLAME_CHARGE), - LEVEL_UP_MOVE(22, MOVE_PURSUIT), LEVEL_UP_MOVE(25, MOVE_SPARK), LEVEL_UP_MOVE(31, MOVE_STOMP), LEVEL_UP_MOVE(36, MOVE_DISCHARGE), LEVEL_UP_MOVE(42, MOVE_AGILITY), LEVEL_UP_MOVE(47, MOVE_WILD_CHARGE), LEVEL_UP_MOVE(53, MOVE_THRASH), - LEVEL_UP_MOVE(58, MOVE_ION_DELUGE), LEVEL_UP_END }; #endif //P_FAMILY_BLITZLE @@ -12334,10 +12161,9 @@ static const struct LevelUpMove sDrilburLevelUpLearnset[] = { static const struct LevelUpMove sExcadrillLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_HORN_DRILL), - LEVEL_UP_MOVE( 1, MOVE_HORN_DRILL), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(16, MOVE_METAL_CLAW), @@ -12545,25 +12371,25 @@ static const struct LevelUpMove sSewaddleLevelUpLearnset[] = { static const struct LevelUpMove sSwadloonLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PROTECT), - LEVEL_UP_MOVE( 1, MOVE_PROTECT), - LEVEL_UP_MOVE( 1, MOVE_GRASS_WHISTLE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), - LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(22, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(29, MOVE_ENDURE), + LEVEL_UP_MOVE(31, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(36, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(43, MOVE_FLAIL), LEVEL_UP_END }; static const struct LevelUpMove sLeavannyLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SLASH), - LEVEL_UP_MOVE( 1, MOVE_SLASH), - LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 8, MOVE_BUG_BITE), - LEVEL_UP_MOVE(15, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), LEVEL_UP_MOVE(22, MOVE_STRUGGLE_BUG), LEVEL_UP_MOVE(29, MOVE_FELL_STINGER), LEVEL_UP_MOVE(32, MOVE_HELPING_HAND), @@ -12636,8 +12462,8 @@ static const struct LevelUpMove sScolipedeLevelUpLearnset[] = { #if P_FAMILY_COTTONEE static const struct LevelUpMove sCottoneeLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 3, MOVE_FAIRY_WIND), LEVEL_UP_MOVE( 6, MOVE_STUN_SPORE), LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), @@ -12657,28 +12483,28 @@ static const struct LevelUpMove sCottoneeLevelUpLearnset[] = { }; static const struct LevelUpMove sWhimsicottLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_GUST), - LEVEL_UP_MOVE( 1, MOVE_TAILWIND), LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), - LEVEL_UP_MOVE( 1, MOVE_MEMENTO), LEVEL_UP_MOVE( 1, MOVE_HURRICANE), - LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 1, MOVE_GROWTH), - LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), - LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_CHARM), - LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), - LEVEL_UP_MOVE( 1, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE( 1, MOVE_COTTON_GUARD), LEVEL_UP_MOVE( 1, MOVE_ENERGY_BALL), - LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_TAILWIND), LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), - LEVEL_UP_MOVE( 1, MOVE_COTTON_GUARD), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_MEMENTO), + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), LEVEL_UP_MOVE( 1, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), - LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_END }; #endif //P_FAMILY_COTTONEE @@ -13030,13 +12856,13 @@ static const struct LevelUpMove sCrustleLevelUpLearnset[] = { #if P_FAMILY_SCRAGGY static const struct LevelUpMove sScraggyLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), LEVEL_UP_MOVE( 4, MOVE_PAYBACK), LEVEL_UP_MOVE( 8, MOVE_HEADBUTT), LEVEL_UP_MOVE(12, MOVE_SAND_ATTACK), LEVEL_UP_MOVE(16, MOVE_FACADE), - LEVEL_UP_MOVE(20, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_TORMENT), LEVEL_UP_MOVE(24, MOVE_BEAT_UP), LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), LEVEL_UP_MOVE(32, MOVE_BRICK_BREAK), @@ -13049,13 +12875,13 @@ static const struct LevelUpMove sScraggyLevelUpLearnset[] = { }; static const struct LevelUpMove sScraftyLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), LEVEL_UP_MOVE( 1, MOVE_PAYBACK), - LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE(12, MOVE_SAND_ATTACK), LEVEL_UP_MOVE(16, MOVE_FACADE), - LEVEL_UP_MOVE(20, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_TORMENT), LEVEL_UP_MOVE(24, MOVE_BEAT_UP), LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), LEVEL_UP_MOVE(32, MOVE_BRICK_BREAK), @@ -13361,7 +13187,6 @@ static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE(16, MOVE_CURSE), LEVEL_UP_MOVE(20, MOVE_TAUNT), LEVEL_UP_MOVE(24, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE(28, MOVE_SPITE), LEVEL_UP_MOVE(32, MOVE_AGILITY), LEVEL_UP_MOVE(36, MOVE_SHADOW_BALL), LEVEL_UP_MOVE(40, MOVE_BITTER_MALICE), @@ -13412,22 +13237,22 @@ static const struct LevelUpMove sMinccinoLevelUpLearnset[] = { }; static const struct LevelUpMove sCinccinoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_BULLET_SEED), - LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), - LEVEL_UP_MOVE( 1, MOVE_SING), - LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 0, MOVE_TAIL_SLAP), + LEVEL_UP_MOVE( 1, MOVE_SLAM), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_ENCORE), - LEVEL_UP_MOVE( 1, MOVE_AFTER_YOU), - LEVEL_UP_MOVE( 1, MOVE_TAIL_SLAP), - LEVEL_UP_MOVE( 1, MOVE_TICKLE), - LEVEL_UP_MOVE( 1, MOVE_SLAM), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE( 1, MOVE_TICKLE), + LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), LEVEL_UP_MOVE( 1, MOVE_LAST_RESORT), - LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 1, MOVE_BABY_DOLL_EYES), - LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_AFTER_YOU), LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 1, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_BULLET_SEED), LEVEL_UP_END }; #endif //P_FAMILY_MINCCINO @@ -13489,8 +13314,8 @@ static const struct LevelUpMove sGothitelleLevelUpLearnset[] = { #if P_FAMILY_SOLOSIS static const struct LevelUpMove sSolosisLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 4, MOVE_RECOVER), LEVEL_UP_MOVE( 8, MOVE_ENDEAVOR), LEVEL_UP_MOVE(12, MOVE_PSYBEAM), @@ -13508,9 +13333,9 @@ static const struct LevelUpMove sSolosisLevelUpLearnset[] = { }; static const struct LevelUpMove sDuosionLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_RECOVER), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), LEVEL_UP_MOVE(12, MOVE_PSYBEAM), LEVEL_UP_MOVE(16, MOVE_CHARM), @@ -13528,10 +13353,9 @@ static const struct LevelUpMove sDuosionLevelUpLearnset[] = { static const struct LevelUpMove sReuniclusLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), - LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), - LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_RECOVER), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), LEVEL_UP_MOVE(12, MOVE_PSYBEAM), LEVEL_UP_MOVE(16, MOVE_CHARM), @@ -13551,7 +13375,6 @@ static const struct LevelUpMove sReuniclusLevelUpLearnset[] = { #if P_FAMILY_DUCKLETT static const struct LevelUpMove sDucklettLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 3, MOVE_WATER_SPORT), LEVEL_UP_MOVE( 6, MOVE_DEFOG), LEVEL_UP_MOVE( 9, MOVE_WING_ATTACK), LEVEL_UP_MOVE(13, MOVE_WATER_PULSE), @@ -13569,13 +13392,9 @@ static const struct LevelUpMove sDucklettLevelUpLearnset[] = { }; static const struct LevelUpMove sSwannaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), LEVEL_UP_MOVE( 1, MOVE_DEFOG), - LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), - LEVEL_UP_MOVE( 3, MOVE_WATER_SPORT), - LEVEL_UP_MOVE( 6, MOVE_DEFOG), - LEVEL_UP_MOVE( 9, MOVE_WING_ATTACK), LEVEL_UP_MOVE(13, MOVE_WATER_PULSE), LEVEL_UP_MOVE(15, MOVE_AERIAL_ACE), LEVEL_UP_MOVE(19, MOVE_BUBBLE_BEAM), @@ -13869,11 +13688,10 @@ static const struct LevelUpMove sJoltikLevelUpLearnset[] = { static const struct LevelUpMove sGalvantulaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_STICKY_WEB), - LEVEL_UP_MOVE( 1, MOVE_STICKY_WEB), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), - LEVEL_UP_MOVE( 1, MOVE_ELECTROWEB), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_ELECTROWEB), LEVEL_UP_MOVE(12, MOVE_STRING_SHOT), LEVEL_UP_MOVE(16, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(20, MOVE_ELECTRO_BALL), @@ -14065,8 +13883,8 @@ static const struct LevelUpMove sBeheeyemLevelUpLearnset[] = { #if P_FAMILY_LITWICK static const struct LevelUpMove sLitwickLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 4, MOVE_EMBER), LEVEL_UP_MOVE( 8, MOVE_MINIMIZE), LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), @@ -14085,10 +13903,10 @@ static const struct LevelUpMove sLitwickLevelUpLearnset[] = { }; static const struct LevelUpMove sLampentLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE(16, MOVE_HEX), LEVEL_UP_MOVE(20, MOVE_WILL_O_WISP), @@ -14105,22 +13923,22 @@ static const struct LevelUpMove sLampentLevelUpLearnset[] = { }; static const struct LevelUpMove sChandelureLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE( 1, MOVE_HEX), - LEVEL_UP_MOVE( 1, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_FIRE_SPIN), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_CURSE), - LEVEL_UP_MOVE( 1, MOVE_SHADOW_BALL), - LEVEL_UP_MOVE( 1, MOVE_INFERNO), - LEVEL_UP_MOVE( 1, MOVE_IMPRISON), LEVEL_UP_MOVE( 1, MOVE_PAIN_SPLIT), - LEVEL_UP_MOVE( 1, MOVE_OVERHEAT), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE( 1, MOVE_WILL_O_WISP), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), + LEVEL_UP_MOVE( 1, MOVE_IMPRISON), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 1, MOVE_SMOG), - LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), + LEVEL_UP_MOVE( 1, MOVE_OVERHEAT), + LEVEL_UP_MOVE( 1, MOVE_HEX), + LEVEL_UP_MOVE( 1, MOVE_INFERNO), LEVEL_UP_END }; #endif //P_FAMILY_LITWICK @@ -14372,11 +14190,11 @@ static const struct LevelUpMove sMienfooLevelUpLearnset[] = { }; static const struct LevelUpMove sMienshaoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_REVERSAL), LEVEL_UP_MOVE( 1, MOVE_DETECT), LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), - LEVEL_UP_MOVE( 1, MOVE_REVERSAL), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(15, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(20, MOVE_WIDE_GUARD), LEVEL_UP_MOVE(25, MOVE_FORCE_PALM), @@ -14432,12 +14250,12 @@ static const struct LevelUpMove sGolettLevelUpLearnset[] = { }; static const struct LevelUpMove sGolurkLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_HIGH_HORSEPOWER), - LEVEL_UP_MOVE( 1, MOVE_FOCUS_PUNCH), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_PUNCH), LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_HIGH_HORSEPOWER), LEVEL_UP_MOVE(12, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE(16, MOVE_CURSE), LEVEL_UP_MOVE(20, MOVE_NIGHT_SHADE), @@ -14620,13 +14438,12 @@ static const struct LevelUpMove sVullabyLevelUpLearnset[] = { static const struct LevelUpMove sMandibuzzLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_BONE_RUSH), - LEVEL_UP_MOVE( 1, MOVE_BONE_RUSH), - LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_TOXIC), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_FLATTER), + LEVEL_UP_MOVE( 1, MOVE_TOXIC), + LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_PLUCK), + LEVEL_UP_MOVE( 1, MOVE_FLATTER), LEVEL_UP_MOVE(18, MOVE_TAILWIND), LEVEL_UP_MOVE(24, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(30, MOVE_IRON_DEFENSE), @@ -14761,7 +14578,6 @@ static const struct LevelUpMove sLarvestaLevelUpLearnset[] = { LEVEL_UP_MOVE( 6, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE(12, MOVE_STRUGGLE_BUG), LEVEL_UP_MOVE(18, MOVE_FLAME_WHEEL), - LEVEL_UP_MOVE(24, MOVE_BUG_BITE), LEVEL_UP_MOVE(30, MOVE_SCREECH), LEVEL_UP_MOVE(36, MOVE_LEECH_LIFE), LEVEL_UP_MOVE(42, MOVE_BUG_BUZZ), @@ -14801,8 +14617,8 @@ static const struct LevelUpMove sVolcaronaLevelUpLearnset[] = { #if P_FAMILY_COBALION static const struct LevelUpMove sCobalionLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_WORK_UP), LEVEL_UP_MOVE( 7, MOVE_METAL_CLAW), @@ -14821,8 +14637,8 @@ static const struct LevelUpMove sCobalionLevelUpLearnset[] = { #if P_FAMILY_TERRAKION static const struct LevelUpMove sTerrakionLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_WORK_UP), LEVEL_UP_MOVE( 7, MOVE_SMACK_DOWN), @@ -14841,8 +14657,9 @@ static const struct LevelUpMove sTerrakionLevelUpLearnset[] = { #if P_FAMILY_VIRIZION static const struct LevelUpMove sVirizionLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_WORK_UP), LEVEL_UP_MOVE( 7, MOVE_MAGICAL_LEAF), @@ -14850,7 +14667,7 @@ static const struct LevelUpMove sVirizionLevelUpLearnset[] = { LEVEL_UP_MOVE(21, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE(28, MOVE_RETALIATE), LEVEL_UP_MOVE(35, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE(42, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(42, MOVE_SYNTHESIS), LEVEL_UP_MOVE(49, MOVE_SACRED_SWORD), LEVEL_UP_MOVE(56, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE(63, MOVE_LEAF_BLADE), @@ -14908,9 +14725,9 @@ static const struct LevelUpMove sThundurusLevelUpLearnset[] = { #if P_FAMILY_RESHIRAM static const struct LevelUpMove sReshiramLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 8, MOVE_SLASH), LEVEL_UP_MOVE(16, MOVE_CRUNCH), LEVEL_UP_MOVE(24, MOVE_EXTRASENSORY), @@ -14929,9 +14746,9 @@ static const struct LevelUpMove sReshiramLevelUpLearnset[] = { #if P_FAMILY_ZEKROM static const struct LevelUpMove sZekromLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 8, MOVE_SLASH), LEVEL_UP_MOVE(16, MOVE_CRUNCH), LEVEL_UP_MOVE(24, MOVE_ZEN_HEADBUTT), @@ -14973,8 +14790,8 @@ static const struct LevelUpMove sLandorusLevelUpLearnset[] = { #if P_FAMILY_KYUREM static const struct LevelUpMove sKyuremLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 8, MOVE_SLASH), LEVEL_UP_MOVE(16, MOVE_ENDEAVOR), @@ -14993,8 +14810,8 @@ static const struct LevelUpMove sKyuremLevelUpLearnset[] = { #if P_FUSION_FORMS static const struct LevelUpMove sKyuremWhiteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 8, MOVE_SLASH), LEVEL_UP_MOVE(16, MOVE_ENDEAVOR), @@ -15014,8 +14831,8 @@ static const struct LevelUpMove sKyuremWhiteLevelUpLearnset[] = { #if P_FUSION_FORMS static const struct LevelUpMove sKyuremBlackLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 8, MOVE_SLASH), LEVEL_UP_MOVE(16, MOVE_ENDEAVOR), @@ -15035,11 +14852,11 @@ static const struct LevelUpMove sKyuremBlackLevelUpLearnset[] = { #if P_FAMILY_KELDEO static const struct LevelUpMove sKeldeoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SECRET_SWORD), - LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), LEVEL_UP_MOVE( 1, MOVE_WORK_UP), + LEVEL_UP_MOVE( 1, MOVE_SECRET_SWORD), LEVEL_UP_MOVE( 7, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(14, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(21, MOVE_DOUBLE_KICK), @@ -15497,6 +15314,7 @@ static const struct LevelUpMove sFloetteEternalFlowerLevelUpLearnset[] = { LEVEL_UP_MOVE(38, MOVE_SYNTHESIS), LEVEL_UP_MOVE(43, MOVE_MISTY_TERRAIN), LEVEL_UP_MOVE(46, MOVE_MOONBLAST), + LEVEL_UP_MOVE(50, MOVE_LIGHT_OF_RUIN), LEVEL_UP_MOVE(51, MOVE_PETAL_DANCE), LEVEL_UP_MOVE(58, MOVE_SOLAR_BEAM), LEVEL_UP_END @@ -15638,10 +15456,10 @@ static const struct LevelUpMove sEspurrLevelUpLearnset[] = { static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), - LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), LEVEL_UP_MOVE( 9, MOVE_CONFUSION), LEVEL_UP_MOVE(12, MOVE_HELPING_HAND), LEVEL_UP_MOVE(15, MOVE_CHARM), @@ -15661,10 +15479,10 @@ static const struct LevelUpMove sMeowsticMaleLevelUpLearnset[] = { static const struct LevelUpMove sMeowsticFemaleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 9, MOVE_CONFUSION), LEVEL_UP_MOVE(12, MOVE_STORED_POWER), LEVEL_UP_MOVE(15, MOVE_CHARGE_BEAM), @@ -15827,8 +15645,8 @@ static const struct LevelUpMove sSlurpuffLevelUpLearnset[] = { #if P_FAMILY_INKAY static const struct LevelUpMove sInkayLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 3, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 6, MOVE_WRAP), LEVEL_UP_MOVE( 9, MOVE_PAYBACK), @@ -15846,11 +15664,11 @@ static const struct LevelUpMove sInkayLevelUpLearnset[] = { }; static const struct LevelUpMove sMalamarLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_REVERSAL), - LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_REVERSAL), LEVEL_UP_MOVE( 9, MOVE_PAYBACK), LEVEL_UP_MOVE(12, MOVE_PLUCK), LEVEL_UP_MOVE(15, MOVE_PSYBEAM), @@ -16285,8 +16103,8 @@ static const struct LevelUpMove sKlefkiLevelUpLearnset[] = { #if P_FAMILY_PHANTUMP static const struct LevelUpMove sPhantumpLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 4, MOVE_BRANCH_POKE), LEVEL_UP_MOVE( 8, MOVE_LEECH_SEED), LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), @@ -16305,11 +16123,10 @@ static const struct LevelUpMove sPhantumpLevelUpLearnset[] = { static const struct LevelUpMove sTrevenantLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), - LEVEL_UP_MOVE( 1, MOVE_SHADOW_CLAW), - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_BRANCH_POKE), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_BRANCH_POKE), LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE(16, MOVE_WILL_O_WISP), LEVEL_UP_MOVE(20, MOVE_HEX), @@ -16765,14 +16582,13 @@ static const struct LevelUpMove sTorracatLevelUpLearnset[] = { static const struct LevelUpMove sIncineroarLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DARKEST_LARIAT), - LEVEL_UP_MOVE( 1, MOVE_DARKEST_LARIAT), - LEVEL_UP_MOVE( 1, MOVE_CROSS_CHOP), - LEVEL_UP_MOVE( 1, MOVE_THROAT_CHOP), - LEVEL_UP_MOVE( 1, MOVE_BULK_UP), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_THROAT_CHOP), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE( 1, MOVE_BULK_UP), LEVEL_UP_MOVE( 9, MOVE_ROAR), LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), LEVEL_UP_MOVE(15, MOVE_BITE), @@ -16826,7 +16642,6 @@ static const struct LevelUpMove sBrionneLevelUpLearnset[] = { static const struct LevelUpMove sPrimarinaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SPARKLING_ARIA), - LEVEL_UP_MOVE( 1, MOVE_SPARKLING_ARIA), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -16864,14 +16679,11 @@ static const struct LevelUpMove sPikipekLevelUpLearnset[] = { }; static const struct LevelUpMove sTrumbeakLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), - LEVEL_UP_MOVE( 1, MOVE_PECK), - LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), - LEVEL_UP_MOVE( 3, MOVE_GROWL), - LEVEL_UP_MOVE( 7, MOVE_ECHOED_VOICE), - LEVEL_UP_MOVE( 9, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), LEVEL_UP_MOVE(13, MOVE_SUPERSONIC), LEVEL_UP_MOVE(16, MOVE_PLUCK), LEVEL_UP_MOVE(21, MOVE_ROOST), @@ -16886,15 +16698,11 @@ static const struct LevelUpMove sTrumbeakLevelUpLearnset[] = { static const struct LevelUpMove sToucannonLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_BEAK_BLAST), - LEVEL_UP_MOVE( 1, MOVE_BEAK_BLAST), - LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), - LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), - LEVEL_UP_MOVE( 3, MOVE_GROWL), - LEVEL_UP_MOVE( 7, MOVE_ECHOED_VOICE), - LEVEL_UP_MOVE( 9, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), LEVEL_UP_MOVE(13, MOVE_SUPERSONIC), LEVEL_UP_MOVE(16, MOVE_PLUCK), LEVEL_UP_MOVE(21, MOVE_ROOST), @@ -16963,10 +16771,9 @@ static const struct LevelUpMove sGrubbinLevelUpLearnset[] = { static const struct LevelUpMove sCharjabugLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_CHARGE), - LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), - LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), LEVEL_UP_MOVE(15, MOVE_BITE), LEVEL_UP_MOVE(23, MOVE_SPARK), @@ -16981,17 +16788,16 @@ static const struct LevelUpMove sCharjabugLevelUpLearnset[] = { static const struct LevelUpMove sVikavoltLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_THUNDERBOLT), - LEVEL_UP_MOVE( 1, MOVE_THUNDERBOLT), - LEVEL_UP_MOVE( 1, MOVE_CHARGE), - LEVEL_UP_MOVE( 1, MOVE_X_SCISSOR), - LEVEL_UP_MOVE( 1, MOVE_CRUNCH), - LEVEL_UP_MOVE( 1, MOVE_DIG), - LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE( 1, MOVE_DISCHARGE), LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), + LEVEL_UP_MOVE( 1, MOVE_DIG), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), - LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_X_SCISSOR), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_DISCHARGE), LEVEL_UP_MOVE(15, MOVE_BITE), LEVEL_UP_MOVE(23, MOVE_SPARK), LEVEL_UP_MOVE(29, MOVE_STICKY_WEB), @@ -17069,7 +16875,7 @@ static const struct LevelUpMove sCutieflyLevelUpLearnset[] = { LEVEL_UP_MOVE(12, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(18, MOVE_DRAINING_KISS), LEVEL_UP_MOVE(24, MOVE_STRUGGLE_BUG), - LEVEL_UP_MOVE(30, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(30, MOVE_COVET), LEVEL_UP_MOVE(36, MOVE_SWITCHEROO), LEVEL_UP_MOVE(42, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE(48, MOVE_BUG_BUZZ), @@ -17079,15 +16885,13 @@ static const struct LevelUpMove sCutieflyLevelUpLearnset[] = { static const struct LevelUpMove sRibombeeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_POLLEN_PUFF), - LEVEL_UP_MOVE( 1, MOVE_POLLEN_PUFF), - LEVEL_UP_MOVE( 1, MOVE_COVET), LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), LEVEL_UP_MOVE(18, MOVE_DRAINING_KISS), LEVEL_UP_MOVE(24, MOVE_STRUGGLE_BUG), - LEVEL_UP_MOVE(32, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(32, MOVE_COVET), LEVEL_UP_MOVE(40, MOVE_SWITCHEROO), LEVEL_UP_MOVE(48, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE(56, MOVE_BUG_BUZZ), @@ -17298,11 +17102,11 @@ static const struct LevelUpMove sDewpiderLevelUpLearnset[] = { }; static const struct LevelUpMove sAraquanidLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_INFESTATION), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), - LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE( 1, MOVE_INFESTATION), LEVEL_UP_MOVE(12, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE(16, MOVE_AQUA_RING), LEVEL_UP_MOVE(20, MOVE_HEADBUTT), @@ -17529,7 +17333,7 @@ static const struct LevelUpMove sComfeyLevelUpLearnset[] = { LEVEL_UP_MOVE( 3, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 6, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 9, MOVE_DRAINING_KISS), - LEVEL_UP_MOVE(12, MOVE_FLOWER_SHIELD), + LEVEL_UP_MOVE(12, MOVE_CHARM), LEVEL_UP_MOVE(15, MOVE_MAGICAL_LEAF), LEVEL_UP_MOVE(18, MOVE_SYNTHESIS), LEVEL_UP_MOVE(21, MOVE_LEECH_SEED), @@ -17537,7 +17341,7 @@ static const struct LevelUpMove sComfeyLevelUpLearnset[] = { LEVEL_UP_MOVE(27, MOVE_SWEET_KISS), LEVEL_UP_MOVE(30, MOVE_FLORAL_HEALING), LEVEL_UP_MOVE(33, MOVE_PETAL_BLIZZARD), - LEVEL_UP_MOVE(36, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(36, MOVE_BIND), LEVEL_UP_MOVE(39, MOVE_PLAY_ROUGH), LEVEL_UP_MOVE(42, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(45, MOVE_PETAL_DANCE), @@ -17731,7 +17535,7 @@ static const struct LevelUpMove sMiniorLevelUpLearnset[] = { LEVEL_UP_MOVE(22, MOVE_SELF_DESTRUCT), LEVEL_UP_MOVE(24, MOVE_STEALTH_ROCK), LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(31, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(31, MOVE_ROCK_POLISH), LEVEL_UP_MOVE(36, MOVE_COSMIC_POWER), LEVEL_UP_MOVE(38, MOVE_POWER_GEM), LEVEL_UP_MOVE(43, MOVE_DOUBLE_EDGE), @@ -17902,7 +17706,6 @@ static const struct LevelUpMove sJangmoOLevelUpLearnset[] = { }; static const struct LevelUpMove sHakamoOLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_AUTOTOMIZE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_PROTECT), @@ -17922,9 +17725,7 @@ static const struct LevelUpMove sHakamoOLevelUpLearnset[] = { static const struct LevelUpMove sKommoOLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_CLANGING_SCALES), - LEVEL_UP_MOVE( 1, MOVE_CLANGING_SCALES), LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), - LEVEL_UP_MOVE( 1, MOVE_AUTOTOMIZE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_PROTECT), @@ -18047,17 +17848,15 @@ static const struct LevelUpMove sCosmogLevelUpLearnset[] = { static const struct LevelUpMove sCosmoemLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_COSMIC_POWER), - LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_END }; static const struct LevelUpMove sSolgaleoLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SUNSTEEL_STRIKE), - LEVEL_UP_MOVE( 1, MOVE_SUNSTEEL_STRIKE), - LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 7, MOVE_IRON_HEAD), LEVEL_UP_MOVE(14, MOVE_METAL_SOUND), @@ -18076,23 +17875,21 @@ static const struct LevelUpMove sSolgaleoLevelUpLearnset[] = { static const struct LevelUpMove sLunalaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_MOONGEIST_BEAM), - LEVEL_UP_MOVE( 1, MOVE_MOONGEIST_BEAM), - LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), - LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE(14, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE(21, MOVE_AIR_SLASH), LEVEL_UP_MOVE(28, MOVE_SHADOW_BALL), LEVEL_UP_MOVE(35, MOVE_MOONLIGHT), LEVEL_UP_MOVE(42, MOVE_NIGHT_DAZE), - LEVEL_UP_MOVE(49, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE(49, MOVE_PSYCHIC), LEVEL_UP_MOVE(56, MOVE_MOONBLAST), LEVEL_UP_MOVE(63, MOVE_PHANTOM_FORCE), LEVEL_UP_MOVE(70, MOVE_DREAM_EATER), LEVEL_UP_MOVE(77, MOVE_WIDE_GUARD), - LEVEL_UP_MOVE(84, MOVE_HYPER_BEAM), LEVEL_UP_END }; #endif //P_FAMILY_COSMOG @@ -18255,12 +18052,11 @@ static const struct LevelUpMove sGuzzlordLevelUpLearnset[] = { #if P_FAMILY_NECROZMA static const struct LevelUpMove sNecrozmaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_MORNING_SUN), + LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), - LEVEL_UP_MOVE( 1, MOVE_GRAVITY), - LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), - LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 8, MOVE_STEALTH_ROCK), LEVEL_UP_MOVE(16, MOVE_SLASH), LEVEL_UP_MOVE(24, MOVE_NIGHT_SLASH), @@ -18270,7 +18066,7 @@ static const struct LevelUpMove sNecrozmaLevelUpLearnset[] = { LEVEL_UP_MOVE(56, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(64, MOVE_POWER_GEM), LEVEL_UP_MOVE(72, MOVE_PHOTON_GEYSER), - LEVEL_UP_MOVE(80, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(80, MOVE_GRAVITY), LEVEL_UP_MOVE(88, MOVE_PRISMATIC_LASER), LEVEL_UP_END }; @@ -19018,6 +18814,7 @@ static const struct LevelUpMove sAppletunLevelUpLearnset[] = { #if P_GEN_9_CROSS_EVOS static const struct LevelUpMove sDipplinLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 1, MOVE_INFESTATION), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 1, MOVE_RECYCLE), @@ -19037,6 +18834,9 @@ static const struct LevelUpMove sDipplinLevelUpLearnset[] = { static const struct LevelUpMove sHydrappleLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FICKLE_BEAM), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 1, MOVE_INFESTATION), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 1, MOVE_RECYCLE), @@ -19096,8 +18896,8 @@ static const struct LevelUpMove sCramorantLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BELCH), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), - LEVEL_UP_MOVE( 1, MOVE_SWALLOW), LEVEL_UP_MOVE( 1, MOVE_SPIT_UP), + LEVEL_UP_MOVE( 1, MOVE_SWALLOW), LEVEL_UP_MOVE( 7, MOVE_WATER_GUN), LEVEL_UP_MOVE(14, MOVE_FURY_ATTACK), LEVEL_UP_MOVE(21, MOVE_PLUCK), @@ -19432,7 +19232,7 @@ static const struct LevelUpMove sMilceryLevelUpLearnset[] = { LEVEL_UP_MOVE( 5, MOVE_SWEET_KISS), LEVEL_UP_MOVE(10, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(15, MOVE_DRAINING_KISS), - LEVEL_UP_MOVE(20, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(20, MOVE_CHARM), LEVEL_UP_MOVE(25, MOVE_ATTRACT), LEVEL_UP_MOVE(30, MOVE_ACID_ARMOR), LEVEL_UP_MOVE(35, MOVE_DAZZLING_GLEAM), @@ -19444,13 +19244,12 @@ static const struct LevelUpMove sMilceryLevelUpLearnset[] = { static const struct LevelUpMove sAlcremieLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_DECORATE), - LEVEL_UP_MOVE( 1, MOVE_DECORATE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_AROMATIC_MIST), LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_AROMATIC_MIST), LEVEL_UP_MOVE(15, MOVE_DRAINING_KISS), - LEVEL_UP_MOVE(20, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(20, MOVE_CHARM), LEVEL_UP_MOVE(25, MOVE_ATTRACT), LEVEL_UP_MOVE(30, MOVE_ACID_ARMOR), LEVEL_UP_MOVE(35, MOVE_DAZZLING_GLEAM), @@ -19605,8 +19404,8 @@ static const struct LevelUpMove sIndeedeeFemaleLevelUpLearnset[] = { #if P_FAMILY_MORPEKO static const struct LevelUpMove sMorpekoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 5, MOVE_LEER), LEVEL_UP_MOVE(10, MOVE_POWER_TRIP), LEVEL_UP_MOVE(15, MOVE_QUICK_ATTACK), @@ -20079,29 +19878,30 @@ static const struct LevelUpMove sCalyrexLevelUpLearnset[] = { #if P_FUSION_FORMS static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GLACIAL_LANCE), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), - LEVEL_UP_MOVE( 1, MOVE_AVALANCHE), - LEVEL_UP_MOVE( 1, MOVE_STOMP), - LEVEL_UP_MOVE( 1, MOVE_TORMENT), - LEVEL_UP_MOVE( 1, MOVE_MIST), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), - LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_AVALANCHE), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE( 1, MOVE_THRASH), LEVEL_UP_MOVE( 1, MOVE_TAUNT), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), - LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_TORMENT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_THRASH), + LEVEL_UP_MOVE( 1, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 8, MOVE_LIFE_DEW), LEVEL_UP_MOVE(16, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE(24, MOVE_PSYSHOCK), LEVEL_UP_MOVE(32, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(40, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(40, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC_TERRAIN), LEVEL_UP_MOVE(48, MOVE_ENERGY_BALL), LEVEL_UP_MOVE(56, MOVE_PSYCHIC), LEVEL_UP_MOVE(64, MOVE_LEECH_SEED), @@ -20115,29 +19915,30 @@ static const struct LevelUpMove sCalyrexIceRiderLevelUpLearnset[] = { #if P_FUSION_FORMS static const struct LevelUpMove sCalyrexShadowRiderLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTRAL_BARRAGE), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_HEX), - LEVEL_UP_MOVE( 1, MOVE_STOMP), - LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE( 1, MOVE_HAZE), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), LEVEL_UP_MOVE( 1, MOVE_SHADOW_BALL), - LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_HAZE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_AGILITY), - LEVEL_UP_MOVE( 1, MOVE_THRASH), + LEVEL_UP_MOVE( 1, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_DISABLE), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), - LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_THRASH), LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE( 1, MOVE_CONFUSION), - LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 8, MOVE_LIFE_DEW), LEVEL_UP_MOVE(16, MOVE_GIGA_DRAIN), LEVEL_UP_MOVE(24, MOVE_PSYSHOCK), LEVEL_UP_MOVE(32, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(40, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(40, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC_TERRAIN), LEVEL_UP_MOVE(48, MOVE_ENERGY_BALL), LEVEL_UP_MOVE(56, MOVE_PSYCHIC), LEVEL_UP_MOVE(64, MOVE_LEECH_SEED), @@ -20210,6 +20011,8 @@ static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -20268,6 +20071,8 @@ static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -20327,6 +20132,7 @@ static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -20811,6 +20617,10 @@ static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21147,6 +20957,8 @@ static const struct LevelUpMove sRellorLevelUpLearnset[] = { static const struct LevelUpMove sRabscaLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -21673,6 +21485,7 @@ static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -21695,6 +21508,7 @@ static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { #if P_FAMILY_BRUTE_BONNET static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21716,6 +21530,7 @@ static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SPITE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -21738,6 +21553,7 @@ static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { #if P_FAMILY_SLITHER_WING static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), @@ -21761,6 +21577,7 @@ static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { #if P_FAMILY_SANDY_SHOCKS static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -21806,6 +21623,7 @@ static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), @@ -21826,6 +21644,7 @@ static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { #if P_FAMILY_IRON_HANDS static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -21872,6 +21691,7 @@ static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { #if P_FAMILY_IRON_MOTH static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -21895,11 +21715,12 @@ static const struct LevelUpMove sIronMothLevelUpLearnset[] = { #if P_FAMILY_IRON_THORNS static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 7, MOVE_SCREECH), LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), LEVEL_UP_MOVE(28, MOVE_BITE), @@ -22096,6 +21917,10 @@ static const struct LevelUpMove sChiYuLevelUpLearnset[] = { #if P_FAMILY_ROARING_MOON static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -22119,6 +21944,7 @@ static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { #if P_FAMILY_IRON_VALIANT static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), @@ -22134,8 +21960,8 @@ static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), LEVEL_UP_END }; @@ -22187,6 +22013,8 @@ static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { #if P_FAMILY_WALKING_WAKE static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_TWISTER), @@ -22208,6 +22036,8 @@ static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { #if P_FAMILY_IRON_LEAVES static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -22315,8 +22145,8 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), LEVEL_UP_MOVE(48, MOVE_BEAT_UP), - LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), LEVEL_UP_MOVE(64, MOVE_ROOST), LEVEL_UP_MOVE(72, MOVE_MOONBLAST), LEVEL_UP_END @@ -22325,6 +22155,10 @@ static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { #if P_FAMILY_OGERPON static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -22346,6 +22180,9 @@ static const struct LevelUpMove sOgerponLevelUpLearnset[] = { #if P_FAMILY_GOUGING_FIRE static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_INCINERATE), @@ -22369,6 +22206,7 @@ static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { #if P_FAMILY_RAGING_BOLT static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), @@ -22456,6 +22294,9 @@ static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { #if P_FAMILY_PECHARUNT static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_MEMENTO), diff --git a/src/data/pokemon/species_info/gen_5_families.h b/src/data/pokemon/species_info/gen_5_families.h index db2392f685c1..ffa2dd4a1cef 100644 --- a/src/data/pokemon/species_info/gen_5_families.h +++ b/src/data/pokemon/species_info/gen_5_families.h @@ -9863,7 +9863,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = ) .levelUpLearnset = sBisharpLevelUpLearnset, .teachableLearnset = sBisharpTeachableLearnset, - .evolutions = EVOLUTION({EVO_DEFEAT_WITH_ITEM, ITEM_LEADERS_CREST, SPECIES_KINGAMBIT}), + .evolutions = EVOLUTION({EVO_DEFEAT_THREE_WITH_ITEM, ITEM_LEADERS_CREST, SPECIES_KINGAMBIT}), }, #if P_GEN_9_CROSS_EVOS diff --git a/src/data/pokemon/species_info/gen_9_families.h b/src/data/pokemon/species_info/gen_9_families.h index 15438680b484..8880d3584db9 100644 --- a/src/data/pokemon/species_info/gen_9_families.h +++ b/src/data/pokemon/species_info/gen_9_families.h @@ -6321,68 +6321,68 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = #endif //P_FAMILY_FEZANDIPITI #if P_FAMILY_OGERPON -#define OGERPON_SPECIES_INFO(Form, type, ability, color, iconpalette, isTeraform) \ - { \ - .baseHP = 80, \ - .baseAttack = 120, \ - .baseDefense = 84, \ - .baseSpeed = 110, \ - .baseSpAttack = 60, \ - .baseSpDefense = 96, \ - .types = MON_TYPES(TYPE_GRASS, type), \ - .forceTeraType = type, \ - .catchRate = 5, \ - .expYield = 275, \ - .evYield_Attack = 3, \ - .genderRatio = MON_FEMALE, \ - .eggCycles = 10, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_SLOW, \ - .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ - .abilities = { ability, ABILITY_NONE }, \ - .bodyColor = color, \ - .speciesName = _("Ogerpon"), \ - .cryId = CRY_OGERPON, \ - .natDexNum = NATIONAL_DEX_OGERPON, \ - .categoryName = _("Mask"), \ - .height = 12, \ - .weight = 398, \ - .description = gOgerpon##Form##PokedexText, \ - .pokemonScale = 356, \ - .pokemonOffset = 17, \ - .trainerScale = 256, \ - .trainerOffset = 0, \ - .frontPic = gMonFrontPic_Ogerpon##Form, \ - .frontPicSize = MON_COORDS_SIZE(64, 64), \ - .frontPicYOffset = 0, \ - .frontAnimFrames = sAnims_Ogerpon, \ - /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ \ - .backPic = gMonBackPic_Ogerpon##Form, \ - .backPicSize = MON_COORDS_SIZE(64, 64), \ - .backPicYOffset = 16, \ - /*.backAnimId = BACK_ANIM_NONE,*/ \ - .palette = gMonPalette_Ogerpon##Form, \ - .shinyPalette = gMonShinyPalette_Ogerpon##Form, \ - .iconSprite = gMonIcon_Ogerpon##Form, \ - .iconPalIndex = iconpalette, \ - FOOTPRINT(Ogerpon) \ - .levelUpLearnset = sOgerponLevelUpLearnset, \ - .teachableLearnset = sOgerponTeachableLearnset, \ - .formSpeciesIdTable = sOgerponFormSpeciesIdTable, \ - .formChangeTable = sOgerponFormChangeTable, \ - .isLegendary = TRUE, \ - .isTeraForm = isTeraform, \ +#define OGERPON_SPECIES_INFO(Form1, Form2, type, ability, color, iconpalette, isTeraform) \ + { \ + .baseHP = 80, \ + .baseAttack = 120, \ + .baseDefense = 84, \ + .baseSpeed = 110, \ + .baseSpAttack = 60, \ + .baseSpDefense = 96, \ + .types = MON_TYPES(TYPE_GRASS, type), \ + .forceTeraType = type, \ + .catchRate = 5, \ + .expYield = 275, \ + .evYield_Attack = 3, \ + .genderRatio = MON_FEMALE, \ + .eggCycles = 10, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ + .abilities = { ability, ABILITY_NONE }, \ + .bodyColor = color, \ + .speciesName = _("Ogerpon"), \ + .cryId = CRY_OGERPON, \ + .natDexNum = NATIONAL_DEX_OGERPON, \ + .categoryName = _("Mask"), \ + .height = 12, \ + .weight = 398, \ + .description = gOgerpon##Form1##MaskPokedexText, \ + .pokemonScale = 356, \ + .pokemonOffset = 17, \ + .trainerScale = 256, \ + .trainerOffset = 0, \ + .frontPic = gMonFrontPic_Ogerpon##Form1##Form2, \ + .frontPicSize = MON_COORDS_SIZE(64, 64), \ + .frontPicYOffset = 0, \ + .frontAnimFrames = sAnims_Ogerpon, \ + /*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/ \ + .backPic = gMonBackPic_Ogerpon##Form1##Form2, \ + .backPicSize = MON_COORDS_SIZE(64, 64), \ + .backPicYOffset = 0, \ + /*.backAnimId = BACK_ANIM_NONE,*/ \ + .palette = gMonPalette_Ogerpon##Form1##Form2, \ + .shinyPalette = gMonShinyPalette_Ogerpon##Form1##Form2, \ + .iconSprite = gMonIcon_Ogerpon##Form1##Mask, \ + .iconPalIndex = iconpalette, \ + FOOTPRINT(Ogerpon) \ + .levelUpLearnset = sOgerponLevelUpLearnset, \ + .teachableLearnset = sOgerponTeachableLearnset, \ + .formSpeciesIdTable = sOgerponFormSpeciesIdTable, \ + .formChangeTable = sOgerponFormChangeTable, \ + .isLegendary = TRUE, \ + .isTeraForm = isTeraform, \ } - [SPECIES_OGERPON_TEAL_MASK] = OGERPON_SPECIES_INFO(TealMask, TYPE_GRASS, ABILITY_DEFIANT, BODY_COLOR_GREEN, 1, FALSE), - [SPECIES_OGERPON_WELLSPRING_MASK] = OGERPON_SPECIES_INFO(WellspringMask, TYPE_WATER, ABILITY_WATER_ABSORB, BODY_COLOR_BLUE, 0, FALSE), - [SPECIES_OGERPON_HEARTHFLAME_MASK] = OGERPON_SPECIES_INFO(HearthflameMask, TYPE_FIRE, ABILITY_MOLD_BREAKER, BODY_COLOR_RED, 0, FALSE), - [SPECIES_OGERPON_CORNERSTONE_MASK] = OGERPON_SPECIES_INFO(CornerstoneMask, TYPE_ROCK, ABILITY_STURDY, BODY_COLOR_GRAY, 0, FALSE), + [SPECIES_OGERPON_TEAL_MASK] = OGERPON_SPECIES_INFO(Teal, Mask, TYPE_GRASS, ABILITY_DEFIANT, BODY_COLOR_GREEN, 1, FALSE), + [SPECIES_OGERPON_WELLSPRING_MASK] = OGERPON_SPECIES_INFO(Wellspring, Mask, TYPE_WATER, ABILITY_WATER_ABSORB, BODY_COLOR_BLUE, 0, FALSE), + [SPECIES_OGERPON_HEARTHFLAME_MASK] = OGERPON_SPECIES_INFO(Hearthflame, Mask, TYPE_FIRE, ABILITY_MOLD_BREAKER, BODY_COLOR_RED, 0, FALSE), + [SPECIES_OGERPON_CORNERSTONE_MASK] = OGERPON_SPECIES_INFO(Cornerstone, Mask, TYPE_ROCK, ABILITY_STURDY, BODY_COLOR_GRAY, 0, FALSE), #if P_TERA_FORMS - [SPECIES_OGERPON_TEAL_MASK_TERA] = OGERPON_SPECIES_INFO(TealMask, TYPE_GRASS, ABILITY_EMBODY_ASPECT_TEAL_MASK, BODY_COLOR_GREEN, 1, TRUE), - [SPECIES_OGERPON_WELLSPRING_MASK_TERA] = OGERPON_SPECIES_INFO(WellspringMask, TYPE_WATER, ABILITY_EMBODY_ASPECT_WELLSPRING_MASK, BODY_COLOR_BLUE, 0, TRUE), - [SPECIES_OGERPON_HEARTHFLAME_MASK_TERA] = OGERPON_SPECIES_INFO(HearthflameMask, TYPE_FIRE, ABILITY_EMBODY_ASPECT_HEARTHFLAME_MASK, BODY_COLOR_RED, 0, TRUE), - [SPECIES_OGERPON_CORNERSTONE_MASK_TERA] = OGERPON_SPECIES_INFO(CornerstoneMask, TYPE_ROCK, ABILITY_EMBODY_ASPECT_CORNERSTONE_MASK, BODY_COLOR_GRAY, 0, TRUE), + [SPECIES_OGERPON_TEAL_MASK_TERA] = OGERPON_SPECIES_INFO(Teal, MaskTera, TYPE_GRASS, ABILITY_EMBODY_ASPECT_TEAL_MASK, BODY_COLOR_GREEN, 1, TRUE), + [SPECIES_OGERPON_WELLSPRING_MASK_TERA] = OGERPON_SPECIES_INFO(Wellspring, MaskTera, TYPE_WATER, ABILITY_EMBODY_ASPECT_WELLSPRING_MASK, BODY_COLOR_BLUE, 0, TRUE), + [SPECIES_OGERPON_HEARTHFLAME_MASK_TERA] = OGERPON_SPECIES_INFO(Hearthflame, MaskTera, TYPE_FIRE, ABILITY_EMBODY_ASPECT_HEARTHFLAME_MASK, BODY_COLOR_RED, 0, TRUE), + [SPECIES_OGERPON_CORNERSTONE_MASK_TERA] = OGERPON_SPECIES_INFO(Cornerstone, MaskTera, TYPE_ROCK, ABILITY_EMBODY_ASPECT_CORNERSTONE_MASK, BODY_COLOR_GRAY, 0, TRUE), #endif //P_TERA_FORMS #endif //P_FAMILY_OGERPON diff --git a/src/debug.c b/src/debug.c index 049e2f0ed865..f4b6f68840ea 100644 --- a/src/debug.c +++ b/src/debug.c @@ -99,6 +99,7 @@ enum UtilDebugMenu DEBUG_UTIL_MENU_ITEM_CHEAT, DEBUG_UTIL_MENU_ITEM_EXPANSION_VER, DEBUG_UTIL_MENU_ITEM_BERRY_FUNCTIONS, + DEBUG_UTIL_MENU_ITEM_EWRAM_COUNTERS, }; enum GivePCBagDebugMenu @@ -374,6 +375,7 @@ static void DebugAction_Util_Player_Id(u8 taskId); static void DebugAction_Util_CheatStart(u8 taskId); static void DebugAction_Util_ExpansionVersion(u8 taskId); static void DebugAction_Util_BerryFunctions(u8 taskId); +static void DebugAction_Util_CheckEWRAMCounters(u8 taskId); static void DebugAction_OpenPCBagFillMenu(u8 taskId); static void DebugAction_PCBag_Fill_PCBoxes_Fast(u8 taskId); @@ -476,6 +478,7 @@ extern const u8 Debug_CheckSaveBlock[]; extern const u8 Debug_CheckROMSpace[]; extern const u8 Debug_BoxFilledMessage[]; extern const u8 Debug_ShowExpansionVersion[]; +extern const u8 Debug_EventScript_EWRAMCounters[]; extern const u8 Debug_BerryPestsDisabled[]; extern const u8 Debug_BerryWeedsDisabled[]; @@ -532,6 +535,7 @@ static const u8 sDebugText_Util_Player_Id[] = _("New Trainer ID") static const u8 sDebugText_Util_CheatStart[] = _("Cheat start"); static const u8 sDebugText_Util_ExpansionVersion[] = _("Expansion Version"); static const u8 sDebugText_Util_BerryFunctions[] = _("Berry Functions…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Util_EWRAMCounters[] = _("EWRAM Counters…{CLEAR_TO 110}{RIGHT_ARROW}"); // PC/Bag Menu static const u8 sDebugText_PCBag_Fill[] = _("Fill…{CLEAR_TO 110}{RIGHT_ARROW}"); static const u8 sDebugText_PCBag_Fill_Pc_Fast[] = _("Fill PC Boxes Fast"); @@ -720,6 +724,7 @@ static const struct ListMenuItem sDebugMenu_Items_Utilities[] = [DEBUG_UTIL_MENU_ITEM_CHEAT] = {sDebugText_Util_CheatStart, DEBUG_UTIL_MENU_ITEM_CHEAT}, [DEBUG_UTIL_MENU_ITEM_EXPANSION_VER] = {sDebugText_Util_ExpansionVersion, DEBUG_UTIL_MENU_ITEM_EXPANSION_VER}, [DEBUG_UTIL_MENU_ITEM_BERRY_FUNCTIONS] = {sDebugText_Util_BerryFunctions, DEBUG_UTIL_MENU_ITEM_BERRY_FUNCTIONS}, + [DEBUG_UTIL_MENU_ITEM_EWRAM_COUNTERS] = {sDebugText_Util_EWRAMCounters, DEBUG_UTIL_MENU_ITEM_EWRAM_COUNTERS}, }; static const struct ListMenuItem sDebugMenu_Items_PCBag[] = @@ -889,6 +894,7 @@ static void (*const sDebugMenu_Actions_Utilities[])(u8) = [DEBUG_UTIL_MENU_ITEM_CHEAT] = DebugAction_Util_CheatStart, [DEBUG_UTIL_MENU_ITEM_EXPANSION_VER] = DebugAction_Util_ExpansionVersion, [DEBUG_UTIL_MENU_ITEM_BERRY_FUNCTIONS] = DebugAction_Util_BerryFunctions, + [DEBUG_UTIL_MENU_ITEM_EWRAM_COUNTERS] = DebugAction_Util_CheckEWRAMCounters, }; static void (*const sDebugMenu_Actions_PCBag[])(u8) = @@ -5113,4 +5119,15 @@ static void DebugAction_Party_ClearParty(u8 taskId) Debug_DestroyMenu_Full(taskId); } +void CheckEWRAMCounters(struct ScriptContext *ctx) +{ + ConvertIntToDecimalStringN(gStringVar1, gFollowerSteps, STR_CONV_MODE_LEFT_ALIGN, 5); + ConvertIntToDecimalStringN(gStringVar2, gChainFishingDexNavStreak, STR_CONV_MODE_LEFT_ALIGN, 5); +} + +static void DebugAction_Util_CheckEWRAMCounters(u8 taskId) +{ + Debug_DestroyMenu_Full_Script(taskId, Debug_EventScript_EWRAMCounters); +} + #endif //DEBUG_OVERWORLD_MENU == TRUE diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 80a36d6818e4..5a6eb28fc3d1 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1599,6 +1599,12 @@ static u8 TrySetupObjectEventSprite(const struct ObjectEventTemplate *objectEven if (OW_GFX_COMPRESS) spriteTemplate->tileTag = LoadSheetGraphicsInfo(graphicsInfo, objectEvent->graphicsId, NULL); + if (objectEvent->graphicsId >= OBJ_EVENT_GFX_MON_BASE + SPECIES_SHINY_TAG) + { + objectEvent->shiny = TRUE; + objectEvent->graphicsId -= SPECIES_SHINY_TAG; + } + spriteId = CreateSprite(spriteTemplate, 0, 0, 0); if (spriteId == MAX_SPRITES) { @@ -2751,6 +2757,8 @@ const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u16 graphicsId) if (graphicsId >= OBJ_EVENT_GFX_VARS && graphicsId <= OBJ_EVENT_GFX_VAR_F) graphicsId = VarGetObjectEventGraphicsId(graphicsId - OBJ_EVENT_GFX_VARS); + if (graphicsId >= OBJ_EVENT_GFX_MON_BASE + SPECIES_SHINY_TAG) + graphicsId -= SPECIES_SHINY_TAG; // graphicsId may contain mon form info if (graphicsId > OBJ_EVENT_GFX_SPECIES_MASK) { diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 5e709a9fb0d0..582617d555a1 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -69,7 +69,7 @@ static bool8 TryStartWarpEventScript(struct MapPosition *, u16); static bool8 TryStartMiscWalkingScripts(u16); static bool8 TryStartStepCountScript(u16); static void UpdateFriendshipStepCounter(void); -static void UpdateLetsGoEvolutionTracker(void); +static void UpdateFollowerStepCounter(void); #if OW_POISON_DAMAGE < GEN_5 static bool8 UpdatePoisonStepCounter(void); #endif // OW_POISON_DAMAGE @@ -566,7 +566,7 @@ static bool8 TryStartStepCountScript(u16 metatileBehavior) IncrementRematchStepCounter(); UpdateFriendshipStepCounter(); UpdateFarawayIslandStepCounter(); - UpdateLetsGoEvolutionTracker(); + UpdateFollowerStepCounter(); if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_FORCED_MOVE) && !MetatileBehavior_IsForcedMovementTile(metatileBehavior)) { @@ -660,26 +660,10 @@ static void UpdateFriendshipStepCounter(void) } } -static void UpdateLetsGoEvolutionTracker(void) +static void UpdateFollowerStepCounter(void) { - u32 i; - u16 count; - struct Pokemon *followingMon = GetFirstLiveMon(); - const struct Evolution *evolutions = GetSpeciesEvolutions(GetMonData(followingMon, MON_DATA_SPECIES)); - - if (evolutions == NULL) - return; - - for (i = 0; evolutions[i].method != EVOLUTIONS_END; i++) - { - if (evolutions[i].method != EVO_OVERWORLD_STEPS || SanitizeSpeciesId(evolutions[i].targetSpecies) == SPECIES_NONE) - continue; - - // We only have 10 bits to use - count = min(1023, GetMonData(followingMon, MON_DATA_EVOLUTION_TRACKER) + 1); - SetMonData(followingMon, MON_DATA_EVOLUTION_TRACKER, &count); - return; - } + if (gPlayerPartyCount > 0 && gFollowerSteps < (u16)-1) + gFollowerSteps++; } void ClearPoisonStepCounter(void) @@ -932,6 +916,16 @@ static s8 GetWarpEventAtPosition(struct MapHeader *mapHeader, u16 x, u16 y, u8 e return WARP_ID_NONE; } +static bool32 ShouldTriggerScriptRun(const struct CoordEvent *coordEvent) +{ + u16 *varPtr = GetVarPointer(coordEvent->trigger); + // Treat non Vars as flags + if (varPtr == NULL) + return (FlagGet(coordEvent->trigger) == coordEvent->index); + else + return (*varPtr == coordEvent->index); +} + static const u8 *TryRunCoordEventScript(const struct CoordEvent *coordEvent) { if (coordEvent != NULL) @@ -946,7 +940,7 @@ static const u8 *TryRunCoordEventScript(const struct CoordEvent *coordEvent) RunScriptImmediately(coordEvent->script); return NULL; } - if (VarGet(coordEvent->trigger) == (u8)coordEvent->index) + if (ShouldTriggerScriptRun(coordEvent)) return coordEvent->script; } return NULL; diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index b10ca6c599eb..0b30a1d7bb47 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -122,24 +122,24 @@ static void Task_StopSurfingInit(u8); static void Task_WaitStopSurfing(u8); static void Task_Fishing(u8); -static u8 Fishing_Init(struct Task *); -static u8 Fishing_GetRodOut(struct Task *); -static u8 Fishing_WaitBeforeDots(struct Task *); -static u8 Fishing_InitDots(struct Task *); -static u8 Fishing_ShowDots(struct Task *); -static u8 Fishing_CheckForBite(struct Task *); -static u8 Fishing_GotBite(struct Task *); -static u8 Fishing_ChangeMinigame(struct Task *); -static u8 Fishing_WaitForA(struct Task *); -static u8 Fishing_APressNoMinigame(struct Task *); -static u8 Fishing_CheckMoreDots(struct Task *); -static u8 Fishing_MonOnHook(struct Task *); -static u8 Fishing_StartEncounter(struct Task *); -static u8 Fishing_NotEvenNibble(struct Task *); -static u8 Fishing_GotAway(struct Task *); -static u8 Fishing_NoMon(struct Task *); -static u8 Fishing_PutRodAway(struct Task *); -static u8 Fishing_EndNoMon(struct Task *); +static bool32 Fishing_Init(struct Task *); +static bool32 Fishing_GetRodOut(struct Task *); +static bool32 Fishing_WaitBeforeDots(struct Task *); +static bool32 Fishing_InitDots(struct Task *); +static bool32 Fishing_ShowDots(struct Task *); +static bool32 Fishing_CheckForBite(struct Task *); +static bool32 Fishing_GotBite(struct Task *); +static bool32 Fishing_ChangeMinigame(struct Task *); +static bool32 Fishing_WaitForA(struct Task *); +static bool32 Fishing_APressNoMinigame(struct Task *); +static bool32 Fishing_CheckMoreDots(struct Task *); +static bool32 Fishing_MonOnHook(struct Task *); +static bool32 Fishing_StartEncounter(struct Task *); +static bool32 Fishing_NotEvenNibble(struct Task *); +static bool32 Fishing_GotAway(struct Task *); +static bool32 Fishing_NoMon(struct Task *); +static bool32 Fishing_PutRodAway(struct Task *); +static bool32 Fishing_EndNoMon(struct Task *); static void AlignFishingAnimationFrames(void); static bool32 DoesFishingMinigameAllowCancel(void); static bool32 Fishing_DoesFirstMonInPartyHaveSuctionCupsOrStickyHold(void); @@ -1687,7 +1687,7 @@ enum FISHING_INIT, FISHING_GET_ROD_OUT, FISHING_WAIT_BEFORE_DOTS, - FISHING_START_ROUND, + FISHING_INIT_DOTS, FISHING_SHOW_DOTS, FISHING_CHECK_FOR_BITE, FISHING_GOT_BITE, @@ -1695,35 +1695,35 @@ enum FISHING_WAIT_FOR_A, FISHING_A_PRESS_NO_MINIGAME, FISHING_CHECK_MORE_DOTS, - FISHING_ON_HOOK, + FISHING_MON_ON_HOOK, FISHING_START_ENCOUNTER, - FISHING_NO_BITE, + FISHING_NOT_EVEN_NIBBLE, FISHING_GOT_AWAY, - FISHING_SHOW_RESULT, + FISHING_NO_MON, FISHING_PUT_ROD_AWAY, FISHING_END_NO_MON, }; -static bool8 (*const sFishingStateFuncs[])(struct Task *) = -{ - Fishing_Init, // FISHING_INIT, - Fishing_GetRodOut, // FISHING_GET_ROD_OUT, - Fishing_WaitBeforeDots, // FISHING_WAIT_BEFORE_DOTS, - Fishing_InitDots, // FISHING_START_ROUND, - Fishing_ShowDots, // FISHING_SHOW_DOTS, - Fishing_CheckForBite, // FISHING_CHECK_FOR_BITE, - Fishing_GotBite, // FISHING_GOT_BITE, - Fishing_ChangeMinigame, // FISHING_CHANGE_MINIGAME, - Fishing_WaitForA, // FISHING_WAIT_FOR_A, - Fishing_APressNoMinigame, // FISHING_A_PRESS_NO_MINIGAME, - Fishing_CheckMoreDots, // FISHING_CHECK_MORE_DOTS, - Fishing_MonOnHook, // FISHING_ON_HOOK, - Fishing_StartEncounter, // FISHING_START_ENCOUNTER, - Fishing_NotEvenNibble, // FISHING_NO_BITE, - Fishing_GotAway, // FISHING_GOT_AWAY, - Fishing_NoMon, // FISHING_SHOW_RESULT, - Fishing_PutRodAway, // FISHING_PUT_ROD_AWAY, - Fishing_EndNoMon, // FISHING_END_NO_MON, +static bool32 (*const sFishingStateFuncs[])(struct Task *) = +{ + [FISHING_INIT] = Fishing_Init, + [FISHING_GET_ROD_OUT] = Fishing_GetRodOut, + [FISHING_WAIT_BEFORE_DOTS] = Fishing_WaitBeforeDots, + [FISHING_INIT_DOTS] = Fishing_InitDots, + [FISHING_SHOW_DOTS] = Fishing_ShowDots, + [FISHING_CHECK_FOR_BITE] = Fishing_CheckForBite, + [FISHING_GOT_BITE] = Fishing_GotBite, + [FISHING_CHANGE_MINIGAME] = Fishing_ChangeMinigame, + [FISHING_WAIT_FOR_A] = Fishing_WaitForA, + [FISHING_A_PRESS_NO_MINIGAME] = Fishing_APressNoMinigame, + [FISHING_CHECK_MORE_DOTS] = Fishing_CheckMoreDots, + [FISHING_MON_ON_HOOK] = Fishing_MonOnHook, + [FISHING_START_ENCOUNTER] = Fishing_StartEncounter, + [FISHING_NOT_EVEN_NIBBLE] = Fishing_NotEvenNibble, + [FISHING_GOT_AWAY] = Fishing_GotAway, + [FISHING_NO_MON] = Fishing_NoMon, + [FISHING_PUT_ROD_AWAY] = Fishing_PutRodAway, + [FISHING_END_NO_MON] = Fishing_EndNoMon, }; void StartFishing(u8 rod) @@ -1740,15 +1740,15 @@ static void Task_Fishing(u8 taskId) ; } -static bool8 Fishing_Init(struct Task *task) +static bool32 Fishing_Init(struct Task *task) { LockPlayerFieldControls(); gPlayerAvatar.preventStep = TRUE; - task->tStep++; + task->tStep = FISHING_GET_ROD_OUT; return FALSE; } -static bool8 Fishing_GetRodOut(struct Task *task) +static bool32 Fishing_GetRodOut(struct Task *task) { struct ObjectEvent *playerObjEvent; const s16 minRounds1[] = { @@ -1769,27 +1769,27 @@ static bool8 Fishing_GetRodOut(struct Task *task) ObjectEventClearHeldMovementIfActive(playerObjEvent); playerObjEvent->enableAnim = TRUE; SetPlayerAvatarFishing(playerObjEvent->facingDirection); - task->tStep++; + task->tStep = FISHING_WAIT_BEFORE_DOTS; return FALSE; } -static bool8 Fishing_WaitBeforeDots(struct Task *task) +static bool32 Fishing_WaitBeforeDots(struct Task *task) { AlignFishingAnimationFrames(); // Wait one second task->tFrameCounter++; if (task->tFrameCounter >= 60) - task->tStep++; + task->tStep = FISHING_INIT_DOTS; return FALSE; } -static bool8 Fishing_InitDots(struct Task *task) +static bool32 Fishing_InitDots(struct Task *task) { u32 randVal; LoadMessageBoxAndFrameGfx(0, TRUE); - task->tStep++; + task->tStep = FISHING_SHOW_DOTS; task->tFrameCounter = 0; task->tNumDots = 0; randVal = Random(); @@ -1802,7 +1802,7 @@ static bool8 Fishing_InitDots(struct Task *task) return TRUE; } -static bool8 Fishing_ShowDots(struct Task *task) +static bool32 Fishing_ShowDots(struct Task *task) { const u8 dot[] = _("·"); @@ -1813,7 +1813,7 @@ static bool8 Fishing_ShowDots(struct Task *task) if (!DoesFishingMinigameAllowCancel()) return FALSE; - task->tStep = FISHING_NO_BITE; + task->tStep = FISHING_NOT_EVEN_NIBBLE; if (task->tRoundsPlayed != 0) task->tStep = FISHING_GOT_AWAY; return TRUE; @@ -1825,9 +1825,9 @@ static bool8 Fishing_ShowDots(struct Task *task) task->tFrameCounter = 0; if (task->tNumDots >= task->tDotsRequired) { - task->tStep++; + task->tStep = FISHING_CHECK_FOR_BITE; if (task->tRoundsPlayed != 0) - task->tStep++; + task->tStep = FISHING_GOT_BITE; task->tRoundsPlayed++; } else @@ -1840,17 +1840,17 @@ static bool8 Fishing_ShowDots(struct Task *task) } } -static bool8 Fishing_CheckForBite(struct Task *task) +static bool32 Fishing_CheckForBite(struct Task *task) { bool32 bite, firstMonHasSuctionOrSticky; AlignFishingAnimationFrames(); - task->tStep++; + task->tStep = FISHING_GOT_BITE; bite = FALSE; if (!DoesCurrentMapHaveFishingMons()) { - task->tStep = FISHING_NO_BITE; + task->tStep = FISHING_NOT_EVEN_NIBBLE; return TRUE; } @@ -1863,7 +1863,7 @@ static bool8 Fishing_CheckForBite(struct Task *task) bite = Fishing_RollForBite(FALSE); if (!bite) - task->tStep = FISHING_NO_BITE; + task->tStep = FISHING_NOT_EVEN_NIBBLE; if (bite) StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingBiteDirectionAnimNum(GetPlayerFacingDirection())); @@ -1871,16 +1871,16 @@ static bool8 Fishing_CheckForBite(struct Task *task) return TRUE; } -static bool8 Fishing_GotBite(struct Task *task) +static bool32 Fishing_GotBite(struct Task *task) { AlignFishingAnimationFrames(); AddTextPrinterParameterized(0, FONT_NORMAL, gText_OhABite, 0, 17, 0, NULL); - task->tStep++; + task->tStep = FISHING_CHANGE_MINIGAME; task->tFrameCounter = 0; return FALSE; } -static u8 Fishing_ChangeMinigame(struct Task *task) +static bool32 Fishing_ChangeMinigame(struct Task *task) { switch (I_FISHING_MINIGAME) { @@ -1897,7 +1897,7 @@ static u8 Fishing_ChangeMinigame(struct Task *task) } // We have a bite. Now, wait for the player to press A, or the timer to expire. -static bool8 Fishing_WaitForA(struct Task *task) +static bool32 Fishing_WaitForA(struct Task *task) { const s16 reelTimeouts[3] = { [OLD_ROD] = 36, @@ -1910,20 +1910,20 @@ static bool8 Fishing_WaitForA(struct Task *task) if (task->tFrameCounter >= reelTimeouts[task->tFishingRod]) task->tStep = FISHING_GOT_AWAY; else if (JOY_NEW(A_BUTTON)) - task->tStep++; + task->tStep = FISHING_CHECK_MORE_DOTS; return FALSE; } -static bool8 Fishing_APressNoMinigame(struct Task *task) +static bool32 Fishing_APressNoMinigame(struct Task *task) { AlignFishingAnimationFrames(); if (JOY_NEW(A_BUTTON)) - task->tStep = FISHING_ON_HOOK; + task->tStep = FISHING_MON_ON_HOOK; return FALSE; } // Determine if we're going to play the dot game again -static bool8 Fishing_CheckMoreDots(struct Task *task) +static bool32 Fishing_CheckMoreDots(struct Task *task) { const s16 moreDotsChance[][2] = { @@ -1933,10 +1933,10 @@ static bool8 Fishing_CheckMoreDots(struct Task *task) }; AlignFishingAnimationFrames(); - task->tStep++; + task->tStep = FISHING_MON_ON_HOOK; if (task->tRoundsPlayed < task->tMinRoundsRequired) { - task->tStep = FISHING_START_ROUND; + task->tStep = FISHING_INIT_DOTS; } else if (task->tRoundsPlayed < 2) { @@ -1944,22 +1944,22 @@ static bool8 Fishing_CheckMoreDots(struct Task *task) s16 probability = Random() % 100; if (moreDotsChance[task->tFishingRod][task->tRoundsPlayed] > probability) - task->tStep = FISHING_START_ROUND; + task->tStep = FISHING_INIT_DOTS; } return FALSE; } -static bool8 Fishing_MonOnHook(struct Task *task) +static bool32 Fishing_MonOnHook(struct Task *task) { AlignFishingAnimationFrames(); FillWindowPixelBuffer(0, PIXEL_FILL(1)); AddTextPrinterParameterized2(0, FONT_NORMAL, gText_PokemonOnHook, 1, 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); - task->tStep++; + task->tStep = FISHING_START_ENCOUNTER; task->tFrameCounter = 0; return FALSE; } -static bool8 Fishing_StartEncounter(struct Task *task) +static bool32 Fishing_StartEncounter(struct Task *task) { if (task->tFrameCounter == 0) AlignFishingAnimationFrames(); @@ -1995,36 +1995,36 @@ static bool8 Fishing_StartEncounter(struct Task *task) return FALSE; } -static bool8 Fishing_NotEvenNibble(struct Task *task) +static bool32 Fishing_NotEvenNibble(struct Task *task) { gChainFishingDexNavStreak = 0; AlignFishingAnimationFrames(); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingNoCatchDirectionAnimNum(GetPlayerFacingDirection())); FillWindowPixelBuffer(0, PIXEL_FILL(1)); AddTextPrinterParameterized2(0, FONT_NORMAL, gText_NotEvenANibble, 1, 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); - task->tStep = FISHING_SHOW_RESULT; + task->tStep = FISHING_NO_MON; return TRUE; } -static bool8 Fishing_GotAway(struct Task *task) +static bool32 Fishing_GotAway(struct Task *task) { gChainFishingDexNavStreak = 0; AlignFishingAnimationFrames(); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingNoCatchDirectionAnimNum(GetPlayerFacingDirection())); FillWindowPixelBuffer(0, PIXEL_FILL(1)); AddTextPrinterParameterized2(0, FONT_NORMAL, gText_ItGotAway, 1, 0, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); - task->tStep++; + task->tStep = FISHING_NO_MON; return TRUE; } -static bool8 Fishing_NoMon(struct Task *task) +static bool32 Fishing_NoMon(struct Task *task) { AlignFishingAnimationFrames(); - task->tStep++; + task->tStep = FISHING_PUT_ROD_AWAY; return FALSE; } -static bool8 Fishing_PutRodAway(struct Task *task) +static bool32 Fishing_PutRodAway(struct Task *task) { AlignFishingAnimationFrames(); if (gSprites[gPlayerAvatar.spriteId].animEnded) @@ -2037,12 +2037,12 @@ static bool8 Fishing_PutRodAway(struct Task *task) SetSurfBlob_PlayerOffset(gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId, FALSE, 0); gSprites[gPlayerAvatar.spriteId].x2 = 0; gSprites[gPlayerAvatar.spriteId].y2 = 0; - task->tStep++; + task->tStep = FISHING_END_NO_MON; } return FALSE; } -static bool8 Fishing_EndNoMon(struct Task *task) +static bool32 Fishing_EndNoMon(struct Task *task) { RunTextPrinters(); if (!IsTextPrinterActive(0)) diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 9338fe183d17..e39a0c6c1f78 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -7,11 +7,13 @@ #include "field_effect.h" #include "event_object_lock.h" #include "event_object_movement.h" +#include "event_scripts.h" #include "field_player_avatar.h" #include "field_screen_effect.h" #include "field_special_scene.h" #include "field_weather.h" #include "gpu_regs.h" +#include "heal_location.h" #include "io_reg.h" #include "link.h" #include "link_rfu.h" @@ -26,10 +28,13 @@ #include "script.h" #include "sound.h" #include "start_menu.h" +#include "strings.h" +#include "string_util.h" #include "task.h" #include "text.h" #include "constants/event_object_movement.h" #include "constants/event_objects.h" +#include "constants/heal_locations.h" #include "constants/songs.h" #include "constants/rgb.h" #include "trainer_hill.h" @@ -1274,3 +1279,112 @@ static void Task_EnableScriptAfterMusicFade(u8 taskId) ScriptContext_Enable(); } } + +static const struct WindowTemplate sWindowTemplate_WhiteoutText = +{ + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 5, + .width = 30, + .height = 11, + .paletteNum = 15, + .baseBlock = 1, +}; + +static const u8 sWhiteoutTextColors[] = { TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GRAY }; + +#define tState data[0] +#define tWindowId data[1] +#define tPrintState data[2] +#define tIsPlayerHouse data[3] + +static bool32 PrintWhiteOutRecoveryMessage(u8 taskId, const u8 *text, u32 x, u32 y) +{ + u32 windowId = gTasks[taskId].tWindowId; + + switch (gTasks[taskId].tPrintState) + { + case 0: + FillWindowPixelBuffer(windowId, PIXEL_FILL(0)); + StringExpandPlaceholders(gStringVar4, text); + AddTextPrinterParameterized4(windowId, FONT_NORMAL, x, y, 1, 0, sWhiteoutTextColors, 1, gStringVar4); + gTextFlags.canABSpeedUpPrint = FALSE; + gTasks[taskId].tPrintState = 1; + break; + case 1: + RunTextPrinters(); + if (!IsTextPrinterActive(windowId)) + { + gTasks[taskId].tPrintState = 0; + return TRUE; + } + break; + } + return FALSE; +} + +enum { + FRLG_WHITEOUT_ENTER_MSG_SCREEN, + FRLG_WHITEOUT_PRINT_MSG, + FRLG_WHITEOUT_LEAVE_MSG_SCREEN, + FRLG_WHITEOUT_HEAL_SCRIPT, +}; + +static void Task_RushInjuredPokemonToCenter(u8 taskId) +{ + u32 windowId; + + switch (gTasks[taskId].tState) + { + case FRLG_WHITEOUT_ENTER_MSG_SCREEN: + windowId = AddWindow(&sWindowTemplate_WhiteoutText); + gTasks[taskId].tWindowId = windowId; + Menu_LoadStdPalAt(BG_PLTT_ID(15)); + FillWindowPixelBuffer(windowId, PIXEL_FILL(0)); + PutWindowTilemap(windowId); + CopyWindowToVram(windowId, COPYWIN_FULL); + + gTasks[taskId].tIsPlayerHouse = IsLastHealLocationPlayerHouse(); + gTasks[taskId].tState = FRLG_WHITEOUT_PRINT_MSG; + break; + case FRLG_WHITEOUT_PRINT_MSG: + { + const u8 *recoveryMessage = gTasks[taskId].tIsPlayerHouse == TRUE ? gText_PlayerScurriedBackHome : gText_PlayerScurriedToCenter; + if (PrintWhiteOutRecoveryMessage(taskId, recoveryMessage, 2, 8)) + { + ObjectEventTurn(&gObjectEvents[gPlayerAvatar.objectEventId], DIR_NORTH); + gTasks[taskId].tState = FRLG_WHITEOUT_LEAVE_MSG_SCREEN; + } + break; + } + case FRLG_WHITEOUT_LEAVE_MSG_SCREEN: + windowId = gTasks[taskId].tWindowId; + ClearWindowTilemap(windowId); + CopyWindowToVram(windowId, COPYWIN_MAP); + RemoveWindow(windowId); + FillPalBufferBlack(); + FadeInFromBlack(); + gTasks[taskId].tState = FRLG_WHITEOUT_HEAL_SCRIPT; + break; + case FRLG_WHITEOUT_HEAL_SCRIPT: + if (WaitForWeatherFadeIn() == TRUE) + { + DestroyTask(taskId); + if (gTasks[taskId].tIsPlayerHouse) + ScriptContext_SetupScript(EventScript_AfterWhiteOutMomHeal); + else + ScriptContext_SetupScript(EventScript_AfterWhiteOutHeal); + } + break; + } +} + +void FieldCB_RushInjuredPokemonToCenter(void) +{ + u8 taskId; + + LockPlayerFieldControls(); + FillPalBufferBlack(); + taskId = CreateTask(Task_RushInjuredPokemonToCenter, 10); + gTasks[taskId].tState = FRLG_WHITEOUT_ENTER_MSG_SCREEN; +} diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index 3b9d8f9f9e86..cf31e862c3c7 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -771,7 +771,7 @@ void Snow_InitVars(void) gWeatherPtr->weatherGfxLoaded = FALSE; gWeatherPtr->targetColorMapIndex = 0; gWeatherPtr->colorMapStepDelay = 20; - gWeatherPtr->targetSnowflakeSpriteCount = 16; + gWeatherPtr->targetSnowflakeSpriteCount = NUM_SNOWFLAKE_SPRITES; gWeatherPtr->snowflakeVisibleCounter = 0; } diff --git a/src/graphics.c b/src/graphics.c index 58c629fbc9ed..c35cec3467e2 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -465,6 +465,12 @@ const u32 gBattleAnimSpriteGfx_SyrupSplat[] = INCBIN_U32("graphics/battle_anims/ const u32 gBattleAnimSpritePal_SyrupRed[] = INCBIN_U32("graphics/battle_anims/sprites/syrup_red.gbapal.lz"); const u32 gBattleAnimSpritePal_SyrupYellow[] = INCBIN_U32("graphics/battle_anims/sprites/syrup_yellow.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_IvyCudgel[] = INCBIN_U32("graphics/battle_anims/sprites/cudgel.4bpp.lz"); +const u32 gBattleAnimSpritePal_IvyCudgelGrass[] = INCBIN_U32("graphics/pokemon/ogerpon/normal.gbapal.lz"); +const u32 gBattleAnimSpritePal_IvyCudgelFire[] = INCBIN_U32("graphics/pokemon/ogerpon/hearthflame/normal.gbapal.lz"); +const u32 gBattleAnimSpritePal_IvyCudgelRock[] = INCBIN_U32("graphics/pokemon/ogerpon/cornerstone/normal.gbapal.lz"); +const u32 gBattleAnimSpritePal_IvyCudgelWater[] = INCBIN_U32("graphics/pokemon/ogerpon/wellspring/normal.gbapal.lz"); + // old battle interface data, unused const u32 gOldBattleInterfaceGfx[] = INCBIN_U32("graphics/unused/obi1.4bpp.lz"); diff --git a/src/heal_location.c b/src/heal_location.c index 0ab5540346f3..7193ea338e10 100644 --- a/src/heal_location.c +++ b/src/heal_location.c @@ -1,8 +1,11 @@ #include "global.h" +#include "event_data.h" #include "heal_location.h" #include "constants/heal_locations.h" +#include "constants/maps.h" #include "data/heal_locations.h" +#include "data/heal_locations_pkm_center.h" u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum) { @@ -26,6 +29,20 @@ const struct HealLocation *GetHealLocationByMap(u16 mapGroup, u16 mapNum) return &sHealLocations[index - 1]; } +u32 GetHealLocationIndexByWarpData(struct WarpData *warp) +{ + u32 i; + for (i = 0; i < ARRAY_COUNT(sHealLocations); i++) + { + if (sHealLocations[i].group == warp->mapGroup + && sHealLocations[i].map == warp->mapNum + && sHealLocations[i].x == warp->x + && sHealLocations[i].y == warp->y) + return i + 1; + } + return HEAL_LOCATION_NONE; +} + const struct HealLocation *GetHealLocation(u32 index) { if (index == HEAL_LOCATION_NONE) @@ -35,3 +52,55 @@ const struct HealLocation *GetHealLocation(u32 index) else return &sHealLocations[index - 1]; } + +static bool32 IsLastHealLocation(u32 healLocation) +{ + const struct HealLocation *loc = GetHealLocation(healLocation); + const struct WarpData *warpData = &gSaveBlock1Ptr->lastHealLocation; + + return warpData->mapGroup == loc->group + && warpData->mapNum == loc->map + && warpData->warpId == WARP_ID_NONE + && warpData->x == loc->x + && warpData->y == loc->y; +} + +bool32 IsLastHealLocationPlayerHouse() +{ + if (IsLastHealLocation(HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE) + || IsLastHealLocation(HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F) + || IsLastHealLocation(HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE) + || IsLastHealLocation(HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F)) + return TRUE; + + return FALSE; +} + +u32 GetHealNpcLocalId(u32 healLocationId) +{ + if (healLocationId == HEAL_LOCATION_NONE || healLocationId >= HEAL_LOCATION_COUNT) + return 0; + + return sHealNpcLocalId[healLocationId - 1]; +} + +void SetWhiteoutRespawnWarpAndHealerNPC(struct WarpData *warp) +{ + u32 healLocationId = GetHealLocationIndexByWarpData(&gSaveBlock1Ptr->lastHealLocation); + u32 healNpcLocalId = GetHealNpcLocalId(healLocationId); + struct HealLocation pkmCenterHealLocation; + + if (!healNpcLocalId) + { + *(warp) = gSaveBlock1Ptr->lastHealLocation; + return; + } + + pkmCenterHealLocation = sHealLocationsPokemonCenter[healLocationId - 1]; + warp->mapGroup = pkmCenterHealLocation.group; + warp->mapNum = pkmCenterHealLocation.map; + warp->warpId = WARP_ID_NONE; + warp->x = pkmCenterHealLocation.x; + warp->y = pkmCenterHealLocation.y; + gSpecialVar_LastTalked = healNpcLocalId; +} diff --git a/src/overworld.c b/src/overworld.c index a9606578dcdc..babdfad7b6e9 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -689,9 +689,19 @@ void SetWarpDestinationToHealLocation(u8 healLocationId) SetWarpDestination(healLocation->group, healLocation->map, WARP_ID_NONE, healLocation->x, healLocation->y); } +static bool32 IsFRLGWhiteout(void) +{ + if (!OW_FRLG_WHITEOUT) + return FALSE; + return GetHealNpcLocalId(GetHealLocationIndexByWarpData(&gSaveBlock1Ptr->lastHealLocation)) > 0; +} + void SetWarpDestinationToLastHealLocation(void) { - sWarpDestination = gSaveBlock1Ptr->lastHealLocation; + if (IsFRLGWhiteout()) + SetWhiteoutRespawnWarpAndHealerNPC(&sWarpDestination); + else + sWarpDestination = gSaveBlock1Ptr->lastHealLocation; } void SetLastHealLocationWarp(u8 healLocationId) @@ -1611,7 +1621,10 @@ void CB2_WhiteOut(void) ResetInitialPlayerAvatarState(); ScriptContext_Init(); UnlockPlayerFieldControls(); - gFieldCallback = FieldCB_WarpExitFadeFromBlack; + if (IsFRLGWhiteout()) + gFieldCallback = FieldCB_RushInjuredPokemonToCenter; + else + gFieldCallback = FieldCB_WarpExitFadeFromBlack; state = 0; DoMapLoadLoop(&state); SetFieldVBlankCallback(); diff --git a/src/party_menu.c b/src/party_menu.c index 2fd666d10d73..5214ddc2be63 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -2987,6 +2987,9 @@ static void CB2_ReturnToPartyMenuFromSummaryScreen(void) static void CursorCb_Switch(u8 taskId) { + // Reset follower steps when the party leader is changed + if (gPartyMenu.slotId == 0 || gPartyMenu.slotId2 == 0) + gFollowerSteps = 0; PlaySE(SE_SELECT); gPartyMenu.action = PARTY_ACTION_SWITCH; PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]); diff --git a/src/pokedex_plus_hgss.c b/src/pokedex_plus_hgss.c index 3788ea4c44e4..fa5279441b32 100644 --- a/src/pokedex_plus_hgss.c +++ b/src/pokedex_plus_hgss.c @@ -249,7 +249,7 @@ static const u8 sText_EVO_USE_MOVE_TWENTY_TIMES[] = _("{LV}{UP_ARROW} after 20x 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_DEFEAT_WITH_ITEM[] = _("{LV}{UP_ARROW} defeating {STR_VAR_3} holding {STR_VAR_2}"); +static const u8 sText_EVO_DEFEAT_THREE_WITH_ITEM[] = _("{LV}{UP_ARROW} defeating 3 {STR_VAR_3} holding {STR_VAR_2}"); static const u8 sText_EVO_OVERWORLD_STEPS[] = _("{LV}{UP_ARROW} after {STR_VAR_2} steps"); static const u8 sText_EVO_UNKNOWN[] = _("Method unknown"); static const u8 sText_EVO_NONE[] = _("{STR_VAR_1} has no evolution."); @@ -6629,11 +6629,11 @@ static void PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species, u8 dept CopyItemName(item, gStringVar2); StringExpandPlaceholders(gStringVar4, sText_EVO_ITEM_COUNT_999); break; - case EVO_DEFEAT_WITH_ITEM: + case EVO_DEFEAT_THREE_WITH_ITEM: item = evolutions[i].param; CopyItemName(item, gStringVar2); StringCopy(gStringVar3, GetSpeciesName(species)); - StringExpandPlaceholders(gStringVar4, sText_EVO_DEFEAT_WITH_ITEM); + StringExpandPlaceholders(gStringVar4, sText_EVO_DEFEAT_THREE_WITH_ITEM); break; case EVO_OVERWORLD_STEPS: ConvertIntToDecimalStringN(gStringVar2, evolutions[i].param, STR_CONV_MODE_LEADING_ZEROS, 4); diff --git a/src/pokemon.c b/src/pokemon.c index 1fd18f510eba..2b731ef13cfa 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -85,6 +85,7 @@ EWRAM_DATA struct Pokemon gEnemyParty[PARTY_SIZE] = {0}; EWRAM_DATA struct SpriteTemplate gMultiuseSpriteTemplate = {0}; EWRAM_DATA static struct MonSpritesGfxManager *sMonSpritesGfxManagers[MON_SPR_GFX_MANAGERS_COUNT] = {NULL}; EWRAM_DATA static u8 sTriedEvolving = 0; +EWRAM_DATA u16 gFollowerSteps = 0; #include "data/moves_info.h" #include "data/abilities.h" @@ -1205,7 +1206,8 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, else { u32 iv; - value = Random(); + u32 ivRandom = Random32(); + value = (u16)ivRandom; iv = value & MAX_IV_MASK; SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv); @@ -1214,7 +1216,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, iv = (value & (MAX_IV_MASK << 10)) >> 10; SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv); - value = Random(); + value = (u16)(ivRandom >> 16); iv = value & MAX_IV_MASK; SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv); @@ -4703,12 +4705,12 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, s if (evolutionTracker >= evolutions[i].param && GetMonGender(mon) == MON_FEMALE) targetSpecies = evolutions[i].targetSpecies; break; - case EVO_DEFEAT_WITH_ITEM: + case EVO_DEFEAT_THREE_WITH_ITEM: if (evolutionTracker >= 3) targetSpecies = evolutions[i].targetSpecies; break; case EVO_OVERWORLD_STEPS: - if (evolutionTracker >= evolutions[i].param) + if (mon == GetFirstLiveMon() && gFollowerSteps >= evolutions[i].param) targetSpecies = evolutions[i].targetSpecies; break; } diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index c846e8facf82..fe65df011485 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -6,6 +6,7 @@ #include "dma3.h" #include "dynamic_placeholder_text_util.h" #include "event_data.h" +#include "event_object_movement.h" #include "field_screen_effect.h" #include "field_weather.h" #include "fldeff_misc.h" @@ -6412,9 +6413,15 @@ static void RefreshDisplayMon(void) static void SetMovingMonData(u8 boxId, u8 position) { if (boxId == TOTAL_BOXES_COUNT) + { sStorage->movingMon = gPlayerParty[sCursorPosition]; + if (&gPlayerParty[sCursorPosition] == GetFirstLiveMon()) + gFollowerSteps = 0; + } else + { BoxMonAtToMon(boxId, position, &sStorage->movingMon); + } PurgeMonOrBoxMon(boxId, position); sMovingMonOrigBoxId = boxId; @@ -6427,9 +6434,15 @@ static void SetPlacedMonData(u8 boxId, u8 position) HealPokemon(&sStorage->movingMon); if (boxId == TOTAL_BOXES_COUNT) + { gPlayerParty[position] = sStorage->movingMon; + if (&gPlayerParty[position] == GetFirstLiveMon()) + gFollowerSteps = 0; + } else + { SetBoxMonAt(boxId, position, &sStorage->movingMon.box); + } } static void PurgeMonOrBoxMon(u8 boxId, u8 position) diff --git a/src/script_pokemon_util.c b/src/script_pokemon_util.c index 810b329aa10c..e732dc7aa239 100644 --- a/src/script_pokemon_util.c +++ b/src/script_pokemon_util.c @@ -396,7 +396,7 @@ static u32 ScriptGiveMonParameterized(u8 side, u8 slot, u16 species, u8 level, u SetMonData(&mon, MON_DATA_ABILITY_NUM, &abilityNum); // ball - if (ball >= POKEBALL_COUNT) + if (ball > LAST_BALL) ball = ITEM_POKE_BALL; SetMonData(&mon, MON_DATA_POKEBALL, &ball); diff --git a/src/strings.c b/src/strings.c index 254378d37920..28ed992d43c8 100644 --- a/src/strings.c +++ b/src/strings.c @@ -1295,6 +1295,8 @@ const u8 gText_Sorry[] = _("SORRY"); const u8 gText_YaySmileEmoji[] = _("YAY{EMOJI_BIGSMILE}"); const u8 gText_ThankYou[] = _("THANK YOU"); const u8 gText_ByeBye[] = _("BYE-BYE!"); +const u8 gText_PlayerScurriedToCenter[] = _("{PLAYER} scurried to a POKéMON CENTER,\nprotecting the exhausted and fainted\nPOKéMON from further harm…\p"); +const u8 gText_PlayerScurriedBackHome[] = _("{PLAYER} scurried back home, protecting\nthe exhausted and fainted POKéMON from\nfurther harm…\p"); const u8 gText_MatchCallSteven_Strategy[] = _("Attack the weak points!"); const u8 gText_MatchCallSteven_Pokemon[] = _("Ultimate STEEL POKéMON."); const u8 gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle[] = _("I'd climb even waterfalls"); diff --git a/test/battle/ability/disguise.c b/test/battle/ability/disguise.c index 7d3e36bf7857..c4f79d8fe350 100644 --- a/test/battle/ability/disguise.c +++ b/test/battle/ability/disguise.c @@ -121,3 +121,16 @@ SINGLE_BATTLE_TEST("Disguised Mimikyu takes damage from Rough Skin without break EXPECT_EQ(player->species, SPECIES_MIMIKYU_DISGUISED); } } + +SINGLE_BATTLE_TEST("Disguised Mimikyu is ignored by Mold Breaker") +{ + GIVEN { + PLAYER(SPECIES_MIMIKYU_DISGUISED) { Ability(ABILITY_DISGUISE); } + OPPONENT(SPECIES_PINSIR) { Ability(ABILITY_MOLD_BREAKER); } + } WHEN { + TURN { MOVE(opponent, MOVE_AERIAL_ACE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_AERIAL_ACE, opponent); + NOT ABILITY_POPUP(player, ABILITY_DISGUISE); + } +} diff --git a/test/battle/ability/shield_dust.c b/test/battle/ability/shield_dust.c index 25ab1a5c751d..d1785bd69e1b 100644 --- a/test/battle/ability/shield_dust.c +++ b/test/battle/ability/shield_dust.c @@ -164,3 +164,15 @@ SINGLE_BATTLE_TEST("Shield Dust blocks Sparkling Aria in singles") } } } + +SINGLE_BATTLE_TEST("Shield Dust does not prevent ability stat changes") +{ + GIVEN { + PLAYER(SPECIES_VIVILLON) { Ability(ABILITY_SHIELD_DUST); } + OPPONENT(SPECIES_ELDEGOSS) { Ability(ABILITY_COTTON_DOWN); } + } WHEN { + TURN { MOVE(player, MOVE_TACKLE); } + } SCENE { + MESSAGE("Vivillon's Speed fell!"); + } +} diff --git a/test/battle/ability/stalwart.c b/test/battle/ability/stalwart.c new file mode 100644 index 000000000000..289f25dd1c80 --- /dev/null +++ b/test/battle/ability/stalwart.c @@ -0,0 +1,55 @@ +#include "global.h" +#include "test/battle.h" + +DOUBLE_BATTLE_TEST("Stalwart ignores redirection from Follow-Me") +{ + GIVEN { + PLAYER(SPECIES_ARCHALUDON) { Ability(ABILITY_STALWART); } + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_FOLLOW_ME); MOVE(playerLeft, MOVE_DRACO_METEOR, target: opponentRight); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FOLLOW_ME, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRACO_METEOR, playerLeft); + HP_BAR(opponentRight); + NOT HP_BAR(opponentLeft); + } +} + +DOUBLE_BATTLE_TEST("Stalwart stops Lightning Rod and Storm Drain from redirecting moves") +{ + u32 ability, species; + PARAMETRIZE { ability = ABILITY_STORM_DRAIN; species = SPECIES_LUMINEON; } + PARAMETRIZE { ability = ABILITY_LIGHTNING_ROD; species = SPECIES_RAICHU; } + GIVEN { + ASSUME(gMovesInfo[MOVE_SPARK].type == TYPE_ELECTRIC); + ASSUME(gMovesInfo[MOVE_WATER_GUN].type == TYPE_WATER); + PLAYER(SPECIES_WOBBUFFET) { Ability(ABILITY_STALWART); } + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(species) { Ability(ability); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { + if (ability == ABILITY_LIGHTNING_ROD) + MOVE(playerLeft, MOVE_SPARK, target: opponentRight); + else + MOVE(playerLeft, MOVE_WATER_GUN, target: opponentRight); + } + } SCENE { + if (B_REDIRECT_ABILITY_IMMUNITY >= GEN_5) { + HP_BAR(opponentRight); + NONE_OF { + ABILITY_POPUP(opponentLeft, ability); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); + MESSAGE("Foe Raichu's Sp. Atk rose!"); + } + } else { + HP_BAR(opponentRight); + NONE_OF { + HP_BAR(opponentLeft); + } + } + } +} diff --git a/test/battle/ai/ai_check_viability.c b/test/battle/ai/ai_check_viability.c index 05fc88f180f7..7833cca52c3a 100644 --- a/test/battle/ai/ai_check_viability.c +++ b/test/battle/ai/ai_check_viability.c @@ -203,7 +203,7 @@ AI_DOUBLE_BATTLE_TEST("AI chooses moves that cure self or partner") GIVEN { ASSUME(gMovesInfo[MOVE_HEAL_BELL].effect == EFFECT_HEAL_BELL); - ASSUME(B_HEAL_BELL_SOUNDPROOF >= GEN_9); + ASSUME(B_HEAL_BELL_SOUNDPROOF >= GEN_8); AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET); diff --git a/test/battle/damage_formula.c b/test/battle/damage_formula.c index d89fb7e7fd90..473f631b1114 100644 --- a/test/battle/damage_formula.c +++ b/test/battle/damage_formula.c @@ -116,3 +116,37 @@ SINGLE_BATTLE_TEST("Damage calculation matches Gen5+ (Marshadow vs Mawile)") EXPECT_EQ(expectedDamage, dmg); } } + +DOUBLE_BATTLE_TEST("A spread move will do correct damage to the second mon if the first target faints from first hit of the spread move") +{ + s16 damage[6]; + GIVEN { + PLAYER(SPECIES_REGIROCK); + PLAYER(SPECIES_REGIROCK); + OPPONENT(SPECIES_WOBBUFFET) { HP(200); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerLeft, MOVE_ROCK_SLIDE); } + TURN { MOVE(playerLeft, MOVE_ROCK_SLIDE); MOVE(playerRight, MOVE_ROCK_SLIDE); } + TURN { MOVE(playerLeft, MOVE_ROCK_SLIDE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_ROCK_SLIDE, playerLeft); + HP_BAR(opponentLeft, captureDamage: &damage[0]); + HP_BAR(opponentRight, captureDamage: &damage[1]); + + ANIMATION(ANIM_TYPE_MOVE, MOVE_ROCK_SLIDE, playerLeft); + HP_BAR(opponentLeft, captureDamage: &damage[2]); + HP_BAR(opponentRight, captureDamage: &damage[3]); + + ANIMATION(ANIM_TYPE_MOVE, MOVE_ROCK_SLIDE, playerRight); + HP_BAR(opponentRight, captureDamage: &damage[4]); + + ANIMATION(ANIM_TYPE_MOVE, MOVE_ROCK_SLIDE, playerLeft); + HP_BAR(opponentRight, captureDamage: &damage[5]); + } THEN { + EXPECT_EQ(damage[0], damage[1]); + EXPECT_EQ(damage[1], damage[3]); + EXPECT_MUL_EQ(damage[5], UQ_4_12(0.75), damage[3]); + EXPECT_EQ(damage[4], damage[5]); + } +} diff --git a/test/battle/item_effect/covert_cloak.c b/test/battle/hold_effect/covert_cloak.c similarity index 93% rename from test/battle/item_effect/covert_cloak.c rename to test/battle/hold_effect/covert_cloak.c index 4e00ece8f585..e15bca3b9f42 100644 --- a/test/battle/item_effect/covert_cloak.c +++ b/test/battle/hold_effect/covert_cloak.c @@ -1,6 +1,11 @@ #include "global.h" #include "test/battle.h" +ASSUMPTIONS +{ + ASSUME(gItemsInfo[ITEM_COVERT_CLOAK].holdEffect == HOLD_EFFECT_COVERT_CLOAK); +} + SINGLE_BATTLE_TEST("Covert Cloak blocks secondary effects") { u16 move; @@ -162,3 +167,15 @@ SINGLE_BATTLE_TEST("Covert Cloak blocks Sparkling Aria in singles") } } } + +SINGLE_BATTLE_TEST("Covert Cloak does not prevent ability stat changes") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_COVERT_CLOAK); } + OPPONENT(SPECIES_ELDEGOSS) { Ability(ABILITY_COTTON_DOWN); } + } WHEN { + TURN { MOVE(player, MOVE_TACKLE); } + } SCENE { + MESSAGE("Wobbuffet's Speed fell!"); + } +} diff --git a/test/battle/move_effect/fury_cutter.c b/test/battle/move_effect/fury_cutter.c index cf3871964e5b..b193882d3702 100644 --- a/test/battle/move_effect/fury_cutter.c +++ b/test/battle/move_effect/fury_cutter.c @@ -36,3 +36,27 @@ SINGLE_BATTLE_TEST("Fury Cutter power doubles with each use, up to 160 power") EXPECT_EQ(damage[maxTurns - 2], damage[maxTurns - 1]); } } + +SINGLE_BATTLE_TEST("Fury Cutter counter is the same for both hits of Parental Bond") +{ + s16 damage[4]; + + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Ability(ABILITY_PARENTAL_BOND); } + OPPONENT(SPECIES_REGIROCK); + } WHEN { + TURN { MOVE(player, MOVE_FURY_CUTTER); } + TURN { MOVE(player, MOVE_FURY_CUTTER); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FURY_CUTTER, player); + HP_BAR(opponent, captureDamage: &damage[0]); + HP_BAR(opponent, captureDamage: &damage[1]); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FURY_CUTTER, player); + HP_BAR(opponent, captureDamage: &damage[2]); + HP_BAR(opponent, captureDamage: &damage[3]); + } THEN { + EXPECT_MUL_EQ(damage[0], B_PARENTAL_BOND_DMG >= GEN_7 ? UQ_4_12(0.25) : UQ_4_12(0.5), damage[1]); + EXPECT_MUL_EQ(damage[2], B_PARENTAL_BOND_DMG >= GEN_7 ? UQ_4_12(0.25) : UQ_4_12(0.5), damage[3]); + EXPECT_NE(damage[0], damage[2]); + } +} diff --git a/test/battle/move_effect/heal_bell.c b/test/battle/move_effect/heal_bell.c index 7c01d0cfd3f9..8bd6c1f45679 100644 --- a/test/battle/move_effect/heal_bell.c +++ b/test/battle/move_effect/heal_bell.c @@ -88,7 +88,7 @@ SINGLE_BATTLE_TEST("Heal Bell cures inactive soundproof Pokemon") SINGLE_BATTLE_TEST("Heal Bell cures a soundproof user") { - ASSUME(B_HEAL_BELL_SOUNDPROOF == GEN_5 || B_HEAL_BELL_SOUNDPROOF >= GEN_9); + ASSUME(B_HEAL_BELL_SOUNDPROOF == GEN_5 || B_HEAL_BELL_SOUNDPROOF >= GEN_8); GIVEN { PLAYER(SPECIES_EXPLOUD) { Ability(ABILITY_SOUNDPROOF); Status1(STATUS1_POISON); } diff --git a/test/species.c b/test/species.c index d09f1e3eb93a..2d702b6c453b 100644 --- a/test/species.c +++ b/test/species.c @@ -116,12 +116,7 @@ TEST("No species has two evolutions that use the evolution tracker") for (i = 0; evolutions[i].method != EVOLUTIONS_END; i++) { if (evolutions[i].method == EVO_USE_MOVE_TWENTY_TIMES - #ifdef EVO_DEFEAT_WITH_ITEM - || evolutions[i].method == EVO_DEFEAT_WITH_ITEM - #endif //EVO_DEFEAT_WITH_ITEM - #ifdef EVO_OVERWORLD_STEPS - || evolutions[i].method == EVO_OVERWORLD_STEPS - #endif //EVO_OVERWORLD_STEPS + || evolutions[i].method == EVO_DEFEAT_THREE_WITH_ITEM ) evolutionTrackerEvolutions++; diff --git a/tools/trainerproc/main.c b/tools/trainerproc/main.c index c6eb99cb9516..bd18995a2e12 100644 --- a/tools/trainerproc/main.c +++ b/tools/trainerproc/main.c @@ -1057,6 +1057,9 @@ static const struct { { "Genesect-Chill", "Genesect", "Chill Drive" }, { "Genesect-Douse", "Genesect", "Douse Drive" }, { "Genesect-Shock", "Genesect", "Shock Drive" }, + { "Ogerpon-Cornerstone", "Ogerpon", "Cornerstone Mask" }, + { "Ogerpon-Hearthflame", "Ogerpon", "Hearthflame Mask" }, + { "Ogerpon-Wellspring", "Ogerpon", "Wellspring Mask" }, { "Silvally-Bug", "Silvally", "Bug Memory" }, { "Silvally-Dark", "Silvally", "Dark Memory" }, { "Silvally-Dragon", "Silvally", "Dragon Memory" },