hexorb - PokemonSanFran/pokeemerald GitHub Wiki
Introduction
https://github.com/user-attachments/assets/e2970589-730e-4b2d-95a3-bf99d9bbe84d
This branch allows developers to use the Hexorb item in their decomp projects. This implementation was inspired by the Pokémon Center Clerk found in Pokémon Run and Bun. This item allows the player to give the Pokémon in their party a status condition.
Installation
These instructions assume that you can build pokeemerald-expansion, have a basic understanding of C, and are familiar with using the in-game scripting language. If you do not, please watch the tutorials series from Team Aqua's Hideout.
git merge (recommended)
From the root directory of your project, run the following commands in your terminal program of choice:
git remote add psf-expansion https://github.com/PokemonSanFran/pokeemerald-expansion/ # This adds our team's pokeemerald-expansion branch as a remote repo.
git pull psf-expansion hexorb # This pulls in the pokevial feature branch
Manual merge
If your project is:
- Too far behind
pokeemerald-expansion
- Using a different base (
pokeemerald
orpokefirered
) - Some other reason that I can't think of
You can manually implement the features using the diff between this branch and vanilla pokeemerald-expansion as a guide. You will need to manually edit or create each of these files in your project to properly recreate the feature.
Usage
This branch adds ITEM_HEXORB
as an item. It is stored in POCKET_KEY_ITEMS
, and can be used by the player outside of battle. Hexorb cannot be used during battle.
Registered Key Item
https://github.com/user-attachments/assets/328650ee-5275-459b-8c13-52d2afb4d158
Players can set the Hexorb as a registered Key Item and use it from the field. Upon completion, they will return to the field.
Set Status
When the player uses the Hexorb, they are prompted to select a Pokémon. If a valid Pokémon has been selected, the player will then select a status condition. If the chosen status is valid, that Pokémon will be given that status, and the party menu will close.
Failure
Eggs
If the player selects an Egg, nothing happens.
Fainted
https://github.com/user-attachments/assets/a975fc13-a826-47bc-91ed-1ae0b8661e11
If the player selects a fainted Pokémon, they are informed that the Hexorb will have no effect, and prompted to select another Pokémon.
HEXORB_BLOCK_STATUS
Developers can change this define in include/hexorb.h
. HEXORB_BLOCK_STATUS
is FALSE
by default.
https://github.com/user-attachments/assets/2409ae39-3465-4960-87bf-35c6e671e2da
When it is FALSE
, if the selected Pokémon already has a non-volatile status condition, the Hexorb will overwrite the Pokémon existing status condition.
https://github.com/user-attachments/assets/f948a2c5-5017-4429-ac14-86b418c96021
When it is TRUE
, if the selected Pokémon already has a non-volatile status condition, the Hexorb cannot give a status condition to that Pokémon. If the player tries, they will be informed of the failure and prompted to choose another Pokémon.
Ability
https://github.com/user-attachments/assets/3d584e0c-367a-4bd1-aebf-edb04f185a6b
If the player selects a Pokémon with an Ability that can prevent a specific status condition and a status condition that is blocked by that Ability the player is informed of the failure and prompted to choose another status condition.
Type
https://github.com/user-attachments/assets/338bab57-e894-4180-86e5-ac5ddca6a8ee
If the player selects a Pokémon with a type that can prevent a specific status condition and a status condition that is blocked by one of the type's of that Pokémon, the player is informed of the failure and prompted to choose another status condition.
Frostbite
https://github.com/user-attachments/assets/a9b73caa-1070-4d13-bdc3-f9a6108d8c1c
If B_USE_FROSTBITE
is TRUE
, all instances of Freeze and replaced by Frostbite.
Known Issues
Happily taking pull requests to fix these!
- When the Hexorb is used on a Pokémon that does not have a status condition, after the cry plays, the bottom of that Pokémon's HP box has an extra line of pixels, which is leftover from the Pokémon's level previously being displayed.
- The Hexorb does not work during battle. This is by design, but I would take a pull request that added this functionality via a config.
Support
Frequently Asked Questions (FAQ)
pokeemerald
?
Why doesn't this cleanly merge with This feature is only for pokeemerald-expansion. I will happily credit and link to somebody that ports this work to pokeemerald
, but I have no interest in doing so.
Other Questions
If you have read all of the documentation here and still have questions, please ask a good question in the #decomps channel of the RHH Discord server. Please tag pkmnsnfrn
and we will try to help if we can.
Donations
If you got some use out of this feature, please consider donating. We are currently not taking any donations, so please donate to some of our favorite charities.
- Centre for Effective Altruism USA Inc.
- Doctors Without Borders, USA
- The Climate Reality Project
- First Nations Development Institute
Contributors
n/a
CHANGELOG
All changes to this project will be documented in this section. The format is based on Keep a Changelog, and this project tries to adhere to Semantic Versioning.
Unreleased
n/a
[1.0.0] - 2024-11-29
Added
- First release