Merge remote-tracking branch 'RHH/pokemon_expansion' into RHH_masterMerge
# Conflicts: # asm/macros/event.inc # data/specials.inc # include/constants/species.h # src/data/pokemon/base_stats.h
@ -2006,3 +2006,15 @@
|
||||
.macro totemboost_evas2 battler:req
|
||||
settotemboost \battler, 0, 0, 0, 0, 0, 0, 2
|
||||
.endm
|
||||
|
||||
@ Attempts to trigger a special evolution method in the overworld.
|
||||
@ There may be other conditions required which are coded for in GetEvolutionTargetSpecies.
|
||||
@ EX: tryspecialevo EVO_WATER_SCROLL, FALSE, FALSE triggers Kubfu's EVO_WATER_SCROLL evolution
|
||||
@ method, cannot be cancelled in the evolution scene, and will only evolve one Kubfu if there
|
||||
@ are multiple in the player's party.
|
||||
.macro tryspecialevo evoMethod:req, canStopEvo=TRUE, tryMultiple=TRUE
|
||||
setvar VAR_0x8000, \evoMethod
|
||||
setvar VAR_0x8001, \canStopEvo
|
||||
setvar VAR_0x8002, \tryMultiple
|
||||
special TrySpecialOverworldEvo
|
||||
.endm
|
||||
|
@ -536,3 +536,4 @@ gSpecials::
|
||||
def_special CloseDeptStoreElevatorWindow
|
||||
def_special TrySetBattleTowerLinkType
|
||||
def_special SetTotemBoost
|
||||
def_special TrySpecialOverworldEvo
|
||||
|
BIN
graphics/pokemon/calyrex/ice_rider/icon.png
Normal file
After Width: | Height: | Size: 600 B |
BIN
graphics/pokemon/calyrex/shadow_rider/icon.png
Normal file
After Width: | Height: | Size: 534 B |
Before Width: | Height: | Size: 382 B After Width: | Height: | Size: 382 B |
Before Width: | Height: | Size: 373 B After Width: | Height: | Size: 373 B |
Before Width: | Height: | Size: 382 B After Width: | Height: | Size: 382 B |
Before Width: | Height: | Size: 862 B |
Before Width: | Height: | Size: 544 B After Width: | Height: | Size: 544 B |
Before Width: | Height: | Size: 600 B After Width: | Height: | Size: 600 B |
BIN
graphics/pokemon/cherrim/normal/front.png
Normal file
After Width: | Height: | Size: 544 B |
BIN
graphics/pokemon/cherrim/sunshine/anim_front.png
Normal file
After Width: | Height: | Size: 608 B |
@ -25,7 +25,59 @@ STARTERGFXDIR := graphics/starter_choose
|
||||
types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark fairy
|
||||
contest_types := cool beauty cute smart tough
|
||||
|
||||
### Cherrim ###
|
||||
|
||||
$(CHERRIMGFXDIR)/front.4bpp: $(CHERRIMGFXDIR)/normal/front.4bpp \
|
||||
$(CHERRIMGFXDIR)/sunshine/front.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(CHERRIMGFXDIR)/back.4bpp: $(CHERRIMGFXDIR)/normal/back.4bpp \
|
||||
$(CHERRIMGFXDIR)/sunshine/back.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(CHERRIMGFXDIR)/anim_front.4bpp: $(CHERRIMGFXDIR)/normal/anim_front.4bpp \
|
||||
$(CHERRIMGFXDIR)/sunshine/anim_front.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(CHERRIMGFXDIR)/normal.gbapal: $(CHERRIMGFXDIR)/normal/normal.gbapal \
|
||||
$(CHERRIMGFXDIR)/sunshine/normal.gbapal
|
||||
@cat $^ >$@
|
||||
|
||||
$(CHERRIMGFXDIR)/shiny.gbapal: $(CHERRIMGFXDIR)/normal/shiny.gbapal \
|
||||
$(CHERRIMGFXDIR)/sunshine/shiny.gbapal
|
||||
@cat $^ >$@
|
||||
|
||||
### Castform ###
|
||||
|
||||
$(CASTFORMGFXDIR)/front.4bpp: $(CASTFORMGFXDIR)/normal/front.4bpp \
|
||||
$(CASTFORMGFXDIR)/sunny/front.4bpp \
|
||||
$(CASTFORMGFXDIR)/rainy/front.4bpp \
|
||||
$(CASTFORMGFXDIR)/snowy/front.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(CASTFORMGFXDIR)/back.4bpp: $(CASTFORMGFXDIR)/normal/back.4bpp \
|
||||
$(CASTFORMGFXDIR)/sunny/back.4bpp \
|
||||
$(CASTFORMGFXDIR)/rainy/back.4bpp \
|
||||
$(CASTFORMGFXDIR)/snowy/back.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(CASTFORMGFXDIR)/anim_front.4bpp: $(CASTFORMGFXDIR)/normal/anim_front.4bpp \
|
||||
$(CASTFORMGFXDIR)/sunny/anim_front.4bpp \
|
||||
$(CASTFORMGFXDIR)/rainy/anim_front.4bpp \
|
||||
$(CASTFORMGFXDIR)/snowy/anim_front.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(CASTFORMGFXDIR)/normal.gbapal: $(CASTFORMGFXDIR)/normal/normal.gbapal \
|
||||
$(CASTFORMGFXDIR)/sunny/normal.gbapal \
|
||||
$(CASTFORMGFXDIR)/rainy/normal.gbapal \
|
||||
$(CASTFORMGFXDIR)/snowy/normal.gbapal
|
||||
@cat $^ >$@
|
||||
|
||||
$(CASTFORMGFXDIR)/shiny.gbapal: $(CASTFORMGFXDIR)/normal/shiny.gbapal \
|
||||
$(CASTFORMGFXDIR)/sunny/shiny.gbapal \
|
||||
$(CASTFORMGFXDIR)/rainy/shiny.gbapal \
|
||||
$(CASTFORMGFXDIR)/snowy/shiny.gbapal
|
||||
@cat $^ >$@
|
||||
|
||||
### Tilesets ###
|
||||
|
||||
|
@ -424,4 +424,14 @@
|
||||
#define NUM_NORMAL_ABILITY_SLOTS 2
|
||||
#define NUM_HIDDEN_ABILITY_SLOTS 1
|
||||
|
||||
// Species Flags
|
||||
#define FLAG_LEGENDARY (1 << 0)
|
||||
#define FLAG_MYTHICAL (1 << 1)
|
||||
#define FLAG_ULTRA_BEAST (1 << 2)
|
||||
#define FLAG_ALOLAN_FORM (1 << 3)
|
||||
#define FLAG_GALARIAN_FORM (1 << 4)
|
||||
#define FLAG_GENDER_DIFFERENCE (1 << 5)
|
||||
|
||||
#define LEGENDARY_PERFECT_IV_COUNT 3
|
||||
|
||||
#endif // GUARD_CONSTANTS_POKEMON_H
|
||||
|
@ -12,11 +12,14 @@
|
||||
#define GEN_8 5
|
||||
#endif
|
||||
|
||||
#define P_UPDATED_TYPES GEN_8 // In Gen6+, several Pokémon were changed to be partially or fully Fairy type.
|
||||
#define P_UPDATED_TYPES GEN_8 // Since Gen 6, several Pokémon were changed to be partially or fully Fairy type.
|
||||
#define P_UPDATED_STATS GEN_8 // Since Gen 6, Pokémon stats are updated with each passing generation.
|
||||
#define P_UPDATED_ABILITIES GEN_8 // Since Gen 6, certain Pokémon have their abilities changed. Requires BATTLE_ENGINE for Gen4+ abilities.
|
||||
#define P_UPDATED_EGG_GROUPS GEN_8 // Since Gen 8, certain Pokémon have gained new egg groups.
|
||||
#define P_SHEDINJA_BALL GEN_8 // Since Gen 4, Shedinja requires a Poké Ball for its evolution. In Gen 3, Shedinja inherits Nincada's Ball.
|
||||
#define P_LEGENDARY_PERFECT_IVS GEN_8 // Since Gen 6, Legendaries, Mythicals and Ultra Beasts found in the wild or given through gifts have at least 3 perfect IVs.
|
||||
#define P_KADABRA_EVERSTONE GEN_8 // Since Gen 4, Kadabra can evolve even when holding an Everstone.
|
||||
#define P_NIDORAN_M_DITTO_BREED GEN_8 // Since Gen 5, when Nidoran♂ breeds with Ditto it can produce Nidoran♀ offspring. Before, it would only yield male offspring. This change also applies to Volbeat.
|
||||
|
||||
#define P_ENABLE_DEBUG TRUE // Enables a debug menu for pokemon sprites and icons, accessed by pressing SELECT in the summary screen.
|
||||
|
||||
@ -159,17 +162,214 @@
|
||||
|
||||
//FORM_ITEM_USE
|
||||
#define ITEM_GRACIDEA 10125
|
||||
// #define ITEM_REVEAL_GLASS 10126
|
||||
// #define ITEM_PRISON_BOTTLE 10127
|
||||
#define ITEM_REVEAL_GLASS 10126
|
||||
#define ITEM_PRISON_BOTTLE 10127
|
||||
#define ITEM_RED_NECTAR 10128
|
||||
#define ITEM_YELLOW_NECTAR 10129
|
||||
#define ITEM_PINK_NECTAR 10130
|
||||
#define ITEM_PURPLE_NECTAR 10131
|
||||
|
||||
// Held Items
|
||||
#define ITEM_HONEY ITEM_NONE
|
||||
#endif // ITEM_EXPANSION
|
||||
|
||||
#ifndef BATTLE_ENGINE
|
||||
#define ABILITY_MULTITYPE ABILITY_NONE
|
||||
#define ABILITY_RKS_SYSTEM ABILITY_NONE
|
||||
// Gen 4
|
||||
#define ABILITY_TANGLED_FEET ABILITY_NONE
|
||||
#define ABILITY_MOTOR_DRIVE ABILITY_NONE
|
||||
#define ABILITY_RIVALRY ABILITY_NONE
|
||||
#define ABILITY_STEADFAST ABILITY_NONE
|
||||
#define ABILITY_SNOW_CLOAK ABILITY_NONE
|
||||
#define ABILITY_GLUTTONY ABILITY_NONE
|
||||
#define ABILITY_ANGER_POINT ABILITY_NONE
|
||||
#define ABILITY_UNBURDEN ABILITY_NONE
|
||||
#define ABILITY_HEATPROOF ABILITY_NONE
|
||||
#define ABILITY_SIMPLE ABILITY_NONE
|
||||
#define ABILITY_DRY_SKIN ABILITY_NONE
|
||||
#define ABILITY_DOWNLOAD ABILITY_NONE
|
||||
#define ABILITY_IRON_FIST ABILITY_NONE
|
||||
#define ABILITY_POISON_HEAL ABILITY_NONE
|
||||
#define ABILITY_ADAPTABILITY ABILITY_NONE
|
||||
#define ABILITY_SKILL_LINK ABILITY_NONE
|
||||
#define ABILITY_HYDRATION ABILITY_NONE
|
||||
#define ABILITY_SOLAR_POWER ABILITY_NONE
|
||||
#define ABILITY_QUICK_FEET ABILITY_NONE
|
||||
#define ABILITY_NORMALIZE ABILITY_NONE
|
||||
#define ABILITY_SNIPER ABILITY_NONE
|
||||
#define ABILITY_MAGIC_GUARD ABILITY_NONE
|
||||
#define ABILITY_NO_GUARD ABILITY_NONE
|
||||
#define ABILITY_STALL ABILITY_NONE
|
||||
#define ABILITY_TECHNICIAN ABILITY_NONE
|
||||
#define ABILITY_LEAF_GUARD ABILITY_NONE
|
||||
#define ABILITY_KLUTZ ABILITY_NONE
|
||||
#define ABILITY_MOLD_BREAKER ABILITY_NONE
|
||||
#define ABILITY_SUPER_LUCK ABILITY_NONE
|
||||
#define ABILITY_AFTERMATH ABILITY_NONE
|
||||
#define ABILITY_ANTICIPATION ABILITY_NONE
|
||||
#define ABILITY_FOREWARN ABILITY_NONE
|
||||
#define ABILITY_UNAWARE ABILITY_NONE
|
||||
#define ABILITY_TINTED_LENS ABILITY_NONE
|
||||
#define ABILITY_FILTER ABILITY_NONE
|
||||
#define ABILITY_SLOW_START ABILITY_NONE
|
||||
#define ABILITY_SCRAPPY ABILITY_NONE
|
||||
#define ABILITY_STORM_DRAIN ABILITY_NONE
|
||||
#define ABILITY_ICE_BODY ABILITY_NONE
|
||||
#define ABILITY_SOLID_ROCK ABILITY_NONE
|
||||
#define ABILITY_SNOW_WARNING ABILITY_NONE
|
||||
#define ABILITY_HONEY_GATHER ABILITY_NONE
|
||||
#define ABILITY_FRISK ABILITY_NONE
|
||||
#define ABILITY_RECKLESS ABILITY_NONE
|
||||
#define ABILITY_MULTITYPE ABILITY_NONE
|
||||
#define ABILITY_FLOWER_GIFT ABILITY_NONE
|
||||
#define ABILITY_BAD_DREAMS ABILITY_NONE
|
||||
// Gen 5
|
||||
#define ABILITY_PICKPOCKET ABILITY_NONE
|
||||
#define ABILITY_SHEER_FORCE ABILITY_NONE
|
||||
#define ABILITY_CONTRARY ABILITY_NONE
|
||||
#define ABILITY_UNNERVE ABILITY_NONE
|
||||
#define ABILITY_DEFIANT ABILITY_NONE
|
||||
#define ABILITY_DEFEATIST ABILITY_NONE
|
||||
#define ABILITY_CURSED_BODY ABILITY_NONE
|
||||
#define ABILITY_HEALER ABILITY_NONE
|
||||
#define ABILITY_FRIEND_GUARD ABILITY_NONE
|
||||
#define ABILITY_WEAK_ARMOR ABILITY_NONE
|
||||
#define ABILITY_HEAVY_METAL ABILITY_NONE
|
||||
#define ABILITY_LIGHT_METAL ABILITY_NONE
|
||||
#define ABILITY_MULTISCALE ABILITY_NONE
|
||||
#define ABILITY_TOXIC_BOOST ABILITY_NONE
|
||||
#define ABILITY_FLARE_BOOST ABILITY_NONE
|
||||
#define ABILITY_HARVEST ABILITY_NONE
|
||||
#define ABILITY_TELEPATHY ABILITY_NONE
|
||||
#define ABILITY_MOODY ABILITY_NONE
|
||||
#define ABILITY_OVERCOAT ABILITY_NONE
|
||||
#define ABILITY_POISON_TOUCH ABILITY_NONE
|
||||
#define ABILITY_REGENERATOR ABILITY_NONE
|
||||
#define ABILITY_BIG_PECKS ABILITY_NONE
|
||||
#define ABILITY_SAND_RUSH ABILITY_NONE
|
||||
#define ABILITY_WONDER_SKIN ABILITY_NONE
|
||||
#define ABILITY_ANALYTIC ABILITY_NONE
|
||||
#define ABILITY_ILLUSION ABILITY_NONE
|
||||
#define ABILITY_IMPOSTER ABILITY_NONE
|
||||
#define ABILITY_INFILTRATOR ABILITY_NONE
|
||||
#define ABILITY_MUMMY ABILITY_NONE
|
||||
#define ABILITY_MOXIE ABILITY_NONE
|
||||
#define ABILITY_JUSTIFIED ABILITY_NONE
|
||||
#define ABILITY_RATTLED ABILITY_NONE
|
||||
#define ABILITY_MAGIC_BOUNCE ABILITY_NONE
|
||||
#define ABILITY_SAP_SIPPER ABILITY_NONE
|
||||
#define ABILITY_PRANKSTER ABILITY_NONE
|
||||
#define ABILITY_SAND_FORCE ABILITY_NONE
|
||||
#define ABILITY_IRON_BARBS ABILITY_NONE
|
||||
#define ABILITY_ZEN_MODE ABILITY_NONE
|
||||
#define ABILITY_VICTORY_STAR ABILITY_NONE
|
||||
#define ABILITY_TURBOBLAZE ABILITY_NONE
|
||||
#define ABILITY_TERAVOLT ABILITY_NONE
|
||||
// Gen 6
|
||||
#define ABILITY_AROMA_VEIL ABILITY_NONE
|
||||
#define ABILITY_FLOWER_VEIL ABILITY_NONE
|
||||
#define ABILITY_CHEEK_POUCH ABILITY_NONE
|
||||
#define ABILITY_PROTEAN ABILITY_NONE
|
||||
#define ABILITY_FUR_COAT ABILITY_NONE
|
||||
#define ABILITY_MAGICIAN ABILITY_NONE
|
||||
#define ABILITY_BULLETPROOF ABILITY_NONE
|
||||
#define ABILITY_COMPETITIVE ABILITY_NONE
|
||||
#define ABILITY_STRONG_JAW ABILITY_NONE
|
||||
#define ABILITY_REFRIGERATE ABILITY_NONE
|
||||
#define ABILITY_SWEET_VEIL ABILITY_NONE
|
||||
#define ABILITY_STANCE_CHANGE ABILITY_NONE
|
||||
#define ABILITY_GALE_WINGS ABILITY_NONE
|
||||
#define ABILITY_MEGA_LAUNCHER ABILITY_NONE
|
||||
#define ABILITY_GRASS_PELT ABILITY_NONE
|
||||
#define ABILITY_SYMBIOSIS ABILITY_NONE
|
||||
#define ABILITY_TOUGH_CLAWS ABILITY_NONE
|
||||
#define ABILITY_PIXILATE ABILITY_NONE
|
||||
#define ABILITY_GOOEY ABILITY_NONE
|
||||
#define ABILITY_AERILATE ABILITY_NONE
|
||||
#define ABILITY_PARENTAL_BOND ABILITY_NONE
|
||||
#define ABILITY_DARK_AURA ABILITY_NONE
|
||||
#define ABILITY_FAIRY_AURA ABILITY_NONE
|
||||
#define ABILITY_AURA_BREAK ABILITY_NONE
|
||||
#define ABILITY_PRIMORDIAL_SEA ABILITY_NONE
|
||||
#define ABILITY_DESOLATE_LAND ABILITY_NONE
|
||||
#define ABILITY_DELTA_STREAM ABILITY_NONE
|
||||
// Gen 7
|
||||
#define ABILITY_STAMINA ABILITY_NONE
|
||||
#define ABILITY_WIMP_OUT ABILITY_NONE
|
||||
#define ABILITY_EMERGENCY_EXIT ABILITY_NONE
|
||||
#define ABILITY_WATER_COMPACTION ABILITY_NONE
|
||||
#define ABILITY_MERCILESS ABILITY_NONE
|
||||
#define ABILITY_SHIELDS_DOWN ABILITY_NONE
|
||||
#define ABILITY_STAKEOUT ABILITY_NONE
|
||||
#define ABILITY_WATER_BUBBLE ABILITY_NONE
|
||||
#define ABILITY_STEELWORKER ABILITY_NONE
|
||||
#define ABILITY_BERSERK ABILITY_NONE
|
||||
#define ABILITY_SLUSH_RUSH ABILITY_NONE
|
||||
#define ABILITY_LONG_REACH ABILITY_NONE
|
||||
#define ABILITY_LIQUID_VOICE ABILITY_NONE
|
||||
#define ABILITY_TRIAGE ABILITY_NONE
|
||||
#define ABILITY_GALVANIZE ABILITY_NONE
|
||||
#define ABILITY_SURGE_SURFER ABILITY_NONE
|
||||
#define ABILITY_SCHOOLING ABILITY_NONE
|
||||
#define ABILITY_DISGUISE ABILITY_NONE
|
||||
#define ABILITY_BATTLE_BOND ABILITY_NONE
|
||||
#define ABILITY_POWER_CONSTRUCT ABILITY_NONE
|
||||
#define ABILITY_CORROSION ABILITY_NONE
|
||||
#define ABILITY_COMATOSE ABILITY_NONE
|
||||
#define ABILITY_QUEENLY_MAJESTY ABILITY_NONE
|
||||
#define ABILITY_INNARDS_OUT ABILITY_NONE
|
||||
#define ABILITY_DANCER ABILITY_NONE
|
||||
#define ABILITY_BATTERY ABILITY_NONE
|
||||
#define ABILITY_FLUFFY ABILITY_NONE
|
||||
#define ABILITY_DAZZLING ABILITY_NONE
|
||||
#define ABILITY_SOUL_HEART ABILITY_NONE
|
||||
#define ABILITY_TANGLING_HAIR ABILITY_NONE
|
||||
#define ABILITY_RECEIVER ABILITY_NONE
|
||||
#define ABILITY_POWER_OF_ALCHEMY ABILITY_NONE
|
||||
#define ABILITY_BEAST_BOOST ABILITY_NONE
|
||||
#define ABILITY_RKS_SYSTEM ABILITY_NONE
|
||||
#define ABILITY_ELECTRIC_SURGE ABILITY_NONE
|
||||
#define ABILITY_PSYCHIC_SURGE ABILITY_NONE
|
||||
#define ABILITY_MISTY_SURGE ABILITY_NONE
|
||||
#define ABILITY_GRASSY_SURGE ABILITY_NONE
|
||||
#define ABILITY_FULL_METAL_BODY ABILITY_NONE
|
||||
#define ABILITY_SHADOW_SHIELD ABILITY_NONE
|
||||
#define ABILITY_PRISM_ARMOR ABILITY_NONE
|
||||
#define ABILITY_NEUROFORCE ABILITY_NONE
|
||||
// Gen 8
|
||||
#define ABILITY_INTREPID_SWORD ABILITY_NONE
|
||||
#define ABILITY_DAUNTLESS_SHIELD ABILITY_NONE
|
||||
#define ABILITY_LIBERO ABILITY_NONE
|
||||
#define ABILITY_BALL_FETCH ABILITY_NONE
|
||||
#define ABILITY_COTTON_DOWN ABILITY_NONE
|
||||
#define ABILITY_PROPELLER_TAIL ABILITY_NONE
|
||||
#define ABILITY_MIRROR_ARMOR ABILITY_NONE
|
||||
#define ABILITY_GULP_MISSILE ABILITY_NONE
|
||||
#define ABILITY_STALWART ABILITY_NONE
|
||||
#define ABILITY_STEAM_ENGINE ABILITY_NONE
|
||||
#define ABILITY_PUNK_ROCK ABILITY_NONE
|
||||
#define ABILITY_SAND_SPIT ABILITY_NONE
|
||||
#define ABILITY_ICE_SCALES ABILITY_NONE
|
||||
#define ABILITY_RIPEN ABILITY_NONE
|
||||
#define ABILITY_ICE_FACE ABILITY_NONE
|
||||
#define ABILITY_POWER_SPOT ABILITY_NONE
|
||||
#define ABILITY_MIMICRY ABILITY_NONE
|
||||
#define ABILITY_SCREEN_CLEANER ABILITY_NONE
|
||||
#define ABILITY_STEELY_SPIRIT ABILITY_NONE
|
||||
#define ABILITY_PERISH_BODY ABILITY_NONE
|
||||
#define ABILITY_WANDERING_SPIRIT ABILITY_NONE
|
||||
#define ABILITY_GORILLA_TACTICS ABILITY_NONE
|
||||
#define ABILITY_NEUTRALIZING_GAS ABILITY_NONE
|
||||
#define ABILITY_PASTEL_VEIL ABILITY_NONE
|
||||
#define ABILITY_HUNGER_SWITCH ABILITY_NONE
|
||||
#define ABILITY_QUICK_DRAW ABILITY_NONE
|
||||
#define ABILITY_UNSEEN_FIST ABILITY_NONE
|
||||
#define ABILITY_CURIOUS_MEDICINE ABILITY_NONE
|
||||
#define ABILITY_TRANSISTOR ABILITY_NONE
|
||||
#define ABILITY_DRAGONS_MAW ABILITY_NONE
|
||||
#define ABILITY_CHILLING_NEIGH ABILITY_NONE
|
||||
#define ABILITY_GRIM_NEIGH ABILITY_NONE
|
||||
#define ABILITY_AS_ONE_ICE_RIDER ABILITY_NONE
|
||||
#define ABILITY_AS_ONE_SHADOW_RIDER ABILITY_NONE
|
||||
#endif // BATTLE_ENGINE
|
||||
|
||||
#endif // GUARD_CONSTANTS_POKEMON_CONFIG_H
|
||||
|
@ -1344,12 +1344,4 @@
|
||||
#define SPECIES_EGG SPECIES_CALYREX_SHADOW_RIDER + 1
|
||||
#define NUM_SPECIES SPECIES_EGG
|
||||
|
||||
// Species Flags
|
||||
#define FLAG_LEGENDARY (1 << 0)
|
||||
#define FLAG_MYTHICAL (1 << 1)
|
||||
#define FLAG_ULTRA_BEAST (1 << 2)
|
||||
#define FLAG_ALOLAN_FORM (1 << 3)
|
||||
#define FLAG_GALARIAN_FORM (1 << 4)
|
||||
#define FLAG_GENDER_DIFFERENCE (1 << 5)
|
||||
|
||||
#endif // GUARD_CONSTANTS_SPECIES_H
|
||||
|
@ -5856,8 +5856,8 @@ extern const u8 gMonIcon_ZacianCrownedSword[];
|
||||
extern const u8 gMonIcon_ZamazentaCrownedShield[];
|
||||
extern const u8 gMonIcon_EternatusEternamax[];
|
||||
extern const u8 gMonIcon_ZarudeDada[];
|
||||
//extern const u8 gMonIcon_CalyrexIceRider[];
|
||||
//extern const u8 gMonIcon_CalyrexShadowRider[];
|
||||
extern const u8 gMonIcon_CalyrexIceRider[];
|
||||
extern const u8 gMonIcon_CalyrexShadowRider[];
|
||||
extern const u8 gMonIcon_Egg[];
|
||||
|
||||
extern const u8 gMonFootprint_QuestionMark[];
|
||||
|
@ -393,7 +393,7 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit);
|
||||
u8 *UseStatIncreaseItem(u16 itemId);
|
||||
u8 GetNature(struct Pokemon *mon);
|
||||
u8 GetNatureFromPersonality(u32 personality);
|
||||
u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem, u16 tradePartnerSpecies);
|
||||
u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem, struct Pokemon *tradePartner);
|
||||
u16 HoennPokedexNumToSpecies(u16 hoennNum);
|
||||
u16 NationalPokedexNumToSpecies(u16 nationalNum);
|
||||
u16 NationalToHoennOrder(u16 nationalNum);
|
||||
|
@ -5200,8 +5200,7 @@ static void TrySpecialEvolution(void) // Attempts to perform non-level related b
|
||||
#ifndef POKEMON_EXPANSION
|
||||
u16 species = GetEvolutionTargetSpecies(&gPlayerParty[i], EVO_MODE_BATTLE_SPECIAL, i);
|
||||
#else
|
||||
//Temp
|
||||
u16 species = GetEvolutionTargetSpecies(&gPlayerParty[i], EVO_MODE_BATTLE_SPECIAL, i, 0);
|
||||
u16 species = GetEvolutionTargetSpecies(&gPlayerParty[i], EVO_MODE_BATTLE_SPECIAL, i, NULL);
|
||||
#endif
|
||||
if (species != SPECIES_NONE && !(sTriedEvolving & gBitTable[i]))
|
||||
{
|
||||
@ -5232,7 +5231,7 @@ static void TryEvolvePokemon(void)
|
||||
levelUpBits &= ~(gBitTable[i]);
|
||||
gLeveledUpInBattle = levelUpBits;
|
||||
|
||||
species = GetEvolutionTargetSpecies(&gPlayerParty[i], EVO_MODE_NORMAL, levelUpBits, SPECIES_NONE);
|
||||
species = GetEvolutionTargetSpecies(&gPlayerParty[i], EVO_MODE_NORMAL, levelUpBits, NULL);
|
||||
if (species != SPECIES_NONE)
|
||||
{
|
||||
FreeAllWindowBuffers();
|
||||
|
@ -5788,8 +5788,8 @@ const u8 gMonIcon_ZacianCrownedSword[] = INCBIN_U8("graphics/pokemon/zacian/crow
|
||||
const u8 gMonIcon_ZamazentaCrownedShield[] = INCBIN_U8("graphics/pokemon/zamazenta/crowned_shield/icon.4bpp");
|
||||
const u8 gMonIcon_EternatusEternamax[] = INCBIN_U8("graphics/pokemon/eternatus/eternamax/icon.4bpp");
|
||||
const u8 gMonIcon_ZarudeDada[] = INCBIN_U8("graphics/pokemon/zarude/dada/icon.4bpp");
|
||||
//const u8 gMonIcon_CalyrexIceRider[] = INCBIN_U8("graphics/pokemon/calyrex/ice_rider/icon.4bpp");
|
||||
//const u8 gMonIcon_CalyrexShadowRider[] = INCBIN_U8("graphics/pokemon/calyrex/shadow_rider/icon.4bpp");
|
||||
const u8 gMonIcon_CalyrexIceRider[] = INCBIN_U8("graphics/pokemon/calyrex/ice_rider/icon.4bpp");
|
||||
const u8 gMonIcon_CalyrexShadowRider[] = INCBIN_U8("graphics/pokemon/calyrex/shadow_rider/icon.4bpp");
|
||||
const u8 gMonIcon_Egg[] = INCBIN_U8("graphics/pokemon/egg/icon.4bpp");
|
||||
|
||||
const u8 gMonFootprint_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mark/footprint.1bpp");
|
||||
|
@ -467,15 +467,15 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
|
||||
[SPECIES_YAMPER] = {{EVO_LEVEL, 25, SPECIES_BOLTUND}},
|
||||
[SPECIES_ROLYCOLY] = {{EVO_LEVEL, 18, SPECIES_CARKOL}},
|
||||
[SPECIES_CARKOL] = {{EVO_LEVEL, 34, SPECIES_COALOSSAL}},
|
||||
[SPECIES_APPLIN] = {{EVO_ITEM, ITEM_NONE, SPECIES_FLAPPLE},
|
||||
{EVO_ITEM, ITEM_NONE, SPECIES_APPLETUN}},
|
||||
[SPECIES_APPLIN] = {{EVO_ITEM, ITEM_TART_APPLE, SPECIES_FLAPPLE},
|
||||
{EVO_ITEM, ITEM_SWEET_APPLE, SPECIES_APPLETUN}},
|
||||
[SPECIES_SILICOBRA] = {{EVO_LEVEL, 36, SPECIES_SANDACONDA}},
|
||||
[SPECIES_ARROKUDA] = {{EVO_LEVEL, 26, SPECIES_BARRASKEWDA}},
|
||||
[SPECIES_TOXEL] = {{EVO_LEVEL_NATURE_AMPED, 30, SPECIES_TOXTRICITY},
|
||||
{EVO_LEVEL_NATURE_LOW_KEY, 30, SPECIES_TOXTRICITY_LOW_KEY}},
|
||||
[SPECIES_SIZZLIPEDE] = {{EVO_LEVEL, 28, SPECIES_CENTISKORCH}},
|
||||
[SPECIES_CLOBBOPUS] = {{EVO_MOVE, MOVE_TAUNT, SPECIES_GRAPPLOCT}},
|
||||
[SPECIES_SINISTEA] = {{EVO_ITEM, ITEM_NONE, SPECIES_POLTEAGEIST}},
|
||||
[SPECIES_SINISTEA] = {{EVO_ITEM, ITEM_CRACKED_POT, SPECIES_POLTEAGEIST}},
|
||||
[SPECIES_HATENNA] = {{EVO_LEVEL, 32, SPECIES_HATTREM}},
|
||||
[SPECIES_HATTREM] = {{EVO_LEVEL, 42, SPECIES_HATTERENE}},
|
||||
[SPECIES_IMPIDIMP] = {{EVO_LEVEL, 32, SPECIES_MORGREM}},
|
||||
@ -493,8 +493,8 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
|
||||
[SPECIES_CUFANT] = {{EVO_LEVEL, 34, SPECIES_COPPERAJAH}},
|
||||
[SPECIES_DREEPY] = {{EVO_LEVEL, 50, SPECIES_DRAKLOAK}},
|
||||
[SPECIES_DRAKLOAK] = {{EVO_LEVEL, 60, SPECIES_DRAGAPULT}},
|
||||
[SPECIES_KUBFU] = {{EVO_LEVEL, 0, SPECIES_URSHIFU},
|
||||
{EVO_LEVEL, 0, SPECIES_URSHIFU_RAPID_STRIKE_STYLE}},
|
||||
[SPECIES_KUBFU] = {{EVO_DARK_SCROLL, 0, SPECIES_URSHIFU},
|
||||
{EVO_WATER_SCROLL, 0, SPECIES_URSHIFU_RAPID_STRIKE_STYLE}},
|
||||
[SPECIES_RATTATA_ALOLAN] = {{EVO_LEVEL_NIGHT, 20, SPECIES_RATICATE_ALOLAN}},
|
||||
[SPECIES_SANDSHREW_ALOLAN] = {{EVO_ITEM, ITEM_ICE_STONE, SPECIES_SANDSLASH_ALOLAN}},
|
||||
[SPECIES_VULPIX_ALOLAN] = {{EVO_ITEM, ITEM_ICE_STONE, SPECIES_NINETALES_ALOLAN}},
|
||||
@ -505,15 +505,15 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
|
||||
[SPECIES_GRIMER_ALOLAN] = {{EVO_LEVEL, 38, SPECIES_MUK_ALOLAN}},
|
||||
[SPECIES_MEOWTH_GALARIAN] = {{EVO_LEVEL, 28, SPECIES_PERRSERKER}},
|
||||
[SPECIES_PONYTA_GALARIAN] = {{EVO_LEVEL, 40, SPECIES_RAPIDASH_GALARIAN}},
|
||||
[SPECIES_SLOWPOKE_GALARIAN] = {{EVO_ITEM, ITEM_NONE, SPECIES_SLOWBRO_GALARIAN},
|
||||
{EVO_ITEM, ITEM_NONE, SPECIES_SLOWKING_GALARIAN}},
|
||||
[SPECIES_FARFETCHD_GALARIAN] = {{EVO_LEVEL, 0, SPECIES_SIRFETCHD}},
|
||||
[SPECIES_SLOWPOKE_GALARIAN] = {{EVO_ITEM, ITEM_GALARICA_CUFF, SPECIES_SLOWBRO_GALARIAN},
|
||||
{EVO_ITEM, ITEM_GALARICA_WREATH, SPECIES_SLOWKING_GALARIAN}},
|
||||
[SPECIES_FARFETCHD_GALARIAN] = {{EVO_CRITICAL_HITS, 3, SPECIES_SIRFETCHD}},
|
||||
[SPECIES_MR_MIME_GALARIAN] = {{EVO_LEVEL, 42, SPECIES_MR_RIME}},
|
||||
[SPECIES_CORSOLA_GALARIAN] = {{EVO_LEVEL, 38, SPECIES_CURSOLA}},
|
||||
[SPECIES_ZIGZAGOON_GALARIAN] = {{EVO_LEVEL, 20, SPECIES_LINOONE_GALARIAN}},
|
||||
[SPECIES_LINOONE_GALARIAN] = {{EVO_LEVEL_NIGHT, 35, SPECIES_OBSTAGOON}},
|
||||
[SPECIES_DARUMAKA_GALARIAN] = {{EVO_ITEM, ITEM_ICE_STONE, SPECIES_DARMANITAN_GALARIAN}},
|
||||
[SPECIES_YAMASK_GALARIAN] = {{EVO_LEVEL, 0, SPECIES_RUNERIGUS}},
|
||||
[SPECIES_YAMASK_GALARIAN] = {{EVO_SCRIPT_TRIGGER_DMG, 49, SPECIES_RUNERIGUS}},
|
||||
[SPECIES_BURMY_SANDY_CLOAK] = {{EVO_LEVEL_FEMALE, 20, SPECIES_WORMADAM_SANDY_CLOAK},
|
||||
{EVO_LEVEL_MALE, 20, SPECIES_MOTHIM}},
|
||||
[SPECIES_BURMY_TRASH_CLOAK] = {{EVO_LEVEL_FEMALE, 20, SPECIES_WORMADAM_TRASH_CLOAK},
|
||||
@ -534,5 +534,5 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
|
||||
[SPECIES_PUMPKABOO_LARGE] = {{EVO_TRADE, 0, SPECIES_GOURGEIST_LARGE}},
|
||||
[SPECIES_PUMPKABOO_SUPER] = {{EVO_TRADE, 0, SPECIES_GOURGEIST_SUPER}},
|
||||
[SPECIES_ROCKRUFF_OWN_TEMPO] = {{EVO_LEVEL_DUSK, 25, SPECIES_LYCANROC_DUSK}},
|
||||
[SPECIES_SINISTEA_ANTIQUE] = {{EVO_ITEM, ITEM_NONE, SPECIES_POLTEAGEIST_ANTIQUE}},
|
||||
[SPECIES_SINISTEA_ANTIQUE] = {{EVO_ITEM, ITEM_CHIPPED_POT, SPECIES_POLTEAGEIST_ANTIQUE}},
|
||||
};
|
||||
|
@ -3,7 +3,7 @@ const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] =
|
||||
[SPECIES_GIRATINA] = sGiratinaFormChangeTable,
|
||||
[SPECIES_GIRATINA_ORIGIN] = sGiratinaFormChangeTable,
|
||||
[SPECIES_SHAYMIN] = sShayminFormChangeTable,
|
||||
[SPECIES_SHAYMIN_SKY] = sShayminSkyFormChangeTable,
|
||||
[SPECIES_SHAYMIN_SKY] = sShayminFormChangeTable,
|
||||
[SPECIES_ARCEUS] = sArceusFormChangeTable,
|
||||
[SPECIES_ARCEUS_FIGHTING] = sArceusFormChangeTable,
|
||||
[SPECIES_ARCEUS_FLYING] = sArceusFormChangeTable,
|
||||
|
@ -1,4 +1,8 @@
|
||||
/*
|
||||
For cycling between forms with the same method and parameters but different target species (eg. Tornadus using the
|
||||
Reveal Glass to change between its two forms), a separate form change table is required for each form.
|
||||
Otherwise, only the last form change on the table will trigger.
|
||||
|
||||
FORM_ITEM_HOLD:
|
||||
Form change activates when the item is given to or taken from the selected Pokémon.
|
||||
param1 = item to hold
|
||||
@ -47,10 +51,6 @@ static const struct FormChange sGiratinaFormChangeTable[] = {
|
||||
|
||||
static const struct FormChange sShayminFormChangeTable[] = {
|
||||
{FORM_ITEM_USE_TIME, SPECIES_SHAYMIN_SKY, ITEM_GRACIDEA, DAY},
|
||||
{FORM_CHANGE_END},
|
||||
};
|
||||
|
||||
static const struct FormChange sShayminSkyFormChangeTable[] = {
|
||||
{FORM_WITHDRAW, SPECIES_SHAYMIN},
|
||||
{FORM_CHANGE_END},
|
||||
};
|
||||
@ -95,32 +95,32 @@ static const struct FormChange sArceusFormChangeTable[] = {
|
||||
};
|
||||
|
||||
static const struct FormChange sTornadusFormChangeTable[] = {
|
||||
// {FORM_ITEM_USE, SPECIES_TORNADUS_THERIAN, ITEM_REVEAL_GLASS},
|
||||
{FORM_ITEM_USE, SPECIES_TORNADUS_THERIAN, ITEM_REVEAL_GLASS},
|
||||
{FORM_CHANGE_END},
|
||||
};
|
||||
|
||||
static const struct FormChange sTornadusTherianFormChangeTable[] = {
|
||||
// {FORM_ITEM_USE, SPECIES_TORNADUS, ITEM_REVEAL_GLASS},
|
||||
{FORM_ITEM_USE, SPECIES_TORNADUS, ITEM_REVEAL_GLASS},
|
||||
{FORM_CHANGE_END},
|
||||
};
|
||||
|
||||
static const struct FormChange sThundurusFormChangeTable[] = {
|
||||
// {FORM_ITEM_USE, SPECIES_THUNDURUS_THERIAN, ITEM_REVEAL_GLASS},
|
||||
{FORM_ITEM_USE, SPECIES_THUNDURUS_THERIAN, ITEM_REVEAL_GLASS},
|
||||
{FORM_CHANGE_END},
|
||||
};
|
||||
|
||||
static const struct FormChange sThundurusTherianFormChangeTable[] = {
|
||||
// {FORM_ITEM_USE, SPECIES_THUNDURUS, ITEM_REVEAL_GLASS},
|
||||
{FORM_ITEM_USE, SPECIES_THUNDURUS, ITEM_REVEAL_GLASS},
|
||||
{FORM_CHANGE_END},
|
||||
};
|
||||
|
||||
static const struct FormChange sLandorusFormChangeTable[] = {
|
||||
// {FORM_ITEM_USE, SPECIES_LANDORUS_THERIAN, ITEM_REVEAL_GLASS},
|
||||
{FORM_ITEM_USE, SPECIES_LANDORUS_THERIAN, ITEM_REVEAL_GLASS},
|
||||
{FORM_CHANGE_END},
|
||||
};
|
||||
|
||||
static const struct FormChange sLandorusTherianFormChangeTable[] = {
|
||||
// {FORM_ITEM_USE, SPECIES_LANDORUS, ITEM_REVEAL_GLASS},
|
||||
{FORM_ITEM_USE, SPECIES_LANDORUS, ITEM_REVEAL_GLASS},
|
||||
{FORM_CHANGE_END},
|
||||
};
|
||||
|
||||
|
@ -927,6 +927,7 @@ const u16 gPokedexOrder_Alphabetical[] =
|
||||
|
||||
const u16 gPokedexOrder_Weight[] =
|
||||
{
|
||||
// 0.0 - 21.8 lbs / 0.0 - 9.9 kg
|
||||
NATIONAL_DEX_GASTLY,
|
||||
NATIONAL_DEX_HAUNTER,
|
||||
NATIONAL_DEX_FLABEBE,
|
||||
@ -1195,7 +1196,7 @@ const u16 gPokedexOrder_Weight[] =
|
||||
NATIONAL_DEX_VULPIX,
|
||||
//NATIONAL_DEX_VULPIX, // Alolan Form
|
||||
NATIONAL_DEX_TEPIG,
|
||||
|
||||
// 22.0 - 44.1 lbs / 10.0 - 20.0 kg
|
||||
NATIONAL_DEX_KAKUNA,
|
||||
NATIONAL_DEX_MAGIKARP,
|
||||
NATIONAL_DEX_SILCOON,
|
||||
@ -1339,7 +1340,7 @@ const u16 gPokedexOrder_Weight[] =
|
||||
NATIONAL_DEX_GEODUDE,
|
||||
NATIONAL_DEX_BIDOOF,
|
||||
NATIONAL_DEX_MIENFOO,
|
||||
|
||||
// 44.3 - 54.9 lbs / 20.1 - 24.9 kg
|
||||
NATIONAL_DEX_REUNICLUS,
|
||||
NATIONAL_DEX_KIRLIA,
|
||||
NATIONAL_DEX_RIOLU,
|
||||
@ -1392,7 +1393,7 @@ const u16 gPokedexOrder_Weight[] =
|
||||
NATIONAL_DEX_DEWOTT,
|
||||
NATIONAL_DEX_TALONFLAME,
|
||||
NATIONAL_DEX_STARAPTOR,
|
||||
|
||||
// 55.1 - 110.0 lbs / 25.0 - 49.9 kg
|
||||
NATIONAL_DEX_SEADRA,
|
||||
NATIONAL_DEX_FLAREON,
|
||||
NATIONAL_DEX_CROCONAW,
|
||||
@ -1592,7 +1593,7 @@ const u16 gPokedexOrder_Weight[] =
|
||||
//NATIONAL_DEX_HOUNDOOM, // Mega
|
||||
NATIONAL_DEX_HIPPOPOTAS,
|
||||
NATIONAL_DEX_HITMONLEE,
|
||||
|
||||
// 110.2 - 132.1 lbs / 50.0 - 59.9 kg
|
||||
NATIONAL_DEX_ZWEILOUS,
|
||||
NATIONAL_DEX_DRAGAPULT,
|
||||
NATIONAL_DEX_HITMONCHAN,
|
||||
@ -1649,7 +1650,7 @@ const u16 gPokedexOrder_Weight[] =
|
||||
//NATIONAL_DEX_PINSIR, // Mega
|
||||
NATIONAL_DEX_AERODACTYL,
|
||||
NATIONAL_DEX_SHIFTRY,
|
||||
|
||||
// 132.3 - 218.0 lbs / 60.0 - 98.9 kg
|
||||
NATIONAL_DEX_NIDOQUEEN,
|
||||
NATIONAL_DEX_MAGNETON,
|
||||
NATIONAL_DEX_KINGLER,
|
||||
@ -1767,9 +1768,9 @@ const u16 gPokedexOrder_Weight[] =
|
||||
NATIONAL_DEX_NOSEPASS,
|
||||
NATIONAL_DEX_GROTLE,
|
||||
//NATIONAL_DEX_MAROWAK, // Alolan Form, Totem-sized
|
||||
|
||||
// 218.3 - 220.2 lbs / 99.0 - 99.9 kg
|
||||
NATIONAL_DEX_BERGMITE,
|
||||
|
||||
// 220.5 - 225.5 lbs / 100.0 - 102.3 kg
|
||||
NATIONAL_DEX_VENUSAUR,
|
||||
//NATIONAL_DEX_KANGASKHAN, // Mega
|
||||
NATIONAL_DEX_TROPIUS,
|
||||
@ -1781,7 +1782,7 @@ const u16 gPokedexOrder_Weight[] =
|
||||
//NATIONAL_DEX_BLASTOISE, // Mega
|
||||
//NATIONAL_DEX_SWAMPERT, // Mega
|
||||
NATIONAL_DEX_BOLDORE,
|
||||
|
||||
// 225.8 - 330.5 lbs / 102.4 - 149.9 kg
|
||||
NATIONAL_DEX_RAMPARDOS,
|
||||
NATIONAL_DEX_SALAMENCE,
|
||||
NATIONAL_DEX_GRAVELER,
|
||||
@ -1838,7 +1839,7 @@ const u16 gPokedexOrder_Weight[] =
|
||||
//NATIONAL_DEX_VIKAVOLT, // Totem-sized
|
||||
NATIONAL_DEX_CRYOGONAL,
|
||||
NATIONAL_DEX_BASTIODON,
|
||||
|
||||
// 330.7 - 440.7 lbs / 150.0 - 199.9 kg
|
||||
NATIONAL_DEX_EMBOAR,
|
||||
NATIONAL_DEX_NAGANADEL,
|
||||
NATIONAL_DEX_ARCTOZOLT,
|
||||
@ -1866,7 +1867,7 @@ const u16 gPokedexOrder_Weight[] =
|
||||
NATIONAL_DEX_VOLCANION,
|
||||
NATIONAL_DEX_ENTEI,
|
||||
NATIONAL_DEX_HO_OH,
|
||||
|
||||
// 440.9 - 451.3 lbs / 200.0 - 204.7 kg
|
||||
NATIONAL_DEX_CRUSTLE,
|
||||
NATIONAL_DEX_VIRIZION,
|
||||
NATIONAL_DEX_REGIDRAGO,
|
||||
@ -1874,11 +1875,10 @@ const u16 gPokedexOrder_Weight[] =
|
||||
NATIONAL_DEX_TYRANITAR,
|
||||
NATIONAL_DEX_METANG,
|
||||
NATIONAL_DEX_YVELTAL,
|
||||
|
||||
// 451.5 - 661.2 lbs / 204.8 - 299.9 kg
|
||||
NATIONAL_DEX_REGISTEEL,
|
||||
NATIONAL_DEX_RAYQUAZA,
|
||||
//NATIONAL_DEX_KOMMO_O, // Totem-sized
|
||||
|
||||
NATIONAL_DEX_ONIX,
|
||||
NATIONAL_DEX_DRAGONITE,
|
||||
NATIONAL_DEX_DHELMISE,
|
||||
@ -1906,15 +1906,14 @@ const u16 gPokedexOrder_Weight[] =
|
||||
NATIONAL_DEX_BEARTIC,
|
||||
NATIONAL_DEX_TERRAKION,
|
||||
NATIONAL_DEX_TYRANTRUM,
|
||||
|
||||
NATIONAL_DEX_RHYPERIOR,
|
||||
NATIONAL_DEX_MAMOSWINE,
|
||||
|
||||
// 661.4 - 667.0 lbs / 300.0 - 307.1 kg
|
||||
NATIONAL_DEX_GOLEM,
|
||||
NATIONAL_DEX_HIPPOWDON,
|
||||
//NATIONAL_DEX_GYARADOS, // Mega
|
||||
NATIONAL_DEX_ZYGARDE, // 50% Forme
|
||||
|
||||
// 677.3 - 667.0 lbs / 307.2 - 359.9 kg
|
||||
NATIONAL_DEX_TORTERRA,
|
||||
NATIONAL_DEX_COALOSSAL,
|
||||
//NATIONAL_DEX_GOLEM, // Alolan Form
|
||||
@ -1931,13 +1930,13 @@ const u16 gPokedexOrder_Weight[] =
|
||||
//NATIONAL_DEX_GLALIE, // Mega
|
||||
NATIONAL_DEX_KYOGRE,
|
||||
//NATIONAL_DEX_ZACIAN, // Crowned Sword
|
||||
|
||||
// 793.7 - 902.8 lbs / 360.0 - 409.5 kg
|
||||
NATIONAL_DEX_AGGRON,
|
||||
//NATIONAL_DEX_RAYQUAZA, // Mega
|
||||
//NATIONAL_DEX_AGGRON, // Mega
|
||||
NATIONAL_DEX_WAILORD,
|
||||
NATIONAL_DEX_STEELIX,
|
||||
|
||||
// 903.0 - 2204.4 lbs / 409.6 - 999.9 kg
|
||||
//NATIONAL_DEX_EXEGGUTOR, // Alolan Form
|
||||
NATIONAL_DEX_REGIGIGAS,
|
||||
//NATIONAL_DEX_KYOGRE, // Primal
|
||||
@ -1970,12 +1969,14 @@ const u16 gPokedexOrder_Weight[] =
|
||||
|
||||
const u16 gPokedexOrder_Height[] =
|
||||
{
|
||||
// 0'04" / 0.1m
|
||||
NATIONAL_DEX_JOLTIK,
|
||||
NATIONAL_DEX_FLABEBE,
|
||||
NATIONAL_DEX_CUTIEFLY,
|
||||
NATIONAL_DEX_COMFEY,
|
||||
NATIONAL_DEX_COSMOEM,
|
||||
NATIONAL_DEX_SINISTEA,
|
||||
// 0'08" / 0.2m
|
||||
NATIONAL_DEX_DIGLETT,
|
||||
//NATIONAL_DEX_DIGLETT, // Alolan Form
|
||||
NATIONAL_DEX_NATU,
|
||||
@ -2000,7 +2001,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_APPLIN,
|
||||
NATIONAL_DEX_POLTEAGEIST,
|
||||
NATIONAL_DEX_MILCERY,
|
||||
|
||||
// 1'00" / 0.3m
|
||||
NATIONAL_DEX_CATERPIE,
|
||||
NATIONAL_DEX_WEEDLE,
|
||||
NATIONAL_DEX_PIDGEY,
|
||||
@ -2147,7 +2148,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_TOXEL,
|
||||
NATIONAL_DEX_HATENNA,
|
||||
NATIONAL_DEX_IMPIDIMP,
|
||||
|
||||
// 1'08" / 0.5m
|
||||
NATIONAL_DEX_SQUIRTLE,
|
||||
NATIONAL_DEX_NIDORAN_M,
|
||||
NATIONAL_DEX_JIGGLYPUFF,
|
||||
@ -2217,7 +2218,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_ELDEGOSS,
|
||||
NATIONAL_DEX_ARROKUDA,
|
||||
NATIONAL_DEX_DREEPY,
|
||||
|
||||
// 2'00" / 0.6m
|
||||
NATIONAL_DEX_CHARMANDER,
|
||||
NATIONAL_DEX_KAKUNA,
|
||||
NATIONAL_DEX_SANDSHREW,
|
||||
@ -2303,7 +2304,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_CLOBBOPUS,
|
||||
NATIONAL_DEX_HATTREM,
|
||||
NATIONAL_DEX_KUBFU,
|
||||
|
||||
// 2'04" / 0.7m
|
||||
NATIONAL_DEX_BULBASAUR,
|
||||
NATIONAL_DEX_METAPOD,
|
||||
NATIONAL_DEX_RATICATE,
|
||||
@ -2355,7 +2356,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_THWACKEY,
|
||||
NATIONAL_DEX_DRIZZILE,
|
||||
NATIONAL_DEX_SIZZLIPEDE,
|
||||
|
||||
// 2'07" / 0.8m
|
||||
NATIONAL_DEX_RAICHU,
|
||||
NATIONAL_DEX_NIDORINA,
|
||||
NATIONAL_DEX_ZUBAT,
|
||||
@ -2409,6 +2410,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_MORGREM,
|
||||
NATIONAL_DEX_PERRSERKER,
|
||||
NATIONAL_DEX_SIRFETCHD,
|
||||
// 2'11" / 0.9m
|
||||
NATIONAL_DEX_NIDORINO,
|
||||
NATIONAL_DEX_ABRA,
|
||||
NATIONAL_DEX_TENTACOOL,
|
||||
@ -2445,7 +2447,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_LURANTIS,
|
||||
NATIONAL_DEX_BRUXISH,
|
||||
NATIONAL_DEX_INDEEDEE,
|
||||
|
||||
// 3'03" / 1.0m
|
||||
NATIONAL_DEX_IVYSAUR,
|
||||
NATIONAL_DEX_WARTORTLE,
|
||||
NATIONAL_DEX_BEEDRILL,
|
||||
@ -2516,6 +2518,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_DREDNAW,
|
||||
NATIONAL_DEX_BOLTUND,
|
||||
NATIONAL_DEX_CURSOLA,
|
||||
// 3'07" / 1.1m
|
||||
NATIONAL_DEX_CHARMELEON,
|
||||
NATIONAL_DEX_BUTTERFREE,
|
||||
NATIONAL_DEX_PIDGEOTTO,
|
||||
@ -2560,6 +2563,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
//NATIONAL_DEX_LYCANROC, // Midnight Form
|
||||
NATIONAL_DEX_CARKOL,
|
||||
NATIONAL_DEX_CALYREX,
|
||||
// 3'11" / 1.2m
|
||||
NATIONAL_DEX_FEAROW,
|
||||
//NATIONAL_DEX_SANDSLASH, // Alolan Form
|
||||
NATIONAL_DEX_VILEPLUME,
|
||||
@ -2619,7 +2623,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_THIEVUL,
|
||||
NATIONAL_DEX_CUFANT,
|
||||
NATIONAL_DEX_REGIELEKI,
|
||||
|
||||
// 4'03" / 1.3m
|
||||
NATIONAL_DEX_NIDOQUEEN,
|
||||
NATIONAL_DEX_CLEFABLE,
|
||||
NATIONAL_DEX_POLIWRATH,
|
||||
@ -2656,6 +2660,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_DUBWOOL,
|
||||
NATIONAL_DEX_BARRASKEWDA,
|
||||
NATIONAL_DEX_FROSMOTH,
|
||||
// 4'07" / 1.4m
|
||||
//NATIONAL_DEX_BEEDRILL, // Mega
|
||||
//NATIONAL_DEX_RATICATE, // Alolan Form, Totem-sized
|
||||
NATIONAL_DEX_NIDOKING,
|
||||
@ -2695,6 +2700,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_CINDERACE,
|
||||
NATIONAL_DEX_EISCUE,
|
||||
NATIONAL_DEX_DRAKLOAK,
|
||||
// 4'11" / 1.5m
|
||||
NATIONAL_DEX_PIDGEOT,
|
||||
NATIONAL_DEX_VENOMOTH,
|
||||
NATIONAL_DEX_ALAKAZAM,
|
||||
@ -2747,7 +2753,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_ZERAORA,
|
||||
NATIONAL_DEX_GRIMMSNARL,
|
||||
NATIONAL_DEX_MR_RIME,
|
||||
|
||||
// 5'03" / 1.6m
|
||||
NATIONAL_DEX_BLASTOISE,
|
||||
//NATIONAL_DEX_BLASTOISE, // Mega
|
||||
NATIONAL_DEX_GOLBAT,
|
||||
@ -2782,6 +2788,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_GRAPPLOCT,
|
||||
NATIONAL_DEX_OBSTAGOON,
|
||||
NATIONAL_DEX_RUNERIGUS,
|
||||
// 5'07" / 1.7m
|
||||
NATIONAL_DEX_CHARIZARD,
|
||||
//NATIONAL_DEX_CHARIZARD, // Mega X
|
||||
//NATIONAL_DEX_CHARIZARD, // Mega Y
|
||||
@ -2816,6 +2823,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
//NATIONAL_DEX_GOURGEIST, // Super Size
|
||||
NATIONAL_DEX_VOLCANION,
|
||||
NATIONAL_DEX_CRABOMINABLE,
|
||||
// 5'11" / 1.8m
|
||||
NATIONAL_DEX_DODRIO,
|
||||
NATIONAL_DEX_AERODACTYL,
|
||||
NATIONAL_DEX_DRATINI,
|
||||
@ -2845,7 +2853,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_DRACOZOLT,
|
||||
NATIONAL_DEX_DURALUDON,
|
||||
NATIONAL_DEX_ZARUDE,
|
||||
|
||||
// 6'03" / 1.9m
|
||||
NATIONAL_DEX_ARCANINE,
|
||||
NATIONAL_DEX_RHYDON,
|
||||
//NATIONAL_DEX_HOUNDOOM, // Mega
|
||||
@ -2867,6 +2875,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_INTELEON,
|
||||
NATIONAL_DEX_URSHIFU, // Single Strike Style
|
||||
//NATIONAL_DEX_URSHIFU, // Rapid Strike Style
|
||||
// 6'07" / 2.0m
|
||||
NATIONAL_DEX_VENUSAUR,
|
||||
NATIONAL_DEX_EKANS,
|
||||
//NATIONAL_DEX_SLOWBRO, // Mega
|
||||
@ -2894,6 +2903,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_TURTONATOR,
|
||||
NATIONAL_DEX_ARCTOVISH,
|
||||
NATIONAL_DEX_SPECTRIER,
|
||||
// 6'11" / 2.1m
|
||||
//NATIONAL_DEX_AERODACTYL, // Mega
|
||||
NATIONAL_DEX_SNORLAX,
|
||||
NATIONAL_DEX_MANTINE,
|
||||
@ -2908,7 +2918,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_RILLABOOM,
|
||||
NATIONAL_DEX_HATTERENE,
|
||||
NATIONAL_DEX_REGIDRAGO,
|
||||
|
||||
// 7'03" / 2.2m
|
||||
//NATIONAL_DEX_PIDGEOT, // Mega
|
||||
NATIONAL_DEX_KANGASKHAN,
|
||||
//NATIONAL_DEX_KANGASKHAN, // Mega
|
||||
@ -2922,6 +2932,7 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_CORVIKNIGHT,
|
||||
NATIONAL_DEX_SILICOBRA,
|
||||
NATIONAL_DEX_GLASTRIER,
|
||||
// 7'07" / 2.3m
|
||||
//NATIONAL_DEX_MEWTWO, // Mega X
|
||||
NATIONAL_DEX_FERALIGATR,
|
||||
NATIONAL_DEX_HARIYAMA,
|
||||
@ -2929,13 +2940,14 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_SILVALLY,
|
||||
NATIONAL_DEX_ARCTOZOLT,
|
||||
NATIONAL_DEX_DRACOVISH,
|
||||
// 7'10" / 2.4m
|
||||
//NATIONAL_DEX_VENUSAUR, // Mega
|
||||
NATIONAL_DEX_RHYPERIOR,
|
||||
NATIONAL_DEX_BUZZWOLE,
|
||||
NATIONAL_DEX_NECROZMA,
|
||||
//NATIONAL_DEX_CALYREX, // Ice Rider
|
||||
//NATIONAL_DEX_CALYREX, // Shadow Rider
|
||||
|
||||
// 8'02" / 2.5m
|
||||
NATIONAL_DEX_LAPRAS,
|
||||
//NATIONAL_DEX_TYRANITAR, // Mega
|
||||
//NATIONAL_DEX_SHARPEDO, // Mega
|
||||
@ -2947,19 +2959,23 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_MUDSDALE,
|
||||
NATIONAL_DEX_MELMETAL,
|
||||
NATIONAL_DEX_STONJOURNER,
|
||||
// 8'06" / 2.6m
|
||||
NATIONAL_DEX_BEARTIC,
|
||||
//NATIONAL_DEX_VIKAVOLT, // Totem-sized
|
||||
// 8'10" / 2.7m
|
||||
NATIONAL_DEX_SEVIPER,
|
||||
//NATIONAL_DEX_ABOMASNOW, // Mega
|
||||
NATIONAL_DEX_AURORUS,
|
||||
|
||||
// 9'02" / 2.8m
|
||||
NATIONAL_DEX_GOLURK,
|
||||
NATIONAL_DEX_COALOSSAL,
|
||||
NATIONAL_DEX_ZACIAN, // Hero of Many Battles
|
||||
//NATIONAL_DEX_ZACIAN, // Crowned Sword
|
||||
// 9'06" / 2.9m
|
||||
NATIONAL_DEX_ZEKROM,
|
||||
NATIONAL_DEX_ZAMAZENTA, // Hero of Many Battles
|
||||
//NATIONAL_DEX_ZAMAZENTA, // Crowned Shield
|
||||
// 9'10" / 3.0m
|
||||
//NATIONAL_DEX_WEEZING, // Galarian Form
|
||||
//NATIONAL_DEX_THUNDURUS, // Therian Form
|
||||
NATIONAL_DEX_KYUREM,
|
||||
@ -2969,74 +2985,84 @@ const u16 gPokedexOrder_Height[] =
|
||||
NATIONAL_DEX_FALINKS,
|
||||
NATIONAL_DEX_COPPERAJAH,
|
||||
NATIONAL_DEX_DRAGAPULT,
|
||||
|
||||
// 10'02" / 3.1m
|
||||
//NATIONAL_DEX_ARAQUANID, // Totem-sized
|
||||
// 10'06" / 3.2m
|
||||
NATIONAL_DEX_ARCEUS,
|
||||
NATIONAL_DEX_RESHIRAM,
|
||||
// 10'10" / 3.3m
|
||||
NATIONAL_DEX_SERPERIOR,
|
||||
//NATIONAL_DEX_KYUREM, // Black
|
||||
|
||||
// 11'02" / 3.4m
|
||||
NATIONAL_DEX_SOLGALEO,
|
||||
// 11'06" / 3.5m
|
||||
NATIONAL_DEX_ARBOK,
|
||||
NATIONAL_DEX_GROUDON,
|
||||
// 11'10" / 3.6m
|
||||
//NATIONAL_DEX_KYUREM, // White
|
||||
NATIONAL_DEX_NAGANADEL,
|
||||
|
||||
// 12'02" / 3.7m
|
||||
NATIONAL_DEX_REGIGIGAS,
|
||||
// 12'06" / 3.8m
|
||||
NATIONAL_DEX_HO_OH,
|
||||
NATIONAL_DEX_XURKITREE,
|
||||
//NATIONAL_DEX_NECROZMA, // Dusk Mane
|
||||
NATIONAL_DEX_SANDACONDA,
|
||||
// 12'10" / 3.9m
|
||||
NATIONAL_DEX_DHELMISE,
|
||||
|
||||
// 13'01" / 4.0m
|
||||
NATIONAL_DEX_DRAGONAIR,
|
||||
NATIONAL_DEX_LUNALA,
|
||||
// 13'09" / 4.2m
|
||||
NATIONAL_DEX_PALKIA,
|
||||
//NATIONAL_DEX_NECROZMA, // Dawn Wings
|
||||
|
||||
// 14'09" / 4.5m
|
||||
NATIONAL_DEX_KYOGRE,
|
||||
NATIONAL_DEX_GIRATINA, // Altered Forme
|
||||
//NATIONAL_DEX_ZYGARDE, // Complete Forme
|
||||
|
||||
// 16'05" / 5.0m
|
||||
//NATIONAL_DEX_GROUDON, // Primal
|
||||
NATIONAL_DEX_ZYGARDE, // 50% Forme
|
||||
|
||||
// 17'01" / 5.2m
|
||||
NATIONAL_DEX_LUGIA,
|
||||
// 17'09" / 5.4m
|
||||
NATIONAL_DEX_DIALGA,
|
||||
|
||||
// 18'01" / 5.5m
|
||||
NATIONAL_DEX_GUZZLORD,
|
||||
NATIONAL_DEX_STAKATAKA,
|
||||
|
||||
// 19'00" / 5.8m
|
||||
NATIONAL_DEX_YVELTAL,
|
||||
|
||||
// 20'04" / 6.2m
|
||||
NATIONAL_DEX_MILOTIC,
|
||||
|
||||
// 21'04" / 6.5m
|
||||
NATIONAL_DEX_GYARADOS,
|
||||
//NATIONAL_DEX_GYARADOS, // Mega
|
||||
//NATIONAL_DEX_HOOPA, // Unbound
|
||||
|
||||
// 22'08" / 6.9m
|
||||
//NATIONAL_DEX_GIRATINA, // Origin Forme
|
||||
|
||||
// 23'00" / 7.0m
|
||||
NATIONAL_DEX_RAYQUAZA,
|
||||
|
||||
// 24'07" / 7.5m
|
||||
//NATIONAL_DEX_NECROZMA, // Ultra
|
||||
|
||||
// 26'11" / 8.2m
|
||||
//NATIONAL_DEX_WISHIWASHI, // School Form
|
||||
|
||||
// 28'10" / 8.8m
|
||||
NATIONAL_DEX_ONIX,
|
||||
|
||||
// 30'02" / 9.2m
|
||||
NATIONAL_DEX_STEELIX,
|
||||
NATIONAL_DEX_CELESTEELA,
|
||||
|
||||
// 32'02" / 9.8m
|
||||
//NATIONAL_DEX_KYOGRE, // Primal
|
||||
|
||||
// 34'05" / 10.5m
|
||||
//NATIONAL_DEX_STEELIX, // Mega
|
||||
|
||||
// 35'05" / 10.8m
|
||||
//NATIONAL_DEX_RAYQUAZA, // Mega
|
||||
|
||||
// 35'09" / 10.9m
|
||||
//NATIONAL_DEX_EXEGGUTOR, // Alolan Form
|
||||
|
||||
// 47'07" / 14.5m
|
||||
NATIONAL_DEX_WAILORD,
|
||||
|
||||
// 65'07" / 20m
|
||||
NATIONAL_DEX_ETERNATUS,
|
||||
// 328'01" / 100m
|
||||
//NATIONAL_DEX_ETERNATUS, // Eternamax
|
||||
};
|
||||
|
@ -37,12 +37,7 @@ const u16 gTutorMoves[] =
|
||||
|
||||
static const u32 sTutorLearnsets[] =
|
||||
{
|
||||
[SPECIES_NONE] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
|
||||
| TUTOR(MOVE_MEGA_KICK)
|
||||
| TUTOR(MOVE_MEGA_PUNCH)
|
||||
| TUTOR(MOVE_SEISMIC_TOSS)
|
||||
| TUTOR(MOVE_SWORDS_DANCE)
|
||||
| TUTOR(MOVE_THUNDER_WAVE)),
|
||||
[SPECIES_NONE] = (0),
|
||||
|
||||
[SPECIES_BULBASAUR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
|
||||
| TUTOR(MOVE_DEFENSE_CURL)
|
||||
|
@ -816,13 +816,25 @@ static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parent
|
||||
|
||||
eggSpecies = GetEggSpecies(species[parentSlots[0]]);
|
||||
if (eggSpecies == SPECIES_NIDORAN_F && daycare->offspringPersonality & EGG_GENDER_MALE)
|
||||
{
|
||||
eggSpecies = SPECIES_NIDORAN_M;
|
||||
}
|
||||
if (eggSpecies == SPECIES_ILLUMISE && daycare->offspringPersonality & EGG_GENDER_MALE)
|
||||
{
|
||||
else if (eggSpecies == SPECIES_ILLUMISE && daycare->offspringPersonality & EGG_GENDER_MALE)
|
||||
eggSpecies = SPECIES_VOLBEAT;
|
||||
}
|
||||
#if P_NIDORAN_M_DITTO_BREED >= GEN_5
|
||||
else if (eggSpecies == SPECIES_NIDORAN_M && !(daycare->offspringPersonality & EGG_GENDER_MALE))
|
||||
eggSpecies = SPECIES_NIDORAN_F;
|
||||
else if (eggSpecies == SPECIES_VOLBEAT && !(daycare->offspringPersonality & EGG_GENDER_MALE))
|
||||
eggSpecies = SPECIES_ILLUMISE;
|
||||
#endif
|
||||
else if (eggSpecies == SPECIES_MANAPHY)
|
||||
eggSpecies = SPECIES_PHIONE;
|
||||
else if (eggSpecies == SPECIES_SINISTEA_ANTIQUE)
|
||||
eggSpecies = SPECIES_SINISTEA;
|
||||
else if (GET_BASE_SPECIES_ID(eggSpecies) == SPECIES_VIVILLON)
|
||||
eggSpecies = SPECIES_SCATTERBUG;
|
||||
else if (GET_BASE_SPECIES_ID(eggSpecies) == SPECIES_ROTOM)
|
||||
eggSpecies = SPECIES_ROTOM;
|
||||
else if (GET_BASE_SPECIES_ID(eggSpecies) == SPECIES_FURFROU)
|
||||
eggSpecies = SPECIES_FURFROU;
|
||||
|
||||
// Make Ditto the "mother" slot if the other daycare mon is male.
|
||||
if (species[parentSlots[1]] == SPECIES_DITTO && GetBoxMonGender(&daycare->mons[parentSlots[0]].mon) != MON_FEMALE)
|
||||
|
@ -914,7 +914,7 @@ static bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8 slot)
|
||||
DisplayPartyPokemonDataToTeachMove(slot, item, 0);
|
||||
break;
|
||||
case 2: // Evolution stone
|
||||
if (!GetMonData(currentPokemon, MON_DATA_IS_EGG) && GetEvolutionTargetSpecies(currentPokemon, EVO_MODE_ITEM_CHECK, item, SPECIES_NONE) != SPECIES_NONE)
|
||||
if (!GetMonData(currentPokemon, MON_DATA_IS_EGG) && GetEvolutionTargetSpecies(currentPokemon, EVO_MODE_ITEM_CHECK, item, NULL) != SPECIES_NONE)
|
||||
return FALSE;
|
||||
DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_NO_USE);
|
||||
break;
|
||||
@ -5131,7 +5131,7 @@ static void Task_TryLearningNextMove(u8 taskId)
|
||||
static void PartyMenuTryEvolution(u8 taskId)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u16 targetSpecies = GetEvolutionTargetSpecies(mon, EVO_MODE_NORMAL, ITEM_NONE, SPECIES_NONE);
|
||||
u16 targetSpecies = GetEvolutionTargetSpecies(mon, EVO_MODE_NORMAL, ITEM_NONE, NULL);
|
||||
|
||||
if (targetSpecies != SPECIES_NONE)
|
||||
{
|
||||
|
@ -3991,10 +3991,7 @@ static void Task_DisplayCaughtMonDexPage(u8 taskId)
|
||||
gTasks[taskId].tState++;
|
||||
break;
|
||||
case 4:
|
||||
if ((gBaseStats[dexNum].flags & FLAG_GENDER_DIFFERENCE))
|
||||
spriteId = CreateMonPicSprite(dexNum, 0, ((u16)gTasks[taskId].tPersonalityHi << 16) | (u16)gTasks[taskId].tPersonalityLo, TRUE, MON_PAGE_X, MON_PAGE_Y, 0, TAG_NONE);
|
||||
else
|
||||
spriteId = CreateMonSpriteFromNationalDexNumber(dexNum, MON_PAGE_X, MON_PAGE_Y, 0);
|
||||
spriteId = CreateMonPicSprite(NationalPokedexNumToSpecies(dexNum), 0, ((u16)gTasks[taskId].tPersonalityHi << 16) | (u16)gTasks[taskId].tPersonalityLo, TRUE, MON_PAGE_X, MON_PAGE_Y, 0, TAG_NONE);
|
||||
gSprites[spriteId].oam.priority = 0;
|
||||
BeginNormalPaletteFade(PALETTES_ALL, 0, 0x10, 0, RGB_BLACK);
|
||||
SetVBlankCallback(gPokedexVBlankCB);
|
||||
|
234
src/pokemon.c
@ -66,6 +66,8 @@ static void Task_PlayMapChosenOrBattleBGM(u8 taskId);
|
||||
static u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move);
|
||||
static bool8 ShouldSkipFriendshipChange(void);
|
||||
static u8 SendMonToPC(struct Pokemon* mon);
|
||||
static void RemoveIVIndexFromList(u8 *ivs, u8 selectedIv);
|
||||
void TrySpecialOverworldEvo();
|
||||
|
||||
EWRAM_DATA static u8 sLearningMoveTableID = 0;
|
||||
EWRAM_DATA u8 gPlayerPartyCount = 0;
|
||||
@ -74,6 +76,7 @@ EWRAM_DATA struct Pokemon gPlayerParty[PARTY_SIZE] = {0};
|
||||
EWRAM_DATA struct Pokemon gEnemyParty[PARTY_SIZE] = {0};
|
||||
EWRAM_DATA struct SpriteTemplate gMultiuseSpriteTemplate = {0};
|
||||
EWRAM_DATA static struct MonSpritesGfxManager *sMonSpritesGfxManagers[MON_SPR_GFX_MANAGERS_COUNT] = {NULL};
|
||||
EWRAM_DATA static u8 sTriedEvolving = 0;
|
||||
|
||||
#include "data/battle_moves.h"
|
||||
|
||||
@ -3190,6 +3193,9 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV,
|
||||
u32 personality;
|
||||
u32 value;
|
||||
u16 checksum;
|
||||
u8 i;
|
||||
u8 availableIVs[NUM_STATS];
|
||||
u8 selectedIvs[LEGENDARY_PERFECT_IV_COUNT];
|
||||
|
||||
ZeroBoxMonData(boxMon);
|
||||
|
||||
@ -3283,6 +3289,51 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV,
|
||||
SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &iv);
|
||||
iv = (value & (MAX_IV_MASK << 10)) >> 10;
|
||||
SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv);
|
||||
|
||||
#if P_LEGENDARY_PERFECT_IVS >= GEN_6
|
||||
if (gBaseStats[species].flags & (FLAG_LEGENDARY | FLAG_MYTHICAL | FLAG_ULTRA_BEAST))
|
||||
{
|
||||
iv = MAX_PER_STAT_IVS;
|
||||
// Initialize a list of IV indices.
|
||||
for (i = 0; i < NUM_STATS; i++)
|
||||
{
|
||||
availableIVs[i] = i;
|
||||
}
|
||||
|
||||
// Select the 3 IVs that will be perfected.
|
||||
for (i = 0; i < LEGENDARY_PERFECT_IV_COUNT; i++)
|
||||
{
|
||||
u8 index = Random() % (NUM_STATS - i);
|
||||
selectedIvs[i] = availableIVs[index];
|
||||
RemoveIVIndexFromList(availableIVs, index);
|
||||
}
|
||||
for (i = 0; i < LEGENDARY_PERFECT_IV_COUNT; i++)
|
||||
{
|
||||
switch (selectedIvs[i])
|
||||
{
|
||||
case STAT_HP:
|
||||
SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv);
|
||||
break;
|
||||
case STAT_ATK:
|
||||
SetBoxMonData(boxMon, MON_DATA_ATK_IV, &iv);
|
||||
break;
|
||||
case STAT_DEF:
|
||||
SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv);
|
||||
break;
|
||||
case STAT_SPEED:
|
||||
SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv);
|
||||
break;
|
||||
case STAT_SPATK:
|
||||
SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &iv);
|
||||
break;
|
||||
case STAT_SPDEF:
|
||||
SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
if (gBaseStats[species].abilities[1])
|
||||
@ -5912,7 +5963,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
|
||||
|
||||
case 7: // ITEM4_EVO_STONE
|
||||
{
|
||||
u16 targetSpecies = GetEvolutionTargetSpecies(mon, EVO_MODE_ITEM_USE, item, SPECIES_NONE);
|
||||
u16 targetSpecies = GetEvolutionTargetSpecies(mon, EVO_MODE_ITEM_USE, item, NULL);
|
||||
|
||||
if (targetSpecies != SPECIES_NONE)
|
||||
{
|
||||
@ -6286,7 +6337,7 @@ u8 GetNatureFromPersonality(u32 personality)
|
||||
return personality % NUM_NATURES;
|
||||
}
|
||||
|
||||
u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, u16 tradePartnerSpecies)
|
||||
u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, struct Pokemon *tradePartner)
|
||||
{
|
||||
int i, j;
|
||||
u16 targetSpecies = 0;
|
||||
@ -6299,6 +6350,26 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, u
|
||||
u16 upperPersonality = personality >> 16;
|
||||
u8 holdEffect;
|
||||
u16 currentMap;
|
||||
u16 partnerSpecies;
|
||||
u16 partnerHeldItem;
|
||||
u8 partnerHoldEffect;
|
||||
|
||||
if (tradePartner != NULL)
|
||||
{
|
||||
partnerSpecies = GetMonData(tradePartner, MON_DATA_SPECIES, 0);
|
||||
partnerHeldItem = GetMonData(tradePartner, MON_DATA_HELD_ITEM, 0);
|
||||
|
||||
if (partnerHeldItem == ITEM_ENIGMA_BERRY)
|
||||
partnerHoldEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect;
|
||||
else
|
||||
partnerHoldEffect = ItemId_GetHoldEffect(partnerHeldItem);
|
||||
}
|
||||
else
|
||||
{
|
||||
partnerSpecies = SPECIES_NONE;
|
||||
partnerHeldItem = ITEM_NONE;
|
||||
partnerHoldEffect = HOLD_EFFECT_NONE;
|
||||
}
|
||||
|
||||
if (heldItem == ITEM_ENIGMA_BERRY_E_READER)
|
||||
holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect;
|
||||
@ -6306,7 +6377,9 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, u
|
||||
holdEffect = ItemId_GetHoldEffect(heldItem);
|
||||
|
||||
// Prevent evolution with Everstone, unless we're just viewing the party menu with an evolution item
|
||||
if (holdEffect == HOLD_EFFECT_PREVENT_EVOLVE && mode != EVO_MODE_ITEM_CHECK)
|
||||
if (holdEffect == HOLD_EFFECT_PREVENT_EVOLVE
|
||||
&& mode != EVO_MODE_ITEM_CHECK
|
||||
&& (P_KADABRA_EVERSTONE < GEN_4 || species != SPECIES_KADABRA))
|
||||
return SPECIES_NONE;
|
||||
|
||||
switch (mode)
|
||||
@ -6469,21 +6542,21 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, u
|
||||
u8 nature = GetNature(mon);
|
||||
switch (nature)
|
||||
{
|
||||
case NATURE_HARDY:
|
||||
case NATURE_BRAVE:
|
||||
case NATURE_ADAMANT:
|
||||
case NATURE_NAUGHTY:
|
||||
case NATURE_DOCILE:
|
||||
case NATURE_IMPISH:
|
||||
case NATURE_LAX:
|
||||
case NATURE_HASTY:
|
||||
case NATURE_JOLLY:
|
||||
case NATURE_NAIVE:
|
||||
case NATURE_RASH:
|
||||
case NATURE_SASSY:
|
||||
case NATURE_QUIRKY:
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
break;
|
||||
case NATURE_HARDY:
|
||||
case NATURE_BRAVE:
|
||||
case NATURE_ADAMANT:
|
||||
case NATURE_NAUGHTY:
|
||||
case NATURE_DOCILE:
|
||||
case NATURE_IMPISH:
|
||||
case NATURE_LAX:
|
||||
case NATURE_HASTY:
|
||||
case NATURE_JOLLY:
|
||||
case NATURE_NAIVE:
|
||||
case NATURE_RASH:
|
||||
case NATURE_SASSY:
|
||||
case NATURE_QUIRKY:
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -6493,20 +6566,20 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, u
|
||||
u8 nature = GetNature(mon);
|
||||
switch (nature)
|
||||
{
|
||||
case NATURE_LONELY:
|
||||
case NATURE_BOLD:
|
||||
case NATURE_RELAXED:
|
||||
case NATURE_TIMID:
|
||||
case NATURE_SERIOUS:
|
||||
case NATURE_MODEST:
|
||||
case NATURE_MILD:
|
||||
case NATURE_QUIET:
|
||||
case NATURE_BASHFUL:
|
||||
case NATURE_CALM:
|
||||
case NATURE_GENTLE:
|
||||
case NATURE_CAREFUL:
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
break;
|
||||
case NATURE_LONELY:
|
||||
case NATURE_BOLD:
|
||||
case NATURE_RELAXED:
|
||||
case NATURE_TIMID:
|
||||
case NATURE_SERIOUS:
|
||||
case NATURE_MODEST:
|
||||
case NATURE_MILD:
|
||||
case NATURE_QUIET:
|
||||
case NATURE_BASHFUL:
|
||||
case NATURE_CALM:
|
||||
case NATURE_GENTLE:
|
||||
case NATURE_CAREFUL:
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -6530,7 +6603,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, u
|
||||
}
|
||||
break;
|
||||
case EVO_TRADE_SPECIFIC_MON:
|
||||
if (gEvolutionTable[species][i].param == tradePartnerSpecies)
|
||||
if (gEvolutionTable[species][i].param == partnerSpecies && partnerHoldEffect != HOLD_EFFECT_PREVENT_EVOLVE)
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
break;
|
||||
}
|
||||
@ -6557,6 +6630,47 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, u
|
||||
}
|
||||
}
|
||||
break;
|
||||
#ifdef BATTLE_ENGINE
|
||||
// Battle evolution without leveling; party slot is being passed into the evolutionItem arg.
|
||||
case EVO_MODE_BATTLE_SPECIAL:
|
||||
for (i = 0; i < EVOS_PER_MON; i++)
|
||||
{
|
||||
switch (gEvolutionTable[species][i].method)
|
||||
{
|
||||
case EVO_CRITICAL_HITS:
|
||||
if (gPartyCriticalHits[evolutionItem] >= gEvolutionTable[species][i].param)
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
// Overworld evolution without leveling; evolution method is being passed into the evolutionItem arg.
|
||||
case EVO_MODE_OVERWORLD_SPECIAL:
|
||||
for (i = 0; i < EVOS_PER_MON; i++)
|
||||
{
|
||||
switch (gEvolutionTable[species][i].method)
|
||||
{
|
||||
case EVO_SCRIPT_TRIGGER_DMG:
|
||||
{
|
||||
u16 currentHp = GetMonData(mon, MON_DATA_HP, NULL);
|
||||
if (evolutionItem == EVO_SCRIPT_TRIGGER_DMG
|
||||
&& currentHp != 0
|
||||
&& (GetMonData(mon, MON_DATA_MAX_HP, NULL) - currentHp >= gEvolutionTable[species][i].param))
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
break;
|
||||
}
|
||||
case EVO_DARK_SCROLL:
|
||||
if (evolutionItem == EVO_DARK_SCROLL)
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
break;
|
||||
case EVO_WATER_SCROLL:
|
||||
if (evolutionItem == EVO_WATER_SCROLL)
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return targetSpecies;
|
||||
@ -7938,7 +8052,10 @@ bool8 HasTwoFramesAnimation(u16 species)
|
||||
return (species != SPECIES_CASTFORM
|
||||
&& species != SPECIES_SPINDA
|
||||
&& species != SPECIES_UNOWN
|
||||
&& species != SPECIES_CHERRIM);
|
||||
&& species != SPECIES_CHERRIM
|
||||
&& species != SPECIES_CASTFORM_SUNNY
|
||||
&& species != SPECIES_CASTFORM_RAINY
|
||||
&& species != SPECIES_CASTFORM_SNOWY);
|
||||
}
|
||||
|
||||
static bool8 ShouldSkipFriendshipChange(void)
|
||||
@ -8250,3 +8367,52 @@ u16 MonTryLearningNewMoveEvolution(struct Pokemon *mon, bool8 firstMove)
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void RemoveIVIndexFromList(u8 *ivs, u8 selectedIv)
|
||||
{
|
||||
s32 i, j;
|
||||
u8 temp[NUM_STATS];
|
||||
|
||||
ivs[selectedIv] = 0xFF;
|
||||
for (i = 0; i < NUM_STATS; i++)
|
||||
{
|
||||
temp[i] = ivs[i];
|
||||
}
|
||||
|
||||
j = 0;
|
||||
for (i = 0; i < NUM_STATS; i++)
|
||||
{
|
||||
if (temp[i] != 0xFF)
|
||||
ivs[j++] = temp[i];
|
||||
}
|
||||
}
|
||||
|
||||
// Attempts to perform non-level/item related overworld evolutions; called by tryspecialevo command.
|
||||
void TrySpecialOverworldEvo(void)
|
||||
{
|
||||
u8 i;
|
||||
u8 evoMethod = gSpecialVar_0x8000;
|
||||
u16 canStopEvo = gSpecialVar_0x8001;
|
||||
u16 tryMultiple = gSpecialVar_0x8002;
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
u16 targetSpecies = GetEvolutionTargetSpecies(&gPlayerParty[i], EVO_MODE_OVERWORLD_SPECIAL, evoMethod, SPECIES_NONE);
|
||||
if (targetSpecies != SPECIES_NONE && !(sTriedEvolving & gBitTable[i]))
|
||||
{
|
||||
sTriedEvolving |= gBitTable[i];
|
||||
if(gMain.callback2 == TrySpecialOverworldEvo) // This fixes small graphics glitches.
|
||||
EvolutionScene(&gPlayerParty[i], targetSpecies, canStopEvo, i);
|
||||
else
|
||||
BeginEvolutionScene(&gPlayerParty[i], targetSpecies, canStopEvo, i);
|
||||
if (tryMultiple)
|
||||
gCB2_AfterEvolution = TrySpecialOverworldEvo;
|
||||
else
|
||||
gCB2_AfterEvolution = CB2_ReturnToField;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
sTriedEvolving = 0;
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
}
|
||||
|
@ -1235,8 +1235,8 @@ const u8 *const gMonIconTable[] =
|
||||
[SPECIES_ETERNATUS_ETERNAMAX] = gMonIcon_EternatusEternamax,
|
||||
[SPECIES_URSHIFU_RAPID_STRIKE_STYLE] = gMonIcon_Urshifu,
|
||||
[SPECIES_ZARUDE_DADA] = gMonIcon_ZarudeDada,
|
||||
[SPECIES_CALYREX_ICE_RIDER] = gMonIcon_QuestionMark,//gMonIcon_CalyrexIceRider,
|
||||
[SPECIES_CALYREX_SHADOW_RIDER] = gMonIcon_QuestionMark,//gMonIcon_CalyrexShadowRider,
|
||||
[SPECIES_CALYREX_ICE_RIDER] = gMonIcon_CalyrexIceRider,
|
||||
[SPECIES_CALYREX_SHADOW_RIDER] = gMonIcon_CalyrexShadowRider,
|
||||
[SPECIES_EGG] = gMonIcon_Egg,
|
||||
};
|
||||
|
||||
|
@ -434,17 +434,37 @@ static const struct PokemonJumpMons sPokeJumpMons[] =
|
||||
{ .species = SPECIES_WEEDLE, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_KAKUNA, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_RATTATA, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_RATTATA_ALOLAN, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_RATICATE, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_RATICATE_ALOLAN, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_PIKACHU, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PIKACHU_COSPLAY, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PIKACHU_ROCK_STAR, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PIKACHU_BELLE, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PIKACHU_POP_STAR, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PIKACHU_PH_D, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PIKACHU_LIBRE, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PIKACHU_ORIGINAL_CAP, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PIKACHU_HOENN_CAP, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PIKACHU_SINNOH_CAP, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PIKACHU_UNOVA_CAP, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PIKACHU_KALOS_CAP, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PIKACHU_ALOLA_CAP, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PIKACHU_PARTNER_CAP, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PIKACHU_WORLD_CAP, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_SANDSHREW, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_SANDSHREW_ALOLAN, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_NIDORAN_F, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_NIDORAN_M, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_CLEFAIRY, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_VULPIX, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_VULPIX_ALOLAN, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_JIGGLYPUFF, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_ODDISH, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_PARAS, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_MEOWTH, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_MEOWTH_ALOLAN, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_MEOWTH_GALARIAN, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PSYDUCK, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_MANKEY, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_GROWLITHE, .jumpType = JUMP_TYPE_FAST, },
|
||||
@ -463,6 +483,7 @@ static const struct PokemonJumpMons sPokeJumpMons[] =
|
||||
{ .species = SPECIES_TOTODILE, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_SPINARAK, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_PICHU, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PICHU_SPIKY_EARED, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_CLEFFA, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_IGGLYBUFF, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_TOGEPI, .jumpType = JUMP_TYPE_SLOW, },
|
||||
@ -491,7 +512,9 @@ static const struct PokemonJumpMons sPokeJumpMons[] =
|
||||
{ .species = SPECIES_MARSHTOMP, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_POOCHYENA, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_ZIGZAGOON, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_ZIGZAGOON_GALARIAN, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_LINOONE, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_LINOONE_GALARIAN, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_WURMPLE, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_SILCOON, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_CASCOON, .jumpType = JUMP_TYPE_SLOW, },
|
||||
@ -506,6 +529,7 @@ static const struct PokemonJumpMons sPokeJumpMons[] =
|
||||
{ .species = SPECIES_AZURILL, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_SKITTY, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_SABLEYE, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_SABLEYE_MEGA, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_MAWILE, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_ARON, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_MEDITITE, .jumpType = JUMP_TYPE_SLOW, },
|
||||
@ -526,6 +550,164 @@ static const struct PokemonJumpMons sPokeJumpMons[] =
|
||||
{ .species = SPECIES_SNORUNT, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_CLAMPERL, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_BAGON, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_TURTWIG, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_CHIMCHAR, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_PIPLUP, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_BIDOOF, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_KRICKETOT, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_SHINX, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_BUDEW, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_SHIELDON, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_PACHIRISU, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_BUIZEL, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_CHERUBI, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_CHERRIM, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_CHERRIM_SUNSHINE, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_SHELLOS, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_SHELLOS_EAST_SEA, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_BUNEARY, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_GLAMEOW, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_STUNKY, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_BONSLY, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_MIME_JR, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_HAPPINY, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_GIBLE, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_MUNCHLAX, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_RIOLU, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_CROAGUNK, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_SHAYMIN, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_SNIVY, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_TEPIG, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_OSHAWOTT, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PATRAT, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_LILLIPUP, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_PURRLOIN, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_PANSAGE, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PANSEAR, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_PANPOUR, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_ROGGENROLA, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_DRILBUR, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_EXCADRILL, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_TIMBURR, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_SEWADDLE, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_SWADLOON, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_VENIPEDE, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_PETILIL, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_SANDILE, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_DARUMAKA, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_DARUMAKA_GALARIAN, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_DWEBBLE, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_SCRAGGY, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_ARCHEN, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_TRUBBISH, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_ZORUA, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_MINCCINO, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_CINCCINO, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_GOTHITA, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_GOTHORITA, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_DEERLING, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_DEERLING_SUMMER, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_DEERLING_AUTUMN, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_DEERLING_WINTER, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_KARRABLAST, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_FOONGUS, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_AMOONGUSS, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_JOLTIK, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_LITWICK, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_AXEW, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_CUBCHOO, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_SHELMET, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_STUNFISK, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_STUNFISK_GALARIAN, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_PAWNIARD, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_DURANT, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_CHESPIN, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_QUILLADIN, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_FENNEKIN, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_FROAKIE, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_FROGADIER, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_BUNNELBY, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_SCATTERBUG, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_SPEWPA, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_LITLEO, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_PANCHAM, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_ESPURR, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_MEOWSTIC, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_MEOWSTIC_FEMALE, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_BINACLE, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_CLAUNCHER, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_HELIOPTILE, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_DEDENNE, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_GOOMY, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_ROWLET, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_DARTRIX, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_LITTEN, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_TORRACAT, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_POPPLIO, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_BRIONNE, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_YUNGOOS, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_GUMSHOOS, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_GRUBBIN, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_CHARJABUG, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_CRABRAWLER, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_ROCKRUFF, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_ROCKRUFF_OWN_TEMPO, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_MAREANIE, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_DEWPIDER, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_FOMANTIS, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_MORELULL, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_SALANDIT, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_STUFFUL, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_BOUNSWEET, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_STEENEE, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_WIMPOD, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_PYUKUMUKU, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_KOMALA, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_TOGEDEMARU, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_MIMIKYU, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_MIMIKYU_BUSTED, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_JANGMO_O, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_MARSHADOW, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_MELTAN, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_GROOKEY, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_THWACKEY, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_SCORBUNNY, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_RABOOT, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_SOBBLE, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_DRIZZILE, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_SKWOVET, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_SKWOVET, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_BLIPBUG, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_DOTTLER, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_NICKIT, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_GOSSIFLEUR, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_ELDEGOSS, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_WOOLOO, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_CHEWTLE, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_YAMPER, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_ROLYCOLY, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_APPLIN, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_APPLETUN, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_TOXEL, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_SIZZLIPEDE, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_CLOBBOPUS, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_HATENNA, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_HATTREM, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_IMPIDIMP, .jumpType = JUMP_TYPE_FAST, },
|
||||
{ .species = SPECIES_ALCREMIE, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_ALCREMIE_RUBY_CREAM, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_ALCREMIE_MATCHA_CREAM, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_ALCREMIE_MINT_CREAM, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_ALCREMIE_LEMON_CREAM, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_ALCREMIE_SALTED_CREAM, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_ALCREMIE_RUBY_SWIRL, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_ALCREMIE_CARAMEL_SWIRL, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_ALCREMIE_RAINBOW_SWIRL, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_PINCURCHIN, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_SNOM, .jumpType = JUMP_TYPE_SLOW, },
|
||||
{ .species = SPECIES_MORPEKO, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_MORPEKO_HANGRY, .jumpType = JUMP_TYPE_NORMAL, },
|
||||
{ .species = SPECIES_KUBFU, .jumpType = JUMP_TYPE_FAST, },
|
||||
};
|
||||
|
||||
void StartPokemonJump(u16 partyId, MainCallback exitCallback)
|
||||
|
@ -3797,7 +3797,7 @@ static bool8 AnimateTradeSequenceCable(void)
|
||||
case TS_STATE_TRY_EVOLUTION: // Only if in-game trade, link trades use CB2_TryLinkTradeEvolution
|
||||
TradeMons(gSpecialVar_0x8005, 0);
|
||||
gCB2_AfterEvolution = CB2_UpdateInGameTrade;
|
||||
evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], EVO_MODE_TRADE, ITEM_NONE, GetMonData(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PARTNER]], MON_DATA_SPECIES));
|
||||
evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], EVO_MODE_TRADE, ITEM_NONE, &gPlayerParty[gSelectedTradeMonPositions[TRADE_PARTNER]]);
|
||||
if (evoTarget != SPECIES_NONE)
|
||||
{
|
||||
TradeEvolutionScene(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], evoTarget, sTradeData->monSpriteIds[TRADE_PARTNER], gSelectedTradeMonPositions[TRADE_PLAYER]);
|
||||
@ -4297,7 +4297,7 @@ static bool8 AnimateTradeSequenceWireless(void)
|
||||
case TS_STATE_TRY_EVOLUTION: // Only if in-game trade, link trades use CB2_TryLinkTradeEvolution
|
||||
TradeMons(gSpecialVar_0x8005, 0);
|
||||
gCB2_AfterEvolution = CB2_UpdateInGameTrade;
|
||||
evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], EVO_MODE_TRADE, ITEM_NONE, GetMonData(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PARTNER]], MON_DATA_SPECIES));
|
||||
evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], EVO_MODE_TRADE, ITEM_NONE, &gPlayerParty[gSelectedTradeMonPositions[TRADE_PARTNER]]);
|
||||
if (evoTarget != SPECIES_NONE)
|
||||
{
|
||||
TradeEvolutionScene(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], evoTarget, sTradeData->monSpriteIds[TRADE_PARTNER], gSelectedTradeMonPositions[TRADE_PLAYER]);
|
||||
@ -4342,7 +4342,7 @@ static void CB2_TryLinkTradeEvolution(void)
|
||||
break;
|
||||
case 4:
|
||||
gCB2_AfterEvolution = CB2_SaveAndEndTrade;
|
||||
evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], EVO_MODE_TRADE, ITEM_NONE, GetMonData(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PARTNER]], MON_DATA_SPECIES));
|
||||
evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], EVO_MODE_TRADE, ITEM_NONE, &gPlayerParty[gSelectedTradeMonPositions[TRADE_PARTNER]]);
|
||||
if (evoTarget != SPECIES_NONE)
|
||||
TradeEvolutionScene(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], evoTarget, sTradeData->monSpriteIds[TRADE_PARTNER], gSelectedTradeMonPositions[TRADE_PLAYER]);
|
||||
else if (IsWirelessTrade())
|
||||
|