Reading Follower data from gSpeciesInfo

This commit is contained in:
Eduardo Quezada 2024-01-24 07:34:39 -03:00
parent 2e1a3d4191
commit f5239aae3c
24 changed files with 8760 additions and 5902 deletions

View File

@ -32,6 +32,7 @@
// Other settings
#define P_CUSTOM_GENDER_DIFF_ICONS TRUE // If TRUE, will give more Pokémon custom icons for their female forms, i.e. Hippopotas and Hippowdon
#define P_FOOTPRINTS TRUE // If TRUE, Pokémon will have footprints (as was the case up to Gen 5 and in BDSP). Disabling this saves some ROM space.
#define P_FOLLOWERS TRUE // PLACEHOLDER_DESCRIPTION
#define P_LEGENDARY_PERFECT_IVS GEN_LATEST // Since Gen 6, Legendaries, Mythicals and Ultra Beasts found in the wild or given through gifts have at least 3 perfect IVs.
#define P_EV_CAP GEN_LATEST // Since Gen 6, the max EVs per stat is 252 instead of 255.
#define P_SHOW_TERA_TYPE GEN_LATEST // Since Gen 9, the Tera Type is shown on the summary screen.

View File

@ -355,4 +355,51 @@
#define LOCALID_BATTLE_FRONTIER_MART_CLERK 1
#define LOCALID_SLATEPORT_ENERGY_GURU 25
#define OBJ_EVENT_PAL_TAG_BRENDAN 0x1100
#define OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION 0x1101
#define OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION 0x1102
#define OBJ_EVENT_PAL_TAG_NPC_1 0x1103
#define OBJ_EVENT_PAL_TAG_NPC_2 0x1104
#define OBJ_EVENT_PAL_TAG_NPC_3 0x1105
#define OBJ_EVENT_PAL_TAG_NPC_4 0x1106
#define OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION 0x1107
#define OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION 0x1108
#define OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION 0x1109
#define OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION 0x110A
#define OBJ_EVENT_PAL_TAG_QUINTY_PLUMP 0x110B
#define OBJ_EVENT_PAL_TAG_QUINTY_PLUMP_REFLECTION 0x110C
#define OBJ_EVENT_PAL_TAG_TRUCK 0x110D
#define OBJ_EVENT_PAL_TAG_VIGOROTH 0x110E
#define OBJ_EVENT_PAL_TAG_ZIGZAGOON 0x110F
#define OBJ_EVENT_PAL_TAG_MAY 0x1110
#define OBJ_EVENT_PAL_TAG_MAY_REFLECTION 0x1111
#define OBJ_EVENT_PAL_TAG_MOVING_BOX 0x1112
#define OBJ_EVENT_PAL_TAG_CABLE_CAR 0x1113
#define OBJ_EVENT_PAL_TAG_SSTIDAL 0x1114
#define OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER 0x1115
#define OBJ_EVENT_PAL_TAG_KYOGRE 0x1116
#define OBJ_EVENT_PAL_TAG_KYOGRE_REFLECTION 0x1117
#define OBJ_EVENT_PAL_TAG_GROUDON 0x1118
#define OBJ_EVENT_PAL_TAG_GROUDON_REFLECTION 0x1119
#define OBJ_EVENT_PAL_TAG_UNUSED 0x111A
#define OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW 0x111B
#define OBJ_EVENT_PAL_TAG_POOCHYENA 0x111C
#define OBJ_EVENT_PAL_TAG_RED_LEAF 0x111D
#define OBJ_EVENT_PAL_TAG_DEOXYS 0x111E
#define OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE 0x111F
#define OBJ_EVENT_PAL_TAG_HO_OH 0x1120
#define OBJ_EVENT_PAL_TAG_LUGIA 0x1121
#define OBJ_EVENT_PAL_TAG_RS_BRENDAN 0x1122
#define OBJ_EVENT_PAL_TAG_RS_MAY 0x1123
#define OBJ_EVENT_PAL_TAG_DYNAMIC 0x1124
#define OBJ_EVENT_PAL_TAG_EMOTES 0x8002
// Not a real OW palette tag; used for the white flash applied to followers
#define OBJ_EVENT_PAL_TAG_WHITE (OBJ_EVENT_PAL_TAG_NONE - 1)
#define OBJ_EVENT_PAL_TAG_NONE 0x11FF
// This + localId is used as the tileTag
// for compressed graphicsInfos
// '(C)ompressed (E)vent'
#define COMP_OW_TILE_TAG_BASE 0xCE00
#endif // GUARD_CONSTANTS_EVENT_OBJECTS_H

View File

@ -99,6 +99,10 @@ struct LockedAnimObjectEvents
extern const struct OamData gObjectEventBaseOam_32x8;
extern const struct OamData gObjectEventBaseOam_32x32;
extern const struct OamData gObjectEventBaseOam_64x64;
extern const struct SubspriteTable sOamTables_32x32[];
extern const struct SubspriteTable sOamTables_64x64[];
extern const union AnimCmd *const sAnimTable_Following[];
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
extern const u8 gReflectionEffectPaletteMap[];

View File

@ -440,6 +440,7 @@ struct SpeciesInfo /*0x8C*/
/* 0x88 */ const struct Evolution *evolutions;
/* 0x84 */ const u16 *formSpeciesIdTable;
/* 0x84 */ const struct FormChange *formChangeTable;
struct ObjectEventGraphicsInfo followerData;
};
struct BattleMove

View File

@ -1290,7 +1290,7 @@ static const union AnimCmd *const sAnimTable_RayquazaSpotlightEffect[] = {
};
static const struct SpriteFrameImage sPicTable_RayquazaSpotlightEffect[] = {
overworld_frame(gObjectEventPic_Rayquaza, 4, 4, 0),
overworld_frame(gObjectEventPic_RayquazaCutscene, 4, 4, 0),
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza = {

File diff suppressed because it is too large Load Diff

View File

@ -1083,7 +1083,7 @@ static const union AnimCmd *const sAnimTable_Standard[] = {
[ANIM_STD_GO_FASTEST_EAST] = sAnim_GoFastestEast,
};
static const union AnimCmd *const sAnimTable_Following[] = {
const union AnimCmd *const sAnimTable_Following[] = {
sAnim_FaceSouth,
sAnim_FaceNorth2F,
sAnim_FaceWest2F,

File diff suppressed because it is too large Load Diff

View File

@ -4687,6 +4687,6 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Follower = {
.oam = &gObjectEventBaseOam_32x32,
.subspriteTables = sOamTables_32x32,
.anims = sAnimTable_Following,
.images = sPicTable_Togetic,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
};

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -272,7 +272,7 @@ static const struct Subsprite sOamTable_32x32_4[] = {
}
};
static const struct SubspriteTable sOamTables_32x32[] = {
const struct SubspriteTable sOamTables_32x32[] = {
{},
{ARRAY_COUNT(sOamTable_32x32_0), sOamTable_32x32_0},
{ARRAY_COUNT(sOamTable_32x32_1), sOamTable_32x32_1},
@ -371,7 +371,7 @@ static const struct Subsprite sOamTable_64x64_3[] = {
}
};
static const struct SubspriteTable sOamTables_64x64[] = {
const struct SubspriteTable sOamTables_64x64[] = {
{},
{ARRAY_COUNT(sOamTable_64x64_0), sOamTable_64x64_0},
{ARRAY_COUNT(sOamTable_64x64_1), sOamTable_64x64_1},

View File

@ -223,6 +223,32 @@ const u8 gOgerponCornerstoneMaskPokedexText[] = _(
#define FOOTPRINT(sprite)
#endif
#define SIZE_32x32 1
#define SIZE_64x64 0
// Set .compressed = OW_GFX_COMPRESS
#define COMP OW_GFX_COMPRESS
#define FOLLOWER(name, _size, shadow, _tracks) \
.followerData = { \
.tileTag = TAG_NONE, \
.paletteTag = OBJ_EVENT_PAL_TAG_DYNAMIC, \
.reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, \
.size = (_size == SIZE_32x32 ? 512 : 2048), \
.width = (_size == SIZE_32x32 ? 32 : 64), \
.height = (_size == SIZE_32x32 ? 32 : 64), \
.paletteSlot = PALSLOT_NPC_1, \
.shadowSize = shadow, \
.inanimate = FALSE, \
.compressed = COMP, \
.tracks = _tracks, \
.oam = (_size == SIZE_32x32 ? &gObjectEventBaseOam_32x32 : &gObjectEventBaseOam_64x64), \
.subspriteTables = (_size == SIZE_32x32 ? sOamTables_32x32 : sOamTables_64x64), \
.anims = sAnimTable_Following, \
.images = sPicTable_##name, \
.affineAnims = gDummySpriteAffineAnimTable, \
},
// Maximum value for a female Pokémon is 254 (MON_FEMALE) which is 100% female.
// 255 (MON_GENDERLESS) is reserved for genderless Pokémon.
#define PERCENT_FEMALE(percent) min(254, ((percent * 255) / 100))

File diff suppressed because it is too large Load Diff

View File

@ -48,6 +48,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Chikorita),
ICON(Chikorita, 1),
FOOTPRINT(Chikorita)
FOLLOWER(Chikorita, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Chikorita),
.evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_BAYLEEF}),
},
@ -97,6 +98,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Bayleef),
ICON(Bayleef, 1),
FOOTPRINT(Bayleef)
FOLLOWER(Bayleef, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Bayleef),
.evolutions = EVOLUTION({EVO_LEVEL, 32, SPECIES_MEGANIUM}),
},
@ -154,6 +156,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Meganium),
ICON(Meganium, 1),
FOOTPRINT(Meganium)
FOLLOWER(Meganium, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Meganium),
},
#endif //P_FAMILY_CHIKORITA
@ -203,6 +206,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Cyndaquil),
ICON(Cyndaquil, 3),
FOOTPRINT(Cyndaquil)
FOLLOWER(Cyndaquil, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Cyndaquil),
.evolutions = EVOLUTION({EVO_LEVEL, 14, SPECIES_QUILAVA}),
},
@ -252,6 +256,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Quilava),
ICON(Quilava, 3),
FOOTPRINT(Quilava)
FOLLOWER(Quilava, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Quilava),
.evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_TYPHLOSION},
{EVO_NONE, 0, SPECIES_TYPHLOSION_HISUIAN}),
@ -314,6 +319,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
.backAnimId = BACK_ANIM_SHAKE_GLOW_RED,
PALETTES(Typhlosion),
ICON(Typhlosion, 3),
FOLLOWER(Typhlosion, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Typhlosion),
},
@ -350,6 +356,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(TyphlosionHisuian),
ICON(TyphlosionHisuian, 1),
FOLLOWER(TyphlosionHisuian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(TyphlosionHisuian),
.isHisuianForm = TRUE,
},
@ -401,6 +408,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Totodile),
ICON(Totodile, 0),
FOOTPRINT(Totodile)
FOLLOWER(Totodile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Totodile),
.evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_CROCONAW}),
},
@ -451,6 +459,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Croconaw),
ICON(Croconaw, 0),
FOOTPRINT(Croconaw)
FOLLOWER(Croconaw, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Croconaw),
.evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_FERALIGATR}),
},
@ -507,6 +516,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Feraligatr),
ICON(Feraligatr, 0),
FOOTPRINT(Feraligatr)
FOLLOWER(Feraligatr, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Feraligatr),
},
#endif //P_FAMILY_TOTODILE
@ -556,6 +566,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Sentret),
ICON(Sentret, 2),
FOOTPRINT(Sentret)
FOLLOWER(Sentret, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Sentret),
.evolutions = EVOLUTION({EVO_LEVEL, 15, SPECIES_FURRET}),
},
@ -604,6 +615,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Furret),
ICON(Furret, 2),
FOOTPRINT(Furret)
FOLLOWER(Furret, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Furret),
},
#endif //P_FAMILY_SENTRET
@ -653,6 +665,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Hoothoot),
ICON(Hoothoot, 2),
FOOTPRINT(Hoothoot)
FOLLOWER(Hoothoot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Hoothoot),
.evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_NOCTOWL}),
},
@ -707,6 +720,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Noctowl),
ICON(Noctowl, 2),
FOOTPRINT(Noctowl)
FOLLOWER(Noctowl, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE)
LEARNSETS(Noctowl),
},
#endif //P_FAMILY_HOOTHOOT
@ -758,6 +772,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Ledyba),
ICON(Ledyba, 0),
FOOTPRINT(Ledyba)
FOLLOWER(Ledyba, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG)
LEARNSETS(Ledyba),
.evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_LEDIAN}),
},
@ -809,6 +824,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Ledian),
ICON(Ledian, 0),
FOOTPRINT(Ledian)
FOLLOWER(Ledian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Ledian),
},
#endif //P_FAMILY_LEDYBA
@ -858,6 +874,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Spinarak),
ICON(Spinarak, 1),
FOOTPRINT(Spinarak)
FOLLOWER(Spinarak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG)
LEARNSETS(Spinarak),
.evolutions = EVOLUTION({EVO_LEVEL, 22, SPECIES_ARIADOS}),
},
@ -912,6 +929,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Ariados),
ICON(Ariados, 0),
FOOTPRINT(Ariados)
FOLLOWER(Ariados, SIZE_32x32, SHADOW_SIZE_M, TRACKS_BUG)
LEARNSETS(Ariados),
},
#endif //P_FAMILY_SPINARAK
@ -962,6 +980,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Chinchou),
ICON(Chinchou, 2),
FOOTPRINT(Chinchou)
FOLLOWER(Chinchou, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT)
LEARNSETS(Chinchou),
.evolutions = EVOLUTION({EVO_LEVEL, 27, SPECIES_LANTURN}),
},
@ -1011,6 +1030,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Lanturn),
ICON(Lanturn, 0),
FOOTPRINT(Lanturn)
FOLLOWER(Lanturn, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT)
LEARNSETS(Lanturn),
},
#endif //P_FAMILY_CHINCHOU
@ -1062,6 +1082,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Togepi),
ICON(Togepi, 0),
FOOTPRINT(Togepi)
FOLLOWER(Togepi, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Togepi),
.evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_TOGETIC}),
},
@ -1110,6 +1131,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Togetic),
ICON(Togetic, 0),
FOOTPRINT(Togetic)
FOLLOWER(Togetic, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE)
LEARNSETS(Togetic),
.evolutions = EVOLUTION({EVO_ITEM, ITEM_SHINY_STONE, SPECIES_TOGEKISS}),
},
@ -1172,6 +1194,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Togekiss),
ICON(Togekiss, 2),
FOOTPRINT(Togekiss)
FOLLOWER(Togekiss, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Togekiss),
},
#endif //P_GEN_4_CROSS_EVOS
@ -1223,6 +1246,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Natu),
ICON(Natu, 1),
FOOTPRINT(Natu)
FOLLOWER(Natu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Natu),
.evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_XATU}),
},
@ -1273,6 +1297,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Xatu),
ICON(Xatu, 1),
FOOTPRINT(Xatu)
FOLLOWER(Xatu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Xatu),
},
#endif //P_FAMILY_NATU
@ -1323,6 +1348,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Mareep),
ICON(Mareep, 0),
FOOTPRINT(Mareep)
FOLLOWER(Mareep, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Mareep),
.evolutions = EVOLUTION({EVO_LEVEL, 15, SPECIES_FLAAFFY}),
},
@ -1371,6 +1397,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Flaaffy),
ICON(Flaaffy, 0),
FOOTPRINT(Flaaffy)
FOLLOWER(Flaaffy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Flaaffy),
.evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_AMPHAROS}),
},
@ -1436,6 +1463,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
.backAnimId = BACK_ANIM_SHAKE_FLASH_YELLOW,
PALETTES(Ampharos),
ICON(Ampharos, 0),
FOLLOWER(Ampharos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_MEGA_EVOLUTIONS
@ -1521,6 +1549,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Azurill),
ICON(Azurill, 0),
FOOTPRINT(Azurill)
FOLLOWER(Azurill, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Azurill),
.evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_MARILL}),
},
@ -1574,6 +1603,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Marill),
ICON(Marill, 0),
FOOTPRINT(Marill)
FOLLOWER(Marill, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Marill),
.evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_AZUMARILL}),
},
@ -1634,6 +1664,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Azumarill),
ICON(Azumarill, 0),
FOOTPRINT(Azumarill)
FOLLOWER(Azumarill, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Azumarill),
},
#endif //P_FAMILY_MARILL
@ -1684,6 +1715,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Bonsly),
ICON(Bonsly, 1),
FOOTPRINT(Bonsly)
FOLLOWER(Bonsly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Bonsly),
.evolutions = EVOLUTION({EVO_MOVE, MOVE_MIMIC, SPECIES_SUDOWOODO}),
},
@ -1735,6 +1767,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Sudowoodo),
ICON(Sudowoodo, 1),
FOOTPRINT(Sudowoodo)
FOLLOWER(Sudowoodo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Sudowoodo),
},
#endif //P_FAMILY_SUDOWOODO
@ -1785,6 +1818,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Hoppip),
ICON(Hoppip, 1),
FOOTPRINT(Hoppip)
FOLLOWER(Hoppip, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE)
LEARNSETS(Hoppip),
.evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_SKIPLOOM}),
},
@ -1834,6 +1868,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Skiploom),
ICON(Skiploom, 1),
FOOTPRINT(Skiploom)
FOLLOWER(Skiploom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE)
LEARNSETS(Skiploom),
.evolutions = EVOLUTION({EVO_LEVEL, 27, SPECIES_JUMPLUFF}),
},
@ -1891,6 +1926,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Jumpluff),
ICON(Jumpluff, 2),
FOOTPRINT(Jumpluff)
FOLLOWER(Jumpluff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE)
LEARNSETS(Jumpluff),
},
#endif //P_FAMILY_HOPPIP
@ -1942,6 +1978,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Aipom),
ICON(Aipom, 2),
FOOTPRINT(Aipom)
FOLLOWER(Aipom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Aipom),
.evolutions = EVOLUTION({EVO_MOVE, MOVE_DOUBLE_HIT, SPECIES_AMBIPOM}),
},
@ -1993,6 +2030,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Ambipom),
ICON(Ambipom, 2),
FOOTPRINT(Ambipom)
FOLLOWER(Ambipom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Ambipom),
},
#endif //P_GEN_4_CROSS_EVOS
@ -2043,6 +2081,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Sunkern),
ICON(Sunkern, 1),
FOOTPRINT(Sunkern)
FOLLOWER(Sunkern, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT)
LEARNSETS(Sunkern),
.evolutions = EVOLUTION({EVO_ITEM, ITEM_SUN_STONE, SPECIES_SUNFLORA}),
},
@ -2091,6 +2130,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Sunflora),
ICON(Sunflora, 1),
FOOTPRINT(Sunflora)
FOLLOWER(Sunflora, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Sunflora),
},
#endif //P_FAMILY_SUNKERN
@ -2142,6 +2182,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Yanma),
ICON(Yanma, 1),
FOOTPRINT(Yanma)
FOLLOWER(Yanma, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE)
LEARNSETS(Yanma),
.evolutions = EVOLUTION({EVO_MOVE, MOVE_ANCIENT_POWER, SPECIES_YANMEGA}),
},
@ -2193,6 +2234,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Yanmega),
ICON(Yanmega, 1),
FOOTPRINT(Yanmega)
FOLLOWER(Yanmega, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Yanmega),
},
#endif //P_GEN_4_CROSS_EVOS
@ -2249,6 +2291,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
.backAnimId = BACK_ANIM_V_STRETCH,
PALETTES(Wooper),
ICON(Wooper, 0),
FOLLOWER(Wooper, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Wooper),
.evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_QUAGSIRE}),
},
@ -2299,6 +2342,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Quagsire),
ICON(Quagsire, 0),
FOOTPRINT(Quagsire)
FOLLOWER(Quagsire, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Quagsire),
},
@ -2427,6 +2471,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Murkrow),
ICON(Murkrow, 2),
FOOTPRINT(Murkrow)
FOLLOWER(Murkrow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Murkrow),
.evolutions = EVOLUTION({EVO_ITEM, ITEM_DUSK_STONE, SPECIES_HONCHKROW}),
},
@ -2476,6 +2521,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Honchkrow),
ICON(Honchkrow, 2),
FOOTPRINT(Honchkrow)
FOLLOWER(Honchkrow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Honchkrow),
},
#endif //P_GEN_4_CROSS_EVOS
@ -2528,6 +2574,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Misdreavus),
ICON(Misdreavus, 0),
FOOTPRINT(Misdreavus)
FOLLOWER(Misdreavus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE)
LEARNSETS(Misdreavus),
.evolutions = EVOLUTION({EVO_ITEM, ITEM_DUSK_STONE, SPECIES_MISMAGIUS}),
},
@ -2579,6 +2626,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Mismagius),
ICON(Mismagius, 2),
FOOTPRINT(Mismagius)
FOLLOWER(Mismagius, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Mismagius),
},
#endif //P_GEN_4_CROSS_EVOS
@ -2623,6 +2671,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Unown), \
ICON(Unown ##letter, 0), \
FOOTPRINT(Unown) \
FOLLOWER(Unown ##letter, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE)\
LEARNSETS(Unown), \
.formSpeciesIdTable = sUnownFormSpeciesIdTable
@ -2916,6 +2965,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Wynaut),
ICON(Wynaut, 0),
FOOTPRINT(Wynaut)
FOLLOWER(Wynaut, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Wynaut),
.evolutions = EVOLUTION({EVO_LEVEL, 15, SPECIES_WOBBUFFET}),
},
@ -2970,6 +3020,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
ICON_FEMALE(Wobbuffet, 0),
#endif
FOOTPRINT(Wobbuffet)
FOLLOWER(Wobbuffet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Wobbuffet),
},
#endif //P_FAMILY_WOBBUFFET
@ -3021,6 +3072,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Girafarig),
ICON(Girafarig, 1),
FOOTPRINT(Girafarig)
FOLLOWER(Girafarig, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Girafarig),
.evolutions = EVOLUTION({EVO_MOVE, MOVE_TWIN_BEAM, SPECIES_FARIGIRAF}),
},
@ -3120,6 +3172,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Pineco),
ICON(Pineco, 0),
FOOTPRINT(Pineco)
FOLLOWER(Pineco, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT)
LEARNSETS(Pineco),
.evolutions = EVOLUTION({EVO_LEVEL, 31, SPECIES_FORRETRESS}),
},
@ -3168,6 +3221,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Forretress),
ICON(Forretress, 2),
FOOTPRINT(Forretress)
FOLLOWER(Forretress, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT)
LEARNSETS(Forretress),
},
#endif //P_FAMILY_PINECO
@ -3224,6 +3278,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Dunsparce),
ICON(Dunsparce, 0),
FOOTPRINT(Dunsparce)
FOLLOWER(Dunsparce, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT)
LEARNSETS(Dunsparce),
.evolutions = EVOLUTION({EVO_MOVE_TWO_SEGMENT, MOVE_HYPER_DRILL, SPECIES_DUDUNSPARCE_TWO_SEGMENT},
{EVO_MOVE_THREE_SEGMENT, MOVE_HYPER_DRILL, SPECIES_DUDUNSPARCE_THREE_SEGMENT}),
@ -3343,6 +3398,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Gligar),
ICON(Gligar, 0),
FOOTPRINT(Gligar)
FOLLOWER(Gligar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE)
LEARNSETS(Gligar),
.evolutions = EVOLUTION({EVO_ITEM_HOLD_NIGHT, ITEM_RAZOR_FANG, SPECIES_GLISCOR},
{EVO_ITEM_NIGHT, ITEM_RAZOR_FANG, SPECIES_GLISCOR}),
@ -3394,6 +3450,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Gliscor),
ICON(Gliscor, 2),
FOOTPRINT(Gliscor)
FOLLOWER(Gliscor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Gliscor),
},
#endif //P_GEN_4_CROSS_EVOS
@ -3448,6 +3505,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Snubbull),
ICON(Snubbull, 0),
FOOTPRINT(Snubbull)
FOLLOWER(Snubbull, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Snubbull),
.evolutions = EVOLUTION({EVO_LEVEL, 23, SPECIES_GRANBULL}),
},
@ -3500,6 +3558,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Granbull),
ICON(Granbull, 2),
FOOTPRINT(Granbull)
FOLLOWER(Granbull, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Granbull),
},
#endif //P_FAMILY_SNUBBULL
@ -3564,6 +3623,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
.backAnimId = BACK_ANIM_GROW_STUTTER,
PALETTES(Qwilfish),
ICON(Qwilfish, 0),
FOLLOWER(Qwilfish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT)
LEARNSETS(Qwilfish),
},
@ -3588,6 +3648,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(QwilfishHisuian),
ICON(QwilfishHisuian, 0),
FOLLOWER(QwilfishHisuian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(QwilfishHisuian),
.isHisuianForm = TRUE,
.evolutions = EVOLUTION({EVO_MOVE, MOVE_BARB_BARRAGE, SPECIES_OVERQWIL}),
@ -3636,6 +3697,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Overqwil),
ICON(Overqwil, 2),
FOLLOWER(Overqwil, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
//FOOTPRINT(Overqwil)
LEARNSETS(Overqwil),
},
@ -3690,6 +3752,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Shuckle),
ICON(Shuckle, 1),
FOOTPRINT(Shuckle)
FOLLOWER(Shuckle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Shuckle),
},
#endif //P_FAMILY_SHUCKLE
@ -3747,6 +3810,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
.backAnimId = BACK_ANIM_JOLT_RIGHT,
PALETTES(Heracross),
ICON(Heracross, 0),
FOLLOWER(Heracross, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_MEGA_EVOLUTIONS
@ -3840,6 +3904,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
.backAnimId = BACK_ANIM_TRIANGLE_DOWN,
PALETTES(Sneasel),
ICON(Sneasel, 0),
FOLLOWER(Sneasel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Sneasel),
.evolutions = EVOLUTION({EVO_ITEM_HOLD_NIGHT, ITEM_RAZOR_CLAW, SPECIES_WEAVILE},
{EVO_ITEM_NIGHT, ITEM_RAZOR_CLAW, SPECIES_WEAVILE}),
@ -3894,6 +3959,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Weavile),
ICON(Weavile, 0),
FOOTPRINT(Weavile)
FOLLOWER(Weavile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Weavile),
},
#endif //P_GEN_4_CROSS_EVOS
@ -3922,6 +3988,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(SneaselHisuian),
ICON(SneaselHisuian, 2),
FOLLOWER(SneaselHisuian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(SneaselHisuian),
.isHisuianForm = TRUE,
.evolutions = EVOLUTION({EVO_ITEM_HOLD_DAY, ITEM_RAZOR_CLAW, SPECIES_SNEASLER},
@ -3971,6 +4038,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Sneasler),
ICON(Sneasler, 2),
FOLLOWER(Sneasler, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
//FOOTPRINT(Sneasler)
LEARNSETS(Sneasler),
},
@ -4023,6 +4091,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Teddiursa),
ICON(Teddiursa, 0),
FOOTPRINT(Teddiursa)
FOLLOWER(Teddiursa, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Teddiursa),
.evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_URSARING}),
},
@ -4073,6 +4142,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Ursaring),
ICON(Ursaring, 2),
FOOTPRINT(Ursaring)
FOLLOWER(Ursaring, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Ursaring),
.evolutions = EVOLUTION({EVO_ITEM_NIGHT, ITEM_PEAT_BLOCK, SPECIES_URSALUNA},
{EVO_NONE, 0, SPECIES_URSALUNA_BLOODMOON}),
@ -4125,6 +4195,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Ursaluna),
ICON(Ursaluna, 2),
FOLLOWER(Ursaluna, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
//FOOTPRINT(Ursaluna)
LEARNSETS(Ursaluna),
},
@ -4213,6 +4284,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Slugma),
ICON(Slugma, 0),
FOOTPRINT(Slugma)
FOLLOWER(Slugma, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER)
LEARNSETS(Slugma),
.evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_MAGCARGO}),
},
@ -4268,6 +4340,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Magcargo),
ICON(Magcargo, 0),
FOOTPRINT(Magcargo)
FOLLOWER(Magcargo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER)
LEARNSETS(Magcargo),
},
#endif //P_FAMILY_SLUGMA
@ -4317,6 +4390,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Swinub),
ICON(Swinub, 2),
FOOTPRINT(Swinub)
FOLLOWER(Swinub, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Swinub),
.evolutions = EVOLUTION({EVO_LEVEL, 33, SPECIES_PILOSWINE}),
},
@ -4368,6 +4442,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Piloswine),
ICON(Piloswine, 2),
FOOTPRINT(Piloswine)
FOLLOWER(Piloswine, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Piloswine),
.evolutions = EVOLUTION({EVO_MOVE, MOVE_ANCIENT_POWER, SPECIES_MAMOSWINE}),
},
@ -4424,6 +4499,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Mamoswine),
ICON(Mamoswine, 2),
FOOTPRINT(Mamoswine)
FOLLOWER(Mamoswine, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Mamoswine),
},
#endif //P_GEN_4_CROSS_EVOS
@ -4490,6 +4566,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
.backAnimId = BACK_ANIM_H_SLIDE,
PALETTES(Corsola),
ICON(Corsola, 0),
FOLLOWER(Corsola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Corsola),
},
@ -4521,6 +4598,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(CorsolaGalarian),
ICON(CorsolaGalarian, 0),
FOLLOWER(CorsolaGalarian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(CorsolaGalarian),
.isGalarianForm = TRUE,
.evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_CURSOLA}),
@ -4570,6 +4648,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Cursola),
ICON(Cursola, 0),
FOOTPRINT(Cursola)
FOLLOWER(Cursola, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Cursola),
},
#endif //P_GALARIAN_FORMS
@ -4620,6 +4699,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Remoraid),
ICON(Remoraid, 0),
FOOTPRINT(Remoraid)
FOLLOWER(Remoraid, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT)
LEARNSETS(Remoraid),
.evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_OCTILLERY}),
},
@ -4672,6 +4752,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Octillery),
ICON(Octillery, 0),
FOOTPRINT(Octillery)
FOLLOWER(Octillery, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SLITHER)
LEARNSETS(Octillery),
},
#endif //P_FAMILY_REMORAID
@ -4721,6 +4802,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Delibird),
ICON(Delibird, 1),
FOOTPRINT(Delibird)
FOLLOWER(Delibird, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Delibird),
},
#endif //P_FAMILY_DELIBIRD
@ -4771,6 +4853,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Mantyke),
ICON(Mantyke, 0),
FOOTPRINT(Mantyke)
FOLLOWER(Mantyke, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Mantyke),
.evolutions = EVOLUTION({EVO_SPECIFIC_MON_IN_PARTY, SPECIES_REMORAID, SPECIES_MANTINE}),
},
@ -4827,6 +4910,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Mantine),
ICON(Mantine, 2),
FOOTPRINT(Mantine)
FOLLOWER(Mantine, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE)
LEARNSETS(Mantine),
},
#endif //P_FAMILY_MANTINE
@ -4877,6 +4961,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Skarmory),
ICON(Skarmory, 0),
FOOTPRINT(Skarmory)
FOLLOWER(Skarmory, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Skarmory),
},
#endif //P_FAMILY_SKARMORY
@ -4926,6 +5011,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Houndour),
ICON(Houndour, 0),
FOOTPRINT(Houndour)
FOLLOWER(Houndour, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Houndour),
.evolutions = EVOLUTION({EVO_LEVEL, 24, SPECIES_HOUNDOOM}),
},
@ -4982,6 +5068,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
.backAnimId = BACK_ANIM_V_SHAKE,
PALETTES(Houndoom),
ICON(Houndoom, 0),
FOLLOWER(Houndoom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_MEGA_EVOLUTIONS
@ -5066,6 +5153,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Phanpy),
ICON(Phanpy, 0),
FOOTPRINT(Phanpy)
FOLLOWER(Phanpy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Phanpy),
.evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_DONPHAN}),
},
@ -5117,6 +5205,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Donphan),
ICON(Donphan, 0),
FOOTPRINT(Donphan)
FOLLOWER(Donphan, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Donphan),
},
#endif //P_FAMILY_PHANPY
@ -5166,6 +5255,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Stantler),
ICON(Stantler, 2),
FOOTPRINT(Stantler)
FOLLOWER(Stantler, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Stantler),
.evolutions = EVOLUTION({EVO_MOVE, MOVE_PSYSHIELD_BASH, SPECIES_WYRDEER}),
},
@ -5215,6 +5305,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Wyrdeer),
ICON(Wyrdeer, 2),
FOLLOWER(Wyrdeer, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
//FOOTPRINT(Wyrdeer)
LEARNSETS(Wyrdeer),
},
@ -5266,6 +5357,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Smeargle),
ICON(Smeargle, 1),
FOOTPRINT(Smeargle)
FOLLOWER(Smeargle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Smeargle),
},
#endif //P_FAMILY_SMEARGLE
@ -5317,6 +5409,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Miltank),
ICON(Miltank, 0),
FOOTPRINT(Miltank)
FOLLOWER(Miltank, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Miltank),
},
#endif //P_FAMILY_MILTANK
@ -5378,6 +5471,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Raikou),
ICON(Raikou, 2),
FOOTPRINT(Raikou)
FOLLOWER(Raikou, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Raikou),
},
#endif //P_FAMILY_RAIKOU
@ -5439,6 +5533,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Entei),
ICON(Entei, 2),
FOOTPRINT(Entei)
FOLLOWER(Entei, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Entei),
},
#endif //P_FAMILY_ENTEI
@ -5500,6 +5595,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Suicune),
ICON(Suicune, 2),
FOOTPRINT(Suicune)
FOLLOWER(Suicune, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Suicune),
},
#endif //P_FAMILY_SUICUNE
@ -5549,6 +5645,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Larvitar),
ICON(Larvitar, 1),
FOOTPRINT(Larvitar)
FOLLOWER(Larvitar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Larvitar),
.evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_PUPITAR}),
},
@ -5597,6 +5694,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Pupitar),
ICON(Pupitar, 2),
FOOTPRINT(Pupitar)
FOLLOWER(Pupitar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_SPOT)
LEARNSETS(Pupitar),
.evolutions = EVOLUTION({EVO_LEVEL, 55, SPECIES_TYRANITAR}),
},
@ -5658,6 +5756,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
.backAnimId = BACK_ANIM_V_SHAKE_LOW,
PALETTES(Tyranitar),
ICON(Tyranitar, 4),
FOLLOWER(Tyranitar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_MEGA_EVOLUTIONS
@ -5752,6 +5851,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Lugia),
ICON(Lugia, 0),
FOOTPRINT(Lugia)
FOLLOWER(Lugia, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE)
LEARNSETS(Lugia),
},
#endif //P_FAMILY_LUGIA
@ -5811,6 +5911,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(HoOh),
ICON(HoOh, 1),
FOOTPRINT(HoOh)
FOLLOWER(HoOh, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE)
LEARNSETS(HoOh),
},
#endif //P_FAMILY_HO_OH
@ -5870,6 +5971,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
PALETTES(Celebi),
ICON(Celebi, 1),
FOOTPRINT(Celebi)
FOLLOWER(Celebi, SIZE_32x32, SHADOW_SIZE_M, TRACKS_NONE)
LEARNSETS(Celebi),
},
#endif //P_FAMILY_CELEBI

File diff suppressed because it is too large Load Diff

View File

@ -48,6 +48,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Turtwig),
ICON(Turtwig, 1),
FOOTPRINT(Turtwig)
FOLLOWER(Turtwig, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Turtwig),
.evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_GROTLE}),
},
@ -97,6 +98,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Grotle),
ICON(Grotle, 1),
FOOTPRINT(Grotle)
FOLLOWER(Grotle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Grotle),
.evolutions = EVOLUTION({EVO_LEVEL, 32, SPECIES_TORTERRA}),
},
@ -153,6 +155,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Torterra),
ICON(Torterra, 1),
FOOTPRINT(Torterra)
FOLLOWER(Torterra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Torterra),
},
#endif //P_FAMILY_TURTWIG
@ -203,6 +206,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Chimchar),
ICON(Chimchar, 1),
FOOTPRINT(Chimchar)
FOLLOWER(Chimchar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Chimchar),
.evolutions = EVOLUTION({EVO_LEVEL, 14, SPECIES_MONFERNO}),
},
@ -253,6 +257,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Monferno),
ICON(Monferno, 0),
FOOTPRINT(Monferno)
FOLLOWER(Monferno, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Monferno),
.evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_INFERNAPE}),
},
@ -309,6 +314,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Infernape),
ICON(Infernape, 0),
FOOTPRINT(Infernape)
FOLLOWER(Infernape, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Infernape),
},
#endif //P_FAMILY_CHIMCHAR
@ -362,6 +368,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Piplup),
ICON(Piplup, 0),
FOOTPRINT(Piplup)
FOLLOWER(Piplup, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Piplup),
.evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_PRINPLUP}),
},
@ -414,6 +421,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Prinplup),
ICON(Prinplup, 0),
FOOTPRINT(Prinplup)
FOLLOWER(Prinplup, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Prinplup),
.evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_EMPOLEON}),
},
@ -472,6 +480,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Empoleon),
ICON(Empoleon, 0),
FOOTPRINT(Empoleon)
FOLLOWER(Empoleon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Empoleon),
},
#endif //P_FAMILY_PIPLUP
@ -523,6 +532,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Starly),
ICON(Starly, 0),
FOOTPRINT(Starly)
FOLLOWER(Starly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Starly),
.evolutions = EVOLUTION({EVO_LEVEL, 14, SPECIES_STARAVIA}),
},
@ -573,6 +583,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Staravia),
ICON(Staravia, 0),
FOOTPRINT(Staravia)
FOLLOWER(Staravia, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Staravia),
.evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_STARAPTOR}),
},
@ -630,6 +641,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Staraptor),
ICON(Staraptor, 0),
FOOTPRINT(Staraptor)
FOLLOWER(Staraptor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Staraptor),
},
#endif //P_FAMILY_STARLY
@ -681,6 +693,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Bidoof),
ICON(Bidoof, 2),
FOOTPRINT(Bidoof)
FOLLOWER(Bidoof, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Bidoof),
.evolutions = EVOLUTION({EVO_LEVEL, 15, SPECIES_BIBAREL}),
},
@ -730,6 +743,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Bibarel),
ICON(Bibarel, 2),
FOOTPRINT(Bibarel)
FOLLOWER(Bibarel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Bibarel),
},
#endif //P_FAMILY_BIDOOF
@ -782,6 +796,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Kricketot),
ICON(Kricketot, 2),
FOOTPRINT(Kricketot)
FOLLOWER(Kricketot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Kricketot),
.evolutions = EVOLUTION({EVO_LEVEL, 10, SPECIES_KRICKETUNE}),
},
@ -833,6 +848,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Kricketune),
ICON(Kricketune, 2),
FOOTPRINT(Kricketune)
FOLLOWER(Kricketune, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Kricketune),
},
#endif //P_FAMILY_KRICKETOT
@ -884,6 +900,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Shinx),
ICON(Shinx, 0),
FOOTPRINT(Shinx)
FOLLOWER(Shinx, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Shinx),
.evolutions = EVOLUTION({EVO_LEVEL, 15, SPECIES_LUXIO}),
},
@ -934,6 +951,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Luxio),
ICON(Luxio, 0),
FOOTPRINT(Luxio)
FOLLOWER(Luxio, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Luxio),
.evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_LUXRAY}),
},
@ -990,6 +1008,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Luxray),
ICON(Luxray, 0),
FOOTPRINT(Luxray)
FOLLOWER(Luxray, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Luxray),
},
#endif //P_FAMILY_SHINX
@ -1039,6 +1058,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Cranidos),
ICON(Cranidos, 0),
FOOTPRINT(Cranidos)
FOLLOWER(Cranidos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Cranidos),
.evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_RAMPARDOS}),
},
@ -1087,6 +1107,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Rampardos),
ICON(Rampardos, 0),
FOOTPRINT(Rampardos)
FOLLOWER(Rampardos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Rampardos),
},
#endif //P_FAMILY_CRANIDOS
@ -1136,6 +1157,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Shieldon),
ICON(Shieldon, 1),
FOOTPRINT(Shieldon)
FOLLOWER(Shieldon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Shieldon),
.evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_BASTIODON}),
},
@ -1184,6 +1206,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Bastiodon),
ICON(Bastiodon, 1),
FOOTPRINT(Bastiodon)
FOLLOWER(Bastiodon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Bastiodon),
},
#endif //P_FAMILY_SHIELDON
@ -1240,6 +1263,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backPicYOffset = 6,
PALETTES(BurmyPlantCloak),
ICON(BurmyPlantCloak, 1),
FOLLOWER(BurmyPlantCloak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
.evolutions = EVOLUTION({EVO_LEVEL_FEMALE, 20, SPECIES_WORMADAM_PLANT_CLOAK},
{EVO_LEVEL_MALE, 20, SPECIES_MOTHIM}),
},
@ -1259,6 +1283,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backPicYOffset = 7,
PALETTES(BurmySandyCloak),
ICON(BurmySandyCloak, 1),
FOLLOWER(BurmySandyCloak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
.evolutions = EVOLUTION({EVO_LEVEL_FEMALE, 20, SPECIES_WORMADAM_SANDY_CLOAK},
{EVO_LEVEL_MALE, 20, SPECIES_MOTHIM}),
},
@ -1278,6 +1303,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backPicYOffset = 0,
PALETTES(BurmyTrashCloak),
ICON(BurmyTrashCloak, 0),
FOLLOWER(BurmyTrashCloak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
.evolutions = EVOLUTION({EVO_LEVEL_FEMALE, 20, SPECIES_WORMADAM_TRASH_CLOAK},
{EVO_LEVEL_MALE, 20, SPECIES_MOTHIM}),
},
@ -1332,6 +1358,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
BACK_PIC(WormadamPlantCloak, 56, 64),
PALETTES(WormadamPlantCloak),
ICON(WormadamPlantCloak, 1),
FOLLOWER(WormadamPlantCloak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(WormadamPlantCloak),
},
@ -1356,6 +1383,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
BACK_PIC(WormadamSandyCloak, 56, 64),
PALETTES(WormadamSandyCloak),
ICON(WormadamSandyCloak, 1),
FOLLOWER(WormadamSandyCloak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(WormadamSandyCloak),
},
@ -1381,6 +1409,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
BACK_PIC(WormadamTrashCloak, 64, 64),
PALETTES(WormadamTrashCloak),
ICON(WormadamTrashCloak, 0),
FOLLOWER(WormadamTrashCloak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(WormadamTrashCloak),
},
@ -1431,6 +1460,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Mothim),
ICON(Mothim, 0),
FOOTPRINT(Mothim)
FOLLOWER(Mothim, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Mothim),
},
#endif //P_FAMILY_BURMY
@ -1483,6 +1513,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTE_FEMALE(Combee),
ICON(Combee, 0),
FOOTPRINT(Combee)
FOLLOWER(Combee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Combee),
.evolutions = EVOLUTION({EVO_LEVEL_FEMALE, 21, SPECIES_VESPIQUEN}),
},
@ -1534,6 +1565,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Vespiquen),
ICON(Vespiquen, 0),
FOOTPRINT(Vespiquen)
FOLLOWER(Vespiquen, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Vespiquen),
},
#endif //P_FAMILY_COMBEE
@ -1584,6 +1616,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Pachirisu),
ICON(Pachirisu, 0),
FOOTPRINT(Pachirisu)
FOLLOWER(Pachirisu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Pachirisu),
},
#endif //P_FAMILY_PACHIRISU
@ -1634,6 +1667,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Buizel),
ICON(Buizel, 0),
FOOTPRINT(Buizel)
FOLLOWER(Buizel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Buizel),
.evolutions = EVOLUTION({EVO_LEVEL, 26, SPECIES_FLOATZEL}),
},
@ -1683,6 +1717,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Floatzel),
ICON(Floatzel, 0),
FOOTPRINT(Floatzel)
FOLLOWER(Floatzel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Floatzel),
},
#endif //P_FAMILY_BUIZEL
@ -1733,6 +1768,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Cherubi),
ICON(Cherubi, 1),
FOOTPRINT(Cherubi)
FOLLOWER(Cherubi, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Cherubi),
.evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_CHERRIM_OVERCAST}),
},
@ -1788,6 +1824,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backAnimId = BACK_ANIM_V_STRETCH,
PALETTES(CherrimOvercast),
ICON(CherrimOvercast, 0),
FOLLOWER(CherrimOvercast, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_CHERRIM_SUNSHINE] =
@ -1861,6 +1898,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
BACK_PIC(ShellosWestSea, 40, 56),
PALETTES(ShellosWestSea),
ICON(ShellosWestSea, 0),
FOLLOWER(ShellosWestSea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
.evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_GASTRODON_WEST_SEA}),
},
@ -1878,6 +1916,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
BACK_PIC(ShellosEastSea, 56, 48),
PALETTES(ShellosEastSea),
ICON(ShellosEastSea, 0),
FOLLOWER(ShellosEastSea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
.evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_GASTRODON_EAST_SEA}),
},
@ -1930,6 +1969,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
BACK_PIC(GastrodonWestSea, 56, 64),
PALETTES(GastrodonWestSea),
ICON(GastrodonWestSea, 0),
FOLLOWER(GastrodonWestSea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_GASTRODON_EAST_SEA] =
@ -1945,6 +1985,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
BACK_PIC(GastrodonEastSea, 56, 64),
PALETTES(GastrodonEastSea),
ICON(GastrodonEastSea, 0),
FOLLOWER(GastrodonEastSea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#endif //P_FAMILY_SHELLOS
@ -1994,6 +2035,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Drifloon),
ICON(Drifloon, 2),
FOOTPRINT(Drifloon)
FOLLOWER(Drifloon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Drifloon),
.evolutions = EVOLUTION({EVO_LEVEL, 28, SPECIES_DRIFBLIM}),
},
@ -2043,6 +2085,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Drifblim),
ICON(Drifblim, 2),
FOOTPRINT(Drifblim)
FOLLOWER(Drifblim, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Drifblim),
},
#endif //P_FAMILY_DRIFLOON
@ -2092,6 +2135,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Buneary),
ICON(Buneary, 2),
FOOTPRINT(Buneary)
FOLLOWER(Buneary, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Buneary),
.evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_LOPUNNY}),
},
@ -2146,6 +2190,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE,
PALETTES(Lopunny),
ICON(Lopunny, 2),
FOLLOWER(Lopunny, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_MEGA_EVOLUTIONS
@ -2232,6 +2277,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Glameow),
ICON(Glameow, 0),
FOOTPRINT(Glameow)
FOLLOWER(Glameow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Glameow),
.evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_PURUGLY}),
},
@ -2280,6 +2326,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Purugly),
ICON(Purugly, 0),
FOOTPRINT(Purugly)
FOLLOWER(Purugly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Purugly),
},
#endif //P_FAMILY_GLAMEOW
@ -2329,6 +2376,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Stunky),
ICON(Stunky, 2),
FOOTPRINT(Stunky)
FOLLOWER(Stunky, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Stunky),
.evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_SKUNTANK}),
},
@ -2377,6 +2425,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Skuntank),
ICON(Skuntank, 2),
FOOTPRINT(Skuntank)
FOLLOWER(Skuntank, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Skuntank),
},
#endif //P_FAMILY_STUNKY
@ -2428,6 +2477,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Bronzor),
ICON(Bronzor, 0),
FOOTPRINT(Bronzor)
FOLLOWER(Bronzor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Bronzor),
.evolutions = EVOLUTION({EVO_LEVEL, 33, SPECIES_BRONZONG}),
},
@ -2479,6 +2529,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Bronzong),
ICON(Bronzong, 0),
FOOTPRINT(Bronzong)
FOLLOWER(Bronzong, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Bronzong),
},
#endif //P_FAMILY_BRONZOR
@ -2529,6 +2580,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Chatot),
ICON(Chatot, 0),
FOOTPRINT(Chatot)
FOLLOWER(Chatot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Chatot),
},
#endif //P_FAMILY_CHATOT
@ -2579,6 +2631,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Spiritomb),
ICON(Spiritomb, 5),
FOOTPRINT(Spiritomb)
FOLLOWER(Spiritomb, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Spiritomb),
},
#endif //P_FAMILY_SPIRITOMB
@ -2630,6 +2683,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Gible),
ICON(Gible, 0),
FOOTPRINT(Gible)
FOLLOWER(Gible, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Gible),
.evolutions = EVOLUTION({EVO_LEVEL, 24, SPECIES_GABITE}),
},
@ -2680,6 +2734,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Gabite),
ICON(Gabite, 0),
FOOTPRINT(Gabite)
FOLLOWER(Gabite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Gabite),
.evolutions = EVOLUTION({EVO_LEVEL, 48, SPECIES_GARCHOMP}),
},
@ -2741,6 +2796,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backAnimId = BACK_ANIM_V_SHAKE_LOW,
PALETTES(Garchomp),
ICON(Garchomp, 0),
FOLLOWER(Garchomp, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_MEGA_EVOLUTIONS
@ -2820,6 +2876,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Riolu),
ICON(Riolu, 2),
FOOTPRINT(Riolu)
FOLLOWER(Riolu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Riolu),
.evolutions = EVOLUTION({EVO_FRIENDSHIP_DAY, 0, SPECIES_LUCARIO}),
},
@ -2875,6 +2932,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backAnimId = BACK_ANIM_V_SHAKE_H_SLIDE,
PALETTES(Lucario),
ICON(Lucario, 2),
FOLLOWER(Lucario, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_MEGA_EVOLUTIONS
@ -2964,6 +3022,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
ICON_FEMALE(Hippopotas, 1),
#endif
FOOTPRINT(Hippopotas)
FOLLOWER(Hippopotas, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Hippopotas),
.evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_HIPPOWDON}),
},
@ -3016,6 +3075,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
ICON_FEMALE(Hippowdon, 1),
#endif
FOOTPRINT(Hippowdon)
FOLLOWER(Hippowdon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Hippowdon),
},
#endif //P_FAMILY_HIPPOPOTAS
@ -3066,6 +3126,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Skorupi),
ICON(Skorupi, 0),
FOOTPRINT(Skorupi)
FOLLOWER(Skorupi, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Skorupi),
.evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_DRAPION}),
},
@ -3115,6 +3176,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Drapion),
ICON(Drapion, 2),
FOOTPRINT(Drapion)
FOLLOWER(Drapion, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Drapion),
},
#endif //P_FAMILY_SKORUPI
@ -3167,6 +3229,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Croagunk),
ICON(Croagunk, 0),
FOOTPRINT(Croagunk)
FOLLOWER(Croagunk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Croagunk),
.evolutions = EVOLUTION({EVO_LEVEL, 37, SPECIES_TOXICROAK}),
},
@ -3218,6 +3281,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Toxicroak),
ICON(Toxicroak, 0),
FOOTPRINT(Toxicroak)
FOLLOWER(Toxicroak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Toxicroak),
},
#endif //P_FAMILY_CROAGUNK
@ -3268,6 +3332,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Carnivine),
ICON(Carnivine, 1),
FOOTPRINT(Carnivine)
FOLLOWER(Carnivine, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Carnivine),
},
#endif //P_FAMILY_CARNIVINE
@ -3319,6 +3384,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Finneon),
ICON(Finneon, 0),
FOOTPRINT(Finneon)
FOLLOWER(Finneon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Finneon),
.evolutions = EVOLUTION({EVO_LEVEL, 31, SPECIES_LUMINEON}),
},
@ -3369,6 +3435,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Lumineon),
ICON(Lumineon, 0),
FOOTPRINT(Lumineon)
FOLLOWER(Lumineon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Lumineon),
},
#endif //P_FAMILY_FINNEON
@ -3421,6 +3488,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Snover),
ICON(Snover, 1),
FOOTPRINT(Snover)
FOLLOWER(Snover, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Snover),
.evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_ABOMASNOW}),
},
@ -3478,6 +3546,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backAnimId = BACK_ANIM_V_SHAKE_LOW,
PALETTES(Abomasnow),
ICON(Abomasnow, 1),
FOLLOWER(Abomasnow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_MEGA_EVOLUTIONS
@ -3571,6 +3640,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backAnimId = BACK_ANIM_SHAKE_FLASH_YELLOW,
PALETTES(Rotom),
ICON(Rotom, 0),
FOLLOWER(Rotom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_UPDATED_EXP_YIELDS >= GEN_7
@ -3610,6 +3680,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backAnimId = BACK_ANIM_SHAKE_GLOW_RED,
PALETTES(RotomHeat),
ICON(RotomHeat, 0),
FOLLOWER(RotomHeat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_ROTOM_WASH] =
@ -3633,6 +3704,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backAnimId = BACK_ANIM_V_SHAKE_H_SLIDE,
PALETTES(RotomWash),
ICON(RotomWash, 0),
FOLLOWER(RotomWash, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_ROTOM_FROST] =
@ -3655,6 +3727,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backAnimId = BACK_ANIM_V_SHAKE_LOW,
PALETTES(RotomFrost),
ICON(RotomFrost, 5),
FOLLOWER(RotomFrost, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_ROTOM_FAN] =
@ -3678,6 +3751,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE,
PALETTES(RotomFan),
ICON(RotomFan, 0),
FOLLOWER(RotomFan, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_ROTOM_MOW] =
@ -3700,6 +3774,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backAnimId = BACK_ANIM_H_SLIDE,
PALETTES(RotomMow),
ICON(RotomMow, 0),
FOLLOWER(RotomMow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#endif //P_FAMILY_ROTOM
@ -3757,6 +3832,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Uxie),
ICON(Uxie, 0),
FOOTPRINT(Uxie)
FOLLOWER(Uxie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Uxie),
},
#endif //P_FAMILY_UXIE
@ -3816,6 +3892,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Mesprit),
ICON(Mesprit, 0),
FOOTPRINT(Mesprit)
FOLLOWER(Mesprit, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Mesprit),
},
#endif //P_FAMILY_MESPRIT
@ -3874,6 +3951,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Azelf),
ICON(Azelf, 0),
FOOTPRINT(Azelf)
FOLLOWER(Azelf, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Azelf),
},
#endif //P_FAMILY_AZELF
@ -3938,6 +4016,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backAnimId = BACK_ANIM_V_SHAKE,
PALETTES(Dialga),
ICON(Dialga, 2),
FOLLOWER(Dialga, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_DIALGA_ORIGIN] =
@ -3969,6 +4048,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(DialgaOrigin),
ICON(DialgaOrigin, 0),
FOLLOWER(DialgaOrigin, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE)
},
#endif //P_FAMILY_DIALGA
@ -4032,6 +4112,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backAnimId = BACK_ANIM_H_SHAKE,
PALETTES(Palkia),
ICON(Palkia, 2),
FOLLOWER(Palkia, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_PALKIA_ORIGIN] =
@ -4063,6 +4144,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(PalkiaOrigin),
ICON(PalkiaOrigin, 2),
FOLLOWER(PalkiaOrigin, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE)
},
#endif //P_FAMILY_PALKIA
@ -4118,6 +4200,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Heatran),
ICON(Heatran, 0),
FOOTPRINT(Heatran)
FOLLOWER(Heatran, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Heatran),
},
#endif //P_FAMILY_HEATRAN
@ -4174,6 +4257,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Regigigas),
ICON(Regigigas, 0),
FOOTPRINT(Regigigas)
FOLLOWER(Regigigas, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Regigigas),
},
#endif //P_FAMILY_REGIGIGAS
@ -4238,6 +4322,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backAnimId = BACK_ANIM_V_SHAKE_LOW,
PALETTES(GiratinaAltered),
ICON(GiratinaAltered, 0),
FOLLOWER(GiratinaAltered, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_GIRATINA_ORIGIN] =
@ -4271,6 +4356,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backAnimId = BACK_ANIM_GROW_STUTTER,
PALETTES(GiratinaOrigin),
ICON(GiratinaOrigin, 0),
FOLLOWER(GiratinaOrigin, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT)
},
#endif //P_FAMILY_GIRATINA
@ -4327,6 +4413,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Cresselia),
ICON(Cresselia, 0),
FOOTPRINT(Cresselia)
FOLLOWER(Cresselia, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Cresselia),
},
#endif //P_FAMILY_CRESSELIA
@ -4384,6 +4471,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Phione),
ICON(Phione, 0),
FOOTPRINT(Phione)
FOLLOWER(Phione, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Phione),
},
@ -4439,6 +4527,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Manaphy),
ICON(Manaphy, 0),
FOOTPRINT(Manaphy)
FOLLOWER(Manaphy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Manaphy),
},
#endif //P_FAMILY_MANAPHY
@ -4497,6 +4586,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
PALETTES(Darkrai),
ICON(Darkrai, 0),
FOOTPRINT(Darkrai)
FOLLOWER(Darkrai, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Darkrai),
},
#endif //P_FAMILY_DARKRAI
@ -4562,6 +4652,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backAnimId = BACK_ANIM_CONCAVE_ARC_SMALL,
PALETTES(ShayminLand),
ICON(ShayminLand, 1),
FOLLOWER(ShayminLand, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(ShayminLand),
},
@ -4655,6 +4746,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
.backAnimId = BACK_ANIM_GROW_STUTTER, \
PALETTES(Arceus ##typeName), \
ICON(Arceus, 1), \
FOLLOWER(Arceus ##typeName, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT) \
FOOTPRINT(Arceus) \
LEARNSETS(Arceus), \
.formSpeciesIdTable = sArceusFormSpeciesIdTable, \

File diff suppressed because it is too large Load Diff

View File

@ -48,6 +48,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Chespin),
ICON(Chespin, 1),
FOOTPRINT(Chespin)
FOLLOWER(Chespin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Chespin),
.evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_QUILLADIN}),
},
@ -96,6 +97,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Quilladin),
ICON(Quilladin, 1),
FOOTPRINT(Quilladin)
FOLLOWER(Quilladin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Quilladin),
.evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_CHESNAUGHT}),
},
@ -144,6 +146,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Chesnaught),
ICON(Chesnaught, 1),
FOOTPRINT(Chesnaught)
FOLLOWER(Chesnaught, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Chesnaught),
},
#endif //P_FAMILY_CHESPIN
@ -193,6 +196,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Fennekin),
ICON(Fennekin, 0),
FOOTPRINT(Fennekin)
FOLLOWER(Fennekin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Fennekin),
.evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_BRAIXEN}),
},
@ -241,6 +245,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Braixen),
ICON(Braixen, 0),
FOOTPRINT(Braixen)
FOLLOWER(Braixen, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Braixen),
.evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_DELPHOX}),
},
@ -289,6 +294,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Delphox),
ICON(Delphox, 0),
FOOTPRINT(Delphox)
FOLLOWER(Delphox, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Delphox),
},
#endif //P_FAMILY_FENNEKIN
@ -338,6 +344,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Froakie),
ICON(Froakie, 0),
FOOTPRINT(Froakie)
FOLLOWER(Froakie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Froakie),
.evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_FROGADIER}),
},
@ -386,6 +393,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Frogadier),
ICON(Frogadier, 0),
FOOTPRINT(Frogadier)
FOLLOWER(Frogadier, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Frogadier),
.evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_GRENINJA}),
},
@ -405,7 +413,9 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
BACK_PIC(Greninja, 64, 48), \
.backPicYOffset = 11, \
PALETTES(Greninja), \
ICON(Greninja, 0)
ICON(Greninja, 0), \
FOLLOWER(Greninja, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
#define GRENINJA_MISC_INFO \
.types = { TYPE_WATER, TYPE_DARK }, \
@ -433,7 +443,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
[SPECIES_GRENINJA] =
{
GRENINJA_MISC_INFO,
GRENINJA_NORMAL_MISC_INFO,
GRENINJA_NORMAL_MISC_INFO
.genderRatio = PERCENT_FEMALE(12.5),
.eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 },
.abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_PROTEAN },
@ -444,7 +454,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
[SPECIES_GRENINJA_BATTLE_BOND] =
{
GRENINJA_MISC_INFO,
GRENINJA_NORMAL_MISC_INFO,
GRENINJA_NORMAL_MISC_INFO
.genderRatio = MON_MALE,
.eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED },
.abilities = { ABILITY_BATTLE_BOND, ABILITY_NONE, ABILITY_NONE },
@ -529,6 +539,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Bunnelby),
ICON(Bunnelby, 2),
FOOTPRINT(Bunnelby)
FOLLOWER(Bunnelby, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Bunnelby),
.evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_DIGGERSBY}),
},
@ -577,6 +588,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Diggersby),
ICON(Diggersby, 2),
FOOTPRINT(Diggersby)
FOLLOWER(Diggersby, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Diggersby),
},
#endif //P_FAMILY_BUNNELBY
@ -626,6 +638,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Fletchling),
ICON(Fletchling, 2),
FOOTPRINT(Fletchling)
FOLLOWER(Fletchling, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Fletchling),
.evolutions = EVOLUTION({EVO_LEVEL, 17, SPECIES_FLETCHINDER}),
},
@ -675,6 +688,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Fletchinder),
ICON(Fletchinder, 2),
FOOTPRINT(Fletchinder)
FOLLOWER(Fletchinder, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Fletchinder),
.evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_TALONFLAME}),
},
@ -724,6 +738,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Talonflame),
ICON(Talonflame, 2),
FOOTPRINT(Talonflame)
FOLLOWER(Talonflame, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Talonflame),
},
#endif //P_FAMILY_FLETCHLING
@ -773,6 +788,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Scatterbug),
ICON(Scatterbug, 1),
FOOTPRINT(Scatterbug)
FOLLOWER(Scatterbug, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Scatterbug),
.evolutions = EVOLUTION({EVO_LEVEL, 9, SPECIES_SPEWPA}),
},
@ -821,6 +837,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Spewpa),
ICON(Spewpa, 1),
FOOTPRINT(Spewpa)
FOLLOWER(Spewpa, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Spewpa),
.evolutions = EVOLUTION({EVO_LEVEL, 12, SPECIES_VIVILLON_ICY_SNOW}),
},
@ -866,6 +883,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Vivillon ##form), \
ICON(Vivillon ##form, iconPal), \
FOOTPRINT(Vivillon) \
FOLLOWER(Vivillon ##form, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT) \
LEARNSETS(Vivillon), \
.formSpeciesIdTable = sVivillonFormSpeciesIdTable
@ -1096,6 +1114,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Litleo),
ICON(Litleo, 2),
FOOTPRINT(Litleo)
FOLLOWER(Litleo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Litleo),
.evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_PYROAR}),
},
@ -1147,6 +1166,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
ICON(Pyroar, 2),
ICON_FEMALE(Pyroar, 2),
FOOTPRINT(Pyroar)
FOLLOWER(Pyroar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Pyroar),
},
#endif //P_FAMILY_LITLEO
@ -1191,6 +1211,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Flabebe##Form##Flower), \
ICON(Flabebe##Form##Flower, iconPal), \
FOOTPRINT(Flabebe) \
FOLLOWER(Flabebe##Form##Flower, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT) \
LEARNSETS(Flabebe), \
.formSpeciesIdTable = sFlabebeFormSpeciesIdTable, \
.evolutions = EVOLUTION({EVO_LEVEL, 19, SPECIES_FLOETTE_ ##FORM##_FLOWER})
@ -1266,6 +1287,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Floette ##form##Flower), \
ICON(Floette##form##Flower, iconPal), \
FOOTPRINT(Floette) \
FOLLOWER(Floette##form##Flower, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT) \
.formSpeciesIdTable = sFloetteFormSpeciesIdTable
#define FLOETTE_NORMAL_INFO(form, FORM, iconPal) \
@ -1395,6 +1417,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Florges##Form##Flower), \
ICON(Florges##Form##Flower, iconPal), \
FOOTPRINT(Florges) \
FOLLOWER(Florges##Form##Flower, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT) \
LEARNSETS(Florges), \
.formSpeciesIdTable = sFlorgesFormSpeciesIdTable
@ -1489,6 +1512,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Skiddo),
ICON(Skiddo, 1),
FOOTPRINT(Skiddo)
FOLLOWER(Skiddo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Skiddo),
.evolutions = EVOLUTION({EVO_LEVEL, 32, SPECIES_GOGOAT}),
},
@ -1537,6 +1561,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Gogoat),
ICON(Gogoat, 1),
FOOTPRINT(Gogoat)
FOLLOWER(Gogoat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Gogoat),
},
#endif //P_FAMILY_SKIDDO
@ -1587,6 +1612,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Pancham),
ICON(Pancham, 1),
FOOTPRINT(Pancham)
FOLLOWER(Pancham, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Pancham),
.evolutions = EVOLUTION({EVO_LEVEL_DARK_TYPE_MON_IN_PARTY, 32, SPECIES_PANGORO}),
},
@ -1636,6 +1662,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Pangoro),
ICON(Pangoro, 1),
FOOTPRINT(Pangoro)
FOLLOWER(Pangoro, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Pangoro),
},
#endif //P_FAMILY_PANCHAM
@ -1686,6 +1713,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.backPicYOffset = 0,
PALETTES(FurfrouNatural),
ICON(FurfrouNatural, 0),
FOLLOWER(FurfrouNatural, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_FURFROU_HEART_TRIM] =
{
@ -1696,6 +1724,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.backPicYOffset = 1,
PALETTES(FurfrouHeartTrim),
ICON(FurfrouHeartTrim, 0),
FOLLOWER(FurfrouHeartTrim, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_FURFROU_STAR_TRIM] =
{
@ -1706,6 +1735,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.backPicYOffset = 1,
PALETTES(FurfrouStarTrim),
ICON(FurfrouStarTrim, 0),
FOLLOWER(FurfrouStarTrim, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_FURFROU_DIAMOND_TRIM] =
{
@ -1716,6 +1746,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.backPicYOffset = 1,
PALETTES(FurfrouDiamondTrim),
ICON(FurfrouDiamondTrim, 0),
FOLLOWER(FurfrouDiamondTrim, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_FURFROU_DEBUTANTE_TRIM] =
{
@ -1727,6 +1758,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.backPicYOffset = 1,
PALETTES(FurfrouDebutanteTrim),
ICON(FurfrouDebutanteTrim, 2),
FOLLOWER(FurfrouDebutanteTrim, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_FURFROU_MATRON_TRIM] =
{
@ -1737,6 +1769,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.backPicYOffset = 1,
PALETTES(FurfrouMatronTrim),
ICON(FurfrouMatronTrim, 2),
FOLLOWER(FurfrouMatronTrim, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_FURFROU_DANDY_TRIM] =
{
@ -1747,6 +1780,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.backPicYOffset = 1,
PALETTES(FurfrouDandyTrim),
ICON(FurfrouDandyTrim, 1),
FOLLOWER(FurfrouDandyTrim, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_FURFROU_LA_REINE_TRIM] =
{
@ -1757,6 +1791,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.backPicYOffset = 1,
PALETTES(FurfrouLaReineTrim),
ICON(FurfrouLaReineTrim, 0),
FOLLOWER(FurfrouLaReineTrim, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_FURFROU_KABUKI_TRIM] =
{
@ -1767,6 +1802,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.backPicYOffset = 1,
PALETTES(FurfrouKabukiTrim),
ICON(FurfrouKabukiTrim, 0),
FOLLOWER(FurfrouKabukiTrim, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_FURFROU_PHARAOH_TRIM] =
{
@ -1777,6 +1813,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.backPicYOffset = 1,
PALETTES(FurfrouPharaohTrim),
ICON(FurfrouPharaohTrim, 0),
FOLLOWER(FurfrouPharaohTrim, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#endif //P_FAMILY_FURFROU
@ -1825,6 +1862,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Espurr),
ICON(Espurr, 2),
FOOTPRINT(Espurr)
FOLLOWER(Espurr, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Espurr),
.evolutions = EVOLUTION({EVO_LEVEL_MALE, 25, SPECIES_MEOWSTIC_MALE},
{EVO_LEVEL_FEMALE, 25, SPECIES_MEOWSTIC_FEMALE}),
@ -1878,6 +1916,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
BACK_PIC(MeowsticMale, 64, 64),
PALETTES(MeowsticMale),
ICON(MeowsticMale, 0),
FOLLOWER(MeowsticMale, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(MeowsticMale),
},
@ -1897,6 +1936,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
BACK_PIC(MeowsticFemale, 48, 64),
PALETTES(MeowsticFemale),
ICON(MeowsticFemale, 0),
FOLLOWER(MeowsticFemale, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(MeowsticFemale),
},
#endif //P_FAMILY_ESPURR
@ -1947,6 +1987,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Honedge),
ICON(Honedge, 2),
FOOTPRINT(Honedge)
FOLLOWER(Honedge, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Honedge),
.evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_DOUBLADE}),
},
@ -1996,6 +2037,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Doublade),
ICON(Doublade, 2),
FOOTPRINT(Doublade)
FOLLOWER(Doublade, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Doublade),
.evolutions = EVOLUTION({EVO_ITEM, ITEM_DUSK_STONE, SPECIES_AEGISLASH_SHIELD}),
},
@ -2054,6 +2096,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.backAnimId = BACK_ANIM_H_VIBRATE,
PALETTES(AegislashShield),
ICON(AegislashShield, 2),
FOLLOWER(AegislashShield, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_AEGISLASH_BLADE] =
@ -2136,6 +2179,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Spritzee),
ICON(Spritzee, 0),
FOOTPRINT(Spritzee)
FOLLOWER(Spritzee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Spritzee),
.evolutions = EVOLUTION({EVO_TRADE_ITEM, ITEM_SACHET, SPECIES_AROMATISSE},
{EVO_ITEM, ITEM_SACHET, SPECIES_AROMATISSE}),
@ -2185,6 +2229,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Aromatisse),
ICON(Aromatisse, 0),
FOOTPRINT(Aromatisse)
FOLLOWER(Aromatisse, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Aromatisse),
},
#endif //P_FAMILY_SPRITZEE
@ -2234,6 +2279,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Swirlix),
ICON(Swirlix, 1),
FOOTPRINT(Swirlix)
FOLLOWER(Swirlix, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Swirlix),
.evolutions = EVOLUTION({EVO_TRADE_ITEM, ITEM_WHIPPED_DREAM, SPECIES_SLURPUFF},
{EVO_ITEM, ITEM_WHIPPED_DREAM, SPECIES_SLURPUFF}),
@ -2283,6 +2329,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Slurpuff),
ICON(Slurpuff, 1),
FOOTPRINT(Slurpuff)
FOLLOWER(Slurpuff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Slurpuff),
},
#endif //P_FAMILY_SWIRLIX
@ -2333,6 +2380,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Inkay),
ICON(Inkay, 0),
FOOTPRINT(Inkay)
FOLLOWER(Inkay, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Inkay),
.evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_MALAMAR}),
},
@ -2381,6 +2429,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Malamar),
ICON(Malamar, 2),
FOOTPRINT(Malamar)
FOLLOWER(Malamar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Malamar),
},
#endif //P_FAMILY_INKAY
@ -2430,6 +2479,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Binacle),
ICON(Binacle, 2),
FOOTPRINT(Binacle)
FOLLOWER(Binacle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Binacle),
.evolutions = EVOLUTION({EVO_LEVEL, 39, SPECIES_BARBARACLE}),
},
@ -2479,6 +2529,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Barbaracle),
ICON(Barbaracle, 2),
FOOTPRINT(Barbaracle)
FOLLOWER(Barbaracle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Barbaracle),
},
#endif //P_FAMILY_BINACLE
@ -2528,6 +2579,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Skrelp),
ICON(Skrelp, 2),
FOOTPRINT(Skrelp)
FOLLOWER(Skrelp, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Skrelp),
.evolutions = EVOLUTION({EVO_LEVEL, 48, SPECIES_DRAGALGE}),
},
@ -2576,6 +2628,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Dragalge),
ICON(Dragalge, 5),
FOOTPRINT(Dragalge)
FOLLOWER(Dragalge, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Dragalge),
},
#endif //P_FAMILY_SKRELP
@ -2626,6 +2679,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Clauncher),
ICON(Clauncher, 0),
FOOTPRINT(Clauncher)
FOLLOWER(Clauncher, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Clauncher),
.evolutions = EVOLUTION({EVO_LEVEL, 37, SPECIES_CLAWITZER}),
},
@ -2675,6 +2729,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Clawitzer),
ICON(Clawitzer, 0),
FOOTPRINT(Clawitzer)
FOLLOWER(Clawitzer, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Clawitzer),
},
#endif //P_FAMILY_CLAUNCHER
@ -2724,6 +2779,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Helioptile),
ICON(Helioptile, 2),
FOOTPRINT(Helioptile)
FOLLOWER(Helioptile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Helioptile),
.evolutions = EVOLUTION({EVO_ITEM, ITEM_SUN_STONE, SPECIES_HELIOLISK}),
},
@ -2773,6 +2829,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Heliolisk),
ICON(Heliolisk, 2),
FOOTPRINT(Heliolisk)
FOLLOWER(Heliolisk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Heliolisk),
},
#endif //P_FAMILY_HELIOPTILE
@ -2822,6 +2879,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Tyrunt),
ICON(Tyrunt, 2),
FOOTPRINT(Tyrunt)
FOLLOWER(Tyrunt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Tyrunt),
.evolutions = EVOLUTION({EVO_LEVEL_DAY, 39, SPECIES_TYRANTRUM}),
},
@ -2870,6 +2928,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Tyrantrum),
ICON(Tyrantrum, 0),
FOOTPRINT(Tyrantrum)
FOLLOWER(Tyrantrum, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Tyrantrum),
},
#endif //P_FAMILY_TYRUNT
@ -2919,6 +2978,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Amaura),
ICON(Amaura, 0),
FOOTPRINT(Amaura)
FOLLOWER(Amaura, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Amaura),
.evolutions = EVOLUTION({EVO_LEVEL_NIGHT, 39, SPECIES_AURORUS}),
},
@ -2967,6 +3027,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Aurorus),
ICON(Aurorus, 0),
FOOTPRINT(Aurorus)
FOLLOWER(Aurorus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Aurorus),
},
#endif //P_FAMILY_AMAURA
@ -3021,6 +3082,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Hawlucha),
ICON(Hawlucha, 0),
FOOTPRINT(Hawlucha)
FOLLOWER(Hawlucha, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Hawlucha),
},
#endif //P_FAMILY_HAWLUCHA
@ -3070,6 +3132,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Dedenne),
ICON(Dedenne, 0),
FOOTPRINT(Dedenne)
FOLLOWER(Dedenne, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Dedenne),
},
#endif //P_FAMILY_DEDENNE
@ -3121,6 +3184,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Carbink),
ICON(Carbink, 2),
FOOTPRINT(Carbink)
FOLLOWER(Carbink, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Carbink),
},
#endif //P_FAMILY_CARBINK
@ -3171,6 +3235,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Goomy),
ICON(Goomy, 5),
FOOTPRINT(Goomy)
FOLLOWER(Goomy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Goomy),
.evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_SLIGGOO},
{EVO_NONE, 0, SPECIES_SLIGGOO_HISUIAN}),
@ -3225,6 +3290,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.backAnimId = BACK_ANIM_SHRINK_GROW,
PALETTES(Sliggoo),
ICON(Sliggoo, 5),
FOLLOWER(Sliggoo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Sliggoo),
.evolutions = EVOLUTION({EVO_LEVEL_RAIN, 50, SPECIES_GOODRA},
{EVO_LEVEL_FOG, 50, SPECIES_GOODRA}),
@ -3278,6 +3344,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.backAnimId = BACK_ANIM_SHRINK_GROW,
PALETTES(Goodra),
ICON(Goodra, 5),
FOLLOWER(Goodra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Goodra),
},
@ -3314,6 +3381,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(SliggooHisuian),
ICON(SliggooHisuian, 2),
FOLLOWER(SliggooHisuian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(SliggooHisuian),
.isHisuianForm = TRUE,
.evolutions = EVOLUTION({EVO_LEVEL_RAIN, 50, SPECIES_GOODRA_HISUIAN},
@ -3352,6 +3420,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(GoodraHisuian),
ICON(GoodraHisuian, 2),
FOLLOWER(GoodraHisuian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(GoodraHisuian),
.isHisuianForm = TRUE,
},
@ -3405,6 +3474,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Klefki),
ICON(Klefki, 0),
FOOTPRINT(Klefki)
FOLLOWER(Klefki, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Klefki),
},
#endif //P_FAMILY_KLEFKI
@ -3455,6 +3525,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Phantump),
ICON(Phantump, 1),
FOOTPRINT(Phantump)
FOLLOWER(Phantump, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Phantump),
.evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_TREVENANT},
{EVO_ITEM, ITEM_LINKING_CORD, SPECIES_TREVENANT}),
@ -3504,6 +3575,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Trevenant),
ICON(Trevenant, 1),
FOOTPRINT(Trevenant)
FOLLOWER(Trevenant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Trevenant),
},
#endif //P_FAMILY_PHANTUMP
@ -3558,6 +3630,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.frontPicYOffset = 13,
BACK_PIC(PumpkabooAverage, 56, 48),
.backPicYOffset = 13,
FOLLOWER(PumpkabooAverage, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
.evolutions = EVOLUTION({EVO_TRADE, 0, SPECIES_GOURGEIST_AVERAGE},
{EVO_ITEM, ITEM_LINKING_CORD, SPECIES_GOURGEIST_AVERAGE}),
},
@ -3697,6 +3770,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.frontPicYOffset = 4,
BACK_PIC(GourgeistAverage, 48, 64),
.backPicYOffset = 3,
FOLLOWER(GourgeistAverage, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_GOURGEIST_SMALL] =
@ -3834,6 +3908,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Bergmite),
ICON(Bergmite, 0),
FOOTPRINT(Bergmite)
FOLLOWER(Bergmite, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Bergmite),
.evolutions = EVOLUTION({EVO_LEVEL, 37, SPECIES_AVALUGG},
{EVO_NONE, 0, SPECIES_AVALUGG_HISUIAN}),
@ -3888,6 +3963,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.backAnimId = BACK_ANIM_V_SHAKE_LOW,
PALETTES(Avalugg),
ICON(Avalugg, 0),
FOLLOWER(Avalugg, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Avalugg),
},
@ -3922,6 +3998,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(AvaluggHisuian),
ICON(AvaluggHisuian, 5),
FOLLOWER(AvaluggHisuian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(AvaluggHisuian),
.isHisuianForm = TRUE,
},
@ -3978,6 +4055,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Noibat),
ICON(Noibat, 2),
FOOTPRINT(Noibat)
FOLLOWER(Noibat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Noibat),
.evolutions = EVOLUTION({EVO_LEVEL, 48, SPECIES_NOIVERN}),
},
@ -4030,6 +4108,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Noivern),
ICON(Noivern, 2),
FOOTPRINT(Noivern)
FOLLOWER(Noivern, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Noivern),
},
#endif //P_FAMILY_NOIBAT
@ -4075,6 +4154,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Xerneas##Form), \
ICON(Xerneas##Form, 0), \
FOOTPRINT(Xerneas) \
FOLLOWER(XerneasNeutral, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT) \
LEARNSETS(Xerneas), \
.formSpeciesIdTable = sXerneasFormSpeciesIdTable, \
.formChangeTable = sXerneasFormChangeTable, \
@ -4132,6 +4212,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Yveltal),
ICON(Yveltal, 0),
FOOTPRINT(Yveltal)
FOLLOWER(Yveltal, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Yveltal),
},
#endif //P_FAMILY_YVELTAL
@ -4156,39 +4237,40 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.formSpeciesIdTable = sZygardeFormSpeciesIdTable, \
.isLegendary = TRUE
#define ZYGARDE_50_SPECIES_INFO(ability) \
{ \
.baseHP = 108, \
.baseAttack = 100, \
.baseDefense = 121, \
.baseSpeed = 95, \
.baseSpAttack = 81, \
.baseSpDefense = 95, \
.expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 300 : 270,\
.bodyColor = BODY_COLOR_GREEN, \
.cryId = CRY_ZYGARDE_50, \
.height = 50, \
.weight = 3050, \
.description = gZygarde50PokedexText, \
.pokemonScale = 256, \
.pokemonOffset = 0, \
.trainerScale = 721, \
.trainerOffset = 19, \
FRONT_PIC(Zygarde50, 64, 64), \
.frontPicYOffset = 0, \
.frontAnimFrames = sAnims_Zygarde50, \
.frontAnimId = ANIM_TIP_MOVE_FORWARD, \
BACK_PIC(Zygarde50, 64, 64), \
.backPicYOffset = 4, \
.backAnimId = (ability == ABILITY_POWER_CONSTRUCT \
? BACK_ANIM_SHAKE_GLOW_GREEN \
: BACK_ANIM_V_STRETCH), \
PALETTES(Zygarde50), \
ICON(Zygarde50, 1), \
.formChangeTable = (ability == ABILITY_POWER_CONSTRUCT \
? sZygarde50PowerConstructFormChangeTable \
: sZygarde50AuraBreakFormChangeTable), \
ZYGARDE_MISC_INFO(ability), \
#define ZYGARDE_50_SPECIES_INFO(ability) \
{ \
.baseHP = 108, \
.baseAttack = 100, \
.baseDefense = 121, \
.baseSpeed = 95, \
.baseSpAttack = 81, \
.baseSpDefense = 95, \
.expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 300 : 270, \
.bodyColor = BODY_COLOR_GREEN, \
.cryId = CRY_ZYGARDE_50, \
.height = 50, \
.weight = 3050, \
.description = gZygarde50PokedexText, \
.pokemonScale = 256, \
.pokemonOffset = 0, \
.trainerScale = 721, \
.trainerOffset = 19, \
FRONT_PIC(Zygarde50, 64, 64), \
.frontPicYOffset = 0, \
.frontAnimFrames = sAnims_Zygarde50, \
.frontAnimId = ANIM_TIP_MOVE_FORWARD, \
BACK_PIC(Zygarde50, 64, 64), \
.backPicYOffset = 4, \
.backAnimId = (ability == ABILITY_POWER_CONSTRUCT \
? BACK_ANIM_SHAKE_GLOW_GREEN \
: BACK_ANIM_V_STRETCH), \
PALETTES(Zygarde50), \
ICON(Zygarde50, 1), \
FOLLOWER(Zygarde50, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT) \
.formChangeTable = (ability == ABILITY_POWER_CONSTRUCT \
? sZygarde50PowerConstructFormChangeTable \
: sZygarde50AuraBreakFormChangeTable), \
ZYGARDE_MISC_INFO(ability), \
}
#define ZYGARDE_10_SPECIES_INFO(ability) \
@ -4319,6 +4401,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.backAnimId = BACK_ANIM_CIRCLE_COUNTERCLOCKWISE,
PALETTES(Diancie),
ICON(Diancie, 1),
FOLLOWER(Diancie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_MEGA_EVOLUTIONS
@ -4411,6 +4494,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.backAnimId = BACK_ANIM_CONVEX_DOUBLE_ARC,
PALETTES(HoopaConfined),
ICON(HoopaConfined, 0),
FOLLOWER(HoopaConfined, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(HoopaConfined),
},
@ -4448,6 +4532,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
.backAnimId = BACK_ANIM_V_SHAKE_LOW,
PALETTES(HoopaUnbound),
ICON(HoopaUnbound, 0),
FOLLOWER(HoopaUnbound, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(HoopaUnbound),
},
#endif //P_FAMILY_HOOPA
@ -4498,6 +4583,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
PALETTES(Volcanion),
ICON(Volcanion, 0),
FOOTPRINT(Volcanion)
FOLLOWER(Volcanion, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Volcanion),
},
#endif //P_FAMILY_VOLCANION

View File

@ -48,6 +48,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Rowlet),
ICON(Rowlet, 0),
FOOTPRINT(Rowlet)
FOLLOWER(Rowlet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Rowlet),
.evolutions = EVOLUTION({EVO_LEVEL, 17, SPECIES_DARTRIX}),
},
@ -97,6 +98,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Dartrix),
ICON(Dartrix, 1),
FOOTPRINT(Dartrix)
FOLLOWER(Dartrix, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Dartrix),
.evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_DECIDUEYE},
{EVO_NONE, 0, SPECIES_DECIDUEYE_HISUIAN}),
@ -150,6 +152,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
.backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE,
PALETTES(Decidueye),
ICON(Decidueye, 1),
FOLLOWER(Decidueye, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Decidueye),
},
@ -180,6 +183,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(DecidueyeHisuian),
ICON(DecidueyeHisuian, 0),
FOLLOWER(DecidueyeHisuian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(DecidueyeHisuian),
.isHisuianForm = TRUE,
},
@ -231,6 +235,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Litten),
ICON(Litten, 0),
FOOTPRINT(Litten)
FOLLOWER(Litten, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Litten),
.evolutions = EVOLUTION({EVO_LEVEL, 17, SPECIES_TORRACAT}),
},
@ -279,6 +284,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Torracat),
ICON(Torracat, 0),
FOOTPRINT(Torracat)
FOLLOWER(Torracat, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Torracat),
.evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_INCINEROAR}),
},
@ -327,6 +333,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Incineroar),
ICON(Incineroar, 0),
FOOTPRINT(Incineroar)
FOLLOWER(Incineroar, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Incineroar),
},
#endif //P_FAMILY_LITTEN
@ -376,6 +383,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Popplio),
ICON(Popplio, 0),
FOOTPRINT(Popplio)
FOLLOWER(Popplio, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Popplio),
.evolutions = EVOLUTION({EVO_LEVEL, 17, SPECIES_BRIONNE}),
},
@ -424,6 +432,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Brionne),
ICON(Brionne, 0),
FOOTPRINT(Brionne)
FOLLOWER(Brionne, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Brionne),
.evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_PRIMARINA}),
},
@ -472,6 +481,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Primarina),
ICON(Primarina, 0),
FOOTPRINT(Primarina)
FOLLOWER(Primarina, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Primarina),
},
#endif //P_FAMILY_POPPLIO
@ -522,6 +532,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Pikipek),
ICON(Pikipek, 2),
FOOTPRINT(Pikipek)
FOLLOWER(Pikipek, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Pikipek),
.evolutions = EVOLUTION({EVO_LEVEL, 14, SPECIES_TRUMBEAK}),
},
@ -571,6 +582,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Trumbeak),
ICON(Trumbeak, 0),
FOOTPRINT(Trumbeak)
FOLLOWER(Trumbeak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Trumbeak),
.evolutions = EVOLUTION({EVO_LEVEL, 28, SPECIES_TOUCANNON}),
},
@ -620,6 +632,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Toucannon),
ICON(Toucannon, 0),
FOOTPRINT(Toucannon)
FOLLOWER(Toucannon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Toucannon),
},
#endif //P_FAMILY_PIKIPEK
@ -670,6 +683,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Yungoos),
ICON(Yungoos, 2),
FOOTPRINT(Yungoos)
FOLLOWER(Yungoos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Yungoos),
.evolutions = EVOLUTION({EVO_LEVEL_DAY, 20, SPECIES_GUMSHOOS}),
},
@ -719,6 +733,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Gumshoos),
ICON(Gumshoos, 2),
FOOTPRINT(Gumshoos)
FOLLOWER(Gumshoos, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Gumshoos),
},
#endif //P_FAMILY_YUNGOOS
@ -768,6 +783,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Grubbin),
ICON(Grubbin, 0),
FOOTPRINT(Grubbin)
FOLLOWER(Grubbin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Grubbin),
.evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_CHARJABUG}),
},
@ -817,6 +833,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Charjabug),
ICON(Charjabug, 1),
FOOTPRINT(Charjabug)
FOLLOWER(Charjabug, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Charjabug),
.evolutions = EVOLUTION({EVO_MAPSEC, MAPSEC_NEW_MAUVILLE, SPECIES_VIKAVOLT},
{EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_VIKAVOLT}),
@ -867,6 +884,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Vikavolt),
ICON(Vikavolt, 0),
FOOTPRINT(Vikavolt)
FOLLOWER(Vikavolt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Vikavolt),
},
#endif //P_FAMILY_GRUBBIN
@ -917,6 +935,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Crabrawler),
ICON(Crabrawler, 2),
FOOTPRINT(Crabrawler)
FOLLOWER(Crabrawler, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Crabrawler),
.evolutions = EVOLUTION({EVO_SPECIFIC_MAP, MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM, SPECIES_CRABOMINABLE},
{EVO_ITEM, ITEM_ICE_STONE, SPECIES_CRABOMINABLE}),
@ -967,6 +986,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Crabominable),
ICON(Crabominable, 2),
FOOTPRINT(Crabominable)
FOLLOWER(Crabominable, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Crabominable),
},
#endif //P_FAMILY_CRABRAWLER
@ -1024,6 +1044,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(OricorioBaile),
ICON(OricorioBaile, 0),
FOLLOWER(OricorioBaile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_ORICORIO_POM_POM] =
@ -1134,6 +1155,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Cutiefly),
ICON(Cutiefly, 2),
FOOTPRINT(Cutiefly)
FOLLOWER(Cutiefly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Cutiefly),
.evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_RIBOMBEE}),
},
@ -1184,56 +1206,58 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Ribombee),
ICON(Ribombee, 2),
FOOTPRINT(Ribombee)
FOLLOWER(Ribombee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Ribombee),
},
#endif //P_FAMILY_CUTIEFLY
#if P_FAMILY_ROCKRUFF
#define ROCKRUFF_MISC_INFO \
.baseHP = 45, \
.baseAttack = 65, \
.baseDefense = 40, \
.baseSpeed = 60, \
.baseSpAttack = 30, \
.baseSpDefense = 40, \
.types = { TYPE_ROCK, TYPE_ROCK }, \
.catchRate = 190, \
.expYield = 56, \
.evYield_Attack = 1, \
.genderRatio = PERCENT_FEMALE(50), \
.eggCycles = 15, \
.friendship = STANDARD_FRIENDSHIP, \
.growthRate = GROWTH_MEDIUM_FAST, \
.eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \
.bodyColor = BODY_COLOR_BROWN, \
.speciesName = _("Rockruff"), \
.cryId = CRY_ROCKRUFF, \
.natDexNum = NATIONAL_DEX_ROCKRUFF, \
.categoryName = _("Puppy"), \
.height = 5, \
.weight = 92, \
.description = gRockruffPokedexText, \
.pokemonScale = 432, \
.pokemonOffset = 13, \
.trainerScale = 256, \
.trainerOffset = 0, \
.frontPicYOffset = 11, \
.frontAnimFrames = sAnims_Rockruff, \
.frontAnimId = ANIM_V_STRETCH, \
.backPicYOffset = 7, \
PALETTES(Rockruff), \
ICON(Rockruff, 2), \
FOOTPRINT(Rockruff) \
LEARNSETS(Rockruff), \
#define ROCKRUFF_MISC_INFO \
.baseHP = 45, \
.baseAttack = 65, \
.baseDefense = 40, \
.baseSpeed = 60, \
.baseSpAttack = 30, \
.baseSpDefense = 40, \
.types = { TYPE_ROCK, TYPE_ROCK }, \
.catchRate = 190, \
.expYield = 56, \
.evYield_Attack = 1, \
.genderRatio = PERCENT_FEMALE(50), \
.eggCycles = 15, \
.friendship = STANDARD_FRIENDSHIP, \
.growthRate = GROWTH_MEDIUM_FAST, \
.eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \
.bodyColor = BODY_COLOR_BROWN, \
.speciesName = _("Rockruff"), \
.cryId = CRY_ROCKRUFF, \
.natDexNum = NATIONAL_DEX_ROCKRUFF, \
.categoryName = _("Puppy"), \
.height = 5, \
.weight = 92, \
.description = gRockruffPokedexText, \
.pokemonScale = 432, \
.pokemonOffset = 13, \
.trainerScale = 256, \
.trainerOffset = 0, \
FRONT_PIC(Rockruff, 40, 48), \
.frontPicYOffset = 11, \
.frontAnimFrames = sAnims_Rockruff, \
.frontAnimId = ANIM_V_STRETCH, \
BACK_PIC(Rockruff, 64, 56), \
.backPicYOffset = 7, \
.backAnimId = BACK_ANIM_V_STRETCH, \
PALETTES(Rockruff), \
ICON(Rockruff, 2), \
FOOTPRINT(Rockruff) \
FOLLOWER(Rockruff, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT) \
LEARNSETS(Rockruff), \
.formSpeciesIdTable = sRockruffFormSpeciesIdTable
[SPECIES_ROCKRUFF] =
{
ROCKRUFF_MISC_INFO,
.abilities = { ABILITY_KEEN_EYE, ABILITY_VITAL_SPIRIT, ABILITY_STEADFAST },
FRONT_PIC(Rockruff, 37, 39),
BACK_PIC(Rockruff, 64, 56),
.backAnimId = BACK_ANIM_V_STRETCH,
.evolutions = EVOLUTION({EVO_LEVEL_DAY, 25, SPECIES_LYCANROC_MIDDAY},
{EVO_LEVEL_NIGHT, 25, SPECIES_LYCANROC_MIDNIGHT}),
},
@ -1242,9 +1266,6 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
{
ROCKRUFF_MISC_INFO,
.abilities = { ABILITY_OWN_TEMPO, ABILITY_NONE, ABILITY_NONE },
FRONT_PIC(Rockruff, 40, 48),
BACK_PIC(Rockruff, 64, 56),
//.backAnimId = BACK_ANIM_NONE,
.evolutions = EVOLUTION({EVO_LEVEL_DUSK, 25, SPECIES_LYCANROC_DUSK}),
},
@ -1296,6 +1317,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
.backAnimId = BACK_ANIM_V_SHAKE,
PALETTES(LycanrocMidday),
ICON(LycanrocMidday, 2),
FOLLOWER(LycanrocMidday, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(LycanrocMidday),
},
@ -1325,6 +1347,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
.backAnimId = BACK_ANIM_SHRINK_GROW_VIBRATE,
PALETTES(LycanrocMidnight),
ICON(LycanrocMidnight, 0),
FOLLOWER(LycanrocMidnight, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(LycanrocMidnight),
},
@ -1354,6 +1377,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
.backAnimId = BACK_ANIM_V_SHAKE,
PALETTES(LycanrocDusk),
ICON(LycanrocDusk, 0),
FOLLOWER(LycanrocDusk, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(LycanrocDusk),
},
#endif //P_FAMILY_ROCKRUFF
@ -1410,6 +1434,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(WishiwashiSolo),
ICON(WishiwashiSolo, 2),
FOLLOWER(WishiwashiSolo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_WISHIWASHI_SCHOOL] =
@ -1488,6 +1513,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Mareanie),
ICON(Mareanie, 2),
FOOTPRINT(Mareanie)
FOLLOWER(Mareanie, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Mareanie),
.evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_TOXAPEX}),
},
@ -1537,6 +1563,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Toxapex),
ICON(Toxapex, 0),
FOOTPRINT(Toxapex)
FOLLOWER(Toxapex, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Toxapex),
},
#endif //P_FAMILY_MAREANIE
@ -1587,6 +1614,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Mudbray),
ICON(Mudbray, 2),
FOOTPRINT(Mudbray)
FOLLOWER(Mudbray, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Mudbray),
.evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_MUDSDALE}),
},
@ -1636,6 +1664,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Mudsdale),
ICON(Mudsdale, 0),
FOOTPRINT(Mudsdale)
FOLLOWER(Mudsdale, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Mudsdale),
},
#endif //P_FAMILY_MUDBRAY
@ -1686,6 +1715,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Dewpider),
ICON(Dewpider, 0),
FOOTPRINT(Dewpider)
FOLLOWER(Dewpider, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Dewpider),
.evolutions = EVOLUTION({EVO_LEVEL, 22, SPECIES_ARAQUANID}),
},
@ -1735,6 +1765,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Araquanid),
ICON(Araquanid, 2),
FOOTPRINT(Araquanid)
FOLLOWER(Araquanid, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Araquanid),
},
#endif //P_FAMILY_DEWPIDER
@ -1785,6 +1816,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Fomantis),
ICON(Fomantis, 1),
FOOTPRINT(Fomantis)
FOLLOWER(Fomantis, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Fomantis),
.evolutions = EVOLUTION({EVO_LEVEL_DAY, 34, SPECIES_LURANTIS}),
},
@ -1834,6 +1866,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Lurantis),
ICON(Lurantis, 1),
FOOTPRINT(Lurantis)
FOLLOWER(Lurantis, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Lurantis),
},
#endif //P_FAMILY_FOMANTIS
@ -1885,6 +1918,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Morelull),
ICON(Morelull, 0),
FOOTPRINT(Morelull)
FOLLOWER(Morelull, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Morelull),
.evolutions = EVOLUTION({EVO_LEVEL, 24, SPECIES_SHIINOTIC}),
},
@ -1935,6 +1969,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Shiinotic),
ICON(Shiinotic, 1),
FOOTPRINT(Shiinotic)
FOLLOWER(Shiinotic, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Shiinotic),
},
#endif //P_FAMILY_MORELULL
@ -1985,6 +2020,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Salandit),
ICON(Salandit, 2),
FOOTPRINT(Salandit)
FOLLOWER(Salandit, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Salandit),
.evolutions = EVOLUTION({EVO_LEVEL_FEMALE, 33, SPECIES_SALAZZLE}),
},
@ -2034,6 +2070,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Salazzle),
ICON(Salazzle, 0),
FOOTPRINT(Salazzle)
FOLLOWER(Salazzle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Salazzle),
},
#endif //P_FAMILY_SALANDIT
@ -2083,6 +2120,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Stufful),
ICON(Stufful, 0),
FOOTPRINT(Stufful)
FOLLOWER(Stufful, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Stufful),
.evolutions = EVOLUTION({EVO_LEVEL, 27, SPECIES_BEWEAR}),
},
@ -2131,6 +2169,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Bewear),
ICON(Bewear, 0),
FOOTPRINT(Bewear)
FOLLOWER(Bewear, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Bewear),
},
#endif //P_FAMILY_STUFFUL
@ -2181,6 +2220,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Bounsweet),
ICON(Bounsweet, 1),
FOOTPRINT(Bounsweet)
FOLLOWER(Bounsweet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Bounsweet),
.evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_STEENEE}),
},
@ -2231,6 +2271,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Steenee),
ICON(Steenee, 1),
FOOTPRINT(Steenee)
FOLLOWER(Steenee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Steenee),
.evolutions = EVOLUTION({EVO_MOVE, MOVE_STOMP, SPECIES_TSAREENA}),
},
@ -2281,6 +2322,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Tsareena),
ICON(Tsareena, 1),
FOOTPRINT(Tsareena)
FOLLOWER(Tsareena, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Tsareena),
},
#endif //P_FAMILY_BOUNSWEET
@ -2333,6 +2375,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Comfey),
ICON(Comfey, 1),
FOOTPRINT(Comfey)
FOLLOWER(Comfey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Comfey),
},
#endif //P_FAMILY_COMFEY
@ -2382,6 +2425,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Oranguru),
ICON(Oranguru, 0),
FOOTPRINT(Oranguru)
FOLLOWER(Oranguru, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Oranguru),
},
#endif //P_FAMILY_ORANGURU
@ -2431,6 +2475,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Passimian),
ICON(Passimian, 1),
FOOTPRINT(Passimian)
FOLLOWER(Passimian, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Passimian),
},
#endif //P_FAMILY_PASSIMIAN
@ -2480,6 +2525,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Wimpod),
ICON(Wimpod, 2),
FOOTPRINT(Wimpod)
FOLLOWER(Wimpod, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Wimpod),
.evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_GOLISOPOD}),
},
@ -2528,6 +2574,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Golisopod),
ICON(Golisopod, 2),
FOOTPRINT(Golisopod)
FOLLOWER(Golisopod, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Golisopod),
},
#endif //P_FAMILY_WIMPOD
@ -2578,6 +2625,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Sandygast),
ICON(Sandygast, 1),
FOOTPRINT(Sandygast)
FOLLOWER(Sandygast, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Sandygast),
.evolutions = EVOLUTION({EVO_LEVEL, 42, SPECIES_PALOSSAND}),
},
@ -2627,6 +2675,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Palossand),
ICON(Palossand, 2),
FOOTPRINT(Palossand)
FOLLOWER(Palossand, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Palossand),
},
#endif //P_FAMILY_SANDYGAST
@ -2676,6 +2725,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Pyukumuku),
ICON(Pyukumuku, 0),
FOOTPRINT(Pyukumuku)
FOLLOWER(Pyukumuku, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Pyukumuku),
},
#endif //P_FAMILY_PYUKUMUKU
@ -2725,6 +2775,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(TypeNull),
ICON(TypeNull, 0),
FOLLOWER(TypeNull, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
FOOTPRINT(Type_Null)
LEARNSETS(TypeNull),
.evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_SILVALLY_NORMAL}),
@ -2772,6 +2823,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(palette), \
ICON(Silvally, 0), \
FOOTPRINT(Silvally) \
FOLLOWER(Silvally, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT) \
LEARNSETS(Silvally), \
.formSpeciesIdTable = sSilvallyFormSpeciesIdTable, \
.formChangeTable = sSilvallyFormChangeTable, \
@ -2827,26 +2879,27 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
LEARNSETS(Minior), \
.formSpeciesIdTable = sMiniorFormSpeciesIdTable
#define MINIOR_METEOR_SPECIES_INFO(Form) \
{ \
.baseHP = 60, \
.baseAttack = 60, \
.baseDefense = 100, \
.baseSpeed = 60, \
.baseSpAttack = 60, \
.baseSpDefense = 100, \
.weight = 400, \
FRONT_PIC(MiniorMeteor, 48, 40), \
.frontPicYOffset = 14, \
.frontAnimFrames = sAnims_MiniorMeteor, \
.frontAnimId = ANIM_TUMBLING_FRONT_FLIP_TWICE, \
.enemyMonElevation = 17, \
BACK_PIC(MiniorMeteor, 56, 40), \
.backPicYOffset = 14, \
PALETTES(MiniorMeteor), \
ICON(MiniorMeteor, 0), \
.formChangeTable = sMinior ##Form##FormChangeTable, \
MINIOR_MISC_INFO(BODY_COLOR_BROWN), \
#define MINIOR_METEOR_SPECIES_INFO(Form) \
{ \
.baseHP = 60, \
.baseAttack = 60, \
.baseDefense = 100, \
.baseSpeed = 60, \
.baseSpAttack = 60, \
.baseSpDefense = 100, \
.weight = 400, \
FRONT_PIC(MiniorMeteor, 48, 40), \
.frontPicYOffset = 14, \
.frontAnimFrames = sAnims_MiniorMeteor, \
.frontAnimId = ANIM_TUMBLING_FRONT_FLIP_TWICE, \
.enemyMonElevation = 17, \
BACK_PIC(MiniorMeteor, 56, 40), \
.backPicYOffset = 14, \
PALETTES(MiniorMeteor), \
ICON(MiniorMeteor, 0), \
FOLLOWER(MiniorMeteor, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT) \
.formChangeTable = sMinior ##Form##FormChangeTable, \
MINIOR_MISC_INFO(BODY_COLOR_BROWN), \
}
//.backAnimId = BACK_ANIM_NONE,
@ -2936,6 +2989,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Komala),
ICON(Komala, 2),
FOOTPRINT(Komala)
FOLLOWER(Komala, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Komala),
},
#endif //P_FAMILY_KOMALA
@ -2986,6 +3040,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Turtonator),
ICON(Turtonator, 0),
FOOTPRINT(Turtonator)
FOLLOWER(Turtonator, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Turtonator),
},
#endif //P_FAMILY_TURTONATOR
@ -3036,6 +3091,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Togedemaru),
ICON(Togedemaru, 2),
FOOTPRINT(Togedemaru)
FOLLOWER(Togedemaru, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Togedemaru),
},
#endif //P_FAMILY_TOGEDEMARU
@ -3092,6 +3148,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(MimikyuDisguised),
ICON(MimikyuDisguised, 1),
FOLLOWER(MimikyuDisguised, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_MIMIKYU_BUSTED] =
@ -3160,6 +3217,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Bruxish),
ICON(Bruxish, 0),
FOOTPRINT(Bruxish)
FOLLOWER(Bruxish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Bruxish),
},
#endif //P_FAMILY_BRUXISH
@ -3210,6 +3268,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Drampa),
ICON(Drampa, 0),
FOOTPRINT(Drampa)
FOLLOWER(Drampa, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Drampa),
},
#endif //P_FAMILY_DRAMPA
@ -3261,6 +3320,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Dhelmise),
ICON(Dhelmise, 1),
FOOTPRINT(Dhelmise)
FOLLOWER(Dhelmise, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Dhelmise),
},
#endif //P_FAMILY_DHELMISE
@ -3311,6 +3371,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(JangmoO),
ICON(JangmoO, 2),
FOOTPRINT(JangmoO)
FOLLOWER(JangmoO, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(JangmoO),
.evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_HAKAMO_O}),
},
@ -3360,6 +3421,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(HakamoO),
ICON(HakamoO, 2),
FOOTPRINT(HakamoO)
FOLLOWER(HakamoO, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(HakamoO),
.evolutions = EVOLUTION({EVO_LEVEL, 45, SPECIES_KOMMO_O}),
},
@ -3409,6 +3471,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(KommoO),
ICON(KommoO, 2),
FOOTPRINT(KommoO)
FOLLOWER(KommoO, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(KommoO),
},
#endif //P_FAMILY_JANGMO_O
@ -3459,7 +3522,8 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(TapuKoko),
ICON(TapuKoko, 0),
FOOTPRINT(Tapu_Koko)
FOLLOWER(TapuKoko, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
FOOTPRINT(TapuKoko)
LEARNSETS(TapuKoko),
},
#endif //P_FAMILY_TAPU_KOKO
@ -3510,7 +3574,8 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(TapuLele),
ICON(TapuLele, 0),
FOOTPRINT(Tapu_Lele)
FOLLOWER(TapuLele, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
FOOTPRINT(TapuLele)
LEARNSETS(TapuLele),
},
#endif //P_FAMILY_TAPU_LELE
@ -3561,7 +3626,8 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(TapuBulu),
ICON(TapuBulu, 2),
FOOTPRINT(Tapu_Bulu)
FOLLOWER(TapuBulu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
FOOTPRINT(TapuBulu)
LEARNSETS(TapuBulu),
},
#endif //P_FAMILY_TAPU_BULU
@ -3613,7 +3679,8 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(TapuFini),
ICON(TapuFini, 0),
FOOTPRINT(Tapu_Fini)
FOLLOWER(TapuFini, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
FOOTPRINT(TapuFini)
LEARNSETS(TapuFini),
},
#endif //P_FAMILY_TAPU_FINI
@ -3665,6 +3732,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Cosmog),
ICON(Cosmog, 2),
FOOTPRINT(Cosmog)
FOLLOWER(Cosmog, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Cosmog),
.evolutions = EVOLUTION({EVO_LEVEL, 43, SPECIES_COSMOEM}),
},
@ -3716,6 +3784,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Cosmoem),
ICON(Cosmoem, 0),
FOOTPRINT(Cosmoem)
FOLLOWER(Cosmoem, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Cosmoem),
.evolutions = EVOLUTION({EVO_LEVEL_DAY, 53, SPECIES_SOLGALEO},
{EVO_LEVEL_NIGHT, 53, SPECIES_LUNALA}),
@ -3766,6 +3835,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Solgaleo),
ICON(Solgaleo, 0),
FOOTPRINT(Solgaleo)
FOLLOWER(Solgaleo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Solgaleo),
},
@ -3815,6 +3885,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Lunala),
ICON(Lunala, 2),
FOOTPRINT(Lunala)
FOLLOWER(Lunala, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Lunala),
},
#endif //P_FAMILY_COSMOG
@ -3866,6 +3937,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Nihilego),
ICON(Nihilego, 0),
FOOTPRINT(Nihilego)
FOLLOWER(Nihilego, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Nihilego),
},
#endif //P_FAMILY_NIHILEGO
@ -3917,6 +3989,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Buzzwole),
ICON(Buzzwole, 0),
FOOTPRINT(Buzzwole)
FOLLOWER(Buzzwole, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Buzzwole),
},
#endif //P_FAMILY_BUZZWOLE
@ -3967,6 +4040,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Pheromosa),
ICON(Pheromosa, 2),
FOOTPRINT(Pheromosa)
FOLLOWER(Pheromosa, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Pheromosa),
},
#endif //P_FAMILY_PHEROMOSA
@ -4017,6 +4091,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Xurkitree),
ICON(Xurkitree, 0),
FOOTPRINT(Xurkitree)
FOLLOWER(Xurkitree, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Xurkitree),
},
#endif //P_FAMILY_XURKITREE
@ -4069,6 +4144,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Celesteela),
ICON(Celesteela, 0),
FOOTPRINT(Celesteela)
FOLLOWER(Celesteela, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Celesteela),
},
#endif //P_FAMILY_CELESTEELA
@ -4120,6 +4196,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Kartana),
ICON(Kartana, 0),
FOOTPRINT(Kartana)
FOLLOWER(Kartana, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Kartana),
},
#endif //P_FAMILY_KARTANA
@ -4170,6 +4247,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Guzzlord),
ICON(Guzzlord, 0),
FOOTPRINT(Guzzlord)
FOLLOWER(Guzzlord, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Guzzlord),
},
#endif //P_FAMILY_GUZZLORD
@ -4228,6 +4306,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Necrozma),
ICON(Necrozma, 0),
FOLLOWER(Necrozma, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_FUSION_FORMS
@ -4263,6 +4342,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(NecrozmaDuskMane),
ICON(NecrozmaDuskMane, 0),
FOLLOWER(NecrozmaDuskMane, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
.cannotBeTraded = TRUE,
.formChangeTable = sNecrozmaDuskManeFormChangeTable,
},
@ -4300,6 +4380,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(NecrozmaDawnWings),
ICON(NecrozmaDawnWings, 0),
FOLLOWER(NecrozmaDawnWings, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
.cannotBeTraded = TRUE,
.formChangeTable = sNecrozmaDawnWingsFormChangeTable,
},
@ -4393,6 +4474,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
{
MAGEARNA_MISC_INFO(Magearna),
.bodyColor = BODY_COLOR_GRAY,
FOLLOWER(Magearna, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
.description = COMPOUND_STRING(
"This artificial Pokémon, constructed more\n"
"than 500 years ago, can understand human\n"
@ -4458,6 +4540,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Marshadow),
ICON(Marshadow, 0),
FOOTPRINT(Marshadow)
FOLLOWER(Marshadow, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Marshadow),
.isMythical = TRUE,
},
@ -4509,6 +4592,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Poipole),
ICON(Poipole, 0),
FOOTPRINT(Poipole)
FOLLOWER(Poipole, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Poipole),
.evolutions = EVOLUTION({EVO_MOVE, MOVE_DRAGON_PULSE, SPECIES_NAGANADEL}),
},
@ -4558,6 +4642,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Naganadel),
ICON(Naganadel, 0),
FOOTPRINT(Naganadel)
FOLLOWER(Naganadel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Naganadel),
},
#endif //P_FAMILY_POIPOLE
@ -4608,6 +4693,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Stakataka),
ICON(Stakataka, 0),
FOOTPRINT(Stakataka)
FOLLOWER(Stakataka, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Stakataka),
},
#endif //P_FAMILY_STAKATAKA
@ -4658,6 +4744,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Blacephalon),
ICON(Blacephalon, 0),
FOOTPRINT(Blacephalon)
FOLLOWER(Blacephalon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Blacephalon),
},
#endif //P_FAMILY_BLACEPHALON
@ -4707,6 +4794,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Zeraora),
ICON(Zeraora, 0),
FOOTPRINT(Zeraora)
FOLLOWER(Zeraora, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Zeraora),
},
#endif //P_FAMILY_ZERAORA
@ -4756,6 +4844,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
PALETTES(Meltan),
ICON(Meltan, 2),
FOOTPRINT(Meltan)
FOLLOWER(Meltan, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Meltan),
},
@ -4809,6 +4898,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Melmetal),
ICON(Melmetal, 2),
FOLLOWER(Melmetal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_GIGANTAMAX_FORMS

View File

@ -48,6 +48,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Grookey),
ICON(Grookey, 1),
FOOTPRINT(Grookey)
FOLLOWER(Grookey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Grookey),
.evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_THWACKEY}),
},
@ -95,6 +96,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Thwackey),
ICON(Thwackey, 1),
FOOTPRINT(Thwackey)
FOLLOWER(Thwackey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Thwackey),
.evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_RILLABOOM}),
},
@ -148,6 +150,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Rillaboom),
ICON(Rillaboom, 1),
FOLLOWER(Rillaboom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_GIGANTAMAX_FORMS
@ -223,6 +226,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Scorbunny),
ICON(Scorbunny, 0),
FOOTPRINT(Scorbunny)
FOLLOWER(Scorbunny, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Scorbunny),
.evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_RABOOT}),
},
@ -270,6 +274,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Raboot),
ICON(Raboot, 0),
FOOTPRINT(Raboot)
FOLLOWER(Raboot, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Raboot),
.evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_CINDERACE}),
},
@ -324,6 +329,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Cinderace),
ICON(Cinderace, 0),
FOLLOWER(Cinderace, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_GIGANTAMAX_FORMS
@ -401,6 +407,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Sobble),
ICON(Sobble, 2),
FOOTPRINT(Sobble)
FOLLOWER(Sobble, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Sobble),
.evolutions = EVOLUTION({EVO_LEVEL, 16, SPECIES_DRIZZILE}),
},
@ -448,6 +455,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Drizzile),
ICON(Drizzile, 2),
FOOTPRINT(Drizzile)
FOLLOWER(Drizzile, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Drizzile),
.evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_INTELEON}),
},
@ -502,6 +510,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Inteleon),
ICON(Inteleon, 0),
FOLLOWER(Inteleon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_GIGANTAMAX_FORMS
@ -578,6 +587,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Skwovet),
ICON(Skwovet, 2),
FOOTPRINT(Skwovet)
FOLLOWER(Skwovet, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Skwovet),
.evolutions = EVOLUTION({EVO_LEVEL, 24, SPECIES_GREEDENT}),
},
@ -627,6 +637,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Greedent),
ICON(Greedent, 0),
FOOTPRINT(Greedent)
FOLLOWER(Greedent, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Greedent),
},
#endif //P_FAMILY_SKWOVET
@ -676,6 +687,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Rookidee),
ICON(Rookidee, 0),
FOOTPRINT(Rookidee)
FOLLOWER(Rookidee, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Rookidee),
.evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_CORVISQUIRE}),
},
@ -725,6 +737,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Corvisquire),
ICON(Corvisquire, 0),
FOOTPRINT(Corvisquire)
FOLLOWER(Corvisquire, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Corvisquire),
.evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_CORVIKNIGHT}),
},
@ -779,6 +792,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Corviknight),
ICON(Corviknight, 0),
FOLLOWER(Corviknight, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_GIGANTAMAX_FORMS
@ -854,6 +868,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Blipbug),
ICON(Blipbug, 0),
FOOTPRINT(Blipbug)
FOLLOWER(Blipbug, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Blipbug),
.evolutions = EVOLUTION({EVO_LEVEL, 10, SPECIES_DOTTLER}),
},
@ -903,6 +918,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Dottler),
ICON(Dottler, 2),
FOOTPRINT(Dottler)
FOLLOWER(Dottler, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Dottler),
.evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_ORBEETLE}),
},
@ -959,6 +975,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Orbeetle),
ICON(Orbeetle, 0),
FOLLOWER(Orbeetle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_GIGANTAMAX_FORMS
@ -1035,6 +1052,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Nickit),
ICON(Nickit, 2),
FOOTPRINT(Nickit)
FOLLOWER(Nickit, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Nickit),
.evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_THIEVUL}),
},
@ -1083,6 +1101,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Thievul),
ICON(Thievul, 2),
FOOTPRINT(Thievul)
FOLLOWER(Thievul, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Thievul),
},
#endif //P_FAMILY_NICKIT
@ -1132,6 +1151,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Gossifleur),
ICON(Gossifleur, 1),
FOOTPRINT(Gossifleur)
FOLLOWER(Gossifleur, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Gossifleur),
.evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_ELDEGOSS}),
},
@ -1180,6 +1200,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Eldegoss),
ICON(Eldegoss, 1),
FOOTPRINT(Eldegoss)
FOLLOWER(Eldegoss, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Eldegoss),
},
#endif //P_FAMILY_GOSSIFLEUR
@ -1229,6 +1250,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Wooloo),
ICON(Wooloo, 0),
FOOTPRINT(Wooloo)
FOLLOWER(Wooloo, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Wooloo),
.evolutions = EVOLUTION({EVO_LEVEL, 24, SPECIES_DUBWOOL}),
},
@ -1277,6 +1299,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Dubwool),
ICON(Dubwool, 2),
FOOTPRINT(Dubwool)
FOLLOWER(Dubwool, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Dubwool),
},
#endif //P_FAMILY_WOOLOO
@ -1325,6 +1348,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Chewtle),
ICON(Chewtle, 0),
FOOTPRINT(Chewtle)
FOLLOWER(Chewtle, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Chewtle),
.evolutions = EVOLUTION({EVO_LEVEL, 22, SPECIES_DREDNAW}),
},
@ -1378,6 +1402,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Drednaw),
ICON(Drednaw, 0),
FOLLOWER(Drednaw, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_GIGANTAMAX_FORMS
@ -1454,6 +1479,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Yamper),
ICON(Yamper, 1),
FOOTPRINT(Yamper)
FOLLOWER(Yamper, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Yamper),
.evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_BOLTUND}),
},
@ -1502,6 +1528,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Boltund),
ICON(Boltund, 1),
FOOTPRINT(Boltund)
FOLLOWER(Boltund, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Boltund),
},
#endif //P_FAMILY_YAMPER
@ -1551,6 +1578,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Rolycoly),
ICON(Rolycoly, 0),
FOOTPRINT(Rolycoly)
FOLLOWER(Rolycoly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Rolycoly),
.evolutions = EVOLUTION({EVO_LEVEL, 18, SPECIES_CARKOL}),
},
@ -1598,6 +1626,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Carkol),
ICON(Carkol, 0),
FOOTPRINT(Carkol)
FOLLOWER(Carkol, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Carkol),
.evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_COALOSSAL}),
},
@ -1652,6 +1681,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Coalossal),
ICON(Coalossal, 0),
FOLLOWER(Coalossal, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_GIGANTAMAX_FORMS
@ -1728,6 +1758,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Applin),
ICON(Applin, 1),
FOOTPRINT(Applin)
FOLLOWER(Applin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Applin),
.evolutions = EVOLUTION({EVO_ITEM, ITEM_TART_APPLE, SPECIES_FLAPPLE},
{EVO_ITEM, ITEM_SWEET_APPLE, SPECIES_APPLETUN},
@ -1784,6 +1815,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Flapple),
ICON(Flapple, 1),
FOLLOWER(Flapple, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_GIGANTAMAX_FORMS
@ -1863,6 +1895,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Appletun),
ICON(Appletun, 1),
FOLLOWER(Appletun, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_GIGANTAMAX_FORMS
@ -2034,6 +2067,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Silicobra),
ICON(Silicobra, 1),
FOOTPRINT(Silicobra)
FOLLOWER(Silicobra, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Silicobra),
.evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_SANDACONDA}),
},
@ -2088,6 +2122,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Sandaconda),
ICON(Sandaconda, 1),
FOLLOWER(Sandaconda, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_GIGANTAMAX_FORMS
@ -2169,6 +2204,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Cramorant),
ICON(Cramorant, 0),
FOLLOWER(Cramorant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_CRAMORANT_GULPING] =
@ -2255,6 +2291,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Arrokuda),
ICON(Arrokuda, 2),
FOOTPRINT(Arrokuda)
FOLLOWER(Arrokuda, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Arrokuda),
.evolutions = EVOLUTION({EVO_LEVEL, 26, SPECIES_BARRASKEWDA}),
},
@ -2303,6 +2340,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Barraskewda),
ICON(Barraskewda, 2),
FOOTPRINT(Barraskewda)
FOLLOWER(Barraskewda, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Barraskewda),
},
#endif //P_FAMILY_ARROKUDA
@ -2352,6 +2390,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Toxel),
ICON(Toxel, 2),
FOOTPRINT(Toxel)
FOLLOWER(Toxel, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Toxel),
.evolutions = EVOLUTION({EVO_LEVEL_NATURE_AMPED, 30, SPECIES_TOXTRICITY_AMPED},
{EVO_LEVEL_NATURE_LOW_KEY, 30, SPECIES_TOXTRICITY_LOW_KEY}),
@ -2406,8 +2445,8 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(ToxtricityAmped),
ICON(ToxtricityAmped, 2),
FOOTPRINT(Toxtricity)
FOLLOWER(ToxtricityAmped, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(ToxtricityAmped),
},
#if P_GIGANTAMAX_FORMS
@ -2463,6 +2502,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(ToxtricityLowKey),
ICON(ToxtricityLowKey, 2),
FOOTPRINT(Toxtricity)
FOLLOWER(ToxtricityLowKey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(ToxtricityLowKey),
},
@ -2489,6 +2529,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(ToxtricityGigantamax),
ICON(ToxtricityGigantamax, 0),
FOOTPRINT(Toxtricity)
FOLLOWER(ToxtricityLowKey, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(ToxtricityLowKey),
.isGigantamax = TRUE,
},
@ -2539,6 +2580,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Sizzlipede),
ICON(Sizzlipede, 0),
FOOTPRINT(Sizzlipede)
FOLLOWER(Sizzlipede, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Sizzlipede),
.evolutions = EVOLUTION({EVO_LEVEL, 28, SPECIES_CENTISKORCH}),
},
@ -2593,6 +2635,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Centiskorch),
ICON(Centiskorch, 0),
FOLLOWER(Centiskorch, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_GIGANTAMAX_FORMS
@ -2669,6 +2712,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Clobbopus),
ICON(Clobbopus, 0),
FOOTPRINT(Clobbopus)
FOLLOWER(Clobbopus, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Clobbopus),
.evolutions = EVOLUTION({EVO_MOVE, MOVE_TAUNT, SPECIES_GRAPPLOCT}),
},
@ -2716,6 +2760,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Grapploct),
ICON(Grapploct, 2),
FOOTPRINT(Grapploct)
FOLLOWER(Grapploct, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Grapploct),
},
#endif //P_FAMILY_CLOBBOPUS
@ -2757,10 +2802,11 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Sinistea), \
ICON(Sinistea, 2), \
FOOTPRINT(Sinistea) \
FOLLOWER(Sinistea, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT) \
LEARNSETS(Sinistea), \
.formSpeciesIdTable = sSinisteaFormSpeciesIdTable
//.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,
//.backAnimId = BACK_ANIM_NONE,
/*.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,*/
/*.backAnimId = BACK_ANIM_NONE,*/
[SPECIES_SINISTEA_PHONY] =
{
@ -2821,6 +2867,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Polteageist), \
ICON(Polteageist, 2), \
FOOTPRINT(Polteageist) \
FOLLOWER(Polteageist, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT) \
LEARNSETS(Polteageist), \
.formSpeciesIdTable = sPolteageistFormSpeciesIdTable
//.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,
@ -2893,6 +2940,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Hatenna),
ICON(Hatenna, 0),
FOOTPRINT(Hatenna)
FOLLOWER(Hatenna, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Hatenna),
.evolutions = EVOLUTION({EVO_LEVEL, 32, SPECIES_HATTREM}),
},
@ -2940,6 +2988,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Hattrem),
ICON(Hattrem, 0),
FOOTPRINT(Hattrem)
FOLLOWER(Hattrem, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Hattrem),
.evolutions = EVOLUTION({EVO_LEVEL, 42, SPECIES_HATTERENE}),
},
@ -2993,6 +3042,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Hatterene),
ICON(Hatterene, 0),
FOLLOWER(Hatterene, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_GIGANTAMAX_FORMS
@ -3069,6 +3119,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Impidimp),
ICON(Impidimp, 0),
FOOTPRINT(Impidimp)
FOLLOWER(Impidimp, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Impidimp),
.evolutions = EVOLUTION({EVO_LEVEL, 32, SPECIES_MORGREM}),
},
@ -3117,6 +3168,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Morgrem),
ICON(Morgrem, 0),
FOOTPRINT(Morgrem)
FOLLOWER(Morgrem, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Morgrem),
.evolutions = EVOLUTION({EVO_LEVEL, 42, SPECIES_GRIMMSNARL}),
},
@ -3170,6 +3222,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Grimmsnarl),
ICON(Grimmsnarl, 0),
FOLLOWER(Grimmsnarl, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_GIGANTAMAX_FORMS
@ -3246,6 +3299,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Milcery),
ICON(Milcery, 1),
FOOTPRINT(Milcery)
FOLLOWER(Milcery, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Milcery),
.evolutions = EVOLUTION({EVO_LEVEL, 0, SPECIES_ALCREMIE_STRAWBERRY_VANILLA_CREAM},
{EVO_LEVEL, 0, SPECIES_ALCREMIE_STRAWBERRY_RUBY_CREAM},
@ -3277,32 +3331,33 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
.abilities = { ABILITY_SWEET_VEIL, ABILITY_NONE, ABILITY_AROMA_VEIL }, \
.bodyColor = color
#define ALCREMIE_REGULAR_SPECIES_INFO(sweet, cream, color) \
{ \
ALCREMIE_MISC_INFO(color), \
.speciesName = _("Alcremie"), \
.cryId = CRY_ALCREMIE, \
.natDexNum = NATIONAL_DEX_ALCREMIE, \
.categoryName = _("Cream"), \
.height = 3, \
.weight = 5, \
.description = gAlcremie ##cream##PokedexText, \
.pokemonScale = 530, \
.pokemonOffset = 13, \
.trainerScale = 256, \
.trainerOffset = 0, \
FRONT_PIC(Alcremie ##sweet, 40, 56), \
.frontPicYOffset = 7, \
.frontAnimFrames = sAnims_Alcremie, \
BACK_PIC(Alcremie ##sweet, 48, 56), \
.backPicYOffset = 9, \
.palette = gMonPalette_Alcremie ##sweet##cream, \
.shinyPalette = gMonShinyPalette_Alcremie ##sweet, \
ICON(AlcremieStrawberryVanillaCream, 1), \
FOOTPRINT(Alcremie) \
LEARNSETS(Alcremie), \
.formSpeciesIdTable = sAlcremieFormSpeciesIdTable, \
.formChangeTable = sAlcremieFormChangeTable, \
#define ALCREMIE_REGULAR_SPECIES_INFO(sweet, cream, color) \
{ \
ALCREMIE_MISC_INFO(color), \
.speciesName = _("Alcremie"), \
.cryId = CRY_ALCREMIE, \
.natDexNum = NATIONAL_DEX_ALCREMIE, \
.categoryName = _("Cream"), \
.height = 3, \
.weight = 5, \
.description = gAlcremie ##cream##PokedexText, \
.pokemonScale = 530, \
.pokemonOffset = 13, \
.trainerScale = 256, \
.trainerOffset = 0, \
FRONT_PIC(Alcremie ##sweet, 40, 56), \
.frontPicYOffset = 7, \
.frontAnimFrames = sAnims_Alcremie, \
BACK_PIC(Alcremie ##sweet, 48, 56), \
.backPicYOffset = 9, \
.palette = gMonPalette_Alcremie ##sweet##cream, \
.shinyPalette = gMonShinyPalette_Alcremie ##sweet, \
ICON(AlcremieStrawberryVanillaCream, 1), \
FOOTPRINT(Alcremie) \
FOLLOWER(AlcremieStrawberryVanillaCream, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT) \
LEARNSETS(Alcremie), \
.formSpeciesIdTable = sAlcremieFormSpeciesIdTable, \
.formChangeTable = sAlcremieFormChangeTable, \
}
//ICON(AlcremieStrawberry##cream##, 1),
//.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE,
@ -3452,6 +3507,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Falinks),
ICON(Falinks, 0),
FOOTPRINT(Falinks)
FOLLOWER(Falinks, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Falinks),
},
#endif //P_FAMILY_FALINKS
@ -3500,6 +3556,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Pincurchin),
ICON(Pincurchin, 0),
FOOTPRINT(Pincurchin)
FOLLOWER(Pincurchin, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Pincurchin),
},
#endif //P_FAMILY_PINCURCHIN
@ -3550,6 +3607,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Snom),
ICON(Snom, 0),
FOOTPRINT(Snom)
FOLLOWER(Snom, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Snom),
.evolutions = EVOLUTION({EVO_FRIENDSHIP_NIGHT, 0, SPECIES_FROSMOTH}),
},
@ -3599,6 +3657,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Frosmoth),
ICON(Frosmoth, 0),
FOOTPRINT(Frosmoth)
FOLLOWER(Frosmoth, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Frosmoth),
},
#endif //P_FAMILY_SNOM
@ -3648,6 +3707,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Stonjourner),
ICON(Stonjourner, 2),
FOOTPRINT(Stonjourner)
FOLLOWER(Stonjourner, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Stonjourner),
},
#endif //P_FAMILY_STONJOURNER
@ -3703,6 +3763,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(EiscueIceFace),
ICON(EiscueIceFace, 0),
FOLLOWER(EiscueIceFace, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_EISCUE_NOICE_FACE] =
@ -3781,6 +3842,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(IndeedeeMale),
ICON(IndeedeeMale, 2),
FOLLOWER(IndeedeeMale, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(IndeedeeMale),
},
@ -3866,6 +3928,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(MorpekoFullBelly),
ICON(MorpekoFullBelly, 2),
FOLLOWER(MorpekoFullBelly, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_MORPEKO_HANGRY] =
@ -3935,6 +3998,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Cufant),
ICON(Cufant, 0),
FOOTPRINT(Cufant)
FOLLOWER(Cufant, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Cufant),
.evolutions = EVOLUTION({EVO_LEVEL, 34, SPECIES_COPPERAJAH}),
},
@ -3989,6 +4053,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Copperajah),
ICON(Copperajah, 0),
FOLLOWER(Copperajah, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#if P_GIGANTAMAX_FORMS
@ -4065,6 +4130,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Dracozolt),
ICON(Dracozolt, 1),
FOOTPRINT(Dracozolt)
FOLLOWER(Dracozolt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Dracozolt),
},
#endif //P_FAMILY_DRACOZOLT
@ -4113,6 +4179,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Arctozolt),
ICON(Arctozolt, 2),
FOOTPRINT(Arctozolt)
FOLLOWER(Arctozolt, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Arctozolt),
},
#endif //P_FAMILY_ARCTOZOLT
@ -4162,6 +4229,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Dracovish),
ICON(Dracovish, 0),
FOOTPRINT(Dracovish)
FOLLOWER(Dracovish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Dracovish),
},
#endif //P_FAMILY_DRACOVISH
@ -4211,6 +4279,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Arctovish),
ICON(Arctovish, 0),
FOOTPRINT(Arctovish)
FOLLOWER(Arctovish, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Arctovish),
},
#endif //P_FAMILY_ARCTOVISH
@ -4265,6 +4334,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Duraludon),
ICON(Duraludon, 0),
FOLLOWER(Duraludon, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
.evolutions = EVOLUTION({EVO_ITEM, ITEM_METAL_ALLOY, SPECIES_ARCHALUDON}),
},
@ -4392,6 +4462,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Dreepy),
ICON(Dreepy, 0),
FOOTPRINT(Dreepy)
FOLLOWER(Dreepy, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Dreepy),
.evolutions = EVOLUTION({EVO_LEVEL, 50, SPECIES_DRAKLOAK}),
},
@ -4440,6 +4511,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Drakloak),
ICON(Drakloak, 0),
FOOTPRINT(Drakloak)
FOLLOWER(Drakloak, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Drakloak),
.evolutions = EVOLUTION({EVO_LEVEL, 60, SPECIES_DRAGAPULT}),
},
@ -4489,6 +4561,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Dragapult),
ICON(Dragapult, 0),
FOOTPRINT(Dragapult)
FOLLOWER(Dragapult, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Dragapult),
},
#endif //P_FAMILY_DREEPY
@ -4544,6 +4617,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(ZacianHeroOfManyBattles),
ICON(ZacianHeroOfManyBattles, 2),
FOLLOWER(ZacianHeroOfManyBattles, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_ZACIAN_CROWNED_SWORD] =
@ -4573,6 +4647,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(ZacianCrownedSword),
ICON(ZacianCrownedSword, 2),
FOLLOWER(ZacianCrownedSword, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#endif //P_FAMILY_ZACIAN
@ -4657,6 +4732,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(ZamazentaCrownedShield),
ICON(ZamazentaCrownedShield, 2),
FOLLOWER(ZamazentaCrownedShield, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
#endif //P_FAMILY_ZAMAZENTA
@ -4712,6 +4788,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Eternatus),
ICON(Eternatus, 0),
FOLLOWER(Eternatus, SIZE_64x64, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_ETERNATUS_ETERNAMAX] =
@ -4794,6 +4871,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Kubfu),
ICON(Kubfu, 1),
FOOTPRINT(Kubfu)
FOLLOWER(Kubfu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Kubfu),
.evolutions = EVOLUTION({EVO_DARK_SCROLL, 0, SPECIES_URSHIFU_SINGLE_STRIKE_STYLE},
{EVO_ITEM, ITEM_SCROLL_OF_DARKNESS, SPECIES_URSHIFU_SINGLE_STRIKE_STYLE},
@ -4914,6 +4992,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(UrshifuRapidStrikeStyle),
ICON(Urshifu, 2),
FOLLOWER(Urshifu, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
.formChangeTable = sUrshifuRapidStrikeFormChangeTable,
},
@ -4998,6 +5077,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Zarude),
ICON(Zarude, 1),
FOLLOWER(Zarude, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
},
[SPECIES_ZARUDE_DADA] =
{
@ -5065,6 +5145,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Regieleki),
ICON(Regieleki, 0),
FOOTPRINT(Regieleki)
FOLLOWER(Regieleki, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Regieleki),
.isLegendary = TRUE,
},
@ -5117,6 +5198,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Regidrago),
ICON(Regidrago, 0),
FOOTPRINT(Regidrago)
FOLLOWER(Regidrago, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Regidrago),
},
#endif //P_FAMILY_REGIDRAGO
@ -5166,6 +5248,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Glastrier),
ICON(Glastrier, 0),
FOOTPRINT(Glastrier)
FOLLOWER(Glastrier, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Glastrier),
},
#endif //P_FAMILY_GLASTRIER
@ -5216,6 +5299,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
PALETTES(Spectrier),
ICON(Spectrier, 0),
FOOTPRINT(Spectrier)
FOLLOWER(Spectrier, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Spectrier),
},
#endif //P_FAMILY_SPECTRIER
@ -5270,6 +5354,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(Calyrex),
ICON(Calyrex, 0),
FOLLOWER(Calyrex, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(Calyrex),
},
@ -5316,6 +5401,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(CalyrexIceRider),
ICON(CalyrexIceRider, 0),
FOLLOWER(CalyrexIceRider, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(CalyrexIceRider),
.cannotBeTraded = TRUE,
},
@ -5362,6 +5448,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(CalyrexShadowRider),
ICON(CalyrexShadowRider, 0),
FOLLOWER(CalyrexShadowRider, SIZE_32x32, SHADOW_SIZE_M, TRACKS_FOOT)
LEARNSETS(CalyrexShadowRider),
.cannotBeTraded = TRUE,
},
@ -5419,6 +5506,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(EnamorusIncarnate),
ICON(EnamorusIncarnate, 1),
FOLLOWER(EnamorusIncarnate, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE)
//FOOTPRINT(EnamorusIncarnate)
},
@ -5447,6 +5535,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
//.backAnimId = BACK_ANIM_NONE,
PALETTES(EnamorusTherian),
ICON(EnamorusTherian, 1),
FOLLOWER(EnamorusTherian, SIZE_64x64, SHADOW_SIZE_M, TRACKS_NONE)
//FOOTPRINT(Enamorus)
},
#endif //P_FAMILY_ENAMORUS

View File

@ -446,53 +446,6 @@ const u8 gInitialMovementTypeFacingDirections[] = {
[MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT] = DIR_EAST,
};
#define OBJ_EVENT_PAL_TAG_BRENDAN 0x1100
#define OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION 0x1101
#define OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION 0x1102
#define OBJ_EVENT_PAL_TAG_NPC_1 0x1103
#define OBJ_EVENT_PAL_TAG_NPC_2 0x1104
#define OBJ_EVENT_PAL_TAG_NPC_3 0x1105
#define OBJ_EVENT_PAL_TAG_NPC_4 0x1106
#define OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION 0x1107
#define OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION 0x1108
#define OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION 0x1109
#define OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION 0x110A
#define OBJ_EVENT_PAL_TAG_QUINTY_PLUMP 0x110B
#define OBJ_EVENT_PAL_TAG_QUINTY_PLUMP_REFLECTION 0x110C
#define OBJ_EVENT_PAL_TAG_TRUCK 0x110D
#define OBJ_EVENT_PAL_TAG_VIGOROTH 0x110E
#define OBJ_EVENT_PAL_TAG_ZIGZAGOON 0x110F
#define OBJ_EVENT_PAL_TAG_MAY 0x1110
#define OBJ_EVENT_PAL_TAG_MAY_REFLECTION 0x1111
#define OBJ_EVENT_PAL_TAG_MOVING_BOX 0x1112
#define OBJ_EVENT_PAL_TAG_CABLE_CAR 0x1113
#define OBJ_EVENT_PAL_TAG_SSTIDAL 0x1114
#define OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER 0x1115
#define OBJ_EVENT_PAL_TAG_KYOGRE 0x1116
#define OBJ_EVENT_PAL_TAG_KYOGRE_REFLECTION 0x1117
#define OBJ_EVENT_PAL_TAG_GROUDON 0x1118
#define OBJ_EVENT_PAL_TAG_GROUDON_REFLECTION 0x1119
#define OBJ_EVENT_PAL_TAG_UNUSED 0x111A
#define OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW 0x111B
#define OBJ_EVENT_PAL_TAG_POOCHYENA 0x111C
#define OBJ_EVENT_PAL_TAG_RED_LEAF 0x111D
#define OBJ_EVENT_PAL_TAG_DEOXYS 0x111E
#define OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE 0x111F
#define OBJ_EVENT_PAL_TAG_HO_OH 0x1120
#define OBJ_EVENT_PAL_TAG_LUGIA 0x1121
#define OBJ_EVENT_PAL_TAG_RS_BRENDAN 0x1122
#define OBJ_EVENT_PAL_TAG_RS_MAY 0x1123
#define OBJ_EVENT_PAL_TAG_DYNAMIC 0x1124
#define OBJ_EVENT_PAL_TAG_EMOTES 0x8002
// Not a real OW palette tag; used for the white flash applied to followers
#define OBJ_EVENT_PAL_TAG_WHITE (OBJ_EVENT_PAL_TAG_NONE - 1)
#define OBJ_EVENT_PAL_TAG_NONE 0x11FF
// This + localId is used as the tileTag
// for compressed graphicsInfos
// '(C)ompressed (E)vent'
#define COMP_OW_TILE_TAG_BASE 0xCE00
#include "data/object_events/object_event_graphics_info_pointers.h"
#include "data/field_effects/field_effect_object_template_pointers.h"
#include "data/object_events/object_event_pic_tables.h"
@ -500,7 +453,6 @@ const u8 gInitialMovementTypeFacingDirections[] = {
#include "data/object_events/base_oam.h"
#include "data/object_events/object_event_subsprites.h"
#include "data/object_events/object_event_graphics_info.h"
#include "data/object_events/object_event_graphics_info_followers.h"
static const struct SpritePalette sObjectEventSpritePalettes[] = {
{gObjectEventPal_Npc1, OBJ_EVENT_PAL_TAG_NPC_1},
@ -1819,24 +1771,24 @@ static const struct ObjectEventGraphicsInfo * SpeciesToGraphicsInfo(u16 species,
{
case SPECIES_UNOWN: // Letters >A are defined as species >= NUM_SPECIES, so are not contiguous with A
form %= NUM_UNOWN_FORMS;
graphicsInfo = &gPokemonObjectGraphics[form ? SPECIES_UNOWN_B + form - 1 : species];
graphicsInfo = &gSpeciesInfo[form ? SPECIES_UNOWN_B + form - 1 : species].followerData;
break;
default:
graphicsInfo = &gPokemonObjectGraphics[species];
graphicsInfo = &gSpeciesInfo[species].followerData;
break;
}
// Try to avoid OOB access
if (OW_GFX_COMPRESS)
{
if (graphicsInfo->tileTag == 0 && species < NUM_SPECIES)
return &gPokemonObjectGraphics[SPECIES_PORYGON];
return &gSpeciesInfo[SPECIES_PORYGON].followerData;
else if (graphicsInfo->tileTag != TAG_NONE && species >= NUM_SPECIES)
return &gPokemonObjectGraphics[SPECIES_PORYGON];
return &gSpeciesInfo[SPECIES_PORYGON].followerData;
else
return graphicsInfo;
}
else
return graphicsInfo->tileTag == TAG_NONE ? graphicsInfo : &gPokemonObjectGraphics[SPECIES_PORYGON];
return graphicsInfo->tileTag == TAG_NONE ? graphicsInfo : &gSpeciesInfo[SPECIES_PORYGON].followerData;
}
// Find, or load, the palette for the specified pokemon info

View File

@ -12,6 +12,7 @@
#include "battle_z_move.h"
#include "data.h"
#include "event_data.h"
#include "event_object_movement.h"
#include "evolution_scene.h"
#include "field_specials.h"
#include "field_weather.h"
@ -46,6 +47,7 @@
#include "constants/battle_script_commands.h"
#include "constants/battle_partner.h"
#include "constants/cries.h"
#include "constants/event_objects.h"
#include "constants/form_change_types.h"
#include "constants/hold_effects.h"
#include "constants/item_effects.h"
@ -429,6 +431,7 @@ const s8 gNatureStatTable[NUM_NATURES][NUM_NATURE_STATS] =
#include "data/pokemon/form_species_tables.h"
#include "data/pokemon/form_change_tables.h"
#include "data/pokemon/form_change_table_pointers.h"
#include "data/object_events/object_event_pic_tables_followers.h"
#include "data/pokemon/species_info.h"