Added missing cross-gen evolutions (#3547)
* Added missing cross-gen evolutions * Added forms for evos * Converted some EVO_NONEs into EVO_MOVE * Moved Ursaring's evolution up * Added evolution methods for Dudunsparce and Maushold
This commit is contained in:
parent
e79583be63
commit
33815079ae
@ -288,6 +288,10 @@
|
||||
#define EVO_ITEM_DAY 40 // specified item is used on Pokémon, is day
|
||||
#define EVO_ITEM_HOLD 41 // Pokémon levels up, holds specified item
|
||||
#define EVO_LEVEL_FOG 42 // Pokémon reaches the specified level during fog in the overworld
|
||||
#define EVO_MOVE_TWO_SEGMENT 43 // Pokémon levels up, knows specified move, has a personality value with a modulus of 0
|
||||
#define EVO_MOVE_THREE_SEGMENT 44 // Pokémon levels up, knows specified move, has a personality value with a modulus of 1-9
|
||||
#define EVO_LEVEL_FAMILY_OF_THREE 45 // Pokémon reaches the specified level with a personality value with a modulus of 0
|
||||
#define EVO_LEVEL_FAMILY_OF_FOUR 46 // Pokémon reaches the specified level with a personality value with a modulus of 1-9
|
||||
|
||||
#define EVOS_PER_MON 11
|
||||
|
||||
|
||||
@ -36,6 +36,9 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
|
||||
[SPECIES_MEOWTH] = {{EVO_LEVEL, 28, SPECIES_PERSIAN}},
|
||||
[SPECIES_PSYDUCK] = {{EVO_LEVEL, 33, SPECIES_GOLDUCK}},
|
||||
[SPECIES_MANKEY] = {{EVO_LEVEL, 28, SPECIES_PRIMEAPE}},
|
||||
#if P_GEN_9_POKEMON == TRUE
|
||||
[SPECIES_PRIMEAPE] = {{EVO_MOVE, MOVE_RAGE_FIST, SPECIES_ANNIHILAPE}},
|
||||
#endif
|
||||
[SPECIES_GROWLITHE] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_ARCANINE}},
|
||||
[SPECIES_GROWLITHE_HISUIAN] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_ARCANINE_HISUIAN}},
|
||||
[SPECIES_POLIWAG] = {{EVO_LEVEL, 25, SPECIES_POLIWHIRL}},
|
||||
@ -167,8 +170,15 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
|
||||
#if P_GEN_4_POKEMON == TRUE
|
||||
[SPECIES_MURKROW] = {{EVO_ITEM, ITEM_DUSK_STONE, SPECIES_HONCHKROW}},
|
||||
[SPECIES_MISDREAVUS] = {{EVO_ITEM, ITEM_DUSK_STONE, SPECIES_MISMAGIUS}},
|
||||
#endif
|
||||
#if P_GEN_9_POKEMON == TRUE
|
||||
[SPECIES_GIRAFARIG] = {{EVO_MOVE, MOVE_TWIN_BEAM, SPECIES_FARIGIRAF}},
|
||||
#endif
|
||||
[SPECIES_PINECO] = {{EVO_LEVEL, 31, SPECIES_FORRETRESS}},
|
||||
#if P_GEN_9_POKEMON == TRUE
|
||||
[SPECIES_DUNSPARCE] = {{EVO_MOVE_TWO_SEGMENT, MOVE_HYPER_DRILL, SPECIES_DUDUNSPARCE_TWO_SEGMENT},
|
||||
{EVO_MOVE_THREE_SEGMENT, MOVE_HYPER_DRILL, SPECIES_DUDUNSPARCE_THREE_SEGMENT}},
|
||||
#endif
|
||||
#if P_GEN_4_POKEMON == TRUE
|
||||
[SPECIES_GLIGAR] = {{EVO_ITEM_HOLD_NIGHT, ITEM_RAZOR_FANG, SPECIES_GLISCOR},
|
||||
{EVO_ITEM_NIGHT, ITEM_RAZOR_FANG, SPECIES_GLISCOR}},
|
||||
@ -179,6 +189,9 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
|
||||
{EVO_ITEM_NIGHT, ITEM_RAZOR_CLAW, SPECIES_WEAVILE}},
|
||||
#endif
|
||||
[SPECIES_TEDDIURSA] = {{EVO_LEVEL, 30, SPECIES_URSARING}},
|
||||
#if P_GEN_8_POKEMON == TRUE
|
||||
[SPECIES_URSARING] = {{EVO_ITEM_NIGHT, ITEM_PEAT_BLOCK, SPECIES_URSALUNA}},
|
||||
#endif
|
||||
[SPECIES_SLUGMA] = {{EVO_LEVEL, 38, SPECIES_MAGCARGO}},
|
||||
[SPECIES_SWINUB] = {{EVO_LEVEL, 33, SPECIES_PILOSWINE}},
|
||||
#if P_GEN_4_POKEMON == TRUE
|
||||
@ -190,6 +203,9 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
|
||||
#if P_GEN_4_POKEMON == TRUE
|
||||
[SPECIES_PORYGON2] = {{EVO_TRADE_ITEM, ITEM_DUBIOUS_DISC, SPECIES_PORYGON_Z},
|
||||
{EVO_ITEM, ITEM_DUBIOUS_DISC, SPECIES_PORYGON_Z}},
|
||||
#endif
|
||||
#if P_GEN_9_POKEMON == TRUE
|
||||
[SPECIES_STANTLER] = {{EVO_MOVE, MOVE_PSYSHIELD_BASH, SPECIES_WYRDEER}},
|
||||
#endif
|
||||
[SPECIES_TYROGUE] = {{EVO_LEVEL_ATK_LT_DEF, 20, SPECIES_HITMONCHAN},
|
||||
{EVO_LEVEL_ATK_GT_DEF, 20, SPECIES_HITMONLEE},
|
||||
@ -363,6 +379,10 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
|
||||
[SPECIES_COTTONEE] = {{EVO_ITEM, ITEM_SUN_STONE, SPECIES_WHIMSICOTT}},
|
||||
[SPECIES_PETILIL] = {{EVO_ITEM, ITEM_SUN_STONE, SPECIES_LILLIGANT},
|
||||
{EVO_NONE, 0, SPECIES_LILLIGANT_HISUIAN}},
|
||||
#if P_GEN_9_POKEMON == TRUE
|
||||
[SPECIES_BASCULIN_WHITE_STRIPED] = {{EVO_NONE, 0, SPECIES_BASCULEGION_MALE},
|
||||
{EVO_NONE, 0, SPECIES_BASCULEGION_FEMALE}},
|
||||
#endif
|
||||
[SPECIES_SANDILE] = {{EVO_LEVEL, 29, SPECIES_KROKOROK}},
|
||||
[SPECIES_KROKOROK] = {{EVO_LEVEL, 40, SPECIES_KROOKODILE}},
|
||||
[SPECIES_DARUMAKA] = {{EVO_LEVEL, 35, SPECIES_DARMANITAN_STANDARD_MODE}},
|
||||
@ -402,6 +422,9 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
|
||||
[SPECIES_MIENFOO] = {{EVO_LEVEL, 50, SPECIES_MIENSHAO}},
|
||||
[SPECIES_GOLETT] = {{EVO_LEVEL, 43, SPECIES_GOLURK}},
|
||||
[SPECIES_PAWNIARD] = {{EVO_LEVEL, 52, SPECIES_BISHARP}},
|
||||
#if P_GEN_9_POKEMON == TRUE
|
||||
[SPECIES_BISHARP] = {{EVO_NONE, 0, SPECIES_KINGAMBIT}},
|
||||
#endif
|
||||
[SPECIES_RUFFLET] = {{EVO_LEVEL, 54, SPECIES_BRAVIARY},
|
||||
{EVO_NONE, 0, SPECIES_BRAVIARY_HISUIAN}},
|
||||
[SPECIES_VULLABY] = {{EVO_LEVEL, 54, SPECIES_MANDIBUZZ}},
|
||||
@ -557,8 +580,8 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
|
||||
[SPECIES_NYMBLE] = {{EVO_LEVEL, 24, SPECIES_LOKIX}},
|
||||
[SPECIES_PAWMI] = {{EVO_LEVEL, 18, SPECIES_PAWMO}},
|
||||
[SPECIES_PAWMO] = {{EVO_NONE, 0, SPECIES_PAWMOT}},
|
||||
[SPECIES_TANDEMAUS] = {{EVO_NONE, 0, SPECIES_MAUSHOLD_FAMILY_OF_FOUR},
|
||||
{EVO_NONE, 0, SPECIES_MAUSHOLD_FAMILY_OF_THREE}},
|
||||
[SPECIES_TANDEMAUS] = {{EVO_LEVEL_FAMILY_OF_FOUR, 25, SPECIES_MAUSHOLD_FAMILY_OF_FOUR},
|
||||
{EVO_LEVEL_FAMILY_OF_THREE, 25, SPECIES_MAUSHOLD_FAMILY_OF_THREE}},
|
||||
[SPECIES_FIDOUGH] = {{EVO_LEVEL, 26, SPECIES_DACHSBUN}},
|
||||
[SPECIES_SMOLIV] = {{EVO_LEVEL, 25, SPECIES_DOLLIV}},
|
||||
[SPECIES_DOLLIV] = {{EVO_LEVEL, 35, SPECIES_ARBOLIVA}},
|
||||
@ -594,7 +617,7 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
|
||||
[SPECIES_SANDSHREW_ALOLAN] = {{EVO_ITEM, ITEM_ICE_STONE, SPECIES_SANDSLASH_ALOLAN}},
|
||||
[SPECIES_VULPIX_ALOLAN] = {{EVO_ITEM, ITEM_ICE_STONE, SPECIES_NINETALES_ALOLAN}},
|
||||
[SPECIES_DIGLETT_ALOLAN] = {{EVO_LEVEL, 26, SPECIES_DUGTRIO_ALOLAN}},
|
||||
[SPECIES_MEOWTH_ALOLAN] = {{EVO_FRIENDSHIP, 28, SPECIES_PERSIAN_ALOLAN}},
|
||||
[SPECIES_MEOWTH_ALOLAN] = {{EVO_FRIENDSHIP, 0, SPECIES_PERSIAN_ALOLAN}},
|
||||
[SPECIES_GEODUDE_ALOLAN] = {{EVO_LEVEL, 25, SPECIES_GRAVELER_ALOLAN}},
|
||||
[SPECIES_GRAVELER_ALOLAN] = {{EVO_TRADE, 0, SPECIES_GOLEM_ALOLAN},
|
||||
{EVO_ITEM, ITEM_LINKING_CORD, SPECIES_GOLEM_ALOLAN}},
|
||||
@ -650,7 +673,6 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
|
||||
#endif
|
||||
#if P_GEN_8_POKEMON == TRUE
|
||||
[SPECIES_SINISTEA_ANTIQUE] = {{EVO_ITEM, ITEM_CHIPPED_POT, SPECIES_POLTEAGEIST_ANTIQUE}},
|
||||
[SPECIES_URSARING] = {{EVO_ITEM_NIGHT, ITEM_PEAT_BLOCK, SPECIES_URSALUNA}},
|
||||
[SPECIES_QWILFISH_HISUIAN] = {{EVO_MOVE, MOVE_BARB_BARRAGE, SPECIES_OVERQWIL}},
|
||||
[SPECIES_SNEASEL_HISUIAN] = {{EVO_ITEM_DAY, ITEM_RAZOR_CLAW, SPECIES_SNEASLER},
|
||||
{EVO_ITEM_HOLD_DAY, ITEM_RAZOR_CLAW, SPECIES_SNEASLER}},
|
||||
|
||||
@ -7134,6 +7134,14 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, s
|
||||
if (gEvolutionTable[species][i].param <= level)
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
break;
|
||||
case EVO_LEVEL_FAMILY_OF_FOUR:
|
||||
if (gEvolutionTable[species][i].param <= level && (personality % 100) != 0)
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
break;
|
||||
case EVO_LEVEL_FAMILY_OF_THREE:
|
||||
if (gEvolutionTable[species][i].param <= level && (personality % 100) == 0)
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
break;
|
||||
case EVO_BEAUTY:
|
||||
if (gEvolutionTable[species][i].param <= beauty)
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
@ -7142,6 +7150,14 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, s
|
||||
if (MonKnowsMove(mon, gEvolutionTable[species][i].param))
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
break;
|
||||
case EVO_MOVE_TWO_SEGMENT:
|
||||
if (MonKnowsMove(mon, gEvolutionTable[species][i].param) && (personality % 100) != 0)
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
break;
|
||||
case EVO_MOVE_THREE_SEGMENT:
|
||||
if (MonKnowsMove(mon, gEvolutionTable[species][i].param) && (personality % 100) == 0)
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
break;
|
||||
case EVO_FRIENDSHIP_MOVE_TYPE:
|
||||
if (friendship >= FRIENDSHIP_EVO_THRESHOLD)
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user