Important: DO NOT use GitHub's "Download Zip" option. Using this option will not download the commit history required to update your expansion version or merge other feature branches. Instead, please read this guide to learn how to fork the repository and clone locally from there.
pokeemerald-expansion is a decomp hack base project based off pret's pokeemerald decompilation project. It's recommended that any new projects that plan on using it, to clone this repository instead of pret's vanilla repository, as we regurlarly incorporate pret's documentation changes. This is NOT a standalone romhack, and as such, most features will be unavailable and/or unbalanced if played as is.
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 1.9.3 https://github.com/rh-hideout/pokeemerald-expansion/
Please follow the instructions in INSTALL.md
to get pokeemerald-expansion set up on your machine.
- IMPORTANT❗❗ Read through these to learn what features you can toggle:
- Upgraded battle engine.
- Gen5+ damage calculation.
- 2v2 Wild battles support.
- 1v2/2v1 battles support.
- Fairy Type (configurable).
- Physical/Special/Status Category (configurable).
- New moves and abilities up to Scarlet and Violet.
- Custom Contest data up to SwSh, newer moves are WIP. (source)
- Battle gimmick support:
- Mega Evolution
- Primal Reversion
- Ultra Burst
- Z-Moves
- Gen 8+ damaging moves are given power extrapolated from Gen 7.
- Gen 8+ status moves have no additional effects, like Healing Wish.
- Dynamax and Gigantamax
- Initial battle parameters
- Queueing stat boosts (aka, Totem Boosts)
- Setting Terrains.
- Mid-turn speed recalculation.
- Quick Poké Ball selection in Wild Battles
- Hold
R
to change selection with the D-Pad. - Press
R
to use last selected Poké Ball.
- Hold
- Run option shortcut
- Faster battle intro - Message and animation/cry happens at the same time.
- Faster HP drain.
- Battle Debug menu.
- Accessed by pressing
Select
on the "Fight/Bag/Pokémon/Run" menu.
- Accessed by pressing
- Option to use AI flags in wild Pokémon battles.
- FRLG/Gen4+ whiteout money calculation.
- Configurable experience settings
- Experience on catch.
- Splitting experience.
- Trainer experience.
- Scaled experience.
- Unevolved experience boost.
- Frostbite.
- Doesn't replace freezing unless a config is enabled, so you can mix and match.
- Critical capture.
- Removed badge boosts (configurable).
- Recalculating stats at the end of every battle.
- Level 100 Pokémon can earn EVs.
- Inverse battle support.
- TONS of other features listed here.
- Full Trainer customization
- Nickname, EVs, IVs, moves, ability, ball, friendship, nature, gender, shininess.
- Custom tag battle support (teaming up an NPC in a double battle).
- Sliding trainer messages.
- Upgraded Trainer AI
- Considers newer move effects.
- New flag options to let you customize the intelligence of your trainers.
- Faster calculations.
- Specify Poké Balls by Trainer class.
- Pokémon Species from Generations 1-9.
- Simplified process to add new Pokémon.
- Option to disable unwanted families.
- Updated sprites to DS style.
- Updated stats, types, abilities and egg groups (configurable).
- Updated Hoenn's Regional Dex to match ORAS' (configurable).
- Updated National Dex incorporating the new species.
- Sprite and animation visualizer.
- Accesible by pressing
Select
on a Pokémon's Summary screen.
- Accesible by pressing
- Gen4+ evolution methods, with some changes:
- Mossy Rock, Icy Rock and Magnetic Field locations match ORAS'.
- Leaf, Ice and Thunder Stones may also be used.
- Inkay just needs level 30 to evolve.
- You can't physically have both the RTC and gyroscope, so we skip this requirement.
- Sylveon uses Gen8+'s evolution method (friendship + Fairy Move).
- Option to use hold evolution items directly like stones.
- Mossy Rock, Icy Rock and Magnetic Field locations match ORAS'.
- Hidden Abilities.
- Available via Ability Patch.
- Compatible with Ghoul's DexNav branch.
- All gender differences.
- Custom female icons for female Hippopotas Hippowdon, Pikachu and Wobbufett
- 3 Perfect IVs on Legendaries, Mythicals and Ultra Beasts.
- Customizable form change tables. Full list of methods here.
- Item holding (eg. Giratina/Arceus)
- Item using (eg. Oricorio)
- Time of day option for Shaymin
- Fainting
- Battle begin and end (eg. Xerneas)
- Move change option for Zacian/Zamazenta
- Battle end in terrains (eg. Burmy)
- Switched in battle (eg. Palafin)
- HP Threshold (eg. Darmanitan)
- Weather (eg. Castform)
- End of turn (eg. Morpeko)
- Time of day (eg. Shaymin)
- Fusions (eg. Kyurem)
- Breeding Improvements
- Incense Baby Pokémon now happen automatically (configurable).
- Level 1 eggs (configurable).
- Poké Ball inheriting (configurable).
- Egg Move Transfer, including Mirror Herb (configurable).
- Nature inheriting 100% of the time with Everstone (configurable)
- Gen6+ Ability inheriting (configurable).
- Items from newer Generations. Full list here.
- Gen 6+ Exp. Share (configurable)
- Berserk Gene
- Most battle items from Gen 4+
- Feature branches incorporated (with permission):
- RHH intro credits by @Xhyzi.
- A small signature from all of us to show the collective effort in the project :)
- Overworld debug by @TheXaman
- May be disabled.
- Accesible by pressing
R + Start
in the overworld by default. - Additional features:
- Clear Boxes: cleans every Pokémon from the Boxes.
- Hatch an Egg: lets you choose an Egg in your party and immediately hatch it.
- HGSS Pokédex by @TheXaman
- May be disabled.
- Additional features:
- Support for new evolution methods.
- Dark Mode.
- Nature Colors in summary screen by @DizzyEggg
- Dynamic Multichoice by @SBird1337
- Saveblock Cleansing by @ghoulslash
- Followers & Expanded IDs by @aarant
- May be disabled.
- Includes Pokémon followers like in HGSS, including interactions.
- Expands the amount of possible object event IDs beyond 255.
- Includes an implementation of dynamic overworld palettes (DOWP).
- Additional features:
- Pokémon overworld sprites up to Generation 8.
- Integration with our Pokémon Sprite Visualizer, allowing users to browse through the follower sprites alongside battle sprites.
- RHH intro credits by @Xhyzi.
- Other features
- Pressing B while holding a Pokémon drops them like in modern games (configurable).
- Running indoors (configurable).
- Configurable overworld poison damage.
- Configurable flags for disabling Wild encounters and Trainer battles.
- Configurable flags for forcing or disabling Shinies.
- Reusable TM (configurable).
- B2W2+ Repel system that also supports LGPE's Lures
- Gen6+'s EV cap.
- All bugfixes from pret included.
- Fixed overworld snow effect.
There are some mechanics, moves and abilities that are missing and being developed. Check the project's milestones to see which ones.
Yes! Keep in mind that we keep up with pret's documentation of pokeemerald, which means that if your project a bit old, you might get merge conflicts that you need to solve manually.
- 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 master
.
With this, you'll get the latest version of pokeemerald-expansion, plus a couple of bugfixes that haven't been released into the next patch version :)
- If you haven't set up a remote, run the command
git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion
. - Check your current version.
- You can check in the debug menu's
Utilities -> Expansion Version
option. - If the option is not available, you possibly have version 1.6.2 or older. In that case, please check the changelogs to determine your version based on the features available on your repository.
- You can check in the debug menu's
- Once you have your remote set up, run the command
git pull RHH expansion/X.Y.Z
, replacing X, Y and Z with the digits of the respective version you want to update to (eg, to update to 1.9.3, usegit pull RHH expansion/1.9.3
).- Important: If you are several versions behind, we recommend updating one minor version at a time, skipping directly to the latest patch version (eg, 1.5.3 -> 1.6.2 -> 1.7.4 and so on)
- Alternatively, you can update to unreleased versions of the expansion.
- master (stable): It contains unreleased bugfixes that will come in the next patch version. To merge, use
git pull RHH master
. - upcoming (unstable, with potential bugs): It contains unreleased features that will come in the next minor version. To merge, use
git pull RHH upcoming
.
- master (stable): It contains unreleased bugfixes that will come in the next patch version. To merge, use
Please consider crediting the entire list of contributors in your project, as they have all worked hard to develop this project :)
Please submit any issues with the project here. Make sure that the issue wasn't reported by someone else by searching using the filters.
Yes! Contributions are welcome via Pull Requests and they will be reviewed by maintainers. Don't feel discouraged if we take a bit to review your PR, we'll get to it.
The project was originally started by DizzyEgg alongside other contributors.
The project has now gotten larger and DizzyEgg is now maintaining the project as part of the ROM Hacking Hideout community. Some members of this community are taking on larger roles to help maintain the project.
A Discord-based ROM hacking community that has many members who hack using the disassembly and decompilation projects for Pokémon. Quite a few contributors to the original feature branches by DizzyEgg were members of ROM Hacking Hideout. You can call it RHH for short!