## 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.15.1
`.🧬 General 🧬
Changed
- Make trainerproc-generated files depend on trainerproc by @rayrobdod in #9414
- Update event_objects.h hex values by @shachar700 in #9418
- Remove need to run make clean when switching between frlg and emerald by @grintoul1 in #9406
- Parallelize CI jobs and cache build tools by @TrevorEdris in #9528
- fix(preproc): Remove unused private field m_scriptData by @lhearachel in #9581
- fix(learnset_helpers): Harden regex-patterns for preproc directives by @lhearachel in #9582
- Silence Makefile map_version message by @grintoul1 in #9590
- docs: added note about BoxPokemon encryption works test by @pkmnsnfrn in #9619
- Pret merge (29th of March, 2026) by @hedara90 in #9658
Fixed
- Fix FRLG party menu Oak support message window by @montmoguri in #9412
- Fix free match call compile fail by @FosterProgramming in #9416
- Fix GetSpeciesPreEvolution triggering assertf with disabled species by @hedara90 in #9455
- Adds missing include in intro_frlg.c by @grintoul1 in #9483
- Fix battle type doubles for debug battle by @FosterProgramming in #9486
- Fix trailing newline failing tests by @cawtds in #9495
- Fix newlines not working with sprite printing by @hedara90 in #9502
- Fix money amount printed on whiteout by @FosterProgramming in #9517
- Fix assert hits when species are disabled by @cawtds in #9520
- Fix Some HGSS Dex Visuals by @HashtagMarky in #9534
- Fix assert failure on disabled species in Sprite Visualizer by @hedara90 in #9422
- Fix FREE_ENIGMA_BERRY breaking GF Rom Header by @AsparagusEduardo in #9599
- Fix tile allocation for unique egg and species sprite in PC by @hedara90 in #9613
- Split region map layouts by map by @AsparagusEduardo in #9580
- Fix flipped FakeRTC check by @hedara90 in #9597
- Allow make release and check for FRLG by using the BUILD variable by @FosterProgramming in #9465
- Fix dex absences for cross gen configs by @luuma in #9337
- fix: set printer type for AddTextPrinterParameterized6 by @mudskipper13 in #9628
- Fix all-contributors by @hedara90 in #9659
🗺️ Overworld 🗺️
Fixed
- Fix tutor_moves.h files containing duplicates by @FosterProgramming in #9423
- Version specific tweaks of post whiteout script by @FosterProgramming in #9521
- Fix Berry Mutation Chance by @ghoulslash in #9530
- Fixes debug menu Fly Flags toggle by @grintoul1 in #9607
- Corrects music for FRLG maps and some functions by @grintoul1 in #9606
- Fix fateful encounter starting battle with 0 hp by @FosterProgramming in #9621
- Fix timing and structure of Apricorn Tree messages by @BluSunrize in #9650
🐉 Pokémon 🐉
Changed
Fixed
- Fix custom eggs displaying as regular eggs on Storage System by @AsparagusEduardo in #9603
- Fix shininess of form changed battle mon after reshowing battle screen by @cawtds in #9524
- Fixed Kanto dex cross-gen evolutions by @fdeblasio in #9617
- Fix disabled species appearing in evolution struct by @hedara90 in #9574
⚔️ Battle General ⚔️
Changed
- Clean unused function from header by @AsparagusEduardo in #9541
- Fallthrough instead break after ordering by speed by @AlexOn1ine in #9633
Fixed
- Fix ability reference in Steadfast message by @PhallenTree in #9389
- Fixes U-turn not reseting targetsDone flag by @AlexOn1ine in #9411
- Fix Unseen Fist triggering protection move side effects by @Cle-bit in #9428
- Partial fix to incorrect Throat Spray behaviour, with a fix to summary_screen config that no longer works by @luuma in #9426
- Fix ally targeting moves crashing in single battles by @PhallenTree in #9433
- Fix weatherform change when primal weather leaves the field by @AlexOn1ine in #9424
- Fixes Trump Card's power calculation using its own PP when called by another move by @PhallenTree in #9445
- Missing shouldAbilityTrigger by @AlexOn1ine in #9447
- Fix Lightning Rod activation on fainted mon by @AlexOn1ine in #9434
- Fixes abilities that grant type immunities not outputting battle messages by @LinathanZel in #9470
- Fix order of failure for spread moves by @AlexOn1ine in #9472
- Fixes Knock Off / Ogerpon behavior by @AlexOn1ine in #9478
- Fixes Critical Hit message being printed on fixed damage moves by @AlexOn1ine in #9489
- Fixes Secret Power Terrain effects not being applied by @PhallenTree in #9492
- Fix various stuff not working when hitting substitutes by @hedara90 in #9487
- Fix Magic Bounce reflecting Hazards from a semi-invulnerable position by @AlexOn1ine in #9501
- Fixes Lock On by @AlexOn1ine in #9496
- Fix Magic Coat activation if in Semi-Invulnerable state by @AlexOn1ine in #9503
- Fixes Dancer original attacker/target being overwritten by @PhallenTree in #9515
- Fix Magic Guard activation against Rough Skin by @AlexOn1ine in #9516
- Fix visual glicth during critical capture by @FosterProgramming in #9538
- Fix SafeguardProtected script by @AlexOn1ine in #9559
- Fix duplicate Trick Room end message when used again by @Cle-bit in #9546
- Fix Commander cleanup to only clear STATE_COMMANDER semi-invulnerability for partners by @Cle-bit in #9598
- Fix Commander forced-switch blocking after swallowed Tatsugiri faints, plus Commander tests cleanup by @Cle-bit in #9609
- Fix Mirror Move failing when the target is immune to the copied move by @Cle-bit in #9604
- Fix Wind Power and Electromorphosis triggering before fainting and Tailwind absent-battler ability activation by @Cle-bit in #9635
- Fixed Meteor Beam and Electro Shot being callable via Sleep Talk and Instruct by @LinathanZel in #9631
- Fix ability history recording ownership for Infiltrator, Punk Rock, and Ice Scales by @Cle-bit in #9639
- Fix Ability Shield interaction for Receiver and Power of Alchemy by @Cle-bit in #9649
- Fix Gorilla Tactics Dynamax behavior by @Cle-bit in #9643
🧶 Items 🧶
Changed
- Add better Strange Ball sprite by @kittenchilly in #9556
Fixed
- Fix negative friendship modifiers not working properly by @FosterProgramming in #9622
🤖 Battle AI 🤖
Fixed
- Fix missing AI handling for partnerProtecting and Well-Baked Body by @Cle-bit in #9385
- Fix AI's inability to use Acupressure on its ally by @Pawkkie in #9437
- Fixes Bide's AI scoring being boosted by being able to boost offensive stats by @PhallenTree in #9435
- Fix for trap effect groundedness being seen incorrectly by @Meister-anon in #9396
- Fix
AI_CompareDamagingMovesreading incorrect move indexes by @Pawkkie in #9454 - Rage fist fix by @MaximeGr00 in #9405
- Rage Fist now sees stacks properly for switch logic.
- Retaliate post ko bug fix by @MaximeGr00 in #9561
- Retaliate damage is now seen correctly for both post-ko and on field damage calculations.
- Fix AI debug timers by @Pawkkie in #9585
- Fix AI using Yawn into Flame/Toxic Orb self-status targets by @Cle-bit in #9626
🧹 Other Cleanup 🧹
- Update event_objects.h hex values by @shachar700 in #9418
- Remove need to run make clean when switching between frlg and emerald by @grintoul1 in #9406
- Clean unused function from header by @AsparagusEduardo in #9541
- docs(tutorials): clean up mon_generation tutorial for readability by @kildemal in #9531
- fix(preproc): Remove unused private field m_scriptData by @lhearachel in #9581
- fix(learnset_helpers): Harden regex-patterns for preproc directives by @lhearachel in #9582
- Silence Makefile map_version message by @grintoul1 in #9590
- Fallthrough instead break after ordering by speed by @AlexOn1ine in #9633
🧪 Test Runner 🧪
Changed
- Add tests for Taunt by @Cle-bit in #9386
PARAMETRIZE_LABELnow supports multiple args by @AsparagusEduardo in #9206- Parallelize CI jobs and cache build tools by @TrevorEdris in #9528
- preproc: generate .size in script_data sections by @mrgriffin in #9233
Fixed
- Fix partner difficulty and rework tests by @FosterProgramming in #9419
- Fix Magic Guard activation against Rough Skin by @AlexOn1ine in #9516
- Fix test ROM running out of space at 90%+ usage by @hedara90 in #9623
- All mon cries in tests now use a single shared cry
📚 Documentation 📚
- docs(tutorials): clean up mon_generation tutorial for readability by @kildemal in #9531
- docs: added note about BoxPokemon encryption works test by @pkmnsnfrn in #9619
New Contributors
- @TrevorEdris made their first contribution in #9528
- @BluSunrize made their first contribution in #9650
Full Changelog: expansion/1.15.0...expansion/1.15.1