Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

## 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.13.4
`.

🧬 General 🧬

Changed

  • 1.13.3 release by @hedara90 in #8109
  • Adds an auto-generated include file of script commands by @FosterProgramming in #8156
  • Adjust label workflow to only run if PR is approved by @hedara90 in #8183
  • Add include/constants/script_commands.h to gitignore by @AlexOn1ine in #8169
  • add fdeblasio as a contributor for code by @allcontributors[bot] in #8200
  • Adjust Canceler naming to contain only one l by @AlexOn1ine in #8258
  • Pret merge (16th of November, 2025) by @AlexOn1ine in #8262
  • *.party: text with lfs by @mrgriffin in #8320
  • Fedora install instructions by @estellarc in #8355
  • Indent unintented if statement by @hedara90 in #8367

Fixed

  • Update mdbook to v0.5.0-beta.1 by @rayrobdod in #8133
  • Fix wild_encounters script not closing arrays properly by @FosterProgramming in #8123
  • Fix missing FREE_MATCH_CALL by @FosterProgramming in #8171
  • Fix scroll prompt sometimes being off-screen with automatic line breaks by @hedara90 in #8182
  • Fix gcc11 again by @AsparagusEduardo in #8188
  • Fixed decompression error reporter OOB window creation by @hedara90 in #8199
  • Fix error when compiling with P_FUSION_FORMS disabled by @cawtds in #8298
  • Fix compile on gcc11 by @AlexOn1ine in #8300
  • Fix debug battle flag never being cleared by @FosterProgramming in #8357

🗺️ Overworld 🗺️

Changed

  • Add additional comment explaing map name popup transparency side-effects by @FosterProgramming in #8117

Fixed

  • Fix berry blender not computing flavor correctly by @FosterProgramming in #8113
  • Allow vs seekers to work with script not starting with trainerbattle by @FosterProgramming in #8062
    • VS seeker now work with trainers who don’t start with trainer_battle. You can use vsseeker_rematchid TRAINER_ID to indicate that this NPC is a battling trainer and the game will fetch the appropriate rematch if necessary. vsseeker_rematchid work like a cant_see_if_trainerflag_set with additional functionality to handle vs seeker. All NPCs who don’t start with either vsseeker_rematchid or trainerbattle will show as “X”/unmatchable by the vs seeker, so non-rematchable trainer who do not start with trainerbattle may "lie" and not show an excalmation mark showing they haven't been fought yet. This can be fixed by including a vsseeker_rematchid` for them too.
  • Fix grade in summary screen not accounting for 26 IV by @FosterProgramming in #8157
  • Fix match call regression by @FosterProgramming in #8227
  • Fix mew sprite not appearing correctly by @FosterProgramming in #8235
  • Fix wrong palette for types sprites in hgss dex after catching mon by @FosterProgramming in #8153
  • Fix mirage tower ceiling crumble color by @FosterProgramming in #8081
  • Fix light flickering when different types of light sprite are present by @FosterProgramming in #8043
    • Light intensity of neon signs was reduced to avoid conflicts with other light sources
    • Fix flickering when both neon signs and light ball are present on screen
  • Bug Fix: NPC Followers not working on slow sideways stairs by @Bivurnum in #8257
  • Fix not enough memory being allocated when moves load background in contests by @FosterProgramming in #8284
  • Make MON_DATA_NICKNAME10 return a 10 character string by @FosterProgramming in #8291
    • Fix bug where interviews would print bad data in their string
  • Fix game freeze when trainers try to walk on sideway stairs by @FosterProgramming in #8316
  • Fix tossing items applying to the wrong stack by @FosterProgramming in #8282
  • Prevent moves to be changed when choosing half party by @FosterProgramming in #8336

🐉 Pokémon 🐉

Changed

  • Fix Kyurem typo in swap move tables by @Bassoonian in #8139
  • Fix typo in Voltorb-Hisui pokedex entry by @PhallenTree in #8143
  • Fix some followers sprites by @estellarc in #8208

⚔️ Battle General ⚔️

Changed

  • Clean up redundant todo by @AlexOn1ine in #8094
  • Powder Move blocking cleanup by @PhallenTree in #8194
  • Restored encourageEncore flag to non-volatile status effects by @AsparagusEduardo in #8387

Fixed

  • Allow to send active mon to PC when capturing a Pokemon by @FosterProgramming in #8111
  • Fix transform not loading the correct sprites when facing shiny or unown by @FosterProgramming in #8146
  • Fixes Receiver not immediately activating copied abilities by @PhallenTree in #8162
  • Fix destiny knot behavior and add tests by @FosterProgramming in #8174
  • Fix recharge moves + add recharge move tests by @FosterProgramming in #8181
  • Fixes Magician for spread moves by @AlexOn1ine in #8170
  • Fix tera tint not applying on activation by @FosterProgramming in #8135
  • Fixes wrongly assigned count for Semi Invulnerable state by @AlexOn1ine in #8175
  • Fixes Drain Punch / Parental Bond / Scale Shot interaction by @AlexOn1ine in #8198
  • Fix wrong ditto sprite on capture by @FosterProgramming in #8226
  • Fixed an issue related to same turn Encore targeting by @LinathanZel in #8230
  • Fixes Shell Trap not activating on contact but no damage by @AlexOn1ine in #8243
  • Fix Magic Coat reflecting hazard moves incorrectly when used by a partner by @moostoet in #8272
    • Magic Coat now properly reflects hazard moves from either slot in double battles.
  • Shell Trap tests and Fix for Encore interaction by @AlexOn1ine in #8268
  • Fix max mushroom unable to be selected when one stat is maxed by @FosterProgramming in #8287
  • Block selecting x items when contrary pokemon are at minimum stages by @FosterProgramming in #8288
  • Fix Fur Coat affecting confusion self-damage by @moostoet in #8267
    • Fix confusion self-damage ignoring defense/attack abilities such as Fur Coat.
  • Fixes End Turn Speed Order by @AlexOn1ine in #8289
  • Make switchout abilities trigger after a pokemon has returned to its ball by @FosterProgramming in #8304
  • Fix Shed Shell allowing fleeing/teleporting and Smoke Ball failing to guarantee escape by @moostoet in #8286
  • Fix bug where defiant/competitive would pass their stat change to the next target by @FosterProgramming in #8312
  • Fix max move message against semi invulnerable target by @FosterProgramming in #8313
  • Fixes Neutralizing Gas displaying message when exiting with multiple users by @PhallenTree in #8318
  • Fix Kings Rock not being ignored by flinch moves by @AlexOn1ine in #8327
  • Fix Protosynthesis stat boosts ignoring speed drops by @moostoet in #8277
    • Protosynthesis and Quark Drive now recalculate their boosted stat when Speed is lowered or Neutralizing Gas temporarily disables the ability.
  • Fix switch-in abilities not triggering on revive by @FosterProgramming in #8293
  • More Neutralizing Gas cleanup by @PhallenTree in #8335
  • Fix cure status item effect not working properly in doubles by @FosterProgramming in #8339
  • Fix infinite confusion (berserk gene) not being cured by cure_status bag items by @FosterProgramming in #8343
  • Fix B_PHYSICAL_SPECIAL_SPLIT when set to Gen 4 by @AsparagusEduardo in #8348
  • Refactor Beat Up handling for Gen 3/4 defaults, fix crit check, and expand test coverage by @moostoet in #8307
    • BUGFIX: Beat Up (GEN =< 5) now no longer doubles its damage on every non-critical hit
    • Beat Up now precomputes eligible party members/strikers for consistent multi-hit resolution and expanded tests covering both pre-Gen5 and Gen5+ rules
  • Fix substitute graphic not disappearing after using a pivor move by @FosterProgramming in #8340
  • Fixes Beak Blast burning after Beak Blast was already used by @PhallenTree in #8361
  • Fix Roar not being recorded for LastUsedMove by @AlexOn1ine in #8362
  • Fixes Neutralizing Gas / Mold Breaker / Dragon Darts interaction by @AlexOn1ine in #8389
  • Fixes battle tv overwriting damage values by @AlexOn1ine in #8378
  • Fix ball cycling not working properly when the same ball take multiple bag slots by @FosterProgramming in #8163
    • Two new defines added to items.h FIRST_BALL_INDEX and LAST_BALL_INDEX
    • We now assume the indexes of all regular ball usable in wild battle have consecutive indexes and some features (throw ball shortcut in battle) might break if not true

🤹 Moves 🤹

Changed

  • Fixed Uproar’s description and spacing by @fdeblasio in #8187
  • Clean usage of gMovesInfo by @AsparagusEduardo in #8234
    • Also, fixed an OOB in HasMoveThatChangesKOThreshold
  • Make tailwind anim mirror based on side by @FosterProgramming in #8249
  • Make rainbow effect anim change based on side by @FosterProgramming in #8269
  • Update Lash Out description to clarify its effect by @PhallenTree in #8372

Fixed

  • Fix some move animations leaking VRAM and freeing already freed tags by @hedara90 in #7977

🧶 Items 🧶

Fixed

  • Allow vs seekers to work with script not starting with trainerbattle by @FosterProgramming in #8062
    • VS seeker now work with trainers who don’t start with trainer_battle. You can use vsseeker_rematchid TRAINER_ID to indicate that this NPC is a battling trainer and the game will fetch the appropriate rematch if necessary. vsseeker_rematchid work like a cant_see_if_trainerflag_set with additional functionality to handle vs seeker. All NPCs who don’t start with either vsseeker_rematchid or trainerbattle will show as “X”/unmatchable by the vs seeker, so non-rematchable trainer who do not start with trainerbattle may "lie" and not show an excalmation mark showing they haven't been fought yet. This can be fixed by including a vsseeker_rematchid` for them too.

🤖 Battle AI 🤖

Fixed

  • fix (AI scoring): shield dust considerations, IsMoveEffectInMinus self effect edge case, hitsToKO zero-case consideration by @ghostyboyy97 in #8126
    • The AI now sees Shield Dust on the player’s Pokemon correctly
    • The AI now sees self-targeted positive effect boosts correctly
  • fix (contrary): Contrary stat down handling in MoveEffectInPlus by @ghostyboyy97 in #8165
    • When comparing positive move effects in damaging move comparison, the AI will correctly see moves like Leaf Storm as beneficial if their Pokemon has Contrary.
  • Added check for parental bond killing through sturdy by @MaximeGr00 in #8206 AI now accounts for Parental Bond when checking if a move can ko the player through sturdy/focus sash.
  • Fix AI_FLAG_DOUBLE_ACE_POKEMON sending duplicate Pokémon in doubles by @moostoet in #8279
    • Fixed AI_FLAG_DOUBLE_ACE_POKEMON trainers resending the same Pokémon after a KO instead of their two Ace Pokémon in double battles.
  • Fix switchin KO threshold logic by @Pawkkie in #8370

🧹 Other Cleanup 🧹

  • Clean up redundant todo by @AlexOn1ine in #8094
  • Fix Kyurem typo in swap move tables by @Bassoonian in #8139
  • Fix typo in Voltorb-Hisui pokedex entry by @PhallenTree in #8143
  • Fixed Uproar’s description and spacing by @fdeblasio in #8187
  • Add include/constants/script_commands.h to gitignore by @AlexOn1ine in #8169
  • Powder Move blocking cleanup by @PhallenTree in #8194
  • Clean usage of gMovesInfo by @AsparagusEduardo in #8234
    • Also, fixed an OOB in HasMoveThatChangesKOThreshold
  • Adjust Canceler naming to contain only one l by @AlexOn1ine in #8258
  • Fix wrongly renamed logs by @AlexOn1ine in #8264
  • Tests for Max Moves already exist by @AlexOn1ine in #8314
  • Use MAP_OFFSET by @estellarc in #8328
  • Fixed broken friendship from items in battle test and added new test for opposite case by @pkmnsnfrn in #7872
  • Indent unintented if statement by @hedara90 in #8367
  • Update Lash Out description to clarify its effect by @PhallenTree in #8372
  • Restored encourageEncore flag to non-volatile status effects by @AsparagusEduardo in #8387

🧪 Test Runner 🧪

Added

  • Prevent EXPECT functions from casting negative numbers into unsigned by @FosterProgramming in #7866

Changed

  • Added Soundproof and Bulletproof tests by @AsparagusEduardo in #8189
  • Wrote some missing tests by @AsparagusEduardo in #8203
  • A couple more tests by @AsparagusEduardo in #8209
  • Fixed some failing tests with GEN_LATEST = GEN_5 by @AsparagusEduardo in #8241
  • Add test for mold breaker/ice scales interaction by @FosterProgramming in #8240
  • Yet more tests by @AsparagusEduardo in #8228
    • Added tests for:
    • Dark Aura
    • Fairy Aura
    • Flare Boost
    • Toxic Boost
    • Added test names for Flying Press.
  • Slightly increase headless test speed by modifying animations by @AsparagusEduardo in #8299
  • Make gTestRunnerHeadless into a constant outside of tests by @hedara90 in #8306
  • Tests for Max Moves already exist by @AlexOn1ine in #8314
  • Finished fixing tests when setting GEN_LATEST to GEN_5 by @AsparagusEduardo in #8263
  • Wrote missing Fling tests by @AsparagusEduardo in #8383

Fixed

  • Fixes difficulty not being restored after tests by @grintoul1 in #8129
  • Reset saveblock data between test runs by @hedara90 in #8145
  • Fix ohko moves ai tests by @FosterProgramming in #8309
  • Fixed broken friendship from items in battle test and added new test for opposite case by @pkmnsnfrn in #7872
  • Add tests to verify aromatherapy is not affected by heal bell config by @FosterProgramming in #8344
  • Pre gen 5 encored move now signals the test engine a move is happening by @FosterProgramming in #8338
  • Refactor Beat Up handling for Gen 3/4 defaults, fix crit check, and expand test coverage by @moostoet in #8307
    • BUGFIX: Beat Up (GEN =< 5) now no longer doubles its damage on every non-critical hit
    • Beat Up now precomputes eligible party members/strikers for consistent multi-hit resolution and expanded tests covering both pre-Gen5 and Gen5+ rules
  • Fix known failing AI trace test by @FosterProgramming in #8337

📚 Documentation 📚

  • Lock mdbook to v0.4.35 to fix docs not building by @grintoul1 in #8130
  • Add additional comment explaing map name popup transparency side-effects by @FosterProgramming in #8117
  • Fix wrongly renamed logs by @AlexOn1ine in #8264
  • Use MAP_OFFSET by @estellarc in #8328
  • Fedora install instructions by @estellarc in #8355

Full Changelog: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.13.3...expansion/1.13.4