Skip to content

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

Notifications You must be signed in to change notification settings

hedara90/pokeemerald-expansion

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pokeemerald-expansion

pokeemerald-expansion is a romhack base based off pret's pokeemerald decompilation project. It is NOT a playable romhack, but it has multiple features available to romhackers so that they can create their own games, so it's not meant to be played on its own.

Should I use this or vanilla pokeemerald for my hack?

The main advantage of using vanilla pokeemerald as a base is being able to link with other official GBA Pokémon games for battles and trading, pokeemerald-expansion can battle and trade with itself out of the box. If you don't mind losing full vanilla compatiblitity, we recommend using pokeemerald-expansion. Otherwise, use pret's pokeemerald. You'll still receive documentation improvements from pret, as we regurlarly incorporate pret's documentation changes.

Using pokeemerald-expansion

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.10.1 https://github.com/rh-hideout/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.

Please follow the instructions in INSTALL.md to get pokeemerald-expansion set up on your machine.

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 yet been released into the next patch version :)

Documentation

Please click here to visit our documentation page.

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.
  • 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. Check the online documentation site to see the latest versions of each step.)
  • 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, use git 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.

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

Who maintains the project?

The project was originally started by DizzyEgg alongside other contributors. Now it is maintained by a team in the ROM Hacking Hideout's community called the "Expansion Senate". ROM Hacking Hideout (RHH for short) is a Discord-based ROM hacking community specialized in Pokémon romhacks. A lot of the discussion in regards of the development of the project happens there.

Click here to join the RHH Discord Server!

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

Please submit any issues with the project here and make sure that the issue wasn't reported by someone else by searching using the filters. You may also join the Discord server to try getting more in-depth support from the team and other members of the server.

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 in due time. Also, please follow the Pull Request template and feel free to discuss how the reviews are being handled. Communication is key! Don't feel discouraged if we take a bit to review your PR, we'll get to it.

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+
  • 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.
  • 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 and our issues page to see which ones.

About

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

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 81.8%
  • Assembly 15.5%
  • C++ 2.2%
  • Makefile 0.4%
  • Python 0.1%
  • PowerShell 0.0%