Skip to content

rh-hideout/pokeemerald-expansion

 
 

Repository files navigation

pokeemerald-expansion

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.

What is pokeemerald-expansion?

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 v1.8.0 https://github.com/rh-hideout/pokeemerald-expansion/

What features are included?

  • 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.
    • 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.
    • 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.
    • 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.
    • 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+
    • Existing item data but missing effects:
      • Gimmighoul Coin
      • Booster Energy
      • Tera Shards
      • Tera Orb
  • 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
  • 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.

If I already have a project based on regular pokeemerald, can I use pokeemerald-expansion?

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 :)

How do I update my version of pokeemerald-expansion?

  • 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.
  • 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.8.3, use git pull RHH expansion/1.8.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.

Please consider crediting the entire list of contributors in your project, as they have all worked hard to develop this project :)

There's a bug in the project. How do I let you guys know?

Please submit any issues with the project here. Make sure that the issue wasn't reported by someone else by searching using the filters.

Can I contribute even if I'm not a member of ROM Hacking Hideout?

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.

Who maintains the project?

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.

What is the ROM Hacking Hideout?

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!

Click here to join the RHH Discord Server!

About

Feature branches for the pokeemerald decompilation. See the wiki for more info.

Resources

Stars

Watchers

Forks

Languages

  • C 80.8%
  • Assembly 16.6%
  • C++ 2.4%
  • Makefile 0.2%
  • Python 0.0%
  • PowerShell 0.0%