Skip to content

New Birch's Briefcase With Fully Custom Starters by Archie and Mudskip

Team Aqua's Hideout edited this page Mar 26, 2024 · 10 revisions
birch_case_ui.mov

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

andfromscript

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},
};

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

Clone this wiki locally