-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Evolution Based On Caught Pokeball
judicornadamsfoster edited this page Sep 27, 2026
·
1 revision
Want to evolve a Pokemon into different mons based on what Pokeball its caught in?
Now you can.
Poke ball

Great ball

Ultra ball

Premier ball

Luxury ball

add this line to the evolution sectiion (increase the number by 1 from the last entry, 16 used for this example)
#define EVO_POKEBALL 16 // catch with a specific pokeball and level up
in section u16 GetEvolutionTargetSpecies
add to EVO_NORMAL section:
case EVO_POKEBALL:
if (GetMonData(mon, MON_DATA_POKEBALL, NULL)
== gEvolutionTable[species][i].param)
targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
add the evolution method to a Pokemon and choose a specific pokeball from the valid balls in your hack
(Eevee and Poke/Great/Ultra/Premier/Luxury balls chosen for this example)
[SPECIES_EEVEE] = {{EVO_POKEBALL, ITEM_POKE_BALL, SPECIES_JOLTEON},
{EVO_POKEBALL, ITEM_GREAT_BALL, SPECIES_VAPOREON},
{EVO_POKEBALL, ITEM_ULTRA_BALL, SPECIES_FLAREON},
{EVO_POKEBALL, ITEM_PREMIER_BALL, SPECIES_ESPEON},
{EVO_POKEBALL, ITEM_LUXURY_BALL, SPECIES_UMBREON}},