Table of Contents
https://github.com/pret/pokeemerald/assets/108838662/5bf533dd-e739-4433-a8d9-c24b42dbd03a
Setup
To apply these changes you have two options, either pull the branch from the TeamAqua fork of pokeemerald (instructions below), or copy in the changes by hand Here is the diff
This branch should be Expansion compatible.
Usage
Just create a script and use callnative to call the UI, make sure to waitstate afterwards. Like this:
YourEventScript::
.... the beginning of your script
callnative StartNewPokeballCaseUI
waitstate
.... the rest of your script
Create Changes to the Mons That Are Available Inside src/ui_birch_case.c
as seen below
struct MonChoiceData{ // This is the format used to define a mon, everything left out will default to 0 and be blank or use the in game defaults
u16 species; // Mon Species ID
u8 level; // Mon Level 5
u16 item; // Held item, just ITEM_POTION
u8 ball; // this ballid does not change the design of the ball in the case, only in summary/throwing out to battle
u8 nature; // NATURE_JOLLY, NATURE_ETC...
u8 abilityNum; // this is either 0/1 in vanilla or 0/1/2 in Expansion, its the ability num your mon uses from its possible abilities, not the ability constant itself
u8 gender; // MON_MALE, MON_FEMALE, MON_GENDERLESS
u8 evs[6]; // use format {255, 255, 0, 0, 0, 0}
u8 ivs[6]; // use format {31, 31, 31, 31, 31, 31}
u16 moves[4]; // use format {MOVE_FIRE_BLAST, MOVE_SHEER_COLD, MOVE_NONE, MOVE_NONE}
bool8 ggMaxFactor; // only work in Expansion set to 0 otherwise or leave blank
u8 teraType; // only work in Expansion set to 0 otherwise or leave blank
bool8 isShinyExpansion; // only work in Expansion set to 0 otherwise or leave blank
};
//
// Making Changes Here Changes The Options In The UI. This is where you define your mons
//
static const struct MonChoiceData sStarterChoices[9] =
{
[BALL_TOP_FIRST] = {SPECIES_MUDKIP, 5, ITEM_POTION, BALL_NET, NATURE_JOLLY, 1, MON_MALE, {255, 255, 0, 0, 0, 0}, {31, 31, 31, 31, 31, 31}, {MOVE_FIRE_BLAST, MOVE_SHEER_COLD, MOVE_WATER_GUN, MOVE_THUNDER}, 0, 0, 0},
[BALL_TOP_SECOND] = {SPECIES_TREECKO, 5},
[BALL_MIDDLE_FIRST] = {SPECIES_TORCHIC, 5},
[BALL_TOP_THIRD] = {SPECIES_CHIKORITA, 5},
[BALL_TOP_FOURTH] = {SPECIES_NONE, 5},
[BALL_MIDDLE_THIRD] = {SPECIES_CYNDAQUIL, 5},
[BALL_MIDDLE_SECOND] = {SPECIES_BULBASAUR, 5},
[BALL_BOTTOM_FIRST] = {SPECIES_CHARMANDER, 5},
[BALL_BOTTOM_SECOND] = {SPECIES_NONE, 5},
};
How do I pull a feature branch?
You use git remote add and git pull commands to pull in a feature branch. That is,
git remote add team_aqua https://github.com/TeamAquasHideout/pokeemerald
git pull team_aqua birch_case
(instructions from Pawkkie)
Credits
Code by Archie
Graphics by Mudskip
Custom Givemon Code By Ghoulslash and Lunos taken from the RHH Expansion
UI Shell Code by ghoulslash
Knowledge Download from Grunt Lucas
Contact
If you have questions or problems with the branch join the TAH Discord and ping me in the #romhacking-help channel for help: https://discord.gg/hX3a63RYzZ