```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.12.0 `. ``` ## 🌋 *REFACTORS* 🌋 📜 = Uses a migration script. * Minor Recoil Effect refactor by @AlexOn1ine in [#6409](https://github.com/rh-hideout/pokeemerald-expansion/pull/6409) * Refactor HasWeatherEffect and IsUnnerveAbilityOnOpposingSide by @AlexOn1ine in [#6441](https://github.com/rh-hideout/pokeemerald-expansion/pull/6441) * Refactor the function IsAbilityPreventingEscape by @AlexOn1ine in [#6439](https://github.com/rh-hideout/pokeemerald-expansion/pull/6439) * Unifies dynamic move category checks by @AlexOn1ine in [#6443](https://github.com/rh-hideout/pokeemerald-expansion/pull/6443) * Refactors faint target abilities and adds Battle Bond config by @AlexOn1ine in [#6519](https://github.com/rh-hideout/pokeemerald-expansion/pull/6519) * Refactor protect to allow at least 126 different types of protect eff… by @AlexOn1ine in [#6506](https://github.com/rh-hideout/pokeemerald-expansion/pull/6506) * Refactor / Simlify Cmd_adjustdamage and remove redundancy by @AlexOn1ine in [#6499](https://github.com/rh-hideout/pokeemerald-expansion/pull/6499) * Refactors Move absorb / block function calls to remove redundancy by @AlexOn1ine in [#6490](https://github.com/rh-hideout/pokeemerald-expansion/pull/6490) * Refactor fixed damage moves by @AlexOn1ine in [#6449](https://github.com/rh-hideout/pokeemerald-expansion/pull/6449) * EndTurnEffectOrder Refactor by @AlexOn1ine in [#6224](https://github.com/rh-hideout/pokeemerald-expansion/pull/6224) * Refactor hit escape moves to use moveend by @AlexOn1ine in [#6671](https://github.com/rh-hideout/pokeemerald-expansion/pull/6671) * 📜 Evolution Refactor by @khbsd, @AsparagusEduardo for everything he did, including #6530! and @AlexOn1ine for writing the migration script! in [#6556](https://github.com/rh-hideout/pokeemerald-expansion/pull/6556) - make sure to back up your alcremie evolution data if you have it implemented already: pulling this will overwrite it * Centralizes non volatile status effect checks by @AlexOn1ine in [#6533](https://github.com/rh-hideout/pokeemerald-expansion/pull/6533) * Refactor battler flee and watch options + clean up by @AlexOn1ine in [#6724](https://github.com/rh-hideout/pokeemerald-expansion/pull/6724) * Refactor AI flags to u64 by @Pawkkie and @DizzyEggg, @AlexOn1ine, @hedara90 in [#6753](https://github.com/rh-hideout/pokeemerald-expansion/pull/6753) * Refactor battler message ids by @AlexOn1ine in [#6765](https://github.com/rh-hideout/pokeemerald-expansion/pull/6765) * Refactor stockpile resets by @AlexOn1ine in [#6810](https://github.com/rh-hideout/pokeemerald-expansion/pull/6810) * Move out ai structs out of BattleResources by @AlexOn1ine in [#6741](https://github.com/rh-hideout/pokeemerald-expansion/pull/6741) * Consolidates a bunch of battle controller functions by @Bassoonian in [#6838](https://github.com/rh-hideout/pokeemerald-expansion/pull/6838) * Further moveend changes (move blocks) by @AlexOn1ine in [#6820](https://github.com/rh-hideout/pokeemerald-expansion/pull/6820) * Added weather accuracy move flags by @AsparagusEduardo in [#6857](https://github.com/rh-hideout/pokeemerald-expansion/pull/6857) - Removed `EFFECT_THUNDER`, `EFFECT_BLIZZARD` and `EFFECT_RAIN_ALWAYS_HIT` effects in favor of `alwaysHitsInRain`, `alwaysHitsInHailSnow` and `accuracy50InSun` move flags. * Remove non-volatile status EFFECTs by @AsparagusEduardo in [#6772](https://github.com/rh-hideout/pokeemerald-expansion/pull/6772) * 📜 Remove compressed palettes by @hedara90 in [#6455](https://github.com/rh-hideout/pokeemerald-expansion/pull/6455) - All handling for compressed palettes has been removed, use `u16 *` for palettes instead. - Has migration script to convert palettes to `u16`, `struct SpritePalette` and palette loading calls from their compressed variants. ## 🧬 General 🧬 ### Added * Low Health Beeps Configuration by @khbsd in [#6328](https://github.com/rh-hideout/pokeemerald-expansion/pull/6328) * Adds SHOW_TYPES_SEEN to the B_SHOW_TYPES option by @khbsd in [#6561](https://github.com/rh-hideout/pokeemerald-expansion/pull/6561) - this slightly alters how the flag `FLAG_GET_SEEN` is set, so keep that in mind if you have any functionality that relies on it being at the start of the battle. * Type Effectiveness Indicators when selecting moves by @agsmgmaster64 in [#6559](https://github.com/rh-hideout/pokeemerald-expansion/pull/6559) * FakeRtc datetime and ResetRtcScreen day increments by @cawtds in [#5695](https://github.com/rh-hideout/pokeemerald-expansion/pull/5695) * Battle Transition: mugshots for multibattles by @grintoul1 and @AlexOn1ine for advice on simplifying the conditions that check for 2nd opponent and presence of battle partner, and general advice/troubleshooting in [#6567](https://github.com/rh-hideout/pokeemerald-expansion/pull/6567) * Time menu for RTC in debug menu. by @RubyRaven6, @cawtds for RTC refactors that makes all of this easier, @HashtagMarky for helping me understand how the debug menu works, especially with destroying menus, @zetraphes, for helping with refactoring the redundant functions into a single function. and @makosear for originally getting me into the RTC hellhole in [#6634](https://github.com/rh-hideout/pokeemerald-expansion/pull/6634) - In order to apply the new time the map is reloaded through The LoadMap Callback (CB2_LoadMap). As such, this will also do everything else that comes with loading map in. * Pokedex Plus HGSS move configs by @PCG06 in [#6687](https://github.com/rh-hideout/pokeemerald-expansion/pull/6687) Adds three configs for Pokedex Plus HGSS. - To sort TM moves by num. - To show egg moves for evolved Pokémon. - Creating a dynamic tutor moves array to use for tutor moves counting. * Allow different flags for Badge boost by @AsparagusEduardo and @ghoulslash, @klemniops, whose' code I was using for comparison when I found these in [#6805](https://github.com/rh-hideout/pokeemerald-expansion/pull/6805) * Timemacros by @RubyRaven6 in [#6696](https://github.com/rh-hideout/pokeemerald-expansion/pull/6696) ### Changed * Rename absentBattlerFlags to absent by @AlexOn1ine in [#6432](https://github.com/rh-hideout/pokeemerald-expansion/pull/6432) * Removed unused debug EWRAM variables by @hedara90 in [#6468](https://github.com/rh-hideout/pokeemerald-expansion/pull/6468) * Removes unused Special Status members by @AlexOn1ine in [#6479](https://github.com/rh-hideout/pokeemerald-expansion/pull/6479) * Remove potential pitfall with saved damage for recoil moves by @AlexOn1ine in [#6485](https://github.com/rh-hideout/pokeemerald-expansion/pull/6485) * Add CONTRIBUTING.md and STYLEGUIDE.md by @pkmnsnfrn and @Pawkkie, @garakmon in [#6340](https://github.com/rh-hideout/pokeemerald-expansion/pull/6340) * Alcremie Evolution clean up follow up by @AlexOn1ine in [#6557](https://github.com/rh-hideout/pokeemerald-expansion/pull/6557) * Fix broken links in merge_checklist.md by @pkmnsnfrn and @grintoul1 in [#6570](https://github.com/rh-hideout/pokeemerald-expansion/pull/6570) * Converts some defines to enums by @Bassoonian in [#6592](https://github.com/rh-hideout/pokeemerald-expansion/pull/6592) * Removes vestigial EWRAM variable from debug menu. by @RubyRaven6 in [#6686](https://github.com/rh-hideout/pokeemerald-expansion/pull/6686) * Keep Steven Multi Debug Option at the Bottom Forever by @Pawkkie in [#6694](https://github.com/rh-hideout/pokeemerald-expansion/pull/6694) * Better handling of battle coords by @AsparagusEduardo and @ghoulslash, @klemniops for the original code. in [#6787](https://github.com/rh-hideout/pokeemerald-expansion/pull/6787) * `battle_main` enum cleanup by @AsparagusEduardo and @ghoulslash, @klemniops, whose' code I was using for comparison when I found these in [#6788](https://github.com/rh-hideout/pokeemerald-expansion/pull/6788) * Add missing uses of `IsBattlerAlly` by @AsparagusEduardo and @ghoulslash, @klemniops, whose' code I was using for comparison when I found these in [#6793](https://github.com/rh-hideout/pokeemerald-expansion/pull/6793) * Adds partyState to BattleStruct by @AlexOn1ine in [#6783](https://github.com/rh-hideout/pokeemerald-expansion/pull/6783) * Rename `GetPartyBattlerData` to `GetBattlerMon` by @AsparagusEduardo and @ghoulslash, @klemniops, whose' code I was using for comparison when I found these in [#6800](https://github.com/rh-hideout/pokeemerald-expansion/pull/6800) * Added JSON as the preferred data format by @hedara90 in [#6801](https://github.com/rh-hideout/pokeemerald-expansion/pull/6801) * Remove non-existent functions from header files by @Bassoonian in [#6825](https://github.com/rh-hideout/pokeemerald-expansion/pull/6825) * Added `IsOnPlayerSide` by @AsparagusEduardo in [#6832](https://github.com/rh-hideout/pokeemerald-expansion/pull/6832) * Battle TV expansion by @AsparagusEduardo in [#6826](https://github.com/rh-hideout/pokeemerald-expansion/pull/6826) * Prevent scaninc touching tests when `make`-ing non-test builds by @mudskipper13 in [#6812](https://github.com/rh-hideout/pokeemerald-expansion/pull/6812) * Reword move and ability descriptions to improve clarity by @jfb1337 in [#6861](https://github.com/rh-hideout/pokeemerald-expansion/pull/6861) - Updated move and ability descriptions to increase clarity. * Optimized `PokemonUseItemEffects` function by @AsparagusEduardo in [#6878](https://github.com/rh-hideout/pokeemerald-expansion/pull/6878) * Expand trainerproc to support additional battle types by @AsparagusEduardo in [#6770](https://github.com/rh-hideout/pokeemerald-expansion/pull/6770) * Debug menu cleanup by @AsparagusEduardo in [#6881](https://github.com/rh-hideout/pokeemerald-expansion/pull/6881) * Commenting in config files to explain limits of map popups and wild AI flags by @surskitty in [#6923](https://github.com/rh-hideout/pokeemerald-expansion/pull/6923) * Documented usage of `createsprite gSimplePaletteBlendSpriteTemplate` by @AsparagusEduardo in [#6956](https://github.com/rh-hideout/pokeemerald-expansion/pull/6956) * Documented usage of `createsprite gDirtPlumeSpriteTemplate` by @AsparagusEduardo in [#6954](https://github.com/rh-hideout/pokeemerald-expansion/pull/6954) * Updated CONTRIBUTING.md and Merge Freeze definition by @pkmnsnfrn in [#6952](https://github.com/rh-hideout/pokeemerald-expansion/pull/6952) * Documented usage of `createsprite gBasicHitSplatSpriteTemplate` by @AsparagusEduardo in [#6950](https://github.com/rh-hideout/pokeemerald-expansion/pull/6950) * Documented usage of `createsprite gSparkElectricitySpriteTemplate` by @AsparagusEduardo in [#6955](https://github.com/rh-hideout/pokeemerald-expansion/pull/6955) * Documented usage of `createsprite gSlideMonToOffsetSpriteTemplate` by @AsparagusEduardo in [#6953](https://github.com/rh-hideout/pokeemerald-expansion/pull/6953) * Remove trailing whitespace by @AsparagusEduardo in [#6968](https://github.com/rh-hideout/pokeemerald-expansion/pull/6968) * Beefing up the DNS tutorial for some of the common questions/errors. by @surskitty in [#6922](https://github.com/rh-hideout/pokeemerald-expansion/pull/6922) * Clarifies when to use each merge type for maintainers by @pkmnsnfrn in [#6999](https://github.com/rh-hideout/pokeemerald-expansion/pull/6999) * Moved time constants to dedicated files by @pkmnsnfrn in [#7019](https://github.com/rh-hideout/pokeemerald-expansion/pull/7019) ### Fixed * fix: missing break statement by @khbsd in [#6572](https://github.com/rh-hideout/pokeemerald-expansion/pull/6572) * Fix dynamax message by @hedara90 in [#6589](https://github.com/rh-hideout/pokeemerald-expansion/pull/6589) * Fix pc mon pic by @hedara90 in [#6709](https://github.com/rh-hideout/pokeemerald-expansion/pull/6709) * Fixed upcoming not compiling in gcc 11.4.0 by @AsparagusEduardo in [#6710](https://github.com/rh-hideout/pokeemerald-expansion/pull/6710) * Fix the Move Item option in the PC still expecting compressed palettes by @hedara90 in [#6739](https://github.com/rh-hideout/pokeemerald-expansion/pull/6739) * Fix upcoming compile by @AsparagusEduardo in [#6804](https://github.com/rh-hideout/pokeemerald-expansion/pull/6804) * Added missing root folder check in trainer battle type migration script by @AsparagusEduardo in [#6944](https://github.com/rh-hideout/pokeemerald-expansion/pull/6944) * Fixed forfeit money for `B_WHITEOUT_MONEY <= GEN_3` by @AsparagusEduardo in [#6942](https://github.com/rh-hideout/pokeemerald-expansion/pull/6942) * Fix UB when using time menu by @cawtds in [#7023](https://github.com/rh-hideout/pokeemerald-expansion/pull/7023) ## 🗺️ Overworld 🗺️ ### Added * Add OW_DEFOG_FIELD_MOVE to allow players to clear overworld Fog by @pkmnsnfrn in [#6477](https://github.com/rh-hideout/pokeemerald-expansion/pull/6477) This behavior is enabled by setting `OW_DEFOG_FIELD_MOVE` to `TRUE`. * Add Time-Based Encounters by @khbsd and @Pawkkie, @Artrios, @GriffinRichards, @ravepossum, @ghoulslash, @lhearachel probably more so tag me somewhere and ill add you! in [#6454](https://github.com/rh-hideout/pokeemerald-expansion/pull/6454) - Comes with a new conversion script, `wild_encounters_to_header.py`. On my machine i timed it out to about .02s, hopefully it wont add too much to the compile time on anyone elses computers - The conversion script can handle an unchanged `wild_encounters.json` just fine, but also plays nice with edited ones as far as I can tell - The migration script takes one optional argument, `--copy` - `--copy` will copy over all of the encounter tables (`land_mons`, `water_mons`, etc). default behavior just adds the `base_label` and if applicable, the `map`. * Add B_RUN_TRAINER_BATTLE - players can run from Trainer Battles by @pkmnsnfrn and @wiz1989 [wrote the original feature](https://github.com/TeamAquasHideout/pokeemerald/commit/19c0c32e3718d4fab340cf4f15f29882916a829e). in [#6456](https://github.com/rh-hideout/pokeemerald-expansion/pull/6456) * Integrated merrp's lighting branch (Day/Night System) by @hedara90, @AsparagusEduardo for doing most of this PR and @aarant for the original implementation and feature branch, @Greenphx9 for their help merging to current expansion. in [#6562](https://github.com/rh-hideout/pokeemerald-expansion/pull/6562) - Changes from the base branch: - Uses Expansion's Fake RTC and updates its tinting refresh rate alongside with it. - Uses Expansion's constants (`TIME_NIGHT` instead of `TIME_OF_DAY_NIGHT`). This allows it to: - Use different tinting for Morning vs Evening compared to the original branch. - Use Expansion's `OW_TIMES_OF_DAY`config that allows users to set their own times by generation. - Added option to disable object event shadows - Added option to turn DNS on or off, `OW_ENABLE_DNS` - Added option to for vanilla shadow behaviour, `OW_OBJECT_VANILLA_SHADOWS` - Scripts containing consecutive `removeobject ` and `addobject ` needs a `delay 1` between the commands. ```diff removeobject MY_OBJECT + delay 1 addobject MY_OBJECT ``` - Changes to base Hoenn to integrate DNS can be enabled by reverting commit [a5b079d](https://github.com/rh-hideout/pokeemerald-expansion/pull/6562/commits/a5b079d833f18f66ebd53ac77f00227ae4a1f389) - Other changes: - Changed the BW Map Popup to update its time while active. * Follower NPCs (follow-me) by @Bivurnum, @ghoulslash Much of their original code is still present. and @grintoul1 Invaluable play testing and feedback. in [#6500](https://github.com/rh-hideout/pokeemerald-expansion/pull/6500) - Turn any NPC into a follower. - Specify a battle partner to turn all trainer battles into multi battles automatically while an NPC follower is present. ### Changed * Add Time-Based Encounter Tutorial by @khbsd and @Pawkkie (ty for reviewing!!) in [#6568](https://github.com/rh-hideout/pokeemerald-expansion/pull/6568) * Remove vestigial AdvanceScript function used for testing by @RubyRaven6 in [#6664](https://github.com/rh-hideout/pokeemerald-expansion/pull/6664) * Rename follower npc macros for better specificity and to match documentation by @Bivurnum in [#6742](https://github.com/rh-hideout/pokeemerald-expansion/pull/6742) * Add follower NPC documentation by @Bivurnum in [#6704](https://github.com/rh-hideout/pokeemerald-expansion/pull/6704) ### Fixed * Fixed DNS off config sometimes breaking palettes on map change by @hedara90 in [#6603](https://github.com/rh-hideout/pokeemerald-expansion/pull/6603) * Fixed objects not getting unloaded properly when event flags are set by @Bivurnum in [#6715](https://github.com/rh-hideout/pokeemerald-expansion/pull/6715) * Bug fix: add proper elevation handling for npc followers by @Bivurnum in [#6871](https://github.com/rh-hideout/pokeemerald-expansion/pull/6871) * fix: avoid unexpected data shifting by removing preproc'd array size by @khbsd in [#6916](https://github.com/rh-hideout/pokeemerald-expansion/pull/6916) * Fix OW_POPUP_BW_TIME_MODE burning a lot of cycles due to RTC queries. by @SBird1337 in [#6974](https://github.com/rh-hideout/pokeemerald-expansion/pull/6974) - Fixed an issue that causes the game to lag in some configurations that involve `OW_POPUP_BW_TIME_MODE`. * Make setobjextxy work with npc followers during ON_WARP map script by @Bivurnum in [#6913](https://github.com/rh-hideout/pokeemerald-expansion/pull/6913) * `removeobject` and `removeobjectat` macros work properly with npc followers by @Bivurnum in [#6889](https://github.com/rh-hideout/pokeemerald-expansion/pull/6889) * Fixes follower NPC not changing state with player after warp by @Bivurnum in [#7009](https://github.com/rh-hideout/pokeemerald-expansion/pull/7009) * Fixed follower NPC changing to surf sprite when choosing not to surface from dive by @Bivurnum in [#7010](https://github.com/rh-hideout/pokeemerald-expansion/pull/7010) * Fix follower NPC not reappearing after Mossdeep gym warp by @Bivurnum in [#7014](https://github.com/rh-hideout/pokeemerald-expansion/pull/7014) * Fixed surf blob binding to invisible follower NPC on map reload by @Bivurnum in [#7013](https://github.com/rh-hideout/pokeemerald-expansion/pull/7013) * fix: better area mons handling, no longer duplicates `hiddenMons` field by @khbsd in [#6945](https://github.com/rh-hideout/pokeemerald-expansion/pull/6945) * Bug fix: setfollowernpc macro no longer runs when FNPC_ENABLE_NPC_FOLLOWERS is FALSE by @Bivurnum in [#6755](https://github.com/rh-hideout/pokeemerald-expansion/pull/6755) ## 🐉 Pokémon 🐉 ### Added * Configuration to scale Critical Capture odds based on local Pokedex or estimated National Pokedex by @surskitty in [#6250](https://github.com/rh-hideout/pokeemerald-expansion/pull/6250) * Add B_ANIMATE_MON_AFTER_KO - mons animate after scoring a KO by @pkmnsnfrn and @NicoSwag [wrote the original feature](https://github.com/Pawkkie/Team-Aquas-Asset-Repo/wiki/Make-Pok%C3%A9mon-animate-after-a-KO). in [#6451](https://github.com/rh-hideout/pokeemerald-expansion/pull/6451) - This can be disabled by setting `B_ANIMATE_MON_AFTER_KO` to `FALSE`. * Add OW_DEFOG_FIELD_MOVE to allow players to clear overworld Fog by @pkmnsnfrn in [#6477](https://github.com/rh-hideout/pokeemerald-expansion/pull/6477) This behavior is enabled by setting `OW_DEFOG_FIELD_MOVE` to `TRUE`. * Add "Move Item" option in party menu by @AsparagusEduardo in [#6758](https://github.com/rh-hideout/pokeemerald-expansion/pull/6758) ### Changed * Implemented Alcremie Evolution Method by @AsparagusEduardo in [#6530](https://github.com/rh-hideout/pokeemerald-expansion/pull/6530) * Make form change methods into enum + type checking by @Bassoonian in [#6631](https://github.com/rh-hideout/pokeemerald-expansion/pull/6631) * Remove hardcoded values from wild_encounter.h generation by @khbsd and @moostoet and @/Nopinou on discord for reporting bugs and dealing with my ping spam <3 in [#6640](https://github.com/rh-hideout/pokeemerald-expansion/pull/6640) * Evolution Refactor by @khbsd, @AsparagusEduardo for everything he did, including #6530! and @AlexOn1ine for writing the migration script! in [#6556](https://github.com/rh-hideout/pokeemerald-expansion/pull/6556) - make sure to back up your alcremie evolution data if you have it implemented already: pulling this will overwrite it * Disable `P_TUTOR_MOVES_ARRAY` config by @PCG06 in [#6693](https://github.com/rh-hideout/pokeemerald-expansion/pull/6693) - `P_TUTOR_MOVES_ARRAY` set to `FALSE` by default. ### Fixed * Change HasTwoFramesAnimation to take into account species with 1 frame by @hedara90 in [#6655](https://github.com/rh-hideout/pokeemerald-expansion/pull/6655) * Fix Rage Fist evolution method by @AsparagusEduardo in [#6937](https://github.com/rh-hideout/pokeemerald-expansion/pull/6937) * Fixed `CreateMon` param order in `CreateFacilityMon` by @PCG06 in [#6989](https://github.com/rh-hideout/pokeemerald-expansion/pull/6989) ## ⚔️ Battle General ⚔️ ### Added * Gen 1's Special base stat by @AsparagusEduardo in [#6330](https://github.com/rh-hideout/pokeemerald-expansion/pull/6330) * Add B_RUN_TRAINER_BATTLE - players can run from Trainer Battles by @pkmnsnfrn and @wiz1989 [wrote the original feature](https://github.com/TeamAquasHideout/pokeemerald/commit/19c0c32e3718d4fab340cf4f15f29882916a829e). in [#6456](https://github.com/rh-hideout/pokeemerald-expansion/pull/6456) * Add B_LEVEL_UP_NOTIFICATION to improve player QoL when performing multiple level ups by @pkmnsnfrn in [#4901](https://github.com/rh-hideout/pokeemerald-expansion/pull/4901) * "Aerilate"-esque Ability Tests and Config by @Pawkkie and @hedara90 in [#6313](https://github.com/rh-hideout/pokeemerald-expansion/pull/6313) - Adds new `B_ATE_MULTIPLIER` config in `config/battle.h` * Gen 1 no recharge on KO by @spindrift64 in [#6869](https://github.com/rh-hideout/pokeemerald-expansion/pull/6869) * Add no-whiteout feature by @Bassoonian and @/Gudf in [#6795](https://github.com/rh-hideout/pokeemerald-expansion/pull/6795) ### Changed * "no additional effect" text for status Z moves without effects by @wiz1989 in [#6368](https://github.com/rh-hideout/pokeemerald-expansion/pull/6368) * Configuration to make all Hail moves summon Snow or vis versa, to have only one ice weather by @surskitty in [#6149](https://github.com/rh-hideout/pokeemerald-expansion/pull/6149) - Added a config to homogenize Ice weathers between Hail, Snow, or both. * Create move end Sheer Force by @AlexOn1ine in [#6411](https://github.com/rh-hideout/pokeemerald-expansion/pull/6411) * Added Dynamax/Gigantamax battle messages by @wiz1989 in [#6440](https://github.com/rh-hideout/pokeemerald-expansion/pull/6440) * Refactor HasWeatherEffect and IsUnnerveAbilityOnOpposingSide by @AlexOn1ine in [#6441](https://github.com/rh-hideout/pokeemerald-expansion/pull/6441) * Refactor the function IsAbilityPreventingEscape by @AlexOn1ine in [#6439](https://github.com/rh-hideout/pokeemerald-expansion/pull/6439) * Unifies dynamic move category checks by @AlexOn1ine in [#6443](https://github.com/rh-hideout/pokeemerald-expansion/pull/6443) * Refactors faint target abilities and adds Battle Bond config by @AlexOn1ine in [#6519](https://github.com/rh-hideout/pokeemerald-expansion/pull/6519) * Refactor protect to allow at least 126 different types of protect eff… by @AlexOn1ine in [#6506](https://github.com/rh-hideout/pokeemerald-expansion/pull/6506) * Refactor / Simlify Cmd_adjustdamage and remove redundancy by @AlexOn1ine in [#6499](https://github.com/rh-hideout/pokeemerald-expansion/pull/6499) * Refactors Move absorb / block function calls to remove redundancy by @AlexOn1ine in [#6490](https://github.com/rh-hideout/pokeemerald-expansion/pull/6490) * Refactor fixed damage moves by @AlexOn1ine in [#6449](https://github.com/rh-hideout/pokeemerald-expansion/pull/6449) * Turn battle string ids into enums by @Bassoonian in [#6594](https://github.com/rh-hideout/pokeemerald-expansion/pull/6594) * Remove redundant bit for Throat Spray by @AlexOn1ine in [#6593](https://github.com/rh-hideout/pokeemerald-expansion/pull/6593) * Add type checking for hold item effects by @Bassoonian in [#6619](https://github.com/rh-hideout/pokeemerald-expansion/pull/6619) * Adds move effect type checking by @Bassoonian in [#6618](https://github.com/rh-hideout/pokeemerald-expansion/pull/6618) * Refactor hit escape moves to use moveend by @AlexOn1ine in [#6671](https://github.com/rh-hideout/pokeemerald-expansion/pull/6671) * Fix party access in NoAliveMonsForBattlerSide by @AlexOn1ine in [#6677](https://github.com/rh-hideout/pokeemerald-expansion/pull/6677) * Some Me First tests plus minor clean up by @AlexOn1ine in [#6678](https://github.com/rh-hideout/pokeemerald-expansion/pull/6678) * Centralizes non volatile status effect checks by @AlexOn1ine in [#6533](https://github.com/rh-hideout/pokeemerald-expansion/pull/6533) * Use `GetPartyBattlerData` where appropiate by @AsparagusEduardo and @ghoulslash, @klemniops, whose' code I was using for comparison when I found these in [#6779](https://github.com/rh-hideout/pokeemerald-expansion/pull/6779) * Refactor battler message ids by @AlexOn1ine in [#6765](https://github.com/rh-hideout/pokeemerald-expansion/pull/6765) * General MoveEnd clean up and Fell Stinger adjustments by @AlexOn1ine in [#6674](https://github.com/rh-hideout/pokeemerald-expansion/pull/6674) * Adds partyState to BattleStruct by @AlexOn1ine in [#6783](https://github.com/rh-hideout/pokeemerald-expansion/pull/6783) * Refactor stockpile resets by @AlexOn1ine in [#6810](https://github.com/rh-hideout/pokeemerald-expansion/pull/6810) * Changed White Herb hold effect name by @AlexOn1ine in [#6815](https://github.com/rh-hideout/pokeemerald-expansion/pull/6815) * Fixes a mistake made by me by @AlexOn1ine in [#6828](https://github.com/rh-hideout/pokeemerald-expansion/pull/6828) * Combined type-enhancing hold effects by @AsparagusEduardo in [#6846](https://github.com/rh-hideout/pokeemerald-expansion/pull/6846) - The following hold effects have been combined into `HOLD_EFFECT_TYPE_POWER`: - `HOLD_EFFECT_BUG_POWER` - `HOLD_EFFECT_STEEL_POWER` - `HOLD_EFFECT_GROUND_POWER` - `HOLD_EFFECT_ROCK_POWER` - `HOLD_EFFECT_GRASS_POWER` - `HOLD_EFFECT_DARK_POWER` - `HOLD_EFFECT_FIGHTING_POWER` - `HOLD_EFFECT_ELECTRIC_POWER` - `HOLD_EFFECT_WATER_POWER` - `HOLD_EFFECT_FLYING_POWER` - `HOLD_EFFECT_POISON_POWER` - `HOLD_EFFECT_ICE_POWER` - `HOLD_EFFECT_GHOST_POWER` - `HOLD_EFFECT_PSYCHIC_POWER` - `HOLD_EFFECT_FIRE_POWER` - `HOLD_EFFECT_DRAGON_POWER` - `HOLD_EFFECT_NORMAL_POWER` - `HOLD_EFFECT_FAIRY_POWER` * Removed multiple instances of hardcoded move IDs by @AsparagusEduardo in [#6856](https://github.com/rh-hideout/pokeemerald-expansion/pull/6856) * New animations for Mega Evolution, Primal Reversion, Ultra Burst, and Power Construct by @LinathanZel in [#6834](https://github.com/rh-hideout/pokeemerald-expansion/pull/6834) * Consolidates a bunch of battle controller functions by @Bassoonian in [#6838](https://github.com/rh-hideout/pokeemerald-expansion/pull/6838) * Further moveend changes (move blocks) by @AlexOn1ine in [#6820](https://github.com/rh-hideout/pokeemerald-expansion/pull/6820) * Added weather accuracy move flags by @AsparagusEduardo in [#6857](https://github.com/rh-hideout/pokeemerald-expansion/pull/6857) - Removed `EFFECT_THUNDER`, `EFFECT_BLIZZARD` and `EFFECT_RAIN_ALWAYS_HIT` effects in favor of `alwaysHitsInRain`, `alwaysHitsInHailSnow` and `accuracy50InSun` move flags. * Consolidated HasMoveFlagX functions by @AlexOn1ine in [#6874](https://github.com/rh-hideout/pokeemerald-expansion/pull/6874) ### Fixed * Fix declaration after label for Psywave switch by @hedara90 in [#6595](https://github.com/rh-hideout/pokeemerald-expansion/pull/6595) * Fix regression from EndTurnRefactor by @AlexOn1ine in [#6616](https://github.com/rh-hideout/pokeemerald-expansion/pull/6616) * Fixes Z and Max moves dmg reduction against side protection - upcoming by @AlexOn1ine in [#6698](https://github.com/rh-hideout/pokeemerald-expansion/pull/6698) * Illusion struct cleanup and many Illusion fixes by @PhallenTree in [#6798](https://github.com/rh-hideout/pokeemerald-expansion/pull/6798) * Fixes wrongly usage of arguments without checking effect by @AlexOn1ine in [#6859](https://github.com/rh-hideout/pokeemerald-expansion/pull/6859) * Fixes Magic Guard causing Wrap to end immediately by @PhallenTree in [#6876](https://github.com/rh-hideout/pokeemerald-expansion/pull/6876) * Mugshot Transitions 2v1 fix by @grintoul1 in [#6911](https://github.com/rh-hideout/pokeemerald-expansion/pull/6911) * Fixes Ice Body healing HP regardless of weather by @PhallenTree in [#6939](https://github.com/rh-hideout/pokeemerald-expansion/pull/6939) * Fixes global usage in super fang effect. by @AlexOn1ine in [#6941](https://github.com/rh-hideout/pokeemerald-expansion/pull/6941) * Fixes Knock Off/Smack Down effect on immune target/protect by @PhallenTree in [#6958](https://github.com/rh-hideout/pokeemerald-expansion/pull/6958) * Fixes weather anim damage being applied to the wrong mon by @AlexOn1ine in [#6973](https://github.com/rh-hideout/pokeemerald-expansion/pull/6973) * Fixes repeated learning of level up moves by @AlexOn1ine in [#6981](https://github.com/rh-hideout/pokeemerald-expansion/pull/6981) * Fixes Gen3 berry activation timing by @AlexOn1ine in [#6993](https://github.com/rh-hideout/pokeemerald-expansion/pull/6993) * Fix Eiscue not resetting back to Ice Face form after battle. by @DarkVexon in [#6997](https://github.com/rh-hideout/pokeemerald-expansion/pull/6997) * Fixes spread move fire types not defrosting all targets by @AlexOn1ine in [#6998](https://github.com/rh-hideout/pokeemerald-expansion/pull/6998) * Update Supersweet Syrup with eject pack fix by @AlexOn1ine in [#7015](https://github.com/rh-hideout/pokeemerald-expansion/pull/7015) * fix battle controller macros by @cawtds in [#7021](https://github.com/rh-hideout/pokeemerald-expansion/pull/7021) ## 🤹 Moves 🤹 ### Added * Add B_ANIMATE_MON_AFTER_KO - mons animate after scoring a KO by @pkmnsnfrn and @NicoSwag [wrote the original feature](https://github.com/Pawkkie/Team-Aquas-Asset-Repo/wiki/Make-Pok%C3%A9mon-animate-after-a-KO). in [#6451](https://github.com/rh-hideout/pokeemerald-expansion/pull/6451) - This can be disabled by setting `B_ANIMATE_MON_AFTER_KO` to `FALSE`. * Add OW_DEFOG_FIELD_MOVE to allow players to clear overworld Fog by @pkmnsnfrn in [#6477](https://github.com/rh-hideout/pokeemerald-expansion/pull/6477) - This behavior is enabled by setting `OW_DEFOG_FIELD_MOVE` to `TRUE`. ### Changed * Minor Recoil Effect refactor by @AlexOn1ine in [#6409](https://github.com/rh-hideout/pokeemerald-expansion/pull/6409) * Replaced Blue Sky background for Rock Field by @SundayMoonday in [#6516](https://github.com/rh-hideout/pokeemerald-expansion/pull/6516) * Use missing constants with GetBattlerSpriteCoord by @AsparagusEduardo in [#6778](https://github.com/rh-hideout/pokeemerald-expansion/pull/6778) * `InitSpritePosToAnimAttacker` documentation by @AsparagusEduardo and @ghoulslash, @klemniops, whose' code I was using for comparison when I found these in [#6781](https://github.com/rh-hideout/pokeemerald-expansion/pull/6781) * Document battler side in anim code by @AlexOn1ine in [#6780](https://github.com/rh-hideout/pokeemerald-expansion/pull/6780) * New animations for Mega Evolution, Primal Reversion, Ultra Burst, and Power Construct by @LinathanZel in [#6834](https://github.com/rh-hideout/pokeemerald-expansion/pull/6834) ### Fixed * Fix to warnings pertaining to Mega Evolution and Ultra Burst RGB values by @LinathanZel in [#6883](https://github.com/rh-hideout/pokeemerald-expansion/pull/6883) ## 🤖 Battle AI 🤖 ### Added * Improve AI's handling of player's Encore by @Pawkkie and @iriv24 in [#6305](https://github.com/rh-hideout/pokeemerald-expansion/pull/6305) * Switch AI will factor in player's choice lock when determining hits to KO by @Pawkkie in [#6343](https://github.com/rh-hideout/pokeemerald-expansion/pull/6343) * Switch AI considers Wind Rider by @innocenthedgehog in [#6391](https://github.com/rh-hideout/pokeemerald-expansion/pull/6391) * Fix AI using Scald / fire moves against frozen / frostbitten targets by @Pawkkie in [#6442](https://github.com/rh-hideout/pokeemerald-expansion/pull/6442) * Improve "all moves bad" switching by @Pawkkie and @wiz1989 in [#6453](https://github.com/rh-hideout/pokeemerald-expansion/pull/6453) * Fix Choice'd AI not switching if player immune to move by @Pawkkie in [#6464](https://github.com/rh-hideout/pokeemerald-expansion/pull/6464) * Add basic Unaware check bad move scoring by @Pawkkie in [#6524](https://github.com/rh-hideout/pokeemerald-expansion/pull/6524) * AI smarter status handling by @Pawkkie in [#6550](https://github.com/rh-hideout/pokeemerald-expansion/pull/6550) * Improve AI's defense against Focus Punch by @Pawkkie in [#6713](https://github.com/rh-hideout/pokeemerald-expansion/pull/6713) * Add AI_FLAG_PP_STALL_PREVENTION by @hedara90 in [#6743](https://github.com/rh-hideout/pokeemerald-expansion/pull/6743) - Chance to trigger and score modifier can be changed in `include/config/ai.h` under the "AI PP Stall detection" section * Adjust switch AI based on move scoring by @Pawkkie and @ghoulslash, @AlexOn1ine in [#6615](https://github.com/rh-hideout/pokeemerald-expansion/pull/6615) - Change `AI_BAD_SCORE_THRESHOLD` and `AI_GOOD_SCORE_THRESHOLD` to modify what `ShouldSwitchIfAllScoresBad` considers, found in `config/ai.h` * Add AI for Zero to Hero Palafin by @Pawkkie and @kittenchilly in [#6791](https://github.com/rh-hideout/pokeemerald-expansion/pull/6791) * Add AI_FLAG_PREDICT_MOVES by @Pawkkie in [#6551](https://github.com/rh-hideout/pokeemerald-expansion/pull/6551) - Use AI_FLAG_PREDICT_MOVES to enable behaviour - Works best when used with AI_FLAG_OMNISCIENT ### Changed * Minor Clean up for AI_CalcDamage to remove some duplicate code by @AlexOn1ine in [#6397](https://github.com/rh-hideout/pokeemerald-expansion/pull/6397) * Moved some AI stuff out of the battlestruct by @hedara90 in [#6405](https://github.com/rh-hideout/pokeemerald-expansion/pull/6405) - AI data in `gBattleStruct` has been moved to `gAiBattleStructData`. * Allow the AI to see the second hit of Parental Bond by @AlexOn1ine in [#6403](https://github.com/rh-hideout/pokeemerald-expansion/pull/6403) * Split ai function IsBattlerTrapped by @AlexOn1ine in [#6438](https://github.com/rh-hideout/pokeemerald-expansion/pull/6438) * Optimization / Clean up of AI move usability by @AlexOn1ine in [#6332](https://github.com/rh-hideout/pokeemerald-expansion/pull/6332) * Clean up AI code duplication and unify checks by @AlexOn1ine in [#6348](https://github.com/rh-hideout/pokeemerald-expansion/pull/6348) * Ability access cleanup for #6550 by @Pawkkie in [#6565](https://github.com/rh-hideout/pokeemerald-expansion/pull/6565) * Adjust enum AIScore by @AlexOn1ine in [#6598](https://github.com/rh-hideout/pokeemerald-expansion/pull/6598) * Refactor battler flee and watch options + clean up by @AlexOn1ine in [#6724](https://github.com/rh-hideout/pokeemerald-expansion/pull/6724) * Add AI_FLAG_PP_STALL_PREVENTION to `ai_flags.md` by @Pawkkie in [#6756](https://github.com/rh-hideout/pokeemerald-expansion/pull/6756) * Refactor AI flags to u64 by @Pawkkie and @DizzyEggg, @AlexOn1ine, @hedara90 in [#6753](https://github.com/rh-hideout/pokeemerald-expansion/pull/6753) * Move out ai structs out of BattleResources by @AlexOn1ine in [#6741](https://github.com/rh-hideout/pokeemerald-expansion/pull/6741) * Add prediction function by @AlexOn1ine in [#6858](https://github.com/rh-hideout/pokeemerald-expansion/pull/6858) * AI double battle friendly fire logic improvements by @surskitty and @Pawkkie in [#6766](https://github.com/rh-hideout/pokeemerald-expansion/pull/6766) * Remove non-volatile status EFFECTs by @AsparagusEduardo in [#6772](https://github.com/rh-hideout/pokeemerald-expansion/pull/6772) * Fix misleading name by @AlexOn1ine in [#6865](https://github.com/rh-hideout/pokeemerald-expansion/pull/6865) * Fix HasBattlerSideMoveWithEffect comment by @Pawkkie in [#6965](https://github.com/rh-hideout/pokeemerald-expansion/pull/6965) ### Fixed * Fix damage roll order for AI calcs by @AlexOn1ine in [#6356](https://github.com/rh-hideout/pokeemerald-expansion/pull/6356) * Fix roll handling in AI damage calcs by @Pawkkie in [#6396](https://github.com/rh-hideout/pokeemerald-expansion/pull/6396) * fixed damage calculations in CanTargetFaintAiWithMod() by @wiz1989 in [#6446](https://github.com/rh-hideout/pokeemerald-expansion/pull/6446) * Fix bracket typo in AI_CheckBadMove conditional by @Pawkkie in [#6695](https://github.com/rh-hideout/pokeemerald-expansion/pull/6695) * Fix party data assignment by @Pawkkie in [#6712](https://github.com/rh-hideout/pokeemerald-expansion/pull/6712) * Fix Wonder Guard potential double switching by @Pawkkie in [#6737](https://github.com/rh-hideout/pokeemerald-expansion/pull/6737) * Fix roll handling in AI party damage calcs by @Pawkkie in [#6733](https://github.com/rh-hideout/pokeemerald-expansion/pull/6733) * Fix AI function table to match new u64 flags by @Pawkkie in [#6796](https://github.com/rh-hideout/pokeemerald-expansion/pull/6796) * Fix FindMonThatAbsorbsOpponentsMove not seeing Mold Breaker or choice items by @Pawkkie in [#6864](https://github.com/rh-hideout/pokeemerald-expansion/pull/6864) * Fix AI_FLAG_PREDICT_MOVES scoring bug by @Pawkkie and @innocenthedgehog for test in [#6867](https://github.com/rh-hideout/pokeemerald-expansion/pull/6867) * Switch AI considers Bulletproof ability by @innocenthedgehog in [#6872](https://github.com/rh-hideout/pokeemerald-expansion/pull/6872) * Fix AI boosting stats into mon with Haze by @Pawkkie in [#6894](https://github.com/rh-hideout/pokeemerald-expansion/pull/6894) * Fix switch AI considering non-choiced SE moves when choiced by @Pawkkie in [#6892](https://github.com/rh-hideout/pokeemerald-expansion/pull/6892) * Fix bad odds / defensive switchin double switch cases by @Pawkkie in [#6927](https://github.com/rh-hideout/pokeemerald-expansion/pull/6927) ## 🧹 Other Cleanup 🧹 * Moved Pokémon Jump types to gSpeciesInfo by @AsparagusEduardo in [#5602](https://github.com/rh-hideout/pokeemerald-expansion/pull/5602) * Change ability to abilityNum in CreateTrainerMon by @AlexOn1ine in [#6370](https://github.com/rh-hideout/pokeemerald-expansion/pull/6370) * Small Code clean up in GetBattlerAbility (removes duplication) by @AlexOn1ine in [#6362](https://github.com/rh-hideout/pokeemerald-expansion/pull/6362) * Minor Clean up for AI_CalcDamage to remove some duplicate code by @AlexOn1ine in [#6397](https://github.com/rh-hideout/pokeemerald-expansion/pull/6397) * Create move end Sheer Force by @AlexOn1ine in [#6411](https://github.com/rh-hideout/pokeemerald-expansion/pull/6411) * Rename absentBattlerFlags to absent by @AlexOn1ine in [#6432](https://github.com/rh-hideout/pokeemerald-expansion/pull/6432) * Split ai function IsBattlerTrapped by @AlexOn1ine in [#6438](https://github.com/rh-hideout/pokeemerald-expansion/pull/6438) * Optimization / Clean up of AI move usability by @AlexOn1ine in [#6332](https://github.com/rh-hideout/pokeemerald-expansion/pull/6332) * Clean up AI code duplication and unify checks by @AlexOn1ine in [#6348](https://github.com/rh-hideout/pokeemerald-expansion/pull/6348) * Removed unused debug EWRAM variables by @hedara90 in [#6468](https://github.com/rh-hideout/pokeemerald-expansion/pull/6468) * Removes unused Special Status members by @AlexOn1ine in [#6479](https://github.com/rh-hideout/pokeemerald-expansion/pull/6479) * Remove potential pitfall with saved damage for recoil moves by @AlexOn1ine in [#6485](https://github.com/rh-hideout/pokeemerald-expansion/pull/6485) * Update maintainer list by @AsparagusEduardo in [#6521](https://github.com/rh-hideout/pokeemerald-expansion/pull/6521) * Alcremie Evolution clean up follow up by @AlexOn1ine in [#6557](https://github.com/rh-hideout/pokeemerald-expansion/pull/6557) * Ability access cleanup for #6550 by @Pawkkie in [#6565](https://github.com/rh-hideout/pokeemerald-expansion/pull/6565) * Fix broken links in merge_checklist.md by @pkmnsnfrn and @grintoul1 in [#6570](https://github.com/rh-hideout/pokeemerald-expansion/pull/6570) * Converts some defines to enums by @Bassoonian in [#6592](https://github.com/rh-hideout/pokeemerald-expansion/pull/6592) * Turn battle string ids into enums by @Bassoonian in [#6594](https://github.com/rh-hideout/pokeemerald-expansion/pull/6594) * Remove redundant bit for Throat Spray by @AlexOn1ine in [#6593](https://github.com/rh-hideout/pokeemerald-expansion/pull/6593) * Adjust enum AIScore by @AlexOn1ine in [#6598](https://github.com/rh-hideout/pokeemerald-expansion/pull/6598) * Add type checking for hold item effects by @Bassoonian in [#6619](https://github.com/rh-hideout/pokeemerald-expansion/pull/6619) * Adds move effect type checking by @Bassoonian in [#6618](https://github.com/rh-hideout/pokeemerald-expansion/pull/6618) * Remove hardcoded values from wild_encounter.h generation by @khbsd and @moostoet and @/Nopinou on discord for reporting bugs and dealing with my ping spam <3 in [#6640](https://github.com/rh-hideout/pokeemerald-expansion/pull/6640) * Sky Drop clean up and tests by @AlexOn1ine in [#6218](https://github.com/rh-hideout/pokeemerald-expansion/pull/6218) * Remove vestigial AdvanceScript function used for testing by @RubyRaven6 in [#6664](https://github.com/rh-hideout/pokeemerald-expansion/pull/6664) * Fix party access in NoAliveMonsForBattlerSide by @AlexOn1ine in [#6677](https://github.com/rh-hideout/pokeemerald-expansion/pull/6677) * Some Me First tests plus minor clean up by @AlexOn1ine in [#6678](https://github.com/rh-hideout/pokeemerald-expansion/pull/6678) * Removes vestigial EWRAM variable from debug menu. by @RubyRaven6 in [#6686](https://github.com/rh-hideout/pokeemerald-expansion/pull/6686) * Disable `P_TUTOR_MOVES_ARRAY` config by @PCG06 in [#6693](https://github.com/rh-hideout/pokeemerald-expansion/pull/6693) - `P_TUTOR_MOVES_ARRAY` set to `FALSE` by default. * Remove compressed palettes by @hedara90 in [#6455](https://github.com/rh-hideout/pokeemerald-expansion/pull/6455) - All handling for compressed palettes has been removed, use `u16 *` for palettes instead. - Has migration script to convert palettes to `u16`, `struct SpritePalette` and palette loading calls from their compressed variants. * Rename follower npc macros for better specificity and to match documentation by @Bivurnum in [#6742](https://github.com/rh-hideout/pokeemerald-expansion/pull/6742) * Use missing constants with GetBattlerSpriteCoord by @AsparagusEduardo in [#6778](https://github.com/rh-hideout/pokeemerald-expansion/pull/6778) * Use `GetPartyBattlerData` where appropiate by @AsparagusEduardo and @ghoulslash, @klemniops, whose' code I was using for comparison when I found these in [#6779](https://github.com/rh-hideout/pokeemerald-expansion/pull/6779) * `InitSpritePosToAnimAttacker` documentation by @AsparagusEduardo and @ghoulslash, @klemniops, whose' code I was using for comparison when I found these in [#6781](https://github.com/rh-hideout/pokeemerald-expansion/pull/6781) * General MoveEnd clean up and Fell Stinger adjustments by @AlexOn1ine in [#6674](https://github.com/rh-hideout/pokeemerald-expansion/pull/6674) * Better handling of battle coords by @AsparagusEduardo and @ghoulslash, @klemniops for the original code. in [#6787](https://github.com/rh-hideout/pokeemerald-expansion/pull/6787) * `battle_main` enum cleanup by @AsparagusEduardo and @ghoulslash, @klemniops, whose' code I was using for comparison when I found these in [#6788](https://github.com/rh-hideout/pokeemerald-expansion/pull/6788) * Add missing uses of `IsBattlerAlly` by @AsparagusEduardo and @ghoulslash, @klemniops, whose' code I was using for comparison when I found these in [#6793](https://github.com/rh-hideout/pokeemerald-expansion/pull/6793) * Rename `GetPartyBattlerData` to `GetBattlerMon` by @AsparagusEduardo and @ghoulslash, @klemniops, whose' code I was using for comparison when I found these in [#6800](https://github.com/rh-hideout/pokeemerald-expansion/pull/6800) * Changed White Herb hold effect name by @AlexOn1ine in [#6815](https://github.com/rh-hideout/pokeemerald-expansion/pull/6815) * Fixes a mistake made by me by @AlexOn1ine in [#6828](https://github.com/rh-hideout/pokeemerald-expansion/pull/6828) * Remove non-existent functions from header files by @Bassoonian in [#6825](https://github.com/rh-hideout/pokeemerald-expansion/pull/6825) * Added `IsOnPlayerSide` by @AsparagusEduardo in [#6832](https://github.com/rh-hideout/pokeemerald-expansion/pull/6832) * Battle TV expansion by @AsparagusEduardo in [#6826](https://github.com/rh-hideout/pokeemerald-expansion/pull/6826) * Removed multiple instances of hardcoded move IDs by @AsparagusEduardo in [#6856](https://github.com/rh-hideout/pokeemerald-expansion/pull/6856) * Add prediction function by @AlexOn1ine in [#6858](https://github.com/rh-hideout/pokeemerald-expansion/pull/6858) * Reword move and ability descriptions to improve clarity by @jfb1337 in [#6861](https://github.com/rh-hideout/pokeemerald-expansion/pull/6861) - Updated move and ability descriptions to increase clarity. * Consolidated HasMoveFlagX functions by @AlexOn1ine in [#6874](https://github.com/rh-hideout/pokeemerald-expansion/pull/6874) * Optimized `PokemonUseItemEffects` function by @AsparagusEduardo in [#6878](https://github.com/rh-hideout/pokeemerald-expansion/pull/6878) * Fix misleading name by @AlexOn1ine in [#6865](https://github.com/rh-hideout/pokeemerald-expansion/pull/6865) * Debug menu cleanup by @AsparagusEduardo in [#6881](https://github.com/rh-hideout/pokeemerald-expansion/pull/6881) * Updated CONTRIBUTING.md and Merge Freeze definition by @pkmnsnfrn in [#6952](https://github.com/rh-hideout/pokeemerald-expansion/pull/6952) * Fix HasBattlerSideMoveWithEffect comment by @Pawkkie in [#6965](https://github.com/rh-hideout/pokeemerald-expansion/pull/6965) * Documented usage of `createsprite gSlideMonToOffsetSpriteTemplate` by @AsparagusEduardo in [#6953](https://github.com/rh-hideout/pokeemerald-expansion/pull/6953) * Remove trailing whitespace by @AsparagusEduardo in [#6968](https://github.com/rh-hideout/pokeemerald-expansion/pull/6968) * Moved time constants to dedicated files by @pkmnsnfrn in [#7019](https://github.com/rh-hideout/pokeemerald-expansion/pull/7019) ## 🧪 Test Runner 🧪 ### Added * "Aerilate"-esque Ability Tests and Config by @Pawkkie and @hedara90 in [#6313](https://github.com/rh-hideout/pokeemerald-expansion/pull/6313) - Adds new `B_ATE_MULTIPLIER` config in `config/battle.h` ### Changed * Tests for checking all move animations by @hedara90 and @AsparagusEduardo wrote the original tests that I updated in [#6297](https://github.com/rh-hideout/pokeemerald-expansion/pull/6297) - Set `T_SHOULD_RUN_MOVE_ANIM` to `TRUE` to run these tests, they take a long time to run. * Update the All Move Animations test by @hedara90 in [#6460](https://github.com/rh-hideout/pokeemerald-expansion/pull/6460) * Updated move animation tests by @hedara90 in [#6554](https://github.com/rh-hideout/pokeemerald-expansion/pull/6554) ### Fixed * Fix out-of-bounds in Heal Bell Cures Entire Party test by @rayrobdod in [#7011](https://github.com/rh-hideout/pokeemerald-expansion/pull/7011) ## 📚 Documentation 📚 * Add CONTRIBUTING.md and STYLEGUIDE.md by @pkmnsnfrn and @Pawkkie, @garakmon in [#6340](https://github.com/rh-hideout/pokeemerald-expansion/pull/6340) * Update maintainer list by @AsparagusEduardo in [#6521](https://github.com/rh-hideout/pokeemerald-expansion/pull/6521) * Fix broken links in merge_checklist.md by @pkmnsnfrn and @grintoul1 in [#6570](https://github.com/rh-hideout/pokeemerald-expansion/pull/6570) * Turn battle string ids into enums by @Bassoonian in [#6594](https://github.com/rh-hideout/pokeemerald-expansion/pull/6594) * Add Time-Based Encounter Tutorial by @khbsd and @Pawkkie (ty for reviewing!!) in [#6568](https://github.com/rh-hideout/pokeemerald-expansion/pull/6568) * Add type checking for hold item effects by @Bassoonian in [#6619](https://github.com/rh-hideout/pokeemerald-expansion/pull/6619) * Adds move effect type checking by @Bassoonian in [#6618](https://github.com/rh-hideout/pokeemerald-expansion/pull/6618) * Make form change methods into enum + type checking by @Bassoonian in [#6631](https://github.com/rh-hideout/pokeemerald-expansion/pull/6631) * Add AI_FLAG_PP_STALL_PREVENTION to `ai_flags.md` by @Pawkkie in [#6756](https://github.com/rh-hideout/pokeemerald-expansion/pull/6756) * Document battler side in anim code by @AlexOn1ine in [#6780](https://github.com/rh-hideout/pokeemerald-expansion/pull/6780) * Added JSON as the preferred data format by @hedara90 in [#6801](https://github.com/rh-hideout/pokeemerald-expansion/pull/6801) * Commenting in config files to explain limits of map popups and wild AI flags by @surskitty in [#6923](https://github.com/rh-hideout/pokeemerald-expansion/pull/6923) * Documented usage of `createsprite gSimplePaletteBlendSpriteTemplate` by @AsparagusEduardo in [#6956](https://github.com/rh-hideout/pokeemerald-expansion/pull/6956) * Documented usage of `createsprite gDirtPlumeSpriteTemplate` by @AsparagusEduardo in [#6954](https://github.com/rh-hideout/pokeemerald-expansion/pull/6954) * Updated CONTRIBUTING.md and Merge Freeze definition by @pkmnsnfrn in [#6952](https://github.com/rh-hideout/pokeemerald-expansion/pull/6952) * Documented usage of `createsprite gBasicHitSplatSpriteTemplate` by @AsparagusEduardo in [#6950](https://github.com/rh-hideout/pokeemerald-expansion/pull/6950) * Documented usage of `createsprite gSparkElectricitySpriteTemplate` by @AsparagusEduardo in [#6955](https://github.com/rh-hideout/pokeemerald-expansion/pull/6955) * Beefing up the DNS tutorial for some of the common questions/errors. by @surskitty in [#6922](https://github.com/rh-hideout/pokeemerald-expansion/pull/6922) * Add follower NPC documentation by @Bivurnum in [#6704](https://github.com/rh-hideout/pokeemerald-expansion/pull/6704) * Clarifies when to use each merge type for maintainers by @pkmnsnfrn in [#6999](https://github.com/rh-hideout/pokeemerald-expansion/pull/6999) ## 📦 Branch Synchronisation 📦 ### pret * 27th of May, 2025 in [#6995](https://github.com/rh-hideout/pokeemerald-expansion/pull/6995) * Fix defines in MAP_NUM and MAP_GROUP by @Bassoonian in [pret#2023](https://github.com/pret/pokeemerald/pull/2023) * Change metatile behaviors to enum by @pkmnsnfrn in [pret#2027](https://github.com/pret/pokeemerald/pull/2027) * Move heal locations data to their associated map.json by @GriffinRichards in [pret#2034](https://github.com/pret/pokeemerald/pull/2034) * Generate local IDs from map.json files by @GriffinRichards in [pret#2047](https://github.com/pret/pokeemerald/pull/2047) * Generate MAPSEC constants from JSON by @GriffinRichards in [pret#2063](https://github.com/pret/pokeemerald/pull/2063) * Generate heal location constants automatically by @GriffinRichards in [pret#2101](https://github.com/pret/pokeemerald/pull/2101) * Update for Porymap 6 by @GriffinRichards in [pret#2141](https://github.com/pret/pokeemerald/pull/2141) * 29th of May, 2025 in [#7012](https://github.com/rh-hideout/pokeemerald-expansion/pull/7012) * Update for Porymap 6 by @GriffinRichards in [pret#2141](https://github.com/pret/pokeemerald/pull/2141) ## New Contributors * @SundayMoonday made their first contribution in [#6516](https://github.com/rh-hideout/pokeemerald-expansion/pull/6516) * @agsmgmaster64 made their first contribution in [#6559](https://github.com/rh-hideout/pokeemerald-expansion/pull/6559) * @grintoul1 made their first contribution in [#6567](https://github.com/rh-hideout/pokeemerald-expansion/pull/6567) * @LinathanZel made their first contribution in [#6834](https://github.com/rh-hideout/pokeemerald-expansion/pull/6834) * @mudskipper13 made their first contribution in [#6812](https://github.com/rh-hideout/pokeemerald-expansion/pull/6812) **Full Changelog**: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.11.3...expansion/1.12.0