diff --git a/src/data/pokemon/species_info.h b/src/data/pokemon/species_info.h index 0b0803f376..7c58669066 100644 --- a/src/data/pokemon/species_info.h +++ b/src/data/pokemon/species_info.h @@ -227,6 +227,9 @@ const u8 gOgerponCornerstoneMaskPokedexText[] = _( // 255 (MON_GENDERLESS) is reserved for genderless Pokémon. #define PERCENT_FEMALE(percent) min(254, ((percent * 255) / 100)) +#define MON_TYPES(type1, ...) { type1, DEFAULT(type1, __VA_ARGS__) } +#define MON_EGG_GROUPS(group1, ...) { group1, DEFAULT(group1, __VA_ARGS__) } + #define FLIP 0 #define NO_FLIP 1 @@ -294,7 +297,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .baseSpeed = 1, .baseSpAttack = 1, .baseSpDefense = 1, - .types = { TYPE_MYSTERY, TYPE_MYSTERY }, + .types = MON_TYPES(TYPE_MYSTERY), .catchRate = 255, .expYield = 67, .evYield_HP = 1, @@ -304,7 +307,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_NONE, ABILITY_CURSED_BODY, ABILITY_DAMP }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("??????????"), diff --git a/src/data/pokemon/species_info/gen_1.h b/src/data/pokemon/species_info/gen_1.h index 7ce5433295..8605182e58 100644 --- a/src/data/pokemon/species_info/gen_1.h +++ b/src/data/pokemon/species_info/gen_1.h @@ -12,7 +12,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 45, .baseSpAttack = 65, .baseSpDefense = 65, - .types = { TYPE_GRASS, TYPE_POISON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_POISON), .catchRate = 45, .expYield = 64, .evYield_SpAttack = 1, @@ -20,7 +20,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_CHLOROPHYLL }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Bulbasaur"), @@ -60,7 +60,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 60, .baseSpAttack = 80, .baseSpDefense = 80, - .types = { TYPE_GRASS, TYPE_POISON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_POISON), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 142 : 141, .evYield_SpAttack = 1, @@ -69,7 +69,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_CHLOROPHYLL }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Ivysaur"), @@ -102,7 +102,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #define VENUSAUR_MISC_INFO \ - .types = { TYPE_GRASS, TYPE_POISON }, \ + .types = MON_TYPES(TYPE_GRASS, TYPE_POISON), \ .catchRate = 45, \ .evYield_SpAttack = 2, \ .evYield_SpDefense = 1, \ @@ -110,7 +110,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_GRASS), \ .bodyColor = BODY_COLOR_GREEN, \ .speciesName = _("Venusaur"), \ .natDexNum = NATIONAL_DEX_VENUSAUR, \ @@ -245,7 +245,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 65, .baseSpAttack = 60, .baseSpDefense = 50, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 62 : 65, .evYield_Speed = 1, @@ -253,7 +253,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_SOLAR_POWER }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Charmander"), @@ -293,7 +293,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 80, .baseSpAttack = 80, .baseSpDefense = 65, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = 142, .evYield_Speed = 1, @@ -302,7 +302,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_SOLAR_POWER }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Charmeleon"), @@ -341,7 +341,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON),\ .speciesName = _("Charizard"), \ .natDexNum = NATIONAL_DEX_CHARIZARD, \ .categoryName = _("Flame"), \ @@ -359,7 +359,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 100, .baseSpAttack = 109, .baseSpDefense = 85, - .types = { TYPE_FIRE, TYPE_FLYING }, + .types = MON_TYPES(TYPE_FIRE, TYPE_FLYING), #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 267, #elif P_UPDATED_EXP_YIELDS >= GEN_5 @@ -402,7 +402,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 100, .baseSpAttack = 130, .baseSpDefense = 85, - .types = { TYPE_FIRE, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_FIRE, TYPE_DRAGON), .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 317 : 285, .abilities = { ABILITY_TOUGH_CLAWS, ABILITY_TOUGH_CLAWS, ABILITY_TOUGH_CLAWS }, .bodyColor = BODY_COLOR_BLACK, @@ -438,7 +438,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 100, .baseSpAttack = 159, .baseSpDefense = 115, - .types = { TYPE_FIRE, TYPE_FLYING }, + .types = MON_TYPES(TYPE_FIRE, TYPE_FLYING), .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 317 : 285, .abilities = { ABILITY_DROUGHT, ABILITY_DROUGHT, ABILITY_DROUGHT }, .bodyColor = BODY_COLOR_RED, @@ -477,7 +477,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 100, .baseSpAttack = 109, .baseSpDefense = 85, - .types = { TYPE_FIRE, TYPE_FLYING }, + .types = MON_TYPES(TYPE_FIRE, TYPE_FLYING), .expYield = 240, .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_SOLAR_POWER }, .bodyColor = BODY_COLOR_RED, @@ -516,7 +516,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 43, .baseSpAttack = 50, .baseSpDefense = 64, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 63 : 66, .evYield_Defense = 1, @@ -524,7 +524,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_WATER_1), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_RAIN_DISH }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Squirtle"), @@ -564,7 +564,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 58, .baseSpAttack = 65, .baseSpDefense = 80, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 142 : 143, .evYield_Defense = 1, @@ -573,7 +573,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_WATER_1), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_RAIN_DISH }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Wartortle"), @@ -605,22 +605,22 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_BLASTOISE}), }, -#define BLASTOISE_MISC_INFO \ - .types = { TYPE_WATER, TYPE_WATER }, \ - .catchRate = 45, \ - .evYield_SpDefense = 3, \ - .genderRatio = PERCENT_FEMALE(12.5), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, \ - .bodyColor = BODY_COLOR_BLUE, \ - .speciesName = _("Blastoise"), \ - .natDexNum = NATIONAL_DEX_BLASTOISE, \ - .categoryName = _("Shellfish"), \ - FOOTPRINT(Blastoise) \ - LEARNSETS(Blastoise), \ - .formSpeciesIdTable = sBlastoiseFormSpeciesIdTable, \ +#define BLASTOISE_MISC_INFO \ + .types = MON_TYPES(TYPE_WATER), \ + .catchRate = 45, \ + .evYield_SpDefense = 3, \ + .genderRatio = PERCENT_FEMALE(12.5), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_WATER_1), \ + .bodyColor = BODY_COLOR_BLUE, \ + .speciesName = _("Blastoise"), \ + .natDexNum = NATIONAL_DEX_BLASTOISE, \ + .categoryName = _("Shellfish"), \ + FOOTPRINT(Blastoise) \ + LEARNSETS(Blastoise), \ + .formSpeciesIdTable = sBlastoiseFormSpeciesIdTable, \ .formChangeTable = sBlastoiseFormChangeTable [SPECIES_BLASTOISE] = @@ -748,7 +748,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 45, .baseSpAttack = 20, .baseSpDefense = 20, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 39 : 53, .evYield_HP = 1, @@ -756,7 +756,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SHIELD_DUST, ABILITY_NONE, ABILITY_RUN_AWAY }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Caterpie"), @@ -797,7 +797,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 30, .baseSpAttack = 25, .baseSpDefense = 25, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 120, .expYield = 72, .evYield_Defense = 2, @@ -805,7 +805,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SHED_SKIN, ABILITY_NONE }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Metapod"), @@ -855,7 +855,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 70, \ .baseSpDefense = 80, \ .baseSpAttack = P_UPDATED_STATS >= GEN_6 ? 90 : 80, \ - .types = { TYPE_BUG, TYPE_FLYING }, \ + .types = MON_TYPES(TYPE_BUG, TYPE_FLYING), \ .catchRate = 45, \ .expYield = BUTTERFREE_EXP_YIELD, \ .evYield_SpAttack = 2, \ @@ -865,7 +865,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), \ .abilities = { ABILITY_COMPOUND_EYES, ABILITY_NONE, ABILITY_TINTED_LENS }, \ .bodyColor = BODY_COLOR_WHITE, \ .speciesName = _("Butterfree"), \ @@ -944,7 +944,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 50, .baseSpAttack = 20, .baseSpDefense = 20, - .types = { TYPE_BUG, TYPE_POISON }, + .types = MON_TYPES(TYPE_BUG, TYPE_POISON), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 39 : 52, .evYield_Speed = 1, @@ -952,7 +952,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SHIELD_DUST, ABILITY_NONE, ABILITY_RUN_AWAY }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Weedle"), @@ -994,7 +994,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 35, .baseSpAttack = 25, .baseSpDefense = 25, - .types = { TYPE_BUG, TYPE_POISON }, + .types = MON_TYPES(TYPE_BUG, TYPE_POISON), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 72 : 71, .evYield_Defense = 2, @@ -1002,7 +1002,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SHED_SKIN, ABILITY_NONE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Kakuna"), @@ -1039,7 +1039,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #define BEEDRILL_ATTACK (P_UPDATED_STATS >= GEN_6 ? 90 : 80) #define BEEDRILL_MISC_INFO \ - .types = { TYPE_BUG, TYPE_POISON }, \ + .types = MON_TYPES(TYPE_BUG, TYPE_POISON), \ .catchRate = 45, \ .evYield_Attack = 2, \ .evYield_SpDefense = 1, \ @@ -1048,7 +1048,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), \ .bodyColor = BODY_COLOR_YELLOW, \ .speciesName = _("Beedrill"), \ .natDexNum = NATIONAL_DEX_BEEDRILL, \ @@ -1149,7 +1149,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 56, .baseSpAttack = 35, .baseSpDefense = 35, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 50 : 55, .evYield_Speed = 1, @@ -1157,7 +1157,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_TANGLED_FEET, ABILITY_BIG_PECKS }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Pidgey"), @@ -1197,7 +1197,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 71, .baseSpAttack = 50, .baseSpDefense = 50, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 122 : 113, .evYield_Speed = 2, @@ -1205,7 +1205,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_TANGLED_FEET, ABILITY_BIG_PECKS }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Pidgeotto"), @@ -1241,14 +1241,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #define PIDGEOT_SPEED (P_UPDATED_STATS >= GEN_6 ? 101 : 91) #define PIDGEOT_MISC_INFO \ - .types = { TYPE_NORMAL, TYPE_FLYING }, \ + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), \ .catchRate = 45, \ .evYield_Speed = 3, \ .genderRatio = PERCENT_FEMALE(50), \ .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING },\ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), \ .bodyColor = BODY_COLOR_BROWN, \ .speciesName = _("Pidgeot"), \ .natDexNum = NATIONAL_DEX_PIDGEOT, \ @@ -1345,7 +1345,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD } + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD) #define RATTATA_MISC_INFO \ .baseHP = 30, \ @@ -1380,7 +1380,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = { RATTATA_FAMILY_MISC_INFO, RATTATA_MISC_INFO, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .abilities = { ABILITY_RUN_AWAY, ABILITY_GUTS, ABILITY_HUSTLE }, .bodyColor = BODY_COLOR_PURPLE, .height = 3, @@ -1419,7 +1419,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 97, .baseSpAttack = 50, .baseSpDefense = 70, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .abilities = { ABILITY_RUN_AWAY, ABILITY_GUTS, ABILITY_HUSTLE }, .bodyColor = BODY_COLOR_BROWN, .weight = 185, @@ -1451,7 +1451,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = { RATTATA_FAMILY_MISC_INFO, RATTATA_MISC_INFO, - .types = { TYPE_DARK, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_DARK, TYPE_NORMAL), .itemRare = ITEM_PECHA_BERRY, .abilities = { ABILITY_GLUTTONY, ABILITY_HUSTLE, ABILITY_THICK_FAT }, .bodyColor = BODY_COLOR_BLACK, @@ -1490,7 +1490,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 77, .baseSpAttack = 40, .baseSpDefense = 80, - .types = { TYPE_DARK, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_DARK, TYPE_NORMAL), .itemRare = ITEM_PECHA_BERRY, .abilities = { ABILITY_GLUTTONY, ABILITY_HUSTLE, ABILITY_THICK_FAT }, .bodyColor = BODY_COLOR_BLACK, @@ -1528,7 +1528,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 70, .baseSpAttack = 31, .baseSpDefense = 31, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 52 : 58, .evYield_Speed = 1, @@ -1537,7 +1537,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_NONE, ABILITY_SNIPER }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Spearow"), @@ -1577,7 +1577,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 100, .baseSpAttack = 61, .baseSpDefense = 61, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 90, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 155 : 162, .evYield_Speed = 2, @@ -1586,7 +1586,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_NONE, ABILITY_SNIPER }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Fearow"), @@ -1629,7 +1629,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 55, .baseSpAttack = 40, .baseSpDefense = 54, - .types = { TYPE_POISON, TYPE_POISON }, + .types = MON_TYPES(TYPE_POISON), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 58 : 62, .evYield_Attack = 1, @@ -1637,7 +1637,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_DRAGON), .abilities = { ABILITY_INTIMIDATE, ABILITY_SHED_SKIN, ABILITY_UNNERVE }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Ekans"), @@ -1678,7 +1678,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 80, .baseSpAttack = 65, .baseSpDefense = 79, - .types = { TYPE_POISON, TYPE_POISON }, + .types = MON_TYPES(TYPE_POISON), .catchRate = 90, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 157, @@ -1692,7 +1692,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_DRAGON), .abilities = { ABILITY_INTIMIDATE, ABILITY_SHED_SKIN, ABILITY_UNNERVE }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Arbok"), @@ -1733,7 +1733,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 60, \ .baseSpAttack = 35, \ .baseSpDefense = 35, \ - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, \ + .types = MON_TYPES(TYPE_ELECTRIC), \ .catchRate = 190, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 41 : 42, \ .evYield_Speed = 1, \ @@ -1741,7 +1741,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 10, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_STATIC, ABILITY_NONE, ABILITY_LIGHTNING_ROD }, \ .bodyColor = BODY_COLOR_YELLOW, \ .speciesName = _("Pichu"), \ @@ -1805,7 +1805,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 90, \ .baseSpAttack = 50, \ .baseSpDefense = P_UPDATED_STATS >= GEN_6 ? 50 : 40, \ - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, \ + .types = MON_TYPES(TYPE_ELECTRIC), \ .catchRate = 190, \ .expYield = PIKACHU_EXP_YIELD, \ .evYield_Speed = 2, \ @@ -1836,7 +1836,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = PIKACHU_MISC_INFO, PIKACHU_REGULAR_SIZE_INFO, .genderRatio = PERCENT_FEMALE(50), - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY), .description = gPikachuPokedexText, FRONT_PIC(Pikachu, 48, 48), FRONT_PIC_FEMALE(Pikachu, 48, 48), @@ -1859,11 +1859,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = }, #if P_COSPLAY_PIKACHU_FORMS -#define PIKACHU_COSPLAY_MISC_INFO \ - PIKACHU_MISC_INFO, \ - PIKACHU_REGULAR_SIZE_INFO, \ - .genderRatio = MON_FEMALE, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED },\ +#define PIKACHU_COSPLAY_MISC_INFO \ + PIKACHU_MISC_INFO, \ + PIKACHU_REGULAR_SIZE_INFO, \ + .genderRatio = MON_FEMALE, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .description = gPikachuPokedexText [SPECIES_PIKACHU_COSPLAY] = @@ -1956,11 +1956,11 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #if P_CAP_PIKACHU_FORMS -#define PIKACHU_CAP_MISC_INFO \ - PIKACHU_MISC_INFO, \ - PIKACHU_REGULAR_SIZE_INFO, \ - .genderRatio = MON_MALE, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED } +#define PIKACHU_CAP_MISC_INFO \ + PIKACHU_MISC_INFO, \ + PIKACHU_REGULAR_SIZE_INFO, \ + .genderRatio = MON_MALE, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED) [SPECIES_PIKACHU_ORIGINAL_CAP] = { @@ -2123,7 +2123,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = { PIKACHU_MISC_INFO, .genderRatio = PERCENT_FEMALE(50), - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY), .height = 210, .weight = 0, .pokemonScale = 479, @@ -2161,20 +2161,20 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #define RAICHU_EXP_YIELD 122 #endif -#define RAICHU_MISC_INFO \ - .catchRate = 75, \ - .expYield = RAICHU_EXP_YIELD, \ - .evYield_Speed = 3, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 10, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, \ - .speciesName = _("Raichu"), \ - .cryId = CRY_RAICHU, \ - .natDexNum = NATIONAL_DEX_RAICHU, \ - .categoryName = _("Mouse"), \ - FOOTPRINT(Raichu) \ +#define RAICHU_MISC_INFO \ + .catchRate = 75, \ + .expYield = RAICHU_EXP_YIELD, \ + .evYield_Speed = 3, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 10, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY), \ + .speciesName = _("Raichu"), \ + .cryId = CRY_RAICHU, \ + .natDexNum = NATIONAL_DEX_RAICHU, \ + .categoryName = _("Mouse"), \ + FOOTPRINT(Raichu) \ .formSpeciesIdTable = sRaichuFormSpeciesIdTable [SPECIES_RAICHU] = @@ -2186,7 +2186,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = RAICHU_SPEED, .baseSpAttack = 90, .baseSpDefense = 80, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .abilities = { ABILITY_STATIC, ABILITY_NONE, ABILITY_LIGHTNING_ROD }, .bodyColor = BODY_COLOR_YELLOW, .height = 8, @@ -2223,7 +2223,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = RAICHU_SPEED, .baseSpAttack = 95, .baseSpDefense = 85, - .types = { TYPE_ELECTRIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_PSYCHIC), .abilities = { ABILITY_SURGE_SURFER, ABILITY_NONE }, .bodyColor = BODY_COLOR_BROWN, .isAlolanForm = TRUE, @@ -2260,7 +2260,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD } + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD) #define SANDSHREW_MISC_INFO \ .catchRate = 255, \ @@ -2295,7 +2295,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 40, .baseSpAttack = 20, .baseSpDefense = 30, - .types = { TYPE_GROUND, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GROUND), .abilities = { ABILITY_SAND_VEIL, ABILITY_NONE, ABILITY_SAND_RUSH }, .bodyColor = BODY_COLOR_YELLOW, .height = 6, @@ -2331,7 +2331,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 65, .baseSpAttack = 45, .baseSpDefense = 55, - .types = { TYPE_GROUND, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GROUND), .abilities = { ABILITY_SAND_VEIL, ABILITY_NONE, ABILITY_SAND_RUSH }, .bodyColor = BODY_COLOR_YELLOW, .height = 10, @@ -2367,7 +2367,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 40, .baseSpAttack = 10, .baseSpDefense = 35, - .types = { TYPE_ICE, TYPE_STEEL }, + .types = MON_TYPES(TYPE_ICE, TYPE_STEEL), .abilities = { ABILITY_SNOW_CLOAK, ABILITY_NONE, ABILITY_SLUSH_RUSH }, .bodyColor = BODY_COLOR_BLUE, .height = 7, @@ -2404,7 +2404,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 65, .baseSpAttack = 25, .baseSpDefense = 65, - .types = { TYPE_ICE, TYPE_STEEL }, + .types = MON_TYPES(TYPE_ICE, TYPE_STEEL), .abilities = { ABILITY_SNOW_CLOAK, ABILITY_NONE, ABILITY_SLUSH_RUSH }, .bodyColor = BODY_COLOR_BLUE, .height = 12, @@ -2442,7 +2442,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 41, .baseSpAttack = 40, .baseSpDefense = 40, - .types = { TYPE_POISON, TYPE_POISON }, + .types = MON_TYPES(TYPE_POISON), .catchRate = 235, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 55 : 59, .evYield_HP = 1, @@ -2450,7 +2450,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_FIELD), .abilities = { ABILITY_POISON_POINT, ABILITY_RIVALRY, ABILITY_HUSTLE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Nidoran♀"), @@ -2491,7 +2491,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 56, .baseSpAttack = 55, .baseSpDefense = 55, - .types = { TYPE_POISON, TYPE_POISON }, + .types = MON_TYPES(TYPE_POISON), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 128 : 117, .evYield_HP = 2, @@ -2499,7 +2499,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_POISON_POINT, ABILITY_RIVALRY, ABILITY_HUSTLE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Nidorina"), @@ -2539,7 +2539,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 76, .baseSpAttack = 75, .baseSpDefense = 85, - .types = { TYPE_POISON, TYPE_GROUND }, + .types = MON_TYPES(TYPE_POISON, TYPE_GROUND), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 253, @@ -2555,7 +2555,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_POISON_POINT, ABILITY_RIVALRY, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Nidoqueen"), @@ -2594,7 +2594,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 50, .baseSpAttack = 40, .baseSpDefense = 40, - .types = { TYPE_POISON, TYPE_POISON }, + .types = MON_TYPES(TYPE_POISON), .catchRate = 235, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 55 : 60, .evYield_Attack = 1, @@ -2602,7 +2602,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_FIELD), .abilities = { ABILITY_POISON_POINT, ABILITY_RIVALRY, ABILITY_HUSTLE }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Nidoran♂"), @@ -2642,7 +2642,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 65, .baseSpAttack = 55, .baseSpDefense = 55, - .types = { TYPE_POISON, TYPE_POISON }, + .types = MON_TYPES(TYPE_POISON), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 128 : 118, .evYield_Attack = 2, @@ -2650,7 +2650,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_FIELD), .abilities = { ABILITY_POISON_POINT, ABILITY_RIVALRY, ABILITY_HUSTLE }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Nidorino"), @@ -2690,7 +2690,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 85, .baseSpAttack = 85, .baseSpDefense = 75, - .types = { TYPE_POISON, TYPE_GROUND }, + .types = MON_TYPES(TYPE_POISON, TYPE_GROUND), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 253, @@ -2706,7 +2706,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_FIELD), .abilities = { ABILITY_POISON_POINT, ABILITY_RIVALRY, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Nidoking"), @@ -2764,7 +2764,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 10, .friendship = 140, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_CUTE_CHARM, ABILITY_MAGIC_GUARD, ABILITY_FRIEND_GUARD }, .bodyColor = BODY_COLOR_PINK, .noFlip = TRUE, @@ -2815,7 +2815,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 10, .friendship = 140, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .abilities = { ABILITY_CUTE_CHARM, ABILITY_MAGIC_GUARD, ABILITY_FRIEND_GUARD }, .bodyColor = BODY_COLOR_PINK, .noFlip = TRUE, @@ -2873,7 +2873,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 10, .friendship = 140, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .abilities = { ABILITY_CUTE_CHARM, ABILITY_MAGIC_GUARD, ABILITY_UNAWARE }, .bodyColor = BODY_COLOR_PINK, .noFlip = TRUE, @@ -2912,7 +2912,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD } + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD) #define VULPIX_MISC_INFO \ .baseHP = 38, \ @@ -2960,7 +2960,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = [SPECIES_VULPIX] = { VULPIX_MISC_INFO, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .itemRare = ITEM_CHARCOAL, .abilities = { ABILITY_FLASH_FIRE, ABILITY_NONE, ABILITY_DROUGHT }, .bodyColor = BODY_COLOR_BROWN, @@ -2991,7 +2991,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 100, .baseSpAttack = 81, .baseSpDefense = 100, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .itemRare = ITEM_CHARCOAL, .abilities = { ABILITY_FLASH_FIRE, ABILITY_NONE, ABILITY_DROUGHT }, .bodyColor = BODY_COLOR_YELLOW, @@ -3016,7 +3016,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = [SPECIES_VULPIX_ALOLAN] = { VULPIX_MISC_INFO, - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .itemRare = ITEM_SNOWBALL, .abilities = { ABILITY_SNOW_CLOAK, ABILITY_NONE, ABILITY_SNOW_WARNING }, .bodyColor = BODY_COLOR_BLUE, @@ -3048,7 +3048,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 109, .baseSpAttack = 81, .baseSpDefense = 100, - .types = { TYPE_ICE, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_ICE, TYPE_FAIRY), .itemRare = ITEM_SNOWBALL, .abilities = { ABILITY_SNOW_CLOAK, ABILITY_NONE, ABILITY_SNOW_WARNING }, .bodyColor = BODY_COLOR_BLUE, @@ -3096,7 +3096,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 10, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_CUTE_CHARM, ABILITY_COMPETITIVE, ABILITY_FRIEND_GUARD }, .bodyColor = BODY_COLOR_PINK, .noFlip = TRUE, @@ -3147,7 +3147,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 10, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .abilities = { ABILITY_CUTE_CHARM, ABILITY_COMPETITIVE, ABILITY_FRIEND_GUARD }, .bodyColor = BODY_COLOR_PINK, .noFlip = TRUE, @@ -3205,7 +3205,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 10, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .abilities = { ABILITY_CUTE_CHARM, ABILITY_COMPETITIVE, ABILITY_FRISK }, .bodyColor = BODY_COLOR_PINK, .noFlip = TRUE, @@ -3247,7 +3247,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 55, .baseSpAttack = 30, .baseSpDefense = 40, - .types = { TYPE_POISON, TYPE_FLYING }, + .types = MON_TYPES(TYPE_POISON, TYPE_FLYING), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 49 : 54, .evYield_Speed = 1, @@ -3255,7 +3255,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_INNER_FOCUS, ABILITY_NONE, ABILITY_INFILTRATOR }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Zubat"), @@ -3298,7 +3298,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 90, .baseSpAttack = 65, .baseSpDefense = 75, - .types = { TYPE_POISON, TYPE_FLYING }, + .types = MON_TYPES(TYPE_POISON, TYPE_FLYING), .catchRate = 90, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 159 : 171, .evYield_Speed = 2, @@ -3306,7 +3306,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_INNER_FOCUS, ABILITY_NONE, ABILITY_INFILTRATOR }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Golbat"), @@ -3350,7 +3350,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 130, .baseSpAttack = 70, .baseSpDefense = 80, - .types = { TYPE_POISON, TYPE_FLYING }, + .types = MON_TYPES(TYPE_POISON, TYPE_FLYING), .catchRate = 90, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 268, @@ -3364,7 +3364,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_INNER_FOCUS, ABILITY_NONE, ABILITY_INFILTRATOR }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Crobat"), @@ -3407,7 +3407,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 30, .baseSpAttack = 75, .baseSpDefense = 65, - .types = { TYPE_GRASS, TYPE_POISON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_POISON), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 64 : 78, .evYield_SpAttack = 1, @@ -3416,7 +3416,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_NONE, ABILITY_RUN_AWAY }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Oddish"), @@ -3456,7 +3456,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 40, .baseSpAttack = 85, .baseSpDefense = 75, - .types = { TYPE_GRASS, TYPE_POISON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_POISON), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 138 : 132, .evYield_SpAttack = 2, @@ -3465,7 +3465,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_NONE, ABILITY_STENCH }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Gloom"), @@ -3508,7 +3508,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 50, .baseSpAttack = P_UPDATED_STATS >= GEN_6 ? 110 : 100, .baseSpDefense = 90, - .types = { TYPE_GRASS, TYPE_POISON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_POISON), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 245, @@ -3525,7 +3525,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_NONE, ABILITY_EFFECT_SPORE }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Vileplume"), @@ -3567,7 +3567,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 50, .baseSpAttack = 90, .baseSpDefense = 100, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 245, @@ -3584,7 +3584,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_NONE, ABILITY_HEALER }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Bellossom"), @@ -3626,7 +3626,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 25, .baseSpAttack = 45, .baseSpDefense = 55, - .types = { TYPE_BUG, TYPE_GRASS }, + .types = MON_TYPES(TYPE_BUG, TYPE_GRASS), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 57 : 70, .evYield_Attack = 1, @@ -3636,7 +3636,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG, EGG_GROUP_GRASS), .abilities = { ABILITY_EFFECT_SPORE, ABILITY_DRY_SKIN, ABILITY_DAMP }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Paras"), @@ -3677,7 +3677,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 30, .baseSpAttack = 60, .baseSpDefense = 80, - .types = { TYPE_BUG, TYPE_GRASS }, + .types = MON_TYPES(TYPE_BUG, TYPE_GRASS), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 142 : 128, .evYield_Attack = 2, @@ -3688,7 +3688,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG, EGG_GROUP_GRASS), .abilities = { ABILITY_EFFECT_SPORE, ABILITY_DRY_SKIN, ABILITY_DAMP }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Parasect"), @@ -3730,7 +3730,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 45, .baseSpAttack = 40, .baseSpDefense = 55, - .types = { TYPE_BUG, TYPE_POISON }, + .types = MON_TYPES(TYPE_BUG, TYPE_POISON), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 61 : 75, .evYield_SpDefense = 1, @@ -3738,7 +3738,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_COMPOUND_EYES, ABILITY_TINTED_LENS, ABILITY_RUN_AWAY }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Venonat"), @@ -3779,7 +3779,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 90, .baseSpAttack = 90, .baseSpDefense = 75, - .types = { TYPE_BUG, TYPE_POISON }, + .types = MON_TYPES(TYPE_BUG, TYPE_POISON), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 158 : 138, .evYield_Speed = 1, @@ -3789,7 +3789,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SHIELD_DUST, ABILITY_TINTED_LENS, ABILITY_WONDER_SKIN }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Venomoth"), @@ -3823,13 +3823,13 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #endif //P_FAMILY_VENONAT #if P_FAMILY_DIGLETT -#define DIGLETT_FAMILY_MISC_INFO \ - .itemRare = ITEM_SOFT_SAND, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ +#define DIGLETT_FAMILY_MISC_INFO \ + .itemRare = ITEM_SOFT_SAND, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .bodyColor = BODY_COLOR_BROWN #define DIGLETT_MISC_INFO \ @@ -3885,7 +3885,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 95, .baseSpAttack = 35, .baseSpDefense = 45, - .types = { TYPE_GROUND, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GROUND), .abilities = { ABILITY_SAND_VEIL, ABILITY_ARENA_TRAP, ABILITY_SAND_FORCE }, .weight = 8, .description = COMPOUND_STRING( @@ -3916,7 +3916,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 120, .baseSpAttack = 50, .baseSpDefense = 70, - .types = { TYPE_GROUND, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GROUND), .abilities = { ABILITY_SAND_VEIL, ABILITY_ARENA_TRAP, ABILITY_SAND_FORCE }, .weight = 333, .description = COMPOUND_STRING( @@ -3947,7 +3947,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 90, .baseSpAttack = 35, .baseSpDefense = 45, - .types = { TYPE_GROUND, TYPE_STEEL }, + .types = MON_TYPES(TYPE_GROUND, TYPE_STEEL), .abilities = { ABILITY_SAND_VEIL, ABILITY_TANGLING_HAIR, ABILITY_SAND_FORCE }, .weight = 10, .description = COMPOUND_STRING( @@ -3978,7 +3978,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 110, .baseSpAttack = 50, .baseSpDefense = 70, - .types = { TYPE_GROUND, TYPE_STEEL }, + .types = MON_TYPES(TYPE_GROUND, TYPE_STEEL), .abilities = { ABILITY_SAND_VEIL, ABILITY_TANGLING_HAIR, ABILITY_SAND_FORCE }, .noFlip = TRUE, .weight = 666, @@ -4003,19 +4003,19 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #endif //P_FAMILY_DIGLETT #if P_FAMILY_MEOWTH -#define MEOWTH_MISC_INFO \ - .catchRate = 255, \ - .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 58 : 69, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ - .speciesName = _("Meowth"), \ - .cryId = CRY_MEOWTH, \ - .natDexNum = NATIONAL_DEX_MEOWTH, \ - .categoryName = _("Scratch Cat"), \ - FOOTPRINT(Meowth) \ +#define MEOWTH_MISC_INFO \ + .catchRate = 255, \ + .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 58 : 69, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ + .speciesName = _("Meowth"), \ + .cryId = CRY_MEOWTH, \ + .natDexNum = NATIONAL_DEX_MEOWTH, \ + .categoryName = _("Scratch Cat"), \ + FOOTPRINT(Meowth) \ .formSpeciesIdTable = sMeowthFormSpeciesIdTable #define PERSIAN_MISC_INFO \ @@ -4027,7 +4027,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .speciesName = _("Persian"), \ .cryId = CRY_PERSIAN, \ .natDexNum = NATIONAL_DEX_PERSIAN, \ @@ -4045,7 +4045,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpAttack = 40, .baseSpDefense = 40, .evYield_Speed = 1, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .itemRare = ITEM_QUICK_CLAW, .abilities = { ABILITY_PICKUP, ABILITY_TECHNICIAN, ABILITY_UNNERVE }, .bodyColor = BODY_COLOR_YELLOW, @@ -4084,7 +4084,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 115, .baseSpAttack = 65, .baseSpDefense = 65, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .abilities = { ABILITY_LIMBER, ABILITY_TECHNICIAN, ABILITY_UNNERVE }, .bodyColor = BODY_COLOR_YELLOW, .height = 10, @@ -4122,7 +4122,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpAttack = 50, .baseSpDefense = 40, .evYield_Speed = 1, - .types = { TYPE_DARK, TYPE_DARK }, + .types = MON_TYPES(TYPE_DARK), .itemRare = ITEM_QUICK_CLAW, .abilities = { ABILITY_PICKUP, ABILITY_TECHNICIAN, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_GRAY, @@ -4160,7 +4160,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 115, .baseSpAttack = 75, .baseSpDefense = 65, - .types = { TYPE_DARK, TYPE_DARK }, + .types = MON_TYPES(TYPE_DARK), .abilities = { ABILITY_FUR_COAT, ABILITY_TECHNICIAN, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_GRAY, .height = 11, @@ -4199,7 +4199,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpAttack = 40, .baseSpDefense = 40, .evYield_Attack = 1, - .types = { TYPE_STEEL, TYPE_STEEL }, + .types = MON_TYPES(TYPE_STEEL), .abilities = { ABILITY_PICKUP, ABILITY_TOUGH_CLAWS, ABILITY_UNNERVE }, .bodyColor = BODY_COLOR_BROWN, .height = 4, @@ -4235,7 +4235,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 50, .baseSpAttack = 50, .baseSpDefense = 60, - .types = { TYPE_STEEL, TYPE_STEEL }, + .types = MON_TYPES(TYPE_STEEL), .catchRate = 90, .expYield = 154, .evYield_Attack = 2, @@ -4243,7 +4243,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BATTLE_ARMOR, ABILITY_TOUGH_CLAWS, ABILITY_STEELY_SPIRIT }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Perrserker"), @@ -4285,7 +4285,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpAttack = 40, .baseSpDefense = 40, .evYield_Speed = 1, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .itemRare = ITEM_QUICK_CLAW, .abilities = { ABILITY_PICKUP, ABILITY_TECHNICIAN, ABILITY_UNNERVE }, .bodyColor = BODY_COLOR_YELLOW, @@ -4325,7 +4325,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 55, .baseSpAttack = 65, .baseSpDefense = 50, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 64 : 80, .evYield_SpAttack = 1, @@ -4333,7 +4333,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_DAMP, ABILITY_CLOUD_NINE, ABILITY_SWIFT_SWIM }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Psyduck"), @@ -4373,7 +4373,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 85, .baseSpAttack = 95, .baseSpDefense = 80, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 175 : 174, .evYield_SpAttack = 2, @@ -4381,7 +4381,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_DAMP, ABILITY_CLOUD_NINE, ABILITY_SWIFT_SWIM }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Golduck"), @@ -4422,7 +4422,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 70, .baseSpAttack = 35, .baseSpDefense = 45, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 61 : 74, .evYield_Attack = 1, @@ -4430,7 +4430,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_VITAL_SPIRIT, ABILITY_ANGER_POINT, ABILITY_DEFIANT }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Mankey"), @@ -4471,7 +4471,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 95, .baseSpAttack = 60, .baseSpDefense = 70, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 159 : 149, .evYield_Attack = 2, @@ -4479,7 +4479,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_VITAL_SPIRIT, ABILITY_ANGER_POINT, ABILITY_DEFIANT }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Primeape"), @@ -4520,7 +4520,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 90, .baseSpAttack = 50, .baseSpDefense = 90, - .types = { TYPE_FIGHTING, TYPE_GHOST }, + .types = MON_TYPES(TYPE_FIGHTING, TYPE_GHOST), .catchRate = 45, .expYield = 268, .evYield_Attack = 3, @@ -4528,7 +4528,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_VITAL_SPIRIT, ABILITY_INNER_FOCUS, ABILITY_DEFIANT }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Annihilape"), @@ -4562,12 +4562,12 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #endif //P_FAMILY_MANKEY #if P_FAMILY_GROWLITHE -#define GROWLITHE_FAMILY_MISC_INFO \ - .genderRatio = PERCENT_FEMALE(25), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ +#define GROWLITHE_FAMILY_MISC_INFO \ + .genderRatio = PERCENT_FEMALE(25), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .bodyColor = BODY_COLOR_BROWN #define GROWLITHE_MISC_INFO \ @@ -4602,7 +4602,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 60, .baseSpAttack = 70, .baseSpDefense = 50, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .abilities = { ABILITY_INTIMIDATE, ABILITY_FLASH_FIRE, ABILITY_JUSTIFIED }, .categoryName = _("Puppy"), .height = 7, @@ -4639,7 +4639,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 95, .baseSpAttack = 100, .baseSpDefense = 80, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .abilities = { ABILITY_INTIMIDATE, ABILITY_FLASH_FIRE, ABILITY_JUSTIFIED }, .height = 19, .weight = 1550, @@ -4675,7 +4675,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 55, .baseSpAttack = 65, .baseSpDefense = 50, - .types = { TYPE_FIRE, TYPE_ROCK }, + .types = MON_TYPES(TYPE_FIRE, TYPE_ROCK), .abilities = { ABILITY_INTIMIDATE, ABILITY_FLASH_FIRE, ABILITY_ROCK_HEAD }, .categoryName = _("Scout"), .height = 8, @@ -4712,7 +4712,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 90, .baseSpAttack = 95, .baseSpDefense = 80, - .types = { TYPE_FIRE, TYPE_ROCK }, + .types = MON_TYPES(TYPE_FIRE, TYPE_ROCK), .abilities = { ABILITY_INTIMIDATE, ABILITY_FLASH_FIRE, ABILITY_ROCK_HEAD }, .height = 20, .weight = 1680, @@ -4749,7 +4749,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 90, .baseSpAttack = 40, .baseSpDefense = 40, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 60 : 77, .evYield_Speed = 1, @@ -4757,7 +4757,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_WATER_ABSORB, ABILITY_DAMP, ABILITY_SWIFT_SWIM }, .bodyColor = BODY_COLOR_BLUE, .noFlip = TRUE, @@ -4798,7 +4798,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 90, .baseSpAttack = 50, .baseSpDefense = 50, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 135 : 131, .evYield_Speed = 2, @@ -4807,7 +4807,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_WATER_ABSORB, ABILITY_DAMP, ABILITY_SWIFT_SWIM }, .bodyColor = BODY_COLOR_BLUE, .noFlip = TRUE, @@ -4851,7 +4851,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 70, .baseSpAttack = 70, .baseSpDefense = 90, - .types = { TYPE_WATER, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_WATER, TYPE_FIGHTING), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 255, @@ -4868,7 +4868,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_WATER_ABSORB, ABILITY_DAMP, ABILITY_SWIFT_SWIM }, .bodyColor = BODY_COLOR_BLUE, .noFlip = TRUE, @@ -4909,7 +4909,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 70, .baseSpAttack = 90, .baseSpDefense = 100, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 250, @@ -4924,7 +4924,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_WATER_ABSORB, ABILITY_DAMP, ABILITY_DRIZZLE }, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, @@ -4970,7 +4970,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 90, .baseSpAttack = 105, .baseSpDefense = 55, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 200, #if P_UPDATED_EXP_YIELDS >= GEN_5 .expYield = 62, @@ -4985,7 +4985,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_SYNCHRONIZE, ABILITY_INNER_FOCUS, ABILITY_MAGIC_GUARD }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Abra"), @@ -5025,7 +5025,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 105, .baseSpAttack = 120, .baseSpDefense = 70, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 100, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 140 : 145, .evYield_SpAttack = 2, @@ -5034,7 +5034,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_SYNCHRONIZE, ABILITY_INNER_FOCUS, ABILITY_MAGIC_GUARD }, .bodyColor = BODY_COLOR_BROWN, .noFlip = TRUE, @@ -5072,23 +5072,23 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #define ALAKAZAM_SP_DEF (P_UPDATED_STATS >= GEN_6 ? 95 : 85) -#define ALAKAZAM_MISC_INFO \ - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, \ - .catchRate = 50, \ - .evYield_SpAttack = 3, \ - .itemRare = ITEM_TWISTED_SPOON, \ - .genderRatio = PERCENT_FEMALE(25), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE },\ - .bodyColor = BODY_COLOR_BROWN, \ - .speciesName = _("Alakazam"), \ - .natDexNum = NATIONAL_DEX_ALAKAZAM, \ - .categoryName = _("Psi"), \ - FOOTPRINT(Alakazam) \ - LEARNSETS(Alakazam), \ - .formSpeciesIdTable = sAlakazamFormSpeciesIdTable, \ +#define ALAKAZAM_MISC_INFO \ + .types = MON_TYPES(TYPE_PSYCHIC), \ + .catchRate = 50, \ + .evYield_SpAttack = 3, \ + .itemRare = ITEM_TWISTED_SPOON, \ + .genderRatio = PERCENT_FEMALE(25), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), \ + .bodyColor = BODY_COLOR_BROWN, \ + .speciesName = _("Alakazam"), \ + .natDexNum = NATIONAL_DEX_ALAKAZAM, \ + .categoryName = _("Psi"), \ + FOOTPRINT(Alakazam) \ + LEARNSETS(Alakazam), \ + .formSpeciesIdTable = sAlakazamFormSpeciesIdTable, \ .formChangeTable = sAlakazamFormChangeTable [SPECIES_ALAKAZAM] = @@ -5182,7 +5182,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 35, .baseSpAttack = 35, .baseSpDefense = 35, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 180, #if P_UPDATED_EXP_YIELDS >= GEN_5 .expYield = 61, @@ -5197,7 +5197,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_GUTS, ABILITY_NO_GUARD, ABILITY_STEADFAST }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Machop"), @@ -5237,7 +5237,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 45, .baseSpAttack = 50, .baseSpDefense = 60, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 90, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 142 : 146, .evYield_Attack = 2, @@ -5246,7 +5246,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_GUTS, ABILITY_NO_GUARD, ABILITY_STEADFAST }, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, @@ -5295,7 +5295,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 55, \ .baseSpAttack = 65, \ .baseSpDefense = 85, \ - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, \ + .types = MON_TYPES(TYPE_FIGHTING), \ .catchRate = 45, \ .expYield = MACHAMP_EXP_YIELD, \ .evYield_Attack = 3, \ @@ -5304,7 +5304,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), \ .abilities = { ABILITY_GUTS, ABILITY_NO_GUARD, ABILITY_STEADFAST }, \ .bodyColor = BODY_COLOR_GRAY, \ .speciesName = _("Machamp"), \ @@ -5379,7 +5379,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 40, .baseSpAttack = 70, .baseSpDefense = 30, - .types = { TYPE_GRASS, TYPE_POISON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_POISON), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 60 : 84, .evYield_Attack = 1, @@ -5387,7 +5387,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_NONE, ABILITY_GLUTTONY }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Bellsprout"), @@ -5427,7 +5427,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 55, .baseSpAttack = 85, .baseSpDefense = 45, - .types = { TYPE_GRASS, TYPE_POISON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_POISON), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 137 : 151, .evYield_Attack = 2, @@ -5435,7 +5435,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_NONE, ABILITY_GLUTTONY }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Weepinbell"), @@ -5476,7 +5476,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 70, .baseSpAttack = 100, .baseSpDefense = P_UPDATED_STATS >= GEN_6 ? 70 : 60, - .types = { TYPE_GRASS, TYPE_POISON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_POISON), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 245, @@ -5492,7 +5492,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_NONE, ABILITY_GLUTTONY }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Victreebel"), @@ -5533,7 +5533,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 70, .baseSpAttack = 50, .baseSpDefense = 100, - .types = { TYPE_WATER, TYPE_POISON }, + .types = MON_TYPES(TYPE_WATER, TYPE_POISON), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 67 : 105, .evYield_SpDefense = 1, @@ -5542,7 +5542,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_CLEAR_BODY, ABILITY_LIQUID_OOZE, ABILITY_RAIN_DISH }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Tentacool"), @@ -5582,7 +5582,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 100, .baseSpAttack = 80, .baseSpDefense = 120, - .types = { TYPE_WATER, TYPE_POISON }, + .types = MON_TYPES(TYPE_WATER, TYPE_POISON), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 180 : 205, .evYield_SpDefense = 2, @@ -5591,7 +5591,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_CLEAR_BODY, ABILITY_LIQUID_OOZE, ABILITY_RAIN_DISH }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Tentacruel"), @@ -5625,16 +5625,16 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #if P_FAMILY_GEODUDE #define KANTONIAN_GEODUDE_FAMILY_INFO \ - .types = { TYPE_ROCK, TYPE_GROUND }, \ + .types = MON_TYPES(TYPE_ROCK, TYPE_GROUND), \ .itemRare = ITEM_EVERSTONE, \ .abilities = { ABILITY_ROCK_HEAD, ABILITY_STURDY, ABILITY_SAND_VEIL } -#define GEODUDE_FAMILY_MISC_INFO \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 15, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, \ +#define GEODUDE_FAMILY_MISC_INFO \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 15, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), \ .bodyColor = BODY_COLOR_BROWN #if P_UPDATED_EXP_YIELDS >= GEN_5 @@ -5798,7 +5798,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #if P_ALOLAN_FORMS #define ALOLAN_GEODUDE_FAMILY_INFO \ - .types = { TYPE_ROCK, TYPE_ELECTRIC }, \ + .types = MON_TYPES(TYPE_ROCK, TYPE_ELECTRIC), \ .abilities = { ABILITY_MAGNET_PULL, ABILITY_STURDY, ABILITY_GALVANIZE },\ .isAlolanForm = TRUE @@ -5884,7 +5884,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #if P_FAMILY_PONYTA #define KANTONIAN_PONYTA_FAMILY_INFO \ - .types = { TYPE_FIRE, TYPE_FIRE }, \ + .types = MON_TYPES(TYPE_FIRE), \ .abilities = { ABILITY_RUN_AWAY, ABILITY_FLASH_FIRE, ABILITY_FLAME_BODY }, \ .bodyColor = BODY_COLOR_YELLOW @@ -5893,7 +5893,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD } + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD) #define PONYTA_MISC_INFO \ .baseHP = 50, \ @@ -5997,7 +5997,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = { GALARIAN_PONYTA_FAMILY_INFO, PONYTA_MISC_INFO, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .categoryName = _("Unique Horn"), .height = 8, .weight = 240, @@ -6027,7 +6027,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = { GALARIAN_PONYTA_FAMILY_INFO, RAPIDASH_MISC_INFO, - .types = { TYPE_PSYCHIC, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_FAIRY), .categoryName = _("Unique Horn"), .weight = 800, .description = COMPOUND_STRING( @@ -6050,70 +6050,70 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #endif //P_FAMILY_PONYTA #if P_FAMILY_SLOWPOKE -#define SLOWPOKE_MISC_INFO \ - .baseHP = 90, \ - .baseAttack = 65, \ - .baseDefense = 65, \ - .baseSpeed = 15, \ - .baseSpAttack = 40, \ - .baseSpDefense = 40, \ - .catchRate = 190, \ - .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 63 : 99, \ - .evYield_HP = 1, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, \ - .bodyColor = BODY_COLOR_PINK, \ - .speciesName = _("Slowpoke"), \ - .natDexNum = NATIONAL_DEX_SLOWPOKE, \ - .categoryName = _("Dopey"), \ - .height = 12, \ - .weight = 360, \ - .pokemonScale = 256, \ - .pokemonOffset = 10, \ - .trainerScale = 256, \ - .trainerOffset = 0, \ - FOOTPRINT(Slowpoke) \ +#define SLOWPOKE_MISC_INFO \ + .baseHP = 90, \ + .baseAttack = 65, \ + .baseDefense = 65, \ + .baseSpeed = 15, \ + .baseSpAttack = 40, \ + .baseSpDefense = 40, \ + .catchRate = 190, \ + .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 63 : 99, \ + .evYield_HP = 1, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_WATER_1), \ + .bodyColor = BODY_COLOR_PINK, \ + .speciesName = _("Slowpoke"), \ + .natDexNum = NATIONAL_DEX_SLOWPOKE, \ + .categoryName = _("Dopey"), \ + .height = 12, \ + .weight = 360, \ + .pokemonScale = 256, \ + .pokemonOffset = 10, \ + .trainerScale = 256, \ + .trainerOffset = 0, \ + FOOTPRINT(Slowpoke) \ .formSpeciesIdTable = sSlowpokeFormSpeciesIdTable -#define SLOWBRO_MISC_INFO \ - .catchRate = 75, \ - .itemRare = ITEM_KINGS_ROCK, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, \ - .bodyColor = BODY_COLOR_PINK, \ - .speciesName = _("Slowbro"), \ - .cryId = CRY_SLOWBRO, \ - .natDexNum = NATIONAL_DEX_SLOWBRO, \ - .categoryName = _("Hermit Crab"), \ - FOOTPRINT(Slowbro) \ +#define SLOWBRO_MISC_INFO \ + .catchRate = 75, \ + .itemRare = ITEM_KINGS_ROCK, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_WATER_1), \ + .bodyColor = BODY_COLOR_PINK, \ + .speciesName = _("Slowbro"), \ + .cryId = CRY_SLOWBRO, \ + .natDexNum = NATIONAL_DEX_SLOWBRO, \ + .categoryName = _("Hermit Crab"), \ + FOOTPRINT(Slowbro) \ .formSpeciesIdTable = sSlowbroFormSpeciesIdTable -#define SLOWKING_MISC_INFO \ - .catchRate = 70, \ - .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 172 : 164,\ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, \ - .bodyColor = BODY_COLOR_PINK, \ - .speciesName = _("Slowking"), \ - .cryId = CRY_SLOWKING, \ - .natDexNum = NATIONAL_DEX_SLOWKING, \ - .weight = 795, \ - FOOTPRINT(Slowking) \ +#define SLOWKING_MISC_INFO \ + .catchRate = 70, \ + .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 172 : 164, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_WATER_1), \ + .bodyColor = BODY_COLOR_PINK, \ + .speciesName = _("Slowking"), \ + .cryId = CRY_SLOWKING, \ + .natDexNum = NATIONAL_DEX_SLOWKING, \ + .weight = 795, \ + FOOTPRINT(Slowking) \ .formSpeciesIdTable = sSlowkingFormSpeciesIdTable [SPECIES_SLOWPOKE] = { SLOWPOKE_MISC_INFO, - .types = { TYPE_WATER, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_WATER, TYPE_PSYCHIC), .itemRare = ITEM_LAGGING_TAIL, .abilities = { ABILITY_OBLIVIOUS, ABILITY_OWN_TEMPO, ABILITY_REGENERATOR }, .cryId = CRY_SLOWPOKE, @@ -6146,7 +6146,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 30, .baseSpAttack = 100, .baseSpDefense = 80, - .types = { TYPE_WATER, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_WATER, TYPE_PSYCHIC), .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 172 : 164, .evYield_Defense = (P_UPDATED_EVS >= GEN_8) ? 2 : 3, .abilities = { ABILITY_OBLIVIOUS, ABILITY_OWN_TEMPO, ABILITY_REGENERATOR }, @@ -6184,7 +6184,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 30, .baseSpAttack = 100, .baseSpDefense = 110, - .types = { TYPE_WATER, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_WATER, TYPE_PSYCHIC), .evYield_SpDefense = 3, .itemRare = ITEM_KINGS_ROCK, .abilities = { ABILITY_OBLIVIOUS, ABILITY_OWN_TEMPO, ABILITY_REGENERATOR }, @@ -6222,7 +6222,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 30, .baseSpAttack = 130, .baseSpDefense = 80, - .types = { TYPE_WATER, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_WATER, TYPE_PSYCHIC), .expYield = 207, .evYield_Defense = 2, .abilities = { ABILITY_SHELL_ARMOR, ABILITY_SHELL_ARMOR, ABILITY_SHELL_ARMOR }, @@ -6256,7 +6256,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = [SPECIES_SLOWPOKE_GALARIAN] = { SLOWPOKE_MISC_INFO, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .abilities = { ABILITY_GLUTTONY, ABILITY_OWN_TEMPO, ABILITY_REGENERATOR }, .cryId = CRY_SLOWPOKE_GALARIAN, .description = COMPOUND_STRING( @@ -6288,7 +6288,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 30, .baseSpAttack = 100, .baseSpDefense = 70, - .types = { TYPE_POISON, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_POISON, TYPE_PSYCHIC), .expYield = 172, .evYield_Attack = 2, .abilities = { ABILITY_QUICK_DRAW, ABILITY_OWN_TEMPO, ABILITY_REGENERATOR }, @@ -6326,7 +6326,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 30, .baseSpAttack = 110, .baseSpDefense = 110, - .types = { TYPE_POISON, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_POISON, TYPE_PSYCHIC), .evYield_SpDefense = 2, .abilities = { ABILITY_CURIOUS_MEDICINE, ABILITY_OWN_TEMPO, ABILITY_REGENERATOR }, .categoryName = _("Hexpert"), @@ -6365,7 +6365,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 45, .baseSpAttack = 95, .baseSpDefense = 55, - .types = { TYPE_ELECTRIC, TYPE_STEEL }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_STEEL), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 65 : 89, .evYield_SpAttack = 1, @@ -6374,7 +6374,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_MAGNET_PULL, ABILITY_STURDY, ABILITY_ANALYTIC }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Magnemite"), @@ -6415,7 +6415,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 70, .baseSpAttack = 120, .baseSpDefense = 70, - .types = { TYPE_ELECTRIC, TYPE_STEEL }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_STEEL), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 163 : 161, .evYield_SpAttack = 2, @@ -6424,7 +6424,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_MAGNET_PULL, ABILITY_STURDY, ABILITY_ANALYTIC }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Magneton"), @@ -6467,7 +6467,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 60, .baseSpAttack = 130, .baseSpDefense = 90, - .types = { TYPE_ELECTRIC, TYPE_STEEL }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_STEEL), .catchRate = 30, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 268, @@ -6482,7 +6482,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_MAGNET_PULL, ABILITY_STURDY, ABILITY_ANALYTIC }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Magnezone"), @@ -6527,21 +6527,21 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #define FARFETCHD_EXP_YIELD 94 #endif -#define FARFETCHD_MISC_INFO \ - .catchRate = 45, \ - .expYield = FARFETCHD_EXP_YIELD, \ - .evYield_Attack = 1, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FIELD }, \ - .bodyColor = BODY_COLOR_BROWN, \ - .speciesName = _("Farfetch'd"), \ - .cryId = CRY_FARFETCHD, \ - .natDexNum = NATIONAL_DEX_FARFETCHD, \ - .categoryName = _("Wild Duck"), \ - FOOTPRINT(Farfetchd) \ +#define FARFETCHD_MISC_INFO \ + .catchRate = 45, \ + .expYield = FARFETCHD_EXP_YIELD, \ + .evYield_Attack = 1, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING, EGG_GROUP_FIELD),\ + .bodyColor = BODY_COLOR_BROWN, \ + .speciesName = _("Farfetch'd"), \ + .cryId = CRY_FARFETCHD, \ + .natDexNum = NATIONAL_DEX_FARFETCHD, \ + .categoryName = _("Wild Duck"), \ + FOOTPRINT(Farfetchd) \ .formSpeciesIdTable = sFarfetchdFormSpeciesIdTable [SPECIES_FARFETCHD] = @@ -6553,7 +6553,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpAttack = 58, .baseSpDefense = 62, .baseAttack = FARFETCHD_ATTACK, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .itemRare = ITEM_LEEK, .abilities = { ABILITY_KEEN_EYE, ABILITY_INNER_FOCUS, ABILITY_DEFIANT }, .height = 8, @@ -6589,7 +6589,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 55, .baseSpAttack = 58, .baseSpDefense = 62, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .itemCommon = ITEM_LEEK, .abilities = { ABILITY_STEADFAST, ABILITY_NONE, ABILITY_SCRAPPY }, .height = 8, @@ -6625,7 +6625,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 65, .baseSpAttack = 68, .baseSpDefense = 82, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 45, .expYield = 177, .evYield_Attack = 2, @@ -6634,7 +6634,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING, EGG_GROUP_FIELD), .abilities = { ABILITY_STEADFAST, ABILITY_NONE, ABILITY_SCRAPPY }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Sirfetch'd"), @@ -6676,7 +6676,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 75, .baseSpAttack = 35, .baseSpDefense = 35, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 62 : 96, .evYield_Attack = 1, @@ -6685,7 +6685,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_RUN_AWAY, ABILITY_EARLY_BIRD, ABILITY_TANGLED_FEET }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Doduo"), @@ -6727,7 +6727,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = P_UPDATED_STATS >= GEN_7 ? 110 : 100, .baseSpAttack = 60, .baseSpDefense = 60, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 165, @@ -6742,7 +6742,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_RUN_AWAY, ABILITY_EARLY_BIRD, ABILITY_TANGLED_FEET }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Dodrio"), @@ -6785,7 +6785,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 45, .baseSpAttack = 45, .baseSpDefense = 70, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 65 : 100, .evYield_SpDefense = 1, @@ -6793,7 +6793,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_THICK_FAT, ABILITY_HYDRATION, ABILITY_ICE_BODY }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Seel"), @@ -6833,7 +6833,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 70, .baseSpAttack = 70, .baseSpDefense = 95, - .types = { TYPE_WATER, TYPE_ICE }, + .types = MON_TYPES(TYPE_WATER, TYPE_ICE), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 166 : 176, .evYield_SpDefense = 2, @@ -6841,7 +6841,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_THICK_FAT, ABILITY_HYDRATION, ABILITY_ICE_BODY }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Dewgong"), @@ -6880,7 +6880,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS } + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS) #define GRIMER_MISC_INFO \ .baseHP = 80, \ @@ -6920,7 +6920,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = GRIMER_FAMILY_MISC_INFO #define KANTONIAN_GRIMER_FAMILY_INFO \ - .types = { TYPE_POISON, TYPE_POISON }, \ + .types = MON_TYPES(TYPE_POISON), \ .abilities = { ABILITY_STENCH, ABILITY_STICKY_HOLD, ABILITY_POISON_TOUCH }, \ .bodyColor = BODY_COLOR_PURPLE @@ -6982,7 +6982,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #if P_ALOLAN_FORMS #define ALOLAN_GRIMER_FAMILY_INFO \ - .types = { TYPE_POISON, TYPE_DARK }, \ + .types = MON_TYPES(TYPE_POISON, TYPE_DARK), \ .abilities = { ABILITY_POISON_TOUCH, ABILITY_GLUTTONY, ABILITY_POWER_OF_ALCHEMY }, \ .bodyColor = BODY_COLOR_GREEN, \ .isAlolanForm = TRUE @@ -7054,7 +7054,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 40, .baseSpAttack = 45, .baseSpDefense = 25, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 61 : 97, .evYield_Defense = 1, @@ -7064,7 +7064,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_SHELL_ARMOR, ABILITY_SKILL_LINK, ABILITY_OVERCOAT }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Shellder"), @@ -7105,7 +7105,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 70, .baseSpAttack = 85, .baseSpDefense = 45, - .types = { TYPE_WATER, TYPE_ICE }, + .types = MON_TYPES(TYPE_WATER, TYPE_ICE), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 184 : 203, .evYield_Defense = 2, @@ -7115,7 +7115,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_SHELL_ARMOR, ABILITY_SKILL_LINK, ABILITY_OVERCOAT }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Cloyster"), @@ -7156,7 +7156,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 80, .baseSpAttack = 100, .baseSpDefense = 35, - .types = { TYPE_GHOST, TYPE_POISON }, + .types = MON_TYPES(TYPE_GHOST, TYPE_POISON), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 62 : 95, .evYield_SpAttack = 1, @@ -7164,7 +7164,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Gastly"), @@ -7205,7 +7205,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 95, .baseSpAttack = 115, .baseSpDefense = 55, - .types = { TYPE_GHOST, TYPE_POISON }, + .types = MON_TYPES(TYPE_GHOST, TYPE_POISON), .catchRate = 90, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 142 : 126, .evYield_SpAttack = 2, @@ -7213,7 +7213,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Haunter"), @@ -7254,22 +7254,22 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #define GENGAR_ABILITIES {ABILITY_LEVITATE, ABILITY_NONE} #endif -#define GENGAR_MISC_INFO \ - .types = { TYPE_GHOST, TYPE_POISON }, \ - .catchRate = 45, \ - .evYield_SpAttack = 3, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, \ - .bodyColor = BODY_COLOR_PURPLE, \ - .speciesName = _("Gengar"), \ - .natDexNum = NATIONAL_DEX_GENGAR, \ - .categoryName = _("Shadow"), \ - FOOTPRINT(Gengar) \ - LEARNSETS(Gengar), \ - .formSpeciesIdTable = sGengarFormSpeciesIdTable, \ +#define GENGAR_MISC_INFO \ + .types = MON_TYPES(TYPE_GHOST, TYPE_POISON), \ + .catchRate = 45, \ + .evYield_SpAttack = 3, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS),\ + .bodyColor = BODY_COLOR_PURPLE, \ + .speciesName = _("Gengar"), \ + .natDexNum = NATIONAL_DEX_GENGAR, \ + .categoryName = _("Shadow"), \ + FOOTPRINT(Gengar) \ + LEARNSETS(Gengar), \ + .formSpeciesIdTable = sGengarFormSpeciesIdTable,\ .formChangeTable = sGengarFormChangeTable [SPECIES_GENGAR] = @@ -7393,7 +7393,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 70, .baseSpAttack = 30, .baseSpDefense = 45, - .types = { TYPE_ROCK, TYPE_GROUND }, + .types = MON_TYPES(TYPE_ROCK, TYPE_GROUND), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 77 : 108, .evYield_Defense = 1, @@ -7401,7 +7401,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_ROCK_HEAD, ABILITY_STURDY, ABILITY_WEAK_ARMOR }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Onix"), @@ -7436,7 +7436,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #if P_GEN_2_CROSS_EVOS #define STEELIX_MISC_INFO \ - .types = { TYPE_STEEL, TYPE_GROUND }, \ + .types = MON_TYPES(TYPE_STEEL, TYPE_GROUND), \ .catchRate = 25, \ .evYield_Defense = 2, \ .itemRare = ITEM_METAL_COAT, \ @@ -7444,7 +7444,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), \ .bodyColor = BODY_COLOR_GRAY, \ .speciesName = _("Steelix"), \ .natDexNum = NATIONAL_DEX_STEELIX, \ @@ -7539,7 +7539,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 42, .baseSpAttack = 43, .baseSpDefense = 90, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 66 : 102, .evYield_SpDefense = 1, @@ -7547,7 +7547,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_INSOMNIA, ABILITY_FOREWARN, ABILITY_INNER_FOCUS }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Drowzee"), @@ -7588,7 +7588,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 67, .baseSpAttack = 73, .baseSpDefense = 115, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 169 : 165, .evYield_SpDefense = 2, @@ -7596,7 +7596,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_INSOMNIA, ABILITY_FOREWARN, ABILITY_INNER_FOCUS }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Hypno"), @@ -7640,7 +7640,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 50, .baseSpAttack = 25, .baseSpDefense = 25, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 225, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 65 : 115, .evYield_Attack = 1, @@ -7648,7 +7648,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_HYPER_CUTTER, ABILITY_SHELL_ARMOR, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Krabby"), @@ -7687,7 +7687,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 75, \ .baseSpAttack = 50, \ .baseSpDefense = 50, \ - .types = { TYPE_WATER, TYPE_WATER }, \ + .types = MON_TYPES(TYPE_WATER), \ .catchRate = 60, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 166 : 206, \ .evYield_Attack = 2, \ @@ -7695,7 +7695,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), \ .abilities = { ABILITY_HYPER_CUTTER, ABILITY_SHELL_ARMOR, ABILITY_SHEER_FORCE },\ .bodyColor = BODY_COLOR_RED, \ .noFlip = TRUE, \ @@ -7769,7 +7769,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), \ .abilities = { ABILITY_SOUNDPROOF, ABILITY_STATIC, ABILITY_AFTERMATH }, \ .bodyColor = BODY_COLOR_RED @@ -7828,7 +7828,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = [SPECIES_VOLTORB] = { VOLTORB_MISC_INFO, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .categoryName = _("Ball"), .weight = 104, .description = COMPOUND_STRING( @@ -7852,7 +7852,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = [SPECIES_ELECTRODE] = { ELECTRODE_MISC_INFO, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .categoryName = _("Ball"), .weight = 666, .description = COMPOUND_STRING( @@ -7876,7 +7876,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = [SPECIES_VOLTORB_HISUIAN] = { VOLTORB_MISC_INFO, - .types = { TYPE_ELECTRIC, TYPE_GRASS }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_GRASS), .categoryName = _("Sphere"), .weight = 130, .description = COMPOUND_STRING( @@ -7901,7 +7901,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = [SPECIES_ELECTRODE_HISUIAN] = { ELECTRODE_MISC_INFO, - .types = { TYPE_ELECTRIC, TYPE_GRASS }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_GRASS), .categoryName = _("Sphere"), .weight = 710, .description = COMPOUND_STRING( @@ -7933,7 +7933,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 40, .baseSpAttack = 60, .baseSpDefense = 45, - .types = { TYPE_GRASS, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_GRASS, TYPE_PSYCHIC), .catchRate = 90, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 65 : 98, .evYield_Defense = 1, @@ -7942,7 +7942,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_NONE, ABILITY_HARVEST }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Exeggcute"), @@ -7991,7 +7991,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), \ .bodyColor = BODY_COLOR_YELLOW, \ .speciesName = _("Exeggutor"), \ .cryId = CRY_EXEGGUTOR, \ @@ -8011,7 +8011,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 55, .baseSpAttack = 125, .baseSpDefense = EXEGGUTOR_SP_DEF, - .types = { TYPE_GRASS, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_GRASS, TYPE_PSYCHIC), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_NONE, ABILITY_HARVEST }, .height = 20, .weight = 1200, @@ -8046,7 +8046,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 45, .baseSpAttack = 125, .baseSpDefense = EXEGGUTOR_SP_DEF, - .types = { TYPE_GRASS, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_DRAGON), .abilities = { ABILITY_FRISK, ABILITY_NONE, ABILITY_HARVEST }, .height = 109, .weight = 4156, @@ -8083,7 +8083,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 35, .baseSpAttack = 40, .baseSpDefense = 50, - .types = { TYPE_GROUND, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GROUND), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 64 : 87, .evYield_Defense = 1, @@ -8092,7 +8092,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), .abilities = { ABILITY_ROCK_HEAD, ABILITY_LIGHTNING_ROD, ABILITY_BATTLE_ARMOR }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Cubone"), @@ -8141,7 +8141,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), \ .speciesName = _("Marowak"), \ .cryId = CRY_MAROWAK, \ .natDexNum = NATIONAL_DEX_MAROWAK, \ @@ -8157,7 +8157,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = [SPECIES_MAROWAK] = { MAROWAK_MISC_INFO, - .types = { TYPE_GROUND, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GROUND), .abilities = { ABILITY_ROCK_HEAD, ABILITY_LIGHTNING_ROD, ABILITY_BATTLE_ARMOR }, .bodyColor = BODY_COLOR_BROWN, .weight = 450, @@ -8182,7 +8182,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = [SPECIES_MAROWAK_ALOLAN] = { MAROWAK_MISC_INFO, - .types = { TYPE_FIRE, TYPE_GHOST }, + .types = MON_TYPES(TYPE_FIRE, TYPE_GHOST), .abilities = { ABILITY_CURSED_BODY, ABILITY_LIGHTNING_ROD, ABILITY_ROCK_HEAD }, .bodyColor = BODY_COLOR_PURPLE, .weight = 340, @@ -8216,7 +8216,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 35, .baseSpAttack = 35, .baseSpDefense = 35, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 42 : 91, .evYield_Attack = 1, @@ -8224,7 +8224,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_GUTS, ABILITY_STEADFAST, ABILITY_VITAL_SPIRIT }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Tyrogue"), @@ -8267,7 +8267,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 87, .baseSpAttack = 35, .baseSpDefense = 110, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 159 : 139, .evYield_Attack = 2, @@ -8275,7 +8275,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_LIMBER, ABILITY_RECKLESS, ABILITY_UNBURDEN }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Hitmonlee"), @@ -8314,7 +8314,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 76, .baseSpAttack = 35, .baseSpDefense = 110, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 159 : 140, .evYield_SpDefense = 2, @@ -8322,7 +8322,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_KEEN_EYE, ABILITY_IRON_FIST, ABILITY_INNER_FOCUS }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Hitmonchan"), @@ -8362,7 +8362,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 70, .baseSpAttack = 35, .baseSpDefense = 110, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 159 : 138, .evYield_SpDefense = 2, @@ -8370,7 +8370,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_INTIMIDATE, ABILITY_TECHNICIAN, ABILITY_STEADFAST }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Hitmontop"), @@ -8412,7 +8412,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 30, .baseSpAttack = 60, .baseSpDefense = 75, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 77 : 127, .evYield_HP = 2, @@ -8421,7 +8421,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), .abilities = { ABILITY_OWN_TEMPO, ABILITY_OBLIVIOUS, ABILITY_CLOUD_NINE }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Lickitung"), @@ -8462,7 +8462,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 50, .baseSpAttack = 80, .baseSpDefense = 95, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 30, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 180 : 193, .evYield_HP = 3, @@ -8471,7 +8471,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), .abilities = { ABILITY_OWN_TEMPO, ABILITY_OBLIVIOUS, ABILITY_CLOUD_NINE }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Lickilicky"), @@ -8513,7 +8513,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 35, .baseSpAttack = 60, .baseSpDefense = 45, - .types = { TYPE_POISON, TYPE_POISON }, + .types = MON_TYPES(TYPE_POISON), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 68 : 114, .evYield_Defense = 1, @@ -8522,7 +8522,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), #if P_UPDATED_ABILITIES >= GEN_8 .abilities = { ABILITY_LEVITATE, ABILITY_NEUTRALIZING_GAS, ABILITY_STENCH }, #else @@ -8574,7 +8574,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), \ .noFlip = TRUE, \ .speciesName = _("Weezing"), \ .cryId = CRY_WEEZING, \ @@ -8586,7 +8586,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = [SPECIES_WEEZING] = { WEEZING_MISC_INFO, - .types = { TYPE_POISON, TYPE_POISON }, + .types = MON_TYPES(TYPE_POISON), .itemRare = ITEM_SMOKE_BALL, #if P_UPDATED_ABILITIES >= GEN_8 .abilities = { ABILITY_LEVITATE, ABILITY_NEUTRALIZING_GAS, ABILITY_STENCH }, @@ -8622,7 +8622,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = [SPECIES_WEEZING_GALARIAN] = { WEEZING_MISC_INFO, - .types = { TYPE_POISON, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_POISON, TYPE_FAIRY), .itemRare = ITEM_MISTY_SEED, .abilities = { ABILITY_LEVITATE, ABILITY_NEUTRALIZING_GAS, ABILITY_MISTY_SURGE }, .bodyColor = BODY_COLOR_GRAY, @@ -8662,7 +8662,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 25, .baseSpAttack = 30, .baseSpDefense = 30, - .types = { TYPE_GROUND, TYPE_ROCK }, + .types = MON_TYPES(TYPE_GROUND, TYPE_ROCK), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 69 : 135, .evYield_Defense = 1, @@ -8670,7 +8670,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_FIELD), .abilities = { ABILITY_LIGHTNING_ROD, ABILITY_ROCK_HEAD, ABILITY_RECKLESS }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Rhyhorn"), @@ -8712,7 +8712,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 40, .baseSpAttack = 45, .baseSpDefense = 45, - .types = { TYPE_GROUND, TYPE_ROCK }, + .types = MON_TYPES(TYPE_GROUND, TYPE_ROCK), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 170 : 204, .evYield_Attack = 2, @@ -8720,7 +8720,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_FIELD), .abilities = { ABILITY_LIGHTNING_ROD, ABILITY_ROCK_HEAD, ABILITY_RECKLESS }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Rhydon"), @@ -8764,7 +8764,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 40, .baseSpAttack = 55, .baseSpDefense = 55, - .types = { TYPE_GROUND, TYPE_ROCK }, + .types = MON_TYPES(TYPE_GROUND, TYPE_ROCK), .catchRate = 30, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 268, @@ -8778,7 +8778,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_FIELD), .abilities = { ABILITY_LIGHTNING_ROD, ABILITY_SOLID_ROCK, ABILITY_RECKLESS }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Rhyperior"), @@ -8823,7 +8823,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 30, .baseSpAttack = 15, .baseSpDefense = 65, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 130, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 110 : 255, .evYield_HP = 1, @@ -8832,7 +8832,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 40, .friendship = 140, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_NATURAL_CURE, ABILITY_SERENE_GRACE, ABILITY_FRIEND_GUARD }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Happiny"), @@ -8874,7 +8874,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 50, .baseSpAttack = 35, .baseSpDefense = 105, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 30, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 395 : 255, .evYield_HP = 2, @@ -8883,7 +8883,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 40, .friendship = 140, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .abilities = { ABILITY_NATURAL_CURE, ABILITY_SERENE_GRACE, ABILITY_HEALER }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Chansey"), @@ -8924,7 +8924,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 55, .baseSpAttack = 75, .baseSpDefense = 135, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 30, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 608 : 255, .evYield_HP = (P_UPDATED_EVS >= GEN_4) ? 3 : 2, @@ -8933,7 +8933,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 40, .friendship = 140, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .abilities = { ABILITY_NATURAL_CURE, ABILITY_SERENE_GRACE, ABILITY_HEALER }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Blissey"), @@ -8975,7 +8975,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 60, .baseSpAttack = 100, .baseSpDefense = 40, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 87 : 166, .evYield_Defense = 1, @@ -8983,7 +8983,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_LEAF_GUARD, ABILITY_REGENERATOR }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Tangela"), @@ -9024,7 +9024,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 50, .baseSpAttack = 110, .baseSpDefense = 50, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 30, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 187 : 211, .evYield_Defense = 2, @@ -9032,7 +9032,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_LEAF_GUARD, ABILITY_REGENERATOR }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Tangrowth"), @@ -9068,14 +9068,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #if P_FAMILY_KANGASKHAN #define KANGASKHAN_MISC_INFO \ - .types = { TYPE_NORMAL, TYPE_NORMAL }, \ + .types = MON_TYPES(TYPE_NORMAL), \ .catchRate = 45, \ .evYield_HP = 2, \ .genderRatio = MON_FEMALE, \ .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), \ .bodyColor = BODY_COLOR_BROWN, \ .speciesName = _("Kangaskhan"), \ .natDexNum = NATIONAL_DEX_KANGASKHAN, \ @@ -9161,7 +9161,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 60, .baseSpAttack = 70, .baseSpDefense = 25, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 225, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 59 : 83, .evYield_SpAttack = 1, @@ -9170,7 +9170,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_DRAGON), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_SNIPER, ABILITY_DAMP }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Horsea"), @@ -9210,7 +9210,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 85, .baseSpAttack = 95, .baseSpDefense = 45, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 154 : 155, .evYield_Defense = 1, @@ -9220,7 +9220,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_DRAGON), .abilities = { ABILITY_POISON_POINT, ABILITY_SNIPER, ABILITY_DAMP }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Seadra"), @@ -9262,7 +9262,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 85, .baseSpAttack = 95, .baseSpDefense = 95, - .types = { TYPE_WATER, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_WATER, TYPE_DRAGON), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 270, @@ -9279,7 +9279,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_DRAGON), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_SNIPER, ABILITY_DAMP }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Kingdra"), @@ -9321,7 +9321,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 63, .baseSpAttack = 35, .baseSpDefense = 50, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 225, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 64 : 111, .evYield_Attack = 1, @@ -9330,7 +9330,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_WATER_VEIL, ABILITY_LIGHTNING_ROD }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Goldeen"), @@ -9372,7 +9372,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 68, .baseSpAttack = 65, .baseSpDefense = 80, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 158 : 170, .evYield_Attack = 2, @@ -9381,7 +9381,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_WATER_VEIL, ABILITY_LIGHTNING_ROD }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Seaking"), @@ -9424,7 +9424,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 85, .baseSpAttack = 70, .baseSpDefense = 55, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 225, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 68 : 106, .evYield_Speed = 1, @@ -9434,7 +9434,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_ILLUMINATE, ABILITY_NATURAL_CURE, ABILITY_ANALYTIC }, .bodyColor = BODY_COLOR_BROWN, .noFlip = TRUE, @@ -9475,7 +9475,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 115, .baseSpAttack = 100, .baseSpDefense = 85, - .types = { TYPE_WATER, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_WATER, TYPE_PSYCHIC), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 182 : 207, .evYield_Speed = 2, @@ -9485,7 +9485,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_ILLUMINATE, ABILITY_NATURAL_CURE, ABILITY_ANALYTIC }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Starmie"), @@ -9528,9 +9528,9 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpAttack = 70, .baseSpDefense = 90, #if P_UPDATED_TYPES >= GEN_6 - .types = { TYPE_PSYCHIC, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_FAIRY), #else - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), #endif .catchRate = 145, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 62 : 78, @@ -9539,7 +9539,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_SOUNDPROOF, ABILITY_FILTER, ABILITY_TECHNICIAN }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Mime Jr."), @@ -9580,7 +9580,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE },\ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), \ .speciesName = _("Mr. Mime"), \ .cryId = CRY_MR_MIME, \ .natDexNum = NATIONAL_DEX_MR_MIME, \ @@ -9597,9 +9597,9 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpAttack = 100, .baseSpDefense = 120, #if P_UPDATED_TYPES >= GEN_6 - .types = { TYPE_PSYCHIC, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_FAIRY), #else - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), #endif .evYield_SpDefense = 2, .abilities = { ABILITY_SOUNDPROOF, ABILITY_FILTER, ABILITY_TECHNICIAN }, @@ -9638,7 +9638,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 100, .baseSpAttack = 90, .baseSpDefense = 90, - .types = { TYPE_ICE, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_ICE, TYPE_PSYCHIC), .evYield_Speed = 2, .abilities = { ABILITY_VITAL_SPIRIT, ABILITY_SCREEN_CLEANER, ABILITY_ICE_BODY }, .bodyColor = BODY_COLOR_WHITE, @@ -9676,7 +9676,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 70, .baseSpAttack = 110, .baseSpDefense = 100, - .types = { TYPE_ICE, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_ICE, TYPE_PSYCHIC), .catchRate = 45, .expYield = 182, .evYield_SpAttack = 3, @@ -9684,7 +9684,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_TANGLED_FEET, ABILITY_SCREEN_CLEANER, ABILITY_ICE_BODY }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Mr. Rime"), @@ -9725,7 +9725,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 105, .baseSpAttack = 55, .baseSpDefense = 80, - .types = { TYPE_BUG, TYPE_FLYING }, + .types = MON_TYPES(TYPE_BUG, TYPE_FLYING), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 100 : 187, .evYield_Attack = 1, @@ -9733,7 +9733,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_TECHNICIAN, ABILITY_STEADFAST }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Scyther"), @@ -9771,14 +9771,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #if P_GEN_2_CROSS_EVOS #define SCIZOR_MISC_INFO \ - .types = { TYPE_BUG, TYPE_STEEL }, \ + .types = MON_TYPES(TYPE_BUG, TYPE_STEEL), \ .catchRate = 25, \ .evYield_Attack = 2, \ .genderRatio = PERCENT_FEMALE(50), \ .eggCycles = 25, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), \ .bodyColor = BODY_COLOR_RED, \ .speciesName = _("Scizor"), \ .natDexNum = NATIONAL_DEX_SCIZOR, \ @@ -9871,7 +9871,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 85, .baseSpAttack = 45, .baseSpDefense = 70, - .types = { TYPE_BUG, TYPE_ROCK }, + .types = MON_TYPES(TYPE_BUG, TYPE_ROCK), .catchRate = 15, .expYield = 175, .evYield_Attack = 3, @@ -9879,7 +9879,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_SHEER_FORCE, ABILITY_SHARPNESS }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Kleavor"), @@ -9922,7 +9922,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 65, .baseSpAttack = 85, .baseSpDefense = 65, - .types = { TYPE_ICE, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_ICE, TYPE_PSYCHIC), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 61 : 87, .evYield_SpAttack = 1, @@ -9930,7 +9930,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_OBLIVIOUS, ABILITY_FOREWARN, ABILITY_HYDRATION }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Smoochum"), @@ -9972,7 +9972,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 95, .baseSpAttack = 115, .baseSpDefense = 95, - .types = { TYPE_ICE, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_ICE, TYPE_PSYCHIC), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 159 : 137, .evYield_SpAttack = 2, @@ -9980,7 +9980,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_OBLIVIOUS, ABILITY_FOREWARN, ABILITY_DRY_SKIN }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Jynx"), @@ -10022,7 +10022,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 95, .baseSpAttack = 65, .baseSpDefense = 55, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 72 : 106, .evYield_Speed = 1, @@ -10031,7 +10031,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_STATIC, ABILITY_NONE, ABILITY_VITAL_SPIRIT }, .bodyColor = BODY_COLOR_YELLOW, .noFlip = TRUE, @@ -10073,7 +10073,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 105, .baseSpAttack = 95, .baseSpDefense = 85, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 172 : 156, .evYield_Speed = 2, @@ -10082,7 +10082,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_STATIC, ABILITY_NONE, ABILITY_VITAL_SPIRIT }, .bodyColor = BODY_COLOR_YELLOW, .noFlip = TRUE, @@ -10125,7 +10125,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 95, .baseSpAttack = 95, .baseSpDefense = 85, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 30, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 270, @@ -10140,7 +10140,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_MOTOR_DRIVE, ABILITY_NONE, ABILITY_VITAL_SPIRIT }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Electivire"), @@ -10183,7 +10183,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 83, .baseSpAttack = 70, .baseSpDefense = 55, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 73 : 117, .evYield_Speed = 1, @@ -10192,7 +10192,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_FLAME_BODY, ABILITY_NONE, ABILITY_VITAL_SPIRIT }, .bodyColor = BODY_COLOR_RED, .noFlip = TRUE, @@ -10234,7 +10234,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 93, .baseSpAttack = 100, .baseSpDefense = 85, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 173 : 167, .evYield_SpAttack = 2, @@ -10243,7 +10243,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_FLAME_BODY, ABILITY_NONE, ABILITY_VITAL_SPIRIT }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Magmar"), @@ -10285,7 +10285,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 83, .baseSpAttack = 125, .baseSpDefense = 95, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 30, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 270, @@ -10300,7 +10300,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_FLAME_BODY, ABILITY_NONE, ABILITY_VITAL_SPIRIT }, .bodyColor = BODY_COLOR_RED, .noFlip = TRUE, @@ -10342,7 +10342,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 25, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), \ .bodyColor = BODY_COLOR_BROWN, \ .speciesName = _("Pinsir"), \ .natDexNum = NATIONAL_DEX_PINSIR, \ @@ -10361,7 +10361,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 85, .baseSpAttack = 55, .baseSpDefense = 70, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 175 : 200, .abilities = { ABILITY_HYPER_CUTTER, ABILITY_MOLD_BREAKER, ABILITY_MOXIE }, .cryId = CRY_PINSIR, @@ -10397,7 +10397,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 105, .baseSpAttack = 65, .baseSpDefense = 90, - .types = { TYPE_BUG, TYPE_FLYING }, + .types = MON_TYPES(TYPE_BUG, TYPE_FLYING), .expYield = 210, .abilities = { ABILITY_AERILATE, ABILITY_AERILATE, ABILITY_AERILATE }, .cryId = CRY_PINSIR_MEGA, @@ -10435,7 +10435,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .speciesName = _("Tauros"), \ .cryId = CRY_TAUROS, \ .natDexNum = NATIONAL_DEX_TAUROS, \ @@ -10457,7 +10457,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 110, .baseSpAttack = 40, .baseSpDefense = 70, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .evYield_Attack = 1, .evYield_Speed = 1, .abilities = { ABILITY_INTIMIDATE, ABILITY_ANGER_POINT, ABILITY_SHEER_FORCE }, @@ -10501,7 +10501,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = { TAUROS_MISC_INFO, TAUROS_PALDEAN_MISC_INFO, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .weight = 1150, .description = COMPOUND_STRING( "This Pokémon has a muscular body\n" @@ -10521,7 +10521,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = { TAUROS_MISC_INFO, TAUROS_PALDEAN_MISC_INFO, - .types = { TYPE_FIGHTING, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIGHTING, TYPE_FIRE), .weight = 850, .description = COMPOUND_STRING( "When heated by fire energy, its horns can\n" @@ -10541,7 +10541,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = { TAUROS_MISC_INFO, TAUROS_PALDEAN_MISC_INFO, - .types = { TYPE_FIGHTING, TYPE_WATER }, + .types = MON_TYPES(TYPE_FIGHTING, TYPE_WATER), .weight = 1100, .description = COMPOUND_STRING( "This Pokémon blasts water from holes on\n" @@ -10568,7 +10568,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 80, .baseSpAttack = 15, .baseSpDefense = 20, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 40 : 20, .evYield_Speed = 1, @@ -10576,7 +10576,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 5, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2, EGG_GROUP_DRAGON), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_NONE, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Magikarp"), @@ -10611,26 +10611,26 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_GYARADOS}), }, -#define GYARADOS_MISC_INFO \ - .catchRate = 45, \ - .evYield_Attack = 2, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 5, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_DRAGON },\ - .bodyColor = BODY_COLOR_BLUE, \ - .speciesName = _("Gyarados"), \ - .natDexNum = NATIONAL_DEX_GYARADOS, \ - .categoryName = _("Atrocious"), \ - .height = 65, \ - .pokemonScale = 256, \ - .pokemonOffset = 6, \ - .trainerScale = 481, \ - .trainerOffset = 13, \ - FOOTPRINT(Gyarados) \ - LEARNSETS(Gyarados), \ - .formSpeciesIdTable = sGyaradosFormSpeciesIdTable, \ +#define GYARADOS_MISC_INFO \ + .catchRate = 45, \ + .evYield_Attack = 2, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 5, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2, EGG_GROUP_DRAGON),\ + .bodyColor = BODY_COLOR_BLUE, \ + .speciesName = _("Gyarados"), \ + .natDexNum = NATIONAL_DEX_GYARADOS, \ + .categoryName = _("Atrocious"), \ + .height = 65, \ + .pokemonScale = 256, \ + .pokemonOffset = 6, \ + .trainerScale = 481, \ + .trainerOffset = 13, \ + FOOTPRINT(Gyarados) \ + LEARNSETS(Gyarados), \ + .formSpeciesIdTable = sGyaradosFormSpeciesIdTable, \ .formChangeTable = sGyaradosFormChangeTable [SPECIES_GYARADOS] = @@ -10642,7 +10642,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 81, .baseSpAttack = 60, .baseSpDefense = 100, - .types = { TYPE_WATER, TYPE_FLYING }, + .types = MON_TYPES(TYPE_WATER, TYPE_FLYING), .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 189 : 214, .abilities = { ABILITY_INTIMIDATE, ABILITY_NONE, ABILITY_MOXIE }, .cryId = CRY_GYARADOS, @@ -10675,7 +10675,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 81, .baseSpAttack = 70, .baseSpDefense = 130, - .types = { TYPE_WATER, TYPE_DARK }, + .types = MON_TYPES(TYPE_WATER, TYPE_DARK), .expYield = 224, .abilities = { ABILITY_MOLD_BREAKER, ABILITY_MOLD_BREAKER, ABILITY_MOLD_BREAKER }, .cryId = CRY_GYARADOS_MEGA, @@ -10708,7 +10708,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 60, \ .baseSpAttack = 85, \ .baseSpDefense = 95, \ - .types = { TYPE_WATER, TYPE_ICE }, \ + .types = MON_TYPES(TYPE_WATER, TYPE_ICE), \ .catchRate = 45, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 187 : 219, \ .evYield_HP = 2, \ @@ -10718,7 +10718,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 40, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_WATER_1), \ .abilities = { ABILITY_WATER_ABSORB, ABILITY_SHELL_ARMOR, ABILITY_HYDRATION }, \ .bodyColor = BODY_COLOR_BLUE, \ .speciesName = _("Lapras"), \ @@ -10793,7 +10793,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 48, .baseSpAttack = 48, .baseSpDefense = 48, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 35, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 101 : 61, .evYield_HP = 1, @@ -10803,7 +10803,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_DITTO, EGG_GROUP_DITTO }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DITTO), .abilities = { ABILITY_LIMBER, ABILITY_NONE, ABILITY_IMPOSTER }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Ditto"), @@ -10844,7 +10844,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 55, \ .baseSpAttack = 45, \ .baseSpDefense = 65, \ - .types = { TYPE_NORMAL, TYPE_NORMAL }, \ + .types = MON_TYPES(TYPE_NORMAL), \ .catchRate = 45, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 65 : 92, \ .evYield_SpDefense = 1, \ @@ -10852,7 +10852,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 35, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .abilities = { ABILITY_RUN_AWAY, ABILITY_ADAPTABILITY, ABILITY_ANTICIPATION }, \ .bodyColor = BODY_COLOR_BROWN, \ .speciesName = _("Eevee"), \ @@ -10937,7 +10937,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 65, .baseSpAttack = 110, .baseSpDefense = 95, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 184 : 196, .evYield_HP = 2, @@ -10945,7 +10945,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 35, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_WATER_ABSORB, ABILITY_WATER_ABSORB, ABILITY_HYDRATION }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Vaporeon"), @@ -10984,7 +10984,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 130, .baseSpAttack = 110, .baseSpDefense = 95, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 184 : 197, .evYield_Speed = 2, @@ -10992,7 +10992,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 35, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_VOLT_ABSORB, ABILITY_VOLT_ABSORB, ABILITY_QUICK_FEET }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Jolteon"), @@ -11031,7 +11031,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 65, .baseSpAttack = 95, .baseSpDefense = 110, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 184 : 198, .evYield_Attack = 2, @@ -11039,7 +11039,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 35, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_FLASH_FIRE, ABILITY_FLASH_FIRE, ABILITY_GUTS }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Flareon"), @@ -11079,7 +11079,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 110, .baseSpAttack = 130, .baseSpDefense = 95, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 184 : 197, .evYield_SpAttack = 2, @@ -11087,7 +11087,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 35, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SYNCHRONIZE, ABILITY_SYNCHRONIZE, ABILITY_MAGIC_BOUNCE }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Espeon"), @@ -11126,7 +11126,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 65, .baseSpAttack = 60, .baseSpDefense = 130, - .types = { TYPE_DARK, TYPE_DARK }, + .types = MON_TYPES(TYPE_DARK), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 184 : 197, .evYield_SpDefense = 2, @@ -11134,7 +11134,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 35, .friendship = 35, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SYNCHRONIZE, ABILITY_SYNCHRONIZE, ABILITY_INNER_FOCUS }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Umbreon"), @@ -11175,7 +11175,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 95, .baseSpAttack = 60, .baseSpDefense = 65, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 184 : 196, .evYield_Defense = 2, @@ -11183,7 +11183,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 35, .friendship = 35, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_LEAF_GUARD, ABILITY_LEAF_GUARD, ABILITY_CHLOROPHYLL }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Leafeon"), @@ -11222,7 +11222,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 65, .baseSpAttack = 130, .baseSpDefense = 95, - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 184 : 196, .evYield_SpAttack = 2, @@ -11230,7 +11230,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 35, .friendship = 35, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SNOW_CLOAK, ABILITY_SNOW_CLOAK, ABILITY_ICE_BODY }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Glaceon"), @@ -11271,7 +11271,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 60, .baseSpAttack = 110, .baseSpDefense = 130, - .types = { TYPE_FAIRY, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_FAIRY), .catchRate = 45, .expYield = 184, .evYield_SpDefense = 2, @@ -11279,7 +11279,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 35, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_CUTE_CHARM, ABILITY_CUTE_CHARM, ABILITY_PIXILATE }, .bodyColor = BODY_COLOR_PINK, .noFlip = TRUE, @@ -11322,7 +11322,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 40, .baseSpAttack = 85, .baseSpDefense = 75, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 79 : 130, .evYield_SpAttack = 1, @@ -11330,7 +11330,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_TRACE, ABILITY_DOWNLOAD, ABILITY_ANALYTIC }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Porygon"), @@ -11372,7 +11372,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 60, .baseSpAttack = 105, .baseSpDefense = 95, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 45, .expYield = 180, .evYield_SpAttack = 2, @@ -11380,7 +11380,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_TRACE, ABILITY_DOWNLOAD, ABILITY_ANALYTIC }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Porygon2"), @@ -11423,7 +11423,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 90, .baseSpAttack = 135, .baseSpDefense = 75, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 30, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 268, @@ -11437,7 +11437,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_ADAPTABILITY, ABILITY_DOWNLOAD, ABILITY_ANALYTIC }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Porygon-Z"), @@ -11481,7 +11481,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 35, .baseSpAttack = 90, .baseSpDefense = 55, - .types = { TYPE_ROCK, TYPE_WATER }, + .types = MON_TYPES(TYPE_ROCK, TYPE_WATER), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_5 .expYield = 71, @@ -11495,7 +11495,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_3), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_SHELL_ARMOR, ABILITY_WEAK_ARMOR }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Omanyte"), @@ -11535,7 +11535,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 55, .baseSpAttack = 115, .baseSpDefense = 70, - .types = { TYPE_ROCK, TYPE_WATER }, + .types = MON_TYPES(TYPE_ROCK, TYPE_WATER), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 173 : 199, .evYield_Defense = 2, @@ -11543,7 +11543,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_3), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_SHELL_ARMOR, ABILITY_WEAK_ARMOR }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Omastar"), @@ -11584,7 +11584,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 55, .baseSpAttack = 55, .baseSpDefense = 45, - .types = { TYPE_ROCK, TYPE_WATER }, + .types = MON_TYPES(TYPE_ROCK, TYPE_WATER), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_5 .expYield = 71, @@ -11598,7 +11598,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_3), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_BATTLE_ARMOR, ABILITY_WEAK_ARMOR }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Kabuto"), @@ -11638,7 +11638,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 80, .baseSpAttack = 65, .baseSpDefense = 70, - .types = { TYPE_ROCK, TYPE_WATER }, + .types = MON_TYPES(TYPE_ROCK, TYPE_WATER), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_5 .expYield = 173, @@ -11652,7 +11652,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_3), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_BATTLE_ARMOR, ABILITY_WEAK_ARMOR }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Kabutops"), @@ -11686,14 +11686,14 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = #if P_FAMILY_AERODACTYL #define AERODACTYL_MISC_INFO \ - .types = { TYPE_ROCK, TYPE_FLYING }, \ + .types = MON_TYPES(TYPE_ROCK, TYPE_FLYING), \ .catchRate = 45, \ .evYield_Speed = 2, \ .genderRatio = PERCENT_FEMALE(12.5), \ .eggCycles = 35, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING },\ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), \ .bodyColor = BODY_COLOR_PURPLE, \ .speciesName = _("Aerodactyl"), \ .natDexNum = NATIONAL_DEX_AERODACTYL, \ @@ -11786,7 +11786,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 5, .baseSpAttack = 40, .baseSpDefense = 85, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 50, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 78 : 94, .evYield_HP = 1, @@ -11796,7 +11796,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PICKUP, ABILITY_THICK_FAT, ABILITY_GLUTTONY }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Munchlax"), @@ -11836,7 +11836,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 30, \ .baseSpAttack = 65, \ .baseSpDefense = 110, \ - .types = { TYPE_NORMAL, TYPE_NORMAL }, \ + .types = MON_TYPES(TYPE_NORMAL), \ .catchRate = 25, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 189 : 154, \ .evYield_HP = 2, \ @@ -11846,7 +11846,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 40, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), \ .abilities = { ABILITY_IMMUNITY, ABILITY_THICK_FAT, ABILITY_GLUTTONY }, \ .bodyColor = BODY_COLOR_BLACK, \ .speciesName = _("Snorlax"), \ @@ -11918,7 +11918,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .genderRatio = MON_GENDERLESS, \ .friendship = 35, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED },\ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .speciesName = _("Articuno"), \ .cryId = CRY_ARTICUNO, \ .natDexNum = NATIONAL_DEX_ARTICUNO, \ @@ -11940,7 +11940,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 85, .baseSpAttack = 95, .baseSpDefense = 125, - .types = { TYPE_ICE, TYPE_FLYING }, + .types = MON_TYPES(TYPE_ICE, TYPE_FLYING), #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 290, #elif P_UPDATED_EXP_YIELDS >= GEN_5 @@ -11981,7 +11981,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 95, .baseSpAttack = 125, .baseSpDefense = 100, - .types = { TYPE_PSYCHIC, TYPE_FLYING }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_FLYING), .expYield = 290, .evYield_SpAttack = 3, .eggCycles = 120, @@ -12016,7 +12016,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .genderRatio = MON_GENDERLESS, \ .friendship = 35, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED },\ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .bodyColor = BODY_COLOR_YELLOW, \ .speciesName = _("Zapdos"), \ .cryId = CRY_ZAPDOS, \ @@ -12039,7 +12039,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 100, .baseSpAttack = 125, .baseSpDefense = 90, - .types = { TYPE_ELECTRIC, TYPE_FLYING }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_FLYING), #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 290, #elif P_UPDATED_EXP_YIELDS >= GEN_5 @@ -12084,7 +12084,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 100, .baseSpAttack = 85, .baseSpDefense = 90, - .types = { TYPE_FIGHTING, TYPE_FLYING }, + .types = MON_TYPES(TYPE_FIGHTING, TYPE_FLYING), .expYield = 290, .evYield_Attack = 3, .eggCycles = 120, @@ -12117,7 +12117,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .genderRatio = MON_GENDERLESS, \ .friendship = 35, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED },\ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .speciesName = _("Moltres"), \ .cryId = CRY_MOLTRES, \ .natDexNum = NATIONAL_DEX_MOLTRES, \ @@ -12139,7 +12139,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 90, .baseSpAttack = 125, .baseSpDefense = 85, - .types = { TYPE_FIRE, TYPE_FLYING }, + .types = MON_TYPES(TYPE_FIRE, TYPE_FLYING), #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 290, #elif P_UPDATED_EXP_YIELDS >= GEN_5 @@ -12180,7 +12180,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 90, .baseSpAttack = 100, .baseSpDefense = 125, - .types = { TYPE_DARK, TYPE_FLYING }, + .types = MON_TYPES(TYPE_DARK, TYPE_FLYING), .expYield = 290, .evYield_SpDefense = 3, .eggCycles = 120, @@ -12217,7 +12217,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 50, .baseSpAttack = 50, .baseSpDefense = 50, - .types = { TYPE_DRAGON, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_DRAGON), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 60 : 67, .evYield_Attack = 1, @@ -12226,7 +12226,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_DRAGON), .abilities = { ABILITY_SHED_SKIN, ABILITY_NONE, ABILITY_MARVEL_SCALE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Dratini"), @@ -12266,7 +12266,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 70, .baseSpAttack = 70, .baseSpDefense = 70, - .types = { TYPE_DRAGON, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_DRAGON), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 147 : 144, .evYield_Attack = 2, @@ -12275,7 +12275,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_DRAGON), .abilities = { ABILITY_SHED_SKIN, ABILITY_NONE, ABILITY_MARVEL_SCALE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Dragonair"), @@ -12315,7 +12315,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 80, .baseSpAttack = 100, .baseSpDefense = 100, - .types = { TYPE_DRAGON, TYPE_FLYING }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_FLYING), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 300, @@ -12330,7 +12330,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_DRAGON), .abilities = { ABILITY_INNER_FOCUS, ABILITY_NONE, ABILITY_MULTISCALE }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Dragonite"), @@ -12370,7 +12370,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED },\ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .bodyColor = BODY_COLOR_PURPLE, \ .speciesName = _("Mewtwo"), \ .natDexNum = NATIONAL_DEX_MEWTWO, \ @@ -12390,7 +12390,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 130, .baseSpAttack = 154, .baseSpDefense = 90, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 340, #elif P_UPDATED_EXP_YIELDS >= GEN_5 @@ -12432,7 +12432,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 130, .baseSpAttack = 154, .baseSpDefense = 100, - .types = { TYPE_PSYCHIC, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_FIGHTING), .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 390 : 351, .abilities = { ABILITY_STEADFAST, ABILITY_STEADFAST, ABILITY_STEADFAST }, .isMegaEvolution = TRUE, @@ -12468,7 +12468,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 140, .baseSpAttack = 194, .baseSpDefense = 120, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 390 : 351, .abilities = { ABILITY_INSOMNIA, ABILITY_INSOMNIA, ABILITY_INSOMNIA }, .isMegaEvolution = TRUE, @@ -12507,7 +12507,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .baseSpeed = 100, .baseSpAttack = 100, .baseSpDefense = 100, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 300, @@ -12523,7 +12523,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .eggCycles = 120, .friendship = 100, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_SYNCHRONIZE, ABILITY_NONE }, .bodyColor = BODY_COLOR_PINK, .isMythical = TRUE, diff --git a/src/data/pokemon/species_info/gen_2.h b/src/data/pokemon/species_info/gen_2.h index 334d8be7a5..f59da2e528 100644 --- a/src/data/pokemon/species_info/gen_2.h +++ b/src/data/pokemon/species_info/gen_2.h @@ -12,7 +12,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 45, .baseSpAttack = 49, .baseSpDefense = 65, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = 64, .evYield_SpDefense = 1, @@ -20,7 +20,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_LEAF_GUARD }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Chikorita"), @@ -60,7 +60,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 60, .baseSpAttack = 63, .baseSpDefense = 80, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 142 : 141, .evYield_Defense = 1, @@ -69,7 +69,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_LEAF_GUARD }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Bayleef"), @@ -109,7 +109,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 80, .baseSpAttack = 83, .baseSpDefense = 100, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 263, @@ -124,7 +124,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_LEAF_GUARD }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Meganium"), @@ -167,7 +167,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 65, .baseSpAttack = 60, .baseSpDefense = 50, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 62 : 65, .evYield_Speed = 1, @@ -175,7 +175,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_FLASH_FIRE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Cyndaquil"), @@ -215,7 +215,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 80, .baseSpAttack = 80, .baseSpDefense = 65, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = 142, .evYield_Speed = 1, @@ -224,7 +224,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_FLASH_FIRE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Quilava"), @@ -273,7 +273,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .bodyColor = BODY_COLOR_YELLOW, \ .speciesName = _("Typhlosion"), \ .cryId = CRY_TYPHLOSION, \ @@ -290,7 +290,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 100, .baseSpAttack = 109, .baseSpDefense = 85, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_FLASH_FIRE }, .categoryName = _("Volcano"), .height = 17, @@ -327,7 +327,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 95, .baseSpAttack = 119, .baseSpDefense = 85, - .types = { TYPE_FIRE, TYPE_GHOST }, + .types = MON_TYPES(TYPE_FIRE, TYPE_GHOST), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_FRISK }, .categoryName = _("Ghost Flame"), .height = 16, @@ -365,7 +365,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 43, .baseSpAttack = 44, .baseSpDefense = 48, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 63 : 66, .evYield_Attack = 1, @@ -373,7 +373,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_WATER_1), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Totodile"), @@ -413,7 +413,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 58, .baseSpAttack = 59, .baseSpDefense = 63, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 142 : 143, .evYield_Attack = 1, @@ -422,7 +422,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_WATER_1), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_BLUE, .noFlip = TRUE, @@ -463,7 +463,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 78, .baseSpAttack = 79, .baseSpDefense = 83, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 265, @@ -478,7 +478,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_WATER_1), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Feraligatr"), @@ -520,7 +520,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 20, .baseSpAttack = 35, .baseSpDefense = 45, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 43 : 57, .evYield_Attack = 1, @@ -528,7 +528,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_RUN_AWAY, ABILITY_KEEN_EYE, ABILITY_FRISK }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Sentret"), @@ -568,7 +568,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 90, .baseSpAttack = 45, .baseSpDefense = 55, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 90, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 145 : 116, .evYield_Speed = 2, @@ -576,7 +576,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_RUN_AWAY, ABILITY_KEEN_EYE, ABILITY_FRISK }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Furret"), @@ -617,7 +617,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 50, .baseSpAttack = 36, .baseSpDefense = 56, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 52 : 58, .evYield_HP = 1, @@ -625,7 +625,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_INSOMNIA, ABILITY_KEEN_EYE, ABILITY_TINTED_LENS }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Hoothoot"), @@ -665,7 +665,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 70, .baseSpAttack = P_UPDATED_STATS >= GEN_7 ? 86 : 76, .baseSpDefense = 96, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 90, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 158, @@ -679,7 +679,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_INSOMNIA, ABILITY_KEEN_EYE, ABILITY_TINTED_LENS }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Noctowl"), @@ -720,7 +720,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 55, .baseSpAttack = 40, .baseSpDefense = 80, - .types = { TYPE_BUG, TYPE_FLYING }, + .types = MON_TYPES(TYPE_BUG, TYPE_FLYING), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 53 : 54, .evYield_SpDefense = 1, @@ -728,7 +728,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_EARLY_BIRD, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Ledyba"), @@ -770,7 +770,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 85, .baseSpAttack = 55, .baseSpDefense = 110, - .types = { TYPE_BUG, TYPE_FLYING }, + .types = MON_TYPES(TYPE_BUG, TYPE_FLYING), .catchRate = 90, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 137 : 134, .evYield_SpDefense = 2, @@ -778,7 +778,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_EARLY_BIRD, ABILITY_IRON_FIST }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Ledian"), @@ -822,7 +822,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 30, .baseSpAttack = 40, .baseSpDefense = 40, - .types = { TYPE_BUG, TYPE_POISON }, + .types = MON_TYPES(TYPE_BUG, TYPE_POISON), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 50 : 54, .evYield_Attack = 1, @@ -830,7 +830,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_INSOMNIA, ABILITY_SNIPER }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Spinarak"), @@ -870,7 +870,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 40, .baseSpAttack = 60, .baseSpDefense = P_UPDATED_STATS >= GEN_7 ? 70 : 60, - .types = { TYPE_BUG, TYPE_POISON }, + .types = MON_TYPES(TYPE_BUG, TYPE_POISON), .catchRate = 90, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 140, @@ -884,7 +884,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_INSOMNIA, ABILITY_SNIPER }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Ariados"), @@ -925,7 +925,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 67, .baseSpAttack = 56, .baseSpDefense = 56, - .types = { TYPE_WATER, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_WATER, TYPE_ELECTRIC), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 66 : 90, .evYield_HP = 1, @@ -934,7 +934,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_VOLT_ABSORB, ABILITY_ILLUMINATE, ABILITY_WATER_ABSORB }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Chinchou"), @@ -974,7 +974,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 67, .baseSpAttack = 76, .baseSpDefense = 76, - .types = { TYPE_WATER, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_WATER, TYPE_ELECTRIC), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 161 : 156, .evYield_HP = 2, @@ -983,7 +983,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_VOLT_ABSORB, ABILITY_ILLUMINATE, ABILITY_WATER_ABSORB }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Lanturn"), @@ -1026,7 +1026,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 20, .baseSpAttack = 40, .baseSpDefense = 65, - .types = { TOGEPI_FAMILY_TYPE, TOGEPI_FAMILY_TYPE }, + .types = MON_TYPES(TOGEPI_FAMILY_TYPE), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 49 : 74, .evYield_SpDefense = 1, @@ -1034,7 +1034,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 10, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_HUSTLE, ABILITY_SERENE_GRACE, ABILITY_SUPER_LUCK }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Togepi"), @@ -1074,7 +1074,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 40, .baseSpAttack = 80, .baseSpDefense = 105, - .types = { TOGEPI_FAMILY_TYPE, TYPE_FLYING }, + .types = MON_TYPES(TOGEPI_FAMILY_TYPE, TYPE_FLYING), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 142 : 114, .evYield_SpDefense = 2, @@ -1082,7 +1082,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 10, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING, EGG_GROUP_FAIRY), .abilities = { ABILITY_HUSTLE, ABILITY_SERENE_GRACE, ABILITY_SUPER_LUCK }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Togetic"), @@ -1124,9 +1124,9 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpAttack = 120, .baseSpDefense = 115, #if P_UPDATED_TYPES >= GEN_6 - .types = { TOGEPI_FAMILY_TYPE, TYPE_FLYING }, + .types = MON_TYPES(TOGEPI_FAMILY_TYPE, TYPE_FLYING), #else - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), #endif .catchRate = 30, #if P_UPDATED_EXP_YIELDS >= GEN_8 @@ -1142,7 +1142,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 10, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING, EGG_GROUP_FAIRY), .abilities = { ABILITY_HUSTLE, ABILITY_SERENE_GRACE, ABILITY_SUPER_LUCK }, .bodyColor = BODY_COLOR_WHITE, .noFlip = TRUE, @@ -1186,7 +1186,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 70, .baseSpAttack = 70, .baseSpDefense = 45, - .types = { TYPE_PSYCHIC, TYPE_FLYING }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_FLYING), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 64 : 73, .evYield_SpAttack = 1, @@ -1194,7 +1194,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_SYNCHRONIZE, ABILITY_EARLY_BIRD, ABILITY_MAGIC_BOUNCE }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Natu"), @@ -1235,7 +1235,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 95, .baseSpAttack = 95, .baseSpDefense = 70, - .types = { TYPE_PSYCHIC, TYPE_FLYING }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_FLYING), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 165 : 171, .evYield_Speed = 1, @@ -1244,7 +1244,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_SYNCHRONIZE, ABILITY_EARLY_BIRD, ABILITY_MAGIC_BOUNCE }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Xatu"), @@ -1286,7 +1286,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 35, .baseSpAttack = 65, .baseSpDefense = 45, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 235, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 56 : 59, .evYield_SpAttack = 1, @@ -1294,7 +1294,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_FIELD), .abilities = { ABILITY_STATIC, ABILITY_NONE, ABILITY_PLUS }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Mareep"), @@ -1335,7 +1335,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 45, .baseSpAttack = 80, .baseSpDefense = 60, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 128 : 117, .evYield_SpAttack = 2, @@ -1343,7 +1343,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_FIELD), .abilities = { ABILITY_STATIC, ABILITY_NONE, ABILITY_PLUS }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Flaaffy"), @@ -1375,27 +1375,27 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .evolutions = EVOLUTION({EVO_LEVEL, 30, SPECIES_AMPHAROS}), }, -#define AMPHAROS_MISC_INFO \ - .catchRate = 45, \ - .evYield_SpAttack = 3, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD },\ - .bodyColor = BODY_COLOR_YELLOW, \ - .speciesName = _("Ampharos"), \ - .natDexNum = NATIONAL_DEX_AMPHAROS, \ - .categoryName = _("Light"), \ - .height = 14, \ - .weight = 615, \ - .pokemonScale = 256, \ - .pokemonOffset = 4, \ - .trainerScale = 256, \ - .trainerOffset = 0, \ - FOOTPRINT(Ampharos) \ - LEARNSETS(Ampharos), \ - .formSpeciesIdTable = sAmpharosFormSpeciesIdTable, \ +#define AMPHAROS_MISC_INFO \ + .catchRate = 45, \ + .evYield_SpAttack = 3, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_FIELD),\ + .bodyColor = BODY_COLOR_YELLOW, \ + .speciesName = _("Ampharos"), \ + .natDexNum = NATIONAL_DEX_AMPHAROS, \ + .categoryName = _("Light"), \ + .height = 14, \ + .weight = 615, \ + .pokemonScale = 256, \ + .pokemonOffset = 4, \ + .trainerScale = 256, \ + .trainerOffset = 0, \ + FOOTPRINT(Ampharos) \ + LEARNSETS(Ampharos), \ + .formSpeciesIdTable = sAmpharosFormSpeciesIdTable, \ .formChangeTable = sAmpharosFormChangeTable #define AMPHAROS_DEFENSE (P_UPDATED_STATS >= GEN_6 ? 85 : 75) @@ -1409,7 +1409,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 55, .baseSpAttack = 115, .baseSpDefense = 90, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 255, #elif P_UPDATED_EXP_YIELDS >= GEN_7 @@ -1448,7 +1448,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 45, .baseSpAttack = 165, .baseSpDefense = 110, - .types = { TYPE_ELECTRIC, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_DRAGON), .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 305 : 275, .abilities = { ABILITY_MOLD_BREAKER, ABILITY_MOLD_BREAKER, ABILITY_MOLD_BREAKER }, .cryId = CRY_AMPHAROS_MEGA, @@ -1482,9 +1482,9 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpAttack = 20, .baseSpDefense = 40, #if P_UPDATED_TYPES >= GEN_6 - .types = { TYPE_NORMAL, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FAIRY), #else - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), #endif .catchRate = 150, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 38 : 33, @@ -1493,7 +1493,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 10, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_THICK_FAT, ABILITY_HUGE_POWER, ABILITY_SAP_SIPPER }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Azurill"), @@ -1535,9 +1535,9 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpAttack = 20, .baseSpDefense = 50, #if P_UPDATED_TYPES >= GEN_6 - .types = { TYPE_WATER, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_WATER, TYPE_FAIRY), #else - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), #endif .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 88 : 58, @@ -1546,7 +1546,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 10, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FAIRY), .abilities = { ABILITY_THICK_FAT, ABILITY_HUGE_POWER, ABILITY_SAP_SIPPER }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Marill"), @@ -1587,9 +1587,9 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpAttack = P_UPDATED_STATS >= GEN_6 ? 60 : 50, .baseSpDefense = 80, #if P_UPDATED_TYPES >= GEN_6 - .types = { TYPE_WATER, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_WATER, TYPE_FAIRY), #else - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), #endif .catchRate = 75, #if P_UPDATED_EXP_YIELDS >= GEN_8 @@ -1606,7 +1606,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 10, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FAIRY), .abilities = { ABILITY_THICK_FAT, ABILITY_HUGE_POWER, ABILITY_SAP_SIPPER }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Azumarill"), @@ -1648,7 +1648,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 10, .baseSpAttack = 10, .baseSpDefense = 45, - .types = { TYPE_ROCK, TYPE_ROCK }, + .types = MON_TYPES(TYPE_ROCK), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 58 : 68, .evYield_Defense = 1, @@ -1656,7 +1656,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_STURDY, ABILITY_ROCK_HEAD, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Bonsly"), @@ -1697,7 +1697,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 30, .baseSpAttack = 30, .baseSpDefense = 65, - .types = { TYPE_ROCK, TYPE_ROCK }, + .types = MON_TYPES(TYPE_ROCK), .catchRate = 65, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 144 : 135, .evYield_Defense = 2, @@ -1705,7 +1705,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_STURDY, ABILITY_ROCK_HEAD, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Sudowoodo"), @@ -1748,7 +1748,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 50, .baseSpAttack = 35, .baseSpDefense = 55, - .types = { TYPE_GRASS, TYPE_FLYING }, + .types = MON_TYPES(TYPE_GRASS, TYPE_FLYING), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 50 : 74, .evYield_SpDefense = 1, @@ -1756,7 +1756,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_LEAF_GUARD, ABILITY_INFILTRATOR }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Hoppip"), @@ -1797,7 +1797,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 80, .baseSpAttack = 45, .baseSpDefense = 65, - .types = { TYPE_GRASS, TYPE_FLYING }, + .types = MON_TYPES(TYPE_GRASS, TYPE_FLYING), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 119 : 136, .evYield_Speed = 2, @@ -1805,7 +1805,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_LEAF_GUARD, ABILITY_INFILTRATOR }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Skiploom"), @@ -1846,7 +1846,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 110, .baseSpAttack = 55, .baseSpDefense = P_UPDATED_STATS >= GEN_6 ? 95 : 85, - .types = { TYPE_GRASS, TYPE_FLYING }, + .types = MON_TYPES(TYPE_GRASS, TYPE_FLYING), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 230, @@ -1862,7 +1862,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_LEAF_GUARD, ABILITY_INFILTRATOR }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Jumpluff"), @@ -1904,7 +1904,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 85, .baseSpAttack = 40, .baseSpDefense = 55, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 72 : 94, .evYield_Speed = 1, @@ -1912,7 +1912,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_RUN_AWAY, ABILITY_PICKUP, ABILITY_SKILL_LINK }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Aipom"), @@ -1955,7 +1955,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 115, .baseSpAttack = 60, .baseSpDefense = 66, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 169 : 186, .evYield_Speed = 2, @@ -1963,7 +1963,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = 100, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_TECHNICIAN, ABILITY_PICKUP, ABILITY_SKILL_LINK }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Ambipom"), @@ -2007,7 +2007,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 30, .baseSpAttack = 30, .baseSpDefense = 30, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 235, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 36 : 52, .evYield_SpAttack = 1, @@ -2015,7 +2015,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_SOLAR_POWER, ABILITY_EARLY_BIRD }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Sunkern"), @@ -2055,7 +2055,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 30, .baseSpAttack = 105, .baseSpDefense = 85, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 149 : 146, .evYield_SpAttack = 2, @@ -2063,7 +2063,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_SOLAR_POWER, ABILITY_EARLY_BIRD }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Sunflora"), @@ -2104,7 +2104,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 95, .baseSpAttack = 75, .baseSpDefense = 45, - .types = { TYPE_BUG, TYPE_FLYING }, + .types = MON_TYPES(TYPE_BUG, TYPE_FLYING), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 78 : 147, .evYield_Speed = (P_UPDATED_EVS >= GEN_4) ? 1 : 2, @@ -2113,7 +2113,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SPEED_BOOST, ABILITY_COMPOUND_EYES, ABILITY_FRISK }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Yanma"), @@ -2155,7 +2155,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 95, .baseSpAttack = 116, .baseSpDefense = 56, - .types = { TYPE_BUG, TYPE_FLYING }, + .types = MON_TYPES(TYPE_BUG, TYPE_FLYING), .catchRate = 30, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 180 : 198, .evYield_Attack = 2, @@ -2164,7 +2164,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SPEED_BOOST, ABILITY_TINTED_LENS, ABILITY_FRISK }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Yanmega"), @@ -2213,7 +2213,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), \ .speciesName = _("Wooper"), \ .cryId = CRY_WOOPER, \ .natDexNum = NATIONAL_DEX_WOOPER, \ @@ -2228,7 +2228,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = [SPECIES_WOOPER] = { WOOPER_MISC_INFO, - .types = { TYPE_WATER, TYPE_GROUND }, + .types = MON_TYPES(TYPE_WATER, TYPE_GROUND), .abilities = { ABILITY_DAMP, ABILITY_WATER_ABSORB, ABILITY_UNAWARE }, .bodyColor = BODY_COLOR_BLUE, .categoryName = _("Water Fish"), @@ -2261,7 +2261,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 35, .baseSpAttack = 65, .baseSpDefense = 65, - .types = { TYPE_WATER, TYPE_GROUND }, + .types = MON_TYPES(TYPE_WATER, TYPE_GROUND), .catchRate = 90, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 151 : 137, .evYield_HP = 2, @@ -2269,7 +2269,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_DAMP, ABILITY_WATER_ABSORB, ABILITY_UNAWARE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Quagsire"), @@ -2306,7 +2306,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = [SPECIES_WOOPER_PALDEAN] = { WOOPER_MISC_INFO, - .types = { TYPE_POISON, TYPE_GROUND }, + .types = MON_TYPES(TYPE_POISON, TYPE_GROUND), .abilities = { ABILITY_POISON_POINT, ABILITY_WATER_ABSORB, ABILITY_UNAWARE }, .bodyColor = BODY_COLOR_BROWN, .isPaldeanForm = TRUE, @@ -2338,7 +2338,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 20, .baseSpAttack = 45, .baseSpDefense = 100, - .types = { TYPE_POISON, TYPE_GROUND }, + .types = MON_TYPES(TYPE_POISON, TYPE_GROUND), .catchRate = 90, .expYield = 151, .evYield_HP = 2, @@ -2346,7 +2346,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_POISON_POINT, ABILITY_WATER_ABSORB, ABILITY_UNAWARE }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Clodsire"), @@ -2388,7 +2388,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 91, .baseSpAttack = 85, .baseSpDefense = 42, - .types = { TYPE_DARK, TYPE_FLYING }, + .types = MON_TYPES(TYPE_DARK, TYPE_FLYING), .catchRate = 30, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 81 : 107, .evYield_Speed = 1, @@ -2396,7 +2396,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_INSOMNIA, ABILITY_SUPER_LUCK, ABILITY_PRANKSTER }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Murkrow"), @@ -2440,7 +2440,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 71, .baseSpAttack = 105, .baseSpDefense = 52, - .types = { TYPE_DARK, TYPE_FLYING }, + .types = MON_TYPES(TYPE_DARK, TYPE_FLYING), .catchRate = 30, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 177 : 187, .evYield_Attack = 2, @@ -2448,7 +2448,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_INSOMNIA, ABILITY_SUPER_LUCK, ABILITY_MOXIE }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Honchkrow"), @@ -2490,7 +2490,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 85, .baseSpAttack = 85, .baseSpDefense = 85, - .types = { TYPE_GHOST, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GHOST), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 87 : 147, .evYield_SpAttack = (P_UPDATED_EVS >= GEN_4) ? 0 : 1, @@ -2499,7 +2499,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 25, .friendship = 35, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Misdreavus"), @@ -2541,7 +2541,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 105, .baseSpAttack = 105, .baseSpDefense = 105, - .types = { TYPE_GHOST, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GHOST), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 173 : 187, .evYield_SpAttack = 1, @@ -2550,7 +2550,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 25, .friendship = 35, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Mismagius"), @@ -2592,7 +2592,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 48, \ .baseSpAttack = 72, \ .baseSpDefense = 48, \ - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, \ + .types = MON_TYPES(TYPE_PSYCHIC), \ .catchRate = 225, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 118 : 61, \ .evYield_Attack = 1, \ @@ -2601,7 +2601,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 40, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED },\ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_BLACK, \ .speciesName = _("Unown"), \ @@ -2880,7 +2880,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 23, .baseSpAttack = 23, .baseSpDefense = 48, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 125, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 52 : 44, .evYield_HP = 1, @@ -2888,7 +2888,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_SHADOW_TAG, ABILITY_NONE, ABILITY_TELEPATHY }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Wynaut"), @@ -2931,7 +2931,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 33, .baseSpAttack = 33, .baseSpDefense = 58, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 142 : 177, .evYield_HP = 2, @@ -2939,7 +2939,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_SHADOW_TAG, ABILITY_NONE, ABILITY_TELEPATHY }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Wobbuffet"), @@ -2986,7 +2986,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 85, .baseSpAttack = 90, .baseSpDefense = 65, - .types = { TYPE_NORMAL, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_PSYCHIC), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 159 : 149, .evYield_SpAttack = 2, @@ -2994,7 +2994,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_INNER_FOCUS, ABILITY_EARLY_BIRD, ABILITY_SAP_SIPPER }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Girafarig"), @@ -3037,7 +3037,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 60, .baseSpAttack = 110, .baseSpDefense = 70, - .types = { TYPE_NORMAL, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_PSYCHIC), .catchRate = 45, .expYield = 260, .evYield_HP = 3, @@ -3045,7 +3045,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_CUD_CHEW, ABILITY_ARMOR_TAIL, ABILITY_SAP_SIPPER }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Farigiraf"), @@ -3087,7 +3087,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 15, .baseSpAttack = 35, .baseSpDefense = 35, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 58 : 60, .evYield_Defense = 1, @@ -3095,7 +3095,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_STURDY, ABILITY_NONE, ABILITY_OVERCOAT }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Pineco"), @@ -3135,7 +3135,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 40, .baseSpAttack = 60, .baseSpDefense = 60, - .types = { TYPE_BUG, TYPE_STEEL }, + .types = MON_TYPES(TYPE_BUG, TYPE_STEEL), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 163 : 118, .evYield_Defense = 2, @@ -3143,7 +3143,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_STURDY, ABILITY_NONE, ABILITY_OVERCOAT }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Forretress"), @@ -3184,7 +3184,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 45, .baseSpAttack = 65, .baseSpDefense = 65, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 190, #if P_UPDATED_EXP_YIELDS >= GEN_5 .expYield = 145, @@ -3198,7 +3198,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SERENE_GRACE, ABILITY_RUN_AWAY, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Dunsparce"), @@ -3240,7 +3240,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 55, \ .baseSpAttack = 85, \ .baseSpDefense = 75, \ - .types = { TYPE_NORMAL, TYPE_NORMAL }, \ + .types = MON_TYPES(TYPE_NORMAL), \ .catchRate = 45, \ .expYield = 182, \ .evYield_HP = 2, \ @@ -3248,7 +3248,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .abilities = { ABILITY_SERENE_GRACE, ABILITY_RUN_AWAY, ABILITY_RATTLED }, \ .bodyColor = BODY_COLOR_YELLOW, \ .speciesName = _("Dudunsprce"), \ @@ -3307,7 +3307,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 85, .baseSpAttack = 35, .baseSpDefense = 65, - .types = { TYPE_GROUND, TYPE_FLYING }, + .types = MON_TYPES(TYPE_GROUND, TYPE_FLYING), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 86 : 108, .evYield_Defense = 1, @@ -3315,7 +3315,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_HYPER_CUTTER, ABILITY_SAND_VEIL, ABILITY_IMMUNITY }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Gligar"), @@ -3360,7 +3360,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 95, .baseSpAttack = 45, .baseSpDefense = 75, - .types = { TYPE_GROUND, TYPE_FLYING }, + .types = MON_TYPES(TYPE_GROUND, TYPE_FLYING), .catchRate = 30, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 179 : 192, .evYield_Defense = 2, @@ -3368,7 +3368,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_HYPER_CUTTER, ABILITY_SAND_VEIL, ABILITY_POISON_HEAL }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Gliscor"), @@ -3412,9 +3412,9 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpAttack = 40, .baseSpDefense = 40, #if P_UPDATED_TYPES >= GEN_6 - .types = { TYPE_FAIRY, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_FAIRY), #else - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), #endif .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 60 : 63, @@ -3423,7 +3423,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY), .abilities = { ABILITY_INTIMIDATE, ABILITY_RUN_AWAY, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Snubbull"), @@ -3464,9 +3464,9 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpAttack = 60, .baseSpDefense = 60, #if P_UPDATED_TYPES >= GEN_6 - .types = { TYPE_FAIRY, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_FAIRY), #else - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), #endif .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 158 : 178, @@ -3475,7 +3475,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY), .abilities = { ABILITY_INTIMIDATE, ABILITY_QUICK_FEET, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Granbull"), @@ -3532,7 +3532,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), \ .abilities = { ABILITY_POISON_POINT, ABILITY_SWIFT_SWIM, ABILITY_INTIMIDATE }, \ .speciesName = _("Qwilfish"), \ .cryId = CRY_QWILFISH, \ @@ -3550,7 +3550,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = [SPECIES_QWILFISH] = { QWILFISH_MISC_INFO, - .types = { TYPE_WATER, TYPE_POISON }, + .types = MON_TYPES(TYPE_WATER, TYPE_POISON), .bodyColor = BODY_COLOR_GRAY, .description = COMPOUND_STRING( "A Qwilfish uses the pressure of water\n" @@ -3574,7 +3574,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = [SPECIES_QWILFISH_HISUIAN] = { QWILFISH_MISC_INFO, - .types = { TYPE_DARK, TYPE_POISON }, + .types = MON_TYPES(TYPE_DARK, TYPE_POISON), .bodyColor = BODY_COLOR_BLACK, .description = COMPOUND_STRING( "A form of Qwilfish from the distant past.\n" @@ -3604,7 +3604,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 85, .baseSpAttack = 65, .baseSpDefense = 65, - .types = { TYPE_DARK, TYPE_POISON }, + .types = MON_TYPES(TYPE_DARK, TYPE_POISON), .catchRate = 45, .expYield = 179, .evYield_Attack = 2, @@ -3612,7 +3612,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_POISON_POINT, ABILITY_SWIFT_SWIM, ABILITY_INTIMIDATE }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Overqwil"), @@ -3654,7 +3654,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 5, .baseSpAttack = 10, .baseSpDefense = 230, - .types = { TYPE_BUG, TYPE_ROCK }, + .types = MON_TYPES(TYPE_BUG, TYPE_ROCK), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 177 : 80, .evYield_Defense = 1, @@ -3665,7 +3665,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_STURDY, ABILITY_GLUTTONY, ABILITY_CONTRARY }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Shuckle"), @@ -3699,14 +3699,14 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = #if P_FAMILY_HERACROSS #define HERACROSS_MISC_INFO \ - .types = { TYPE_BUG, TYPE_FIGHTING }, \ + .types = MON_TYPES(TYPE_BUG, TYPE_FIGHTING), \ .catchRate = 45, \ .evYield_Attack = 2, \ .genderRatio = PERCENT_FEMALE(50), \ .eggCycles = 25, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), \ .bodyColor = BODY_COLOR_BLUE, \ .speciesName = _("Heracross"), \ .natDexNum = NATIONAL_DEX_HERACROSS, \ @@ -3806,7 +3806,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, \ .friendship = 35, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .noFlip = TRUE, \ .speciesName = _("Sneasel"), \ .cryId = CRY_SNEASEL, \ @@ -3823,7 +3823,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = [SPECIES_SNEASEL] = { SNEASEL_MISC_INFO, - .types = { TYPE_DARK, TYPE_ICE }, + .types = MON_TYPES(TYPE_DARK, TYPE_ICE), .abilities = { ABILITY_INNER_FOCUS, ABILITY_KEEN_EYE, ABILITY_PICKPOCKET }, .bodyColor = BODY_COLOR_BLACK, .weight = 280, @@ -3857,7 +3857,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 125, .baseSpAttack = 45, .baseSpDefense = 85, - .types = { TYPE_DARK, TYPE_ICE }, + .types = MON_TYPES(TYPE_DARK, TYPE_ICE), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 179 : 199, .evYield_Attack = 1, @@ -3867,7 +3867,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_PRESSURE, ABILITY_NONE, ABILITY_PICKPOCKET }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Weavile"), @@ -3905,7 +3905,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = [SPECIES_SNEASEL_HISUIAN] = { SNEASEL_MISC_INFO, - .types = { TYPE_FIGHTING, TYPE_POISON }, + .types = MON_TYPES(TYPE_FIGHTING, TYPE_POISON), .abilities = { ABILITY_INNER_FOCUS, ABILITY_KEEN_EYE, ABILITY_PICKPOCKET }, .bodyColor = BODY_COLOR_GRAY, .weight = 270, @@ -3939,7 +3939,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 120, .baseSpAttack = 40, .baseSpDefense = 80, - .types = { TYPE_FIGHTING, TYPE_POISON }, + .types = MON_TYPES(TYPE_FIGHTING, TYPE_POISON), .catchRate = 20, .expYield = 102, .evYield_Attack = 2, @@ -3947,7 +3947,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_PRESSURE, ABILITY_UNBURDEN, ABILITY_POISON_TOUCH }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Sneasler"), @@ -3989,7 +3989,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 40, .baseSpAttack = 50, .baseSpDefense = 50, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 66 : 124, .evYield_Attack = 1, @@ -3997,7 +3997,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_PICKUP, ABILITY_QUICK_FEET, ABILITY_HONEY_GATHER }, .bodyColor = BODY_COLOR_BROWN, .noFlip = TRUE, @@ -4038,7 +4038,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 55, .baseSpAttack = 75, .baseSpDefense = 75, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 175 : 189, .evYield_Attack = 2, @@ -4046,7 +4046,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_GUTS, ABILITY_QUICK_FEET, ABILITY_UNNERVE }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Ursaring"), @@ -4084,11 +4084,11 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = #if P_GEN_8_CROSS_EVOS #define URSALUNA_MISC_INFO \ .expYield = 275, \ - .types = { TYPE_GROUND, TYPE_NORMAL }, \ + .types = MON_TYPES(TYPE_GROUND, TYPE_NORMAL), \ .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .bodyColor = BODY_COLOR_BROWN, \ .speciesName = _("Ursaluna"), \ .cryId = CRY_URSALUNA, \ @@ -4180,7 +4180,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 20, .baseSpAttack = 70, .baseSpDefense = 40, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 50 : 78, .evYield_SpAttack = 1, @@ -4188,7 +4188,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_MAGMA_ARMOR, ABILITY_FLAME_BODY, ABILITY_WEAK_ARMOR }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Slugma"), @@ -4228,7 +4228,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 30, .baseSpAttack = P_UPDATED_STATS >= GEN_7 ? 90 : 80, .baseSpDefense = 80, - .types = { TYPE_FIRE, TYPE_ROCK }, + .types = MON_TYPES(TYPE_FIRE, TYPE_ROCK), .catchRate = 75, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 151, @@ -4242,7 +4242,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_MAGMA_ARMOR, ABILITY_FLAME_BODY, ABILITY_WEAK_ARMOR }, .bodyColor = BODY_COLOR_RED, .noFlip = TRUE, @@ -4284,7 +4284,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 50, .baseSpAttack = 30, .baseSpDefense = 30, - .types = { TYPE_ICE, TYPE_GROUND }, + .types = MON_TYPES(TYPE_ICE, TYPE_GROUND), .catchRate = 225, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 50 : 78, .evYield_Attack = 1, @@ -4292,7 +4292,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_OBLIVIOUS, ABILITY_SNOW_CLOAK, ABILITY_THICK_FAT }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Swinub"), @@ -4332,7 +4332,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 50, .baseSpAttack = 60, .baseSpDefense = 60, - .types = { TYPE_ICE, TYPE_GROUND }, + .types = MON_TYPES(TYPE_ICE, TYPE_GROUND), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 158 : 160, .evYield_HP = 1, @@ -4341,7 +4341,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_OBLIVIOUS, ABILITY_SNOW_CLOAK, ABILITY_THICK_FAT }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Piloswine"), @@ -4384,7 +4384,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 80, .baseSpAttack = 70, .baseSpDefense = 60, - .types = { TYPE_ICE, TYPE_GROUND }, + .types = MON_TYPES(TYPE_ICE, TYPE_GROUND), .catchRate = 50, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 265, @@ -4398,7 +4398,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_OBLIVIOUS, ABILITY_SNOW_CLOAK, ABILITY_THICK_FAT }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Mamoswine"), @@ -4443,25 +4443,25 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = #define CORSOLA_HP (P_UPDATED_STATS >= GEN_7 ? 65 : 55) #define CORSOLA_DEFENSES (P_UPDATED_STATS >= GEN_7 ? 95 : 85) -#define CORSOLA_MISC_INFO \ - .catchRate = 60, \ - .expYield = CORSOLA_EXP_YIELD, \ - .evYield_SpDefense = 1, \ - .genderRatio = PERCENT_FEMALE(75), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_FAST, \ - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, \ - .speciesName = _("Corsola"), \ - .cryId = CRY_CORSOLA, \ - .natDexNum = NATIONAL_DEX_CORSOLA, \ - .categoryName = _("Coral"), \ - .height = 6, \ - .pokemonScale = 410, \ - .pokemonOffset = 15, \ - .trainerScale = 256, \ - .trainerOffset = 0, \ - FOOTPRINT(Corsola) \ +#define CORSOLA_MISC_INFO \ + .catchRate = 60, \ + .expYield = CORSOLA_EXP_YIELD, \ + .evYield_SpDefense = 1, \ + .genderRatio = PERCENT_FEMALE(75), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_FAST, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_3),\ + .speciesName = _("Corsola"), \ + .cryId = CRY_CORSOLA, \ + .natDexNum = NATIONAL_DEX_CORSOLA, \ + .categoryName = _("Coral"), \ + .height = 6, \ + .pokemonScale = 410, \ + .pokemonOffset = 15, \ + .trainerScale = 256, \ + .trainerOffset = 0, \ + FOOTPRINT(Corsola) \ .formSpeciesIdTable = sCorsolaFormSpeciesIdTable [SPECIES_CORSOLA] = @@ -4473,7 +4473,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 35, .baseSpAttack = 65, .baseSpDefense = CORSOLA_DEFENSES, - .types = { TYPE_WATER, TYPE_ROCK }, + .types = MON_TYPES(TYPE_WATER, TYPE_ROCK), .evYield_Defense = 1, .itemRare = ITEM_LUMINOUS_MOSS, .abilities = { ABILITY_HUSTLE, ABILITY_NATURAL_CURE, ABILITY_REGENERATOR }, @@ -4506,7 +4506,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 30, .baseSpAttack = 65, .baseSpDefense = CORSOLA_DEFENSES + 5, - .types = { TYPE_GHOST, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GHOST), .abilities = { ABILITY_WEAK_ARMOR, ABILITY_NONE, ABILITY_CURSED_BODY }, .bodyColor = BODY_COLOR_WHITE, .weight = 5, @@ -4537,7 +4537,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 30, .baseSpAttack = 145, .baseSpDefense = 130, - .types = { TYPE_GHOST, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GHOST), .catchRate = 30, .expYield = 179, .evYield_SpAttack = 2, @@ -4545,7 +4545,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_3), .abilities = { ABILITY_WEAK_ARMOR, ABILITY_NONE, ABILITY_PERISH_BODY }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Cursola"), @@ -4587,7 +4587,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 65, .baseSpAttack = 65, .baseSpDefense = 35, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 60 : 78, .evYield_SpAttack = 1, @@ -4595,7 +4595,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_2), .abilities = { ABILITY_HUSTLE, ABILITY_SNIPER, ABILITY_MOODY }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Remoraid"), @@ -4635,7 +4635,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 45, .baseSpAttack = 105, .baseSpDefense = 75, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 168 : 164, .evYield_Attack = 1, @@ -4644,7 +4644,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_2), .abilities = { ABILITY_SUCTION_CUPS, ABILITY_SNIPER, ABILITY_MOODY }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Octillery"), @@ -4688,7 +4688,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 75, .baseSpAttack = 65, .baseSpDefense = 45, - .types = { TYPE_ICE, TYPE_FLYING }, + .types = MON_TYPES(TYPE_ICE, TYPE_FLYING), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 116 : 183, .evYield_Speed = 1, @@ -4696,7 +4696,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_VITAL_SPIRIT, ABILITY_HUSTLE, ABILITY_INSOMNIA }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Delibird"), @@ -4738,7 +4738,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 50, .baseSpAttack = 60, .baseSpDefense = 120, - .types = { TYPE_WATER, TYPE_FLYING }, + .types = MON_TYPES(TYPE_WATER, TYPE_FLYING), .catchRate = 25, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 69 : 108, .evYield_SpDefense = 1, @@ -4746,7 +4746,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_WATER_ABSORB, ABILITY_WATER_VEIL }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Mantyke"), @@ -4787,7 +4787,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 70, .baseSpAttack = 80, .baseSpDefense = 140, - .types = { TYPE_WATER, TYPE_FLYING }, + .types = MON_TYPES(TYPE_WATER, TYPE_FLYING), .catchRate = 25, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 170, @@ -4801,7 +4801,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_WATER_ABSORB, ABILITY_WATER_VEIL }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Mantine"), @@ -4843,7 +4843,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 70, .baseSpAttack = 40, .baseSpDefense = 70, - .types = { TYPE_STEEL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_STEEL, TYPE_FLYING), .catchRate = 25, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 163 : 168, .evYield_Defense = 2, @@ -4852,7 +4852,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_STURDY, ABILITY_WEAK_ARMOR }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Skarmory"), @@ -4893,7 +4893,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 65, .baseSpAttack = 80, .baseSpDefense = 50, - .types = { TYPE_DARK, TYPE_FIRE }, + .types = MON_TYPES(TYPE_DARK, TYPE_FIRE), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 66 : 114, .evYield_SpAttack = 1, @@ -4901,7 +4901,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_EARLY_BIRD, ABILITY_FLASH_FIRE, ABILITY_UNNERVE }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Houndour"), @@ -4934,14 +4934,14 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = }, #define HOUNDOOM_MISC_INFO \ - .types = { TYPE_DARK, TYPE_FIRE }, \ + .types = MON_TYPES(TYPE_DARK, TYPE_FIRE), \ .catchRate = 45, \ .evYield_SpAttack = 2, \ .genderRatio = PERCENT_FEMALE(50), \ .eggCycles = 20, \ .friendship = 35, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .bodyColor = BODY_COLOR_BLACK, \ .speciesName = _("Houndoom"), \ .natDexNum = NATIONAL_DEX_HOUNDOOM, \ @@ -5033,7 +5033,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 40, .baseSpAttack = 40, .baseSpDefense = 40, - .types = { TYPE_GROUND, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GROUND), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 66 : 124, .evYield_HP = 1, @@ -5041,7 +5041,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_PICKUP, ABILITY_NONE, ABILITY_SAND_VEIL }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Phanpy"), @@ -5081,7 +5081,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 50, .baseSpAttack = 60, .baseSpDefense = 60, - .types = { TYPE_GROUND, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GROUND), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 175 : 189, .evYield_Attack = 1, @@ -5090,7 +5090,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_STURDY, ABILITY_NONE, ABILITY_SAND_VEIL }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Donphan"), @@ -5133,7 +5133,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 85, .baseSpAttack = 85, .baseSpDefense = 65, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 163 : 165, .evYield_Attack = 1, @@ -5141,7 +5141,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_INTIMIDATE, ABILITY_FRISK, ABILITY_SAP_SIPPER }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Stantler"), @@ -5182,7 +5182,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 65, .baseSpAttack = 105, .baseSpDefense = 75, - .types = { TYPE_NORMAL, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_PSYCHIC), .catchRate = 45, .expYield = 263, .evYield_Attack = 1, @@ -5191,7 +5191,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_INTIMIDATE, ABILITY_FRISK, ABILITY_SAP_SIPPER }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Wyrdeer"), @@ -5233,7 +5233,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 75, .baseSpAttack = 20, .baseSpDefense = 45, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 88 : 106, .evYield_Speed = 1, @@ -5241,7 +5241,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_OWN_TEMPO, ABILITY_TECHNICIAN, ABILITY_MOODY }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Smeargle"), @@ -5283,7 +5283,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 100, .baseSpAttack = 40, .baseSpDefense = 70, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 172 : 200, .evYield_Defense = 2, @@ -5293,7 +5293,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_THICK_FAT, ABILITY_SCRAPPY, ABILITY_SAP_SIPPER }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Miltank"), @@ -5334,7 +5334,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 115, .baseSpAttack = 115, .baseSpDefense = 100, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 3, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 290, @@ -5349,7 +5349,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), #if P_UPDATED_ABILITIES >= GEN_7 .abilities = { ABILITY_PRESSURE, ABILITY_NONE, ABILITY_INNER_FOCUS }, #else @@ -5395,7 +5395,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 100, .baseSpAttack = 90, .baseSpDefense = 75, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 3, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 290, @@ -5410,7 +5410,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), #if P_UPDATED_ABILITIES >= GEN_7 .abilities = { ABILITY_PRESSURE, ABILITY_NONE, ABILITY_INNER_FOCUS }, #else @@ -5456,7 +5456,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 85, .baseSpAttack = 90, .baseSpDefense = 115, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 3, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 290, @@ -5471,7 +5471,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), #if P_UPDATED_ABILITIES >= GEN_7 .abilities = { ABILITY_PRESSURE, ABILITY_NONE, ABILITY_INNER_FOCUS }, #else @@ -5517,7 +5517,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 41, .baseSpAttack = 45, .baseSpDefense = 50, - .types = { TYPE_ROCK, TYPE_GROUND }, + .types = MON_TYPES(TYPE_ROCK, TYPE_GROUND), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 60 : 67, .evYield_Attack = 1, @@ -5525,7 +5525,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), .abilities = { ABILITY_GUTS, ABILITY_NONE, ABILITY_SAND_VEIL }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Larvitar"), @@ -5565,7 +5565,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 51, .baseSpAttack = 65, .baseSpDefense = 70, - .types = { TYPE_ROCK, TYPE_GROUND }, + .types = MON_TYPES(TYPE_ROCK, TYPE_GROUND), .catchRate = 45, .expYield = 144, .evYield_Attack = 2, @@ -5573,7 +5573,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), .abilities = { ABILITY_SHED_SKIN, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Pupitar"), @@ -5606,14 +5606,14 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = }, #define TYRANITAR_MISC_INFO \ - .types = { TYPE_ROCK, TYPE_DARK }, \ + .types = MON_TYPES(TYPE_ROCK, TYPE_DARK), \ .catchRate = 45, \ .evYield_Attack = 3, \ .genderRatio = PERCENT_FEMALE(50), \ .eggCycles = 40, \ .friendship = 35, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), \ .bodyColor = BODY_COLOR_GREEN, \ .speciesName = _("Tyranitar"), \ .natDexNum = NATIONAL_DEX_TYRANITAR, \ @@ -5711,7 +5711,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 110, .baseSpAttack = 90, .baseSpDefense = 154, - .types = { TYPE_PSYCHIC, TYPE_FLYING }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_FLYING), .catchRate = 3, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 340, @@ -5725,7 +5725,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PRESSURE, ABILITY_NONE, ABILITY_MULTISCALE }, .bodyColor = BODY_COLOR_WHITE, .isLegendary = TRUE, @@ -5769,7 +5769,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 90, .baseSpAttack = 110, .baseSpDefense = 154, - .types = { TYPE_FIRE, TYPE_FLYING }, + .types = MON_TYPES(TYPE_FIRE, TYPE_FLYING), .catchRate = 3, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 340, @@ -5785,7 +5785,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PRESSURE, ABILITY_NONE, ABILITY_REGENERATOR }, .bodyColor = BODY_COLOR_RED, .isLegendary = TRUE, @@ -5828,7 +5828,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .baseSpeed = 100, .baseSpAttack = 100, .baseSpDefense = 100, - .types = { TYPE_PSYCHIC, TYPE_GRASS }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_GRASS), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 300, @@ -5844,7 +5844,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggCycles = 120, .friendship = 100, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_NATURAL_CURE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GREEN, .isMythical = TRUE, diff --git a/src/data/pokemon/species_info/gen_3.h b/src/data/pokemon/species_info/gen_3.h index 8e8548588e..94daa4b55f 100644 --- a/src/data/pokemon/species_info/gen_3.h +++ b/src/data/pokemon/species_info/gen_3.h @@ -12,7 +12,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 70, .baseSpAttack = 65, .baseSpDefense = 55, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 62 : 65, .evYield_Speed = 1, @@ -20,7 +20,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_UNBURDEN }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Treecko"), @@ -60,7 +60,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 95, .baseSpAttack = 85, .baseSpDefense = 65, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 142 : 141, .evYield_Speed = 2, @@ -68,7 +68,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_UNBURDEN }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Grovyle"), @@ -100,21 +100,21 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_SCEPTILE}), }, -#define SCEPTILE_MISC_INFO \ - .catchRate = 45, \ - .evYield_Speed = 3, \ - .genderRatio = PERCENT_FEMALE(12.5), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON },\ - .bodyColor = BODY_COLOR_GREEN, \ - .speciesName = _("Sceptile"), \ - .natDexNum = NATIONAL_DEX_SCEPTILE, \ - .categoryName = _("Forest"), \ - FOOTPRINT(Sceptile) \ - LEARNSETS(Sceptile), \ - .formSpeciesIdTable = sSceptileFormSpeciesIdTable, \ +#define SCEPTILE_MISC_INFO \ + .catchRate = 45, \ + .evYield_Speed = 3, \ + .genderRatio = PERCENT_FEMALE(12.5), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON),\ + .bodyColor = BODY_COLOR_GREEN, \ + .speciesName = _("Sceptile"), \ + .natDexNum = NATIONAL_DEX_SCEPTILE, \ + .categoryName = _("Forest"), \ + FOOTPRINT(Sceptile) \ + LEARNSETS(Sceptile), \ + .formSpeciesIdTable = sSceptileFormSpeciesIdTable, \ .formChangeTable = sSceptileFormChangeTable [SPECIES_SCEPTILE] = @@ -126,7 +126,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 120, .baseSpAttack = 105, .baseSpDefense = 85, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 265, #elif P_UPDATED_EXP_YIELDS >= GEN_5 @@ -168,7 +168,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 145, .baseSpAttack = 145, .baseSpDefense = 85, - .types = { TYPE_GRASS, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_DRAGON), .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 315 : 284, .abilities = { ABILITY_LIGHTNING_ROD, ABILITY_LIGHTNING_ROD, ABILITY_LIGHTNING_ROD }, .cryId = CRY_SCEPTILE_MEGA, @@ -206,7 +206,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 45, .baseSpAttack = 70, .baseSpDefense = 50, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 62 : 65, .evYield_SpAttack = 1, @@ -214,7 +214,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_SPEED_BOOST }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Torchic"), @@ -255,7 +255,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 55, .baseSpAttack = 85, .baseSpDefense = 60, - .types = { TYPE_FIRE, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIRE, TYPE_FIGHTING), .catchRate = 45, .expYield = 142, .evYield_Attack = 1, @@ -264,7 +264,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_SPEED_BOOST }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Combusken"), @@ -299,14 +299,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = }, #define BLAZIKEN_MISC_INFO \ - .types = { TYPE_FIRE, TYPE_FIGHTING }, \ + .types = MON_TYPES(TYPE_FIRE, TYPE_FIGHTING), \ .catchRate = 45, \ .evYield_Attack = 3, \ .genderRatio = PERCENT_FEMALE(12.5), \ .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .bodyColor = BODY_COLOR_RED, \ .speciesName = _("Blaziken"), \ .natDexNum = NATIONAL_DEX_BLAZIKEN, \ @@ -399,7 +399,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 40, .baseSpAttack = 50, .baseSpDefense = 50, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 62 : 65, .evYield_Attack = 1, @@ -407,7 +407,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_WATER_1), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_DAMP }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Mudkip"), @@ -447,7 +447,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 50, .baseSpAttack = 60, .baseSpDefense = 70, - .types = { TYPE_WATER, TYPE_GROUND }, + .types = MON_TYPES(TYPE_WATER, TYPE_GROUND), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 142 : 143, .evYield_Attack = 2, @@ -455,7 +455,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_WATER_1), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_DAMP }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Marshtomp"), @@ -487,22 +487,22 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .evolutions = EVOLUTION({EVO_LEVEL, 36, SPECIES_SWAMPERT}), }, -#define SWAMPERT_MISC_INFO \ - .types = { TYPE_WATER, TYPE_GROUND }, \ - .catchRate = 45, \ - .evYield_Attack = 3, \ - .genderRatio = PERCENT_FEMALE(12.5), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, \ - .bodyColor = BODY_COLOR_BLUE, \ - .speciesName = _("Swampert"), \ - .natDexNum = NATIONAL_DEX_SWAMPERT, \ - .categoryName = _("Mud Fish"), \ - FOOTPRINT(Swampert) \ - LEARNSETS(Swampert), \ - .formSpeciesIdTable = sSwampertFormSpeciesIdTable, \ +#define SWAMPERT_MISC_INFO \ + .types = MON_TYPES(TYPE_WATER, TYPE_GROUND), \ + .catchRate = 45, \ + .evYield_Attack = 3, \ + .genderRatio = PERCENT_FEMALE(12.5), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_WATER_1),\ + .bodyColor = BODY_COLOR_BLUE, \ + .speciesName = _("Swampert"), \ + .natDexNum = NATIONAL_DEX_SWAMPERT, \ + .categoryName = _("Mud Fish"), \ + FOOTPRINT(Swampert) \ + LEARNSETS(Swampert), \ + .formSpeciesIdTable = sSwampertFormSpeciesIdTable, \ .formChangeTable = sSwampertFormChangeTable [SPECIES_SWAMPERT] = @@ -592,7 +592,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 35, .baseSpAttack = 30, .baseSpDefense = 30, - .types = { TYPE_DARK, TYPE_DARK }, + .types = MON_TYPES(TYPE_DARK), .catchRate = 255, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 56, @@ -606,7 +606,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_RUN_AWAY, ABILITY_QUICK_FEET, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Poochyena"), @@ -646,7 +646,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 70, .baseSpAttack = 60, .baseSpDefense = 60, - .types = { TYPE_DARK, TYPE_DARK }, + .types = MON_TYPES(TYPE_DARK), .catchRate = 127, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 147 : 128, .evYield_Attack = 2, @@ -654,7 +654,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_INTIMIDATE, ABILITY_QUICK_FEET, ABILITY_MOXIE }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Mightyena"), @@ -709,7 +709,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .abilities = { ABILITY_PICKUP, ABILITY_GLUTTONY, ABILITY_QUICK_FEET }, \ .speciesName = _("Zigzagoon"), \ .cryId = CRY_ZIGZAGOON, \ @@ -738,7 +738,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .abilities = { ABILITY_PICKUP, ABILITY_GLUTTONY, ABILITY_QUICK_FEET }, \ .bodyColor = BODY_COLOR_WHITE, \ .speciesName = _("Linoone"), \ @@ -757,7 +757,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = [SPECIES_ZIGZAGOON] = { ZIGZAGOON_MISC_INFO, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .itemCommon = ITEM_POTION, .itemRare = ITEM_REVIVE, .bodyColor = BODY_COLOR_BROWN, @@ -782,7 +782,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = [SPECIES_LINOONE] = { LINOONE_MISC_INFO, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .itemCommon = ITEM_POTION, .itemRare = ITEM_MAX_REVIVE, .description = COMPOUND_STRING( @@ -806,7 +806,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = [SPECIES_ZIGZAGOON_GALARIAN] = { ZIGZAGOON_MISC_INFO, - .types = { TYPE_DARK, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_DARK, TYPE_NORMAL), .bodyColor = BODY_COLOR_WHITE, .description = COMPOUND_STRING( "Its restlessness has it constantly moving\n" @@ -830,7 +830,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = [SPECIES_LINOONE_GALARIAN] = { LINOONE_MISC_INFO, - .types = { TYPE_DARK, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_DARK, TYPE_NORMAL), .description = COMPOUND_STRING( "This very aggressive Pokémon will\n" "recklessly challenge opponents stronger\n" @@ -858,7 +858,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 95, .baseSpAttack = 60, .baseSpDefense = 81, - .types = { TYPE_DARK, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_DARK, TYPE_NORMAL), .catchRate = 45, .expYield = 260, .evYield_Defense = 3, @@ -866,7 +866,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_RECKLESS, ABILITY_GUTS, ABILITY_DEFIANT }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Obstagoon"), @@ -908,7 +908,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 20, .baseSpAttack = 20, .baseSpDefense = 30, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 255, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 56, @@ -924,7 +924,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SHIELD_DUST, ABILITY_NONE, ABILITY_RUN_AWAY }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Wurmple"), @@ -966,7 +966,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 15, .baseSpAttack = 25, .baseSpDefense = 25, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_4) ? 72 : 71, .evYield_Defense = 2, @@ -974,7 +974,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SHED_SKIN, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Silcoon"), @@ -1015,7 +1015,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 65, .baseSpAttack = P_UPDATED_STATS >= GEN_6 ? 100 : 90, .baseSpDefense = 50, - .types = { TYPE_BUG, TYPE_FLYING }, + .types = MON_TYPES(TYPE_BUG, TYPE_FLYING), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 198, @@ -1032,7 +1032,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_NONE, ABILITY_RIVALRY }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Beautifly"), @@ -1074,7 +1074,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 15, .baseSpAttack = 25, .baseSpDefense = 25, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 120, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 72, @@ -1088,7 +1088,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SHED_SKIN, ABILITY_NONE }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Cascoon"), @@ -1129,7 +1129,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 65, .baseSpAttack = 50, .baseSpDefense = 90, - .types = { TYPE_BUG, TYPE_POISON }, + .types = MON_TYPES(TYPE_BUG, TYPE_POISON), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 193, @@ -1148,7 +1148,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SHIELD_DUST, ABILITY_NONE, ABILITY_COMPOUND_EYES }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Dustox"), @@ -1192,7 +1192,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 30, .baseSpAttack = 40, .baseSpDefense = 50, - .types = { TYPE_WATER, TYPE_GRASS }, + .types = MON_TYPES(TYPE_WATER, TYPE_GRASS), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 44 : 74, .evYield_SpDefense = 1, @@ -1201,7 +1201,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_GRASS), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_RAIN_DISH, ABILITY_OWN_TEMPO }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Lotad"), @@ -1241,7 +1241,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 50, .baseSpAttack = 60, .baseSpDefense = 70, - .types = { TYPE_WATER, TYPE_GRASS }, + .types = MON_TYPES(TYPE_WATER, TYPE_GRASS), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 119 : 141, .evYield_SpDefense = 2, @@ -1250,7 +1250,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_GRASS), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_RAIN_DISH, ABILITY_OWN_TEMPO }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Lombre"), @@ -1290,7 +1290,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 70, .baseSpAttack = 90, .baseSpDefense = 100, - .types = { TYPE_WATER, TYPE_GRASS }, + .types = MON_TYPES(TYPE_WATER, TYPE_GRASS), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 240, @@ -1305,7 +1305,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_GRASS), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_RAIN_DISH, ABILITY_OWN_TEMPO }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Ludicolo"), @@ -1348,7 +1348,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 30, .baseSpAttack = 30, .baseSpDefense = 30, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 44 : 74, .evYield_Defense = 1, @@ -1357,7 +1357,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_EARLY_BIRD, ABILITY_PICKPOCKET }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Seedot"), @@ -1397,7 +1397,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 60, .baseSpAttack = 60, .baseSpDefense = 40, - .types = { TYPE_GRASS, TYPE_DARK }, + .types = MON_TYPES(TYPE_GRASS, TYPE_DARK), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 119 : 141, .evYield_Attack = 2, @@ -1406,7 +1406,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_EARLY_BIRD, ABILITY_PICKPOCKET }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Nuzleaf"), @@ -1448,7 +1448,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 80, .baseSpAttack = 90, .baseSpDefense = 60, - .types = { TYPE_GRASS, TYPE_DARK }, + .types = MON_TYPES(TYPE_GRASS, TYPE_DARK), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 240, @@ -1463,7 +1463,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_GRASS), #if P_UPDATED_ABILITIES >= GEN_9 .abilities = { ABILITY_CHLOROPHYLL, ABILITY_WIND_RIDER, ABILITY_PICKPOCKET }, #else @@ -1510,7 +1510,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 85, .baseSpAttack = 30, .baseSpDefense = 30, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 200, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 54 : 59, .evYield_Speed = 1, @@ -1518,7 +1518,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_GUTS, ABILITY_NONE, ABILITY_SCRAPPY }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Taillow"), @@ -1558,7 +1558,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 125, .baseSpAttack = P_UPDATED_STATS >= GEN_7 ? 75 : 50, .baseSpDefense = 50, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 159, @@ -1572,7 +1572,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_GUTS, ABILITY_NONE, ABILITY_SCRAPPY }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Swellow"), @@ -1613,7 +1613,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 85, .baseSpAttack = 55, .baseSpDefense = 30, - .types = { TYPE_WATER, TYPE_FLYING }, + .types = MON_TYPES(TYPE_WATER, TYPE_FLYING), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 54 : 64, .evYield_Speed = 1, @@ -1622,7 +1622,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_HYDRATION, ABILITY_RAIN_DISH }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Wingull"), @@ -1663,7 +1663,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 65, .baseSpAttack = P_UPDATED_STATS >= GEN_7 ? 95 : 85, .baseSpDefense = 70, - .types = { TYPE_WATER, TYPE_FLYING }, + .types = MON_TYPES(TYPE_WATER, TYPE_FLYING), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 154, @@ -1678,7 +1678,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_DRIZZLE, ABILITY_RAIN_DISH }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Pelipper"), @@ -1715,9 +1715,9 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = #define RALTS_FAMILY_TYPE2 (P_UPDATED_TYPES >= GEN_6 ? TYPE_FAIRY : TYPE_PSYCHIC) #if P_UPDATED_EGG_GROUPS >= GEN_8 - #define RALTS_FAMILY_EGG_GROUPS { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_AMORPHOUS } + #define RALTS_FAMILY_EGG_GROUPS MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE, EGG_GROUP_AMORPHOUS) #else - #define RALTS_FAMILY_EGG_GROUPS { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS } + #define RALTS_FAMILY_EGG_GROUPS MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS) #endif [SPECIES_RALTS] = @@ -1728,7 +1728,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 40, .baseSpAttack = 45, .baseSpDefense = 35, - .types = { TYPE_PSYCHIC, RALTS_FAMILY_TYPE2 }, + .types = MON_TYPES(TYPE_PSYCHIC, RALTS_FAMILY_TYPE2), .catchRate = 235, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 40 : 70, .evYield_SpAttack = 1, @@ -1776,7 +1776,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 50, .baseSpAttack = 65, .baseSpDefense = 55, - .types = { TYPE_PSYCHIC, RALTS_FAMILY_TYPE2 }, + .types = MON_TYPES(TYPE_PSYCHIC, RALTS_FAMILY_TYPE2), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 97 : 140, .evYield_SpAttack = 2, @@ -1825,7 +1825,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .friendship = 35, \ .growthRate = GROWTH_SLOW, \ .eggGroups = RALTS_FAMILY_EGG_GROUPS, \ - .types = { TYPE_PSYCHIC, RALTS_FAMILY_TYPE2 }, \ + .types = MON_TYPES(TYPE_PSYCHIC, RALTS_FAMILY_TYPE2),\ .bodyColor = BODY_COLOR_WHITE, \ .speciesName = _("Gardevoir"), \ .natDexNum = NATIONAL_DEX_GARDEVOIR, \ @@ -1908,7 +1908,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = #if P_GEN_4_CROSS_EVOS #define GALLADE_MISC_INFO \ - .types = { TYPE_PSYCHIC, TYPE_FIGHTING }, \ + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_FIGHTING), \ .catchRate = 45, \ .evYield_Attack = 3, \ .genderRatio = MON_MALE, \ @@ -2012,7 +2012,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 65, .baseSpAttack = 50, .baseSpDefense = 52, - .types = { TYPE_BUG, TYPE_WATER }, + .types = MON_TYPES(TYPE_BUG, TYPE_WATER), .catchRate = 200, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 54 : 63, .evYield_Speed = 1, @@ -2021,7 +2021,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_BUG), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_NONE, ABILITY_RAIN_DISH }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Surskit"), @@ -2066,7 +2066,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 60, .baseSpAttack = 80, #endif - .types = { TYPE_BUG, TYPE_FLYING }, + .types = MON_TYPES(TYPE_BUG, TYPE_FLYING), .catchRate = 75, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 159, @@ -2082,7 +2082,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_BUG), .abilities = { ABILITY_INTIMIDATE, ABILITY_NONE, ABILITY_UNNERVE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Masquerain"), @@ -2124,7 +2124,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 35, .baseSpAttack = 40, .baseSpDefense = 60, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 59 : 65, .evYield_HP = 1, @@ -2134,7 +2134,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FLUCTUATING, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_GRASS), .abilities = { ABILITY_EFFECT_SPORE, ABILITY_POISON_HEAL, ABILITY_QUICK_FEET }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Shroomish"), @@ -2174,7 +2174,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 70, .baseSpAttack = 60, .baseSpDefense = 60, - .types = { TYPE_GRASS, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_GRASS, TYPE_FIGHTING), .catchRate = 90, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 161 : 165, .evYield_Attack = 2, @@ -2184,7 +2184,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FLUCTUATING, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_GRASS), .abilities = { ABILITY_EFFECT_SPORE, ABILITY_POISON_HEAL, ABILITY_TECHNICIAN }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Breloom"), @@ -2225,7 +2225,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 30, .baseSpAttack = 35, .baseSpDefense = 35, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 56 : 83, .evYield_HP = 1, @@ -2233,7 +2233,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_TRUANT, ABILITY_NONE }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Slakoth"), @@ -2273,7 +2273,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 90, .baseSpAttack = 55, .baseSpDefense = 55, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 154 : 126, .evYield_Speed = 2, @@ -2281,7 +2281,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_VITAL_SPIRIT, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Vigoroth"), @@ -2321,7 +2321,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 100, .baseSpAttack = 95, .baseSpDefense = 65, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 285, @@ -2335,7 +2335,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_TRUANT, ABILITY_NONE }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Slaking"), @@ -2376,7 +2376,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 40, .baseSpAttack = 30, .baseSpDefense = 30, - .types = { TYPE_BUG, TYPE_GROUND }, + .types = MON_TYPES(TYPE_BUG, TYPE_GROUND), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 53 : 65, .evYield_Defense = 1, @@ -2385,7 +2385,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_COMPOUND_EYES, ABILITY_NONE, ABILITY_RUN_AWAY }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Nincada"), @@ -2426,7 +2426,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 160, .baseSpAttack = 50, .baseSpDefense = 50, - .types = { TYPE_BUG, TYPE_FLYING }, + .types = MON_TYPES(TYPE_BUG, TYPE_FLYING), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 160 : 155, .evYield_Speed = 2, @@ -2434,7 +2434,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SPEED_BOOST, ABILITY_NONE, ABILITY_INFILTRATOR }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Ninjask"), @@ -2474,7 +2474,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 40, .baseSpAttack = 30, .baseSpDefense = 30, - .types = { TYPE_BUG, TYPE_GHOST }, + .types = MON_TYPES(TYPE_BUG, TYPE_GHOST), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 83 : 95, .evYield_HP = 2, @@ -2482,7 +2482,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_WONDER_GUARD, ABILITY_NONE }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Shedinja"), @@ -2524,7 +2524,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 28, .baseSpAttack = 51, .baseSpDefense = 23, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 48 : 68, .evYield_HP = 1, @@ -2532,7 +2532,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_FIELD), .abilities = { ABILITY_SOUNDPROOF, ABILITY_NONE, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Whismur"), @@ -2572,7 +2572,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 48, .baseSpAttack = 71, .baseSpDefense = 43, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 120, .expYield = 126, .evYield_HP = 2, @@ -2580,7 +2580,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_FIELD), .abilities = { ABILITY_SOUNDPROOF, ABILITY_NONE, ABILITY_SCRAPPY }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Loudred"), @@ -2620,7 +2620,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 68, .baseSpAttack = 91, .baseSpDefense = P_UPDATED_STATS >= GEN_6 ? 73 : 63, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 245, @@ -2636,7 +2636,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_FIELD), .abilities = { ABILITY_SOUNDPROOF, ABILITY_NONE, ABILITY_SCRAPPY }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Exploud"), @@ -2677,7 +2677,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 25, .baseSpAttack = 20, .baseSpDefense = 30, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 180, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 47 : 87, .evYield_HP = 1, @@ -2686,7 +2686,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FLUCTUATING, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_THICK_FAT, ABILITY_GUTS, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Makuhita"), @@ -2726,7 +2726,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 50, .baseSpAttack = 40, .baseSpDefense = 60, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 200, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 166 : 184, .evYield_HP = 2, @@ -2735,7 +2735,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FLUCTUATING, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_THICK_FAT, ABILITY_GUTS, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Hariyama"), @@ -2776,7 +2776,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 30, .baseSpAttack = 45, .baseSpDefense = 90, - .types = { TYPE_ROCK, TYPE_ROCK }, + .types = MON_TYPES(TYPE_ROCK), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 75 : 108, .evYield_Defense = 1, @@ -2785,7 +2785,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_STURDY, ABILITY_MAGNET_PULL, ABILITY_SAND_FORCE }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Nosepass"), @@ -2827,7 +2827,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 40, .baseSpAttack = 75, .baseSpDefense = 150, - .types = { TYPE_ROCK, TYPE_STEEL }, + .types = MON_TYPES(TYPE_ROCK, TYPE_STEEL), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 184 : 198, .evYield_Defense = 1, @@ -2837,7 +2837,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_STURDY, ABILITY_MAGNET_PULL, ABILITY_SAND_FORCE }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Probopass"), @@ -2880,7 +2880,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 50, .baseSpAttack = 35, .baseSpDefense = 35, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 52 : 65, .evYield_Speed = 1, @@ -2888,7 +2888,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY), .abilities = { ABILITY_CUTE_CHARM, ABILITY_NORMALIZE, ABILITY_WONDER_SKIN }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Skitty"), @@ -2928,7 +2928,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = P_UPDATED_STATS >= GEN_7 ? 90 : 70, .baseSpAttack = 55, .baseSpDefense = 55, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 60, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 140, @@ -2943,7 +2943,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY), .abilities = { ABILITY_CUTE_CHARM, ABILITY_NORMALIZE, ABILITY_WONDER_SKIN }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Delcatty"), @@ -2977,7 +2977,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = #if P_FAMILY_SABLEYE #define SABLEYE_MISC_INFO \ - .types = { TYPE_DARK, TYPE_GHOST }, \ + .types = MON_TYPES(TYPE_DARK, TYPE_GHOST), \ .catchRate = 45, \ .evYield_Attack = 1, \ .evYield_Defense = 1, \ @@ -2985,7 +2985,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 25, \ .friendship = 35, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE },\ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), \ .bodyColor = BODY_COLOR_PURPLE, \ .speciesName = _("Sableye"), \ .natDexNum = NATIONAL_DEX_SABLEYE, \ @@ -3073,23 +3073,23 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = #define MAWILE_TYPES { TYPE_STEEL, TYPE_STEEL } #endif -#define MAWILE_MISC_INFO \ - .types = MAWILE_TYPES, \ - .catchRate = 45, \ - .evYield_Attack = 1, \ - .evYield_Defense = 1, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, \ - .bodyColor = BODY_COLOR_BLACK, \ - .speciesName = _("Mawile"), \ - .natDexNum = NATIONAL_DEX_MAWILE, \ - .categoryName = _("Deceiver"), \ - FOOTPRINT(Mawile) \ - LEARNSETS(Mawile), \ - .formSpeciesIdTable = sMawileFormSpeciesIdTable, \ +#define MAWILE_MISC_INFO \ + .types = MAWILE_TYPES, \ + .catchRate = 45, \ + .evYield_Attack = 1, \ + .evYield_Defense = 1, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_FAST, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY),\ + .bodyColor = BODY_COLOR_BLACK, \ + .speciesName = _("Mawile"), \ + .natDexNum = NATIONAL_DEX_MAWILE, \ + .categoryName = _("Deceiver"), \ + FOOTPRINT(Mawile) \ + LEARNSETS(Mawile), \ + .formSpeciesIdTable = sMawileFormSpeciesIdTable, \ .formChangeTable = sMawileFormChangeTable [SPECIES_MAWILE] = @@ -3174,7 +3174,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 30, .baseSpAttack = 40, .baseSpDefense = 40, - .types = { TYPE_STEEL, TYPE_ROCK }, + .types = MON_TYPES(TYPE_STEEL, TYPE_ROCK), .catchRate = 180, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 66 : 96, .evYield_Defense = 1, @@ -3183,7 +3183,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 35, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), .abilities = { ABILITY_STURDY, ABILITY_ROCK_HEAD, ABILITY_HEAVY_METAL }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Aron"), @@ -3223,7 +3223,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 40, .baseSpAttack = 50, .baseSpDefense = 50, - .types = { TYPE_STEEL, TYPE_ROCK }, + .types = MON_TYPES(TYPE_STEEL, TYPE_ROCK), .catchRate = 90, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 151 : 152, .evYield_Defense = 2, @@ -3232,7 +3232,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 35, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), .abilities = { ABILITY_STURDY, ABILITY_ROCK_HEAD, ABILITY_HEAVY_METAL }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Lairon"), @@ -3272,7 +3272,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 35, \ .friendship = 35, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), \ .bodyColor = BODY_COLOR_GRAY, \ .speciesName = _("Aggron"), \ .natDexNum = NATIONAL_DEX_AGGRON, \ @@ -3291,7 +3291,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 50, .baseSpAttack = 60, .baseSpDefense = 60, - .types = { TYPE_STEEL, TYPE_ROCK }, + .types = MON_TYPES(TYPE_STEEL, TYPE_ROCK), #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 265, #elif P_UPDATED_EXP_YIELDS >= GEN_5 @@ -3333,7 +3333,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 50, .baseSpAttack = 60, .baseSpDefense = 80, - .types = { TYPE_STEEL, TYPE_STEEL }, + .types = MON_TYPES(TYPE_STEEL), .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 315 : 284, .abilities = { ABILITY_FILTER, ABILITY_FILTER, ABILITY_FILTER }, .cryId = CRY_AGGRON_MEGA, @@ -3371,7 +3371,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 60, .baseSpAttack = 40, .baseSpDefense = 55, - .types = { TYPE_FIGHTING, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_FIGHTING, TYPE_PSYCHIC), .catchRate = 180, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 56 : 91, .evYield_Speed = 1, @@ -3379,7 +3379,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_PURE_POWER, ABILITY_NONE, ABILITY_TELEPATHY }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Meditite"), @@ -3414,14 +3414,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = }, #define MEDICHAM_MISC_INFO \ - .types = { TYPE_FIGHTING, TYPE_PSYCHIC }, \ + .types = MON_TYPES(TYPE_FIGHTING, TYPE_PSYCHIC), \ .catchRate = 90, \ .evYield_Speed = 2, \ .genderRatio = PERCENT_FEMALE(50), \ .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE },\ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), \ .bodyColor = BODY_COLOR_RED, \ .speciesName = _("Medicham"), \ .natDexNum = NATIONAL_DEX_MEDICHAM, \ @@ -3508,7 +3508,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 65, .baseSpAttack = 65, .baseSpDefense = 40, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 59 : 104, .evYield_Speed = 1, @@ -3516,7 +3516,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_STATIC, ABILITY_LIGHTNING_ROD, ABILITY_MINUS }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Electrike"), @@ -3549,14 +3549,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = }, #define MANECTRIC_MISC_INFO \ - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, \ + .types = MON_TYPES(TYPE_ELECTRIC), \ .catchRate = 45, \ .evYield_Speed = 2, \ .genderRatio = PERCENT_FEMALE(50), \ .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .bodyColor = BODY_COLOR_YELLOW, \ .speciesName = _("Manectric"), \ .natDexNum = NATIONAL_DEX_MANECTRIC, \ @@ -3646,7 +3646,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 95, .baseSpAttack = 85, .baseSpDefense = 75, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 200, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 142 : 120, .evYield_Speed = 1, @@ -3655,7 +3655,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .abilities = { ABILITY_PLUS, ABILITY_NONE, ABILITY_LIGHTNING_ROD }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Plusle"), @@ -3696,7 +3696,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 95, .baseSpAttack = 75, .baseSpDefense = 85, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 200, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 142 : 120, .evYield_Speed = 1, @@ -3705,7 +3705,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .abilities = { ABILITY_MINUS, ABILITY_NONE, ABILITY_VOLT_ABSORB }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Minun"), @@ -3751,7 +3751,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseDefense = 55, .baseSpDefense = 75, #endif - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 150, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 151, @@ -3766,7 +3766,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_ILLUMINATE, ABILITY_SWARM, ABILITY_PRANKSTER }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Volbeat"), @@ -3810,7 +3810,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseDefense = 55, .baseSpDefense = 75, #endif - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 150, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 151, @@ -3825,7 +3825,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FLUCTUATING, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_OBLIVIOUS, ABILITY_TINTED_LENS, ABILITY_PRANKSTER }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Illumise"), @@ -3867,7 +3867,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 55, .baseSpAttack = 50, .baseSpDefense = 70, - .types = { TYPE_GRASS, TYPE_POISON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_POISON), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 56 : 68, .evYield_SpAttack = 1, @@ -3876,7 +3876,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_NATURAL_CURE, ABILITY_POISON_POINT, ABILITY_LEAF_GUARD }, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, @@ -3918,7 +3918,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 65, .baseSpAttack = 100, .baseSpDefense = 80, - .types = { TYPE_GRASS, TYPE_POISON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_POISON), .catchRate = 150, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 140 : 152, .evYield_SpAttack = (P_UPDATED_EVS >= GEN_4) ? 2 : 1, @@ -3927,7 +3927,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_GRASS), .abilities = { ABILITY_NATURAL_CURE, ABILITY_POISON_POINT, ABILITY_LEAF_GUARD }, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, @@ -3971,7 +3971,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 90, .baseSpAttack = 125, .baseSpDefense = 105, - .types = { TYPE_GRASS, TYPE_POISON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_POISON), .catchRate = 75, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 258, @@ -3988,7 +3988,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_GRASS), .abilities = { ABILITY_NATURAL_CURE, ABILITY_POISON_POINT, ABILITY_TECHNICIAN }, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, @@ -4033,7 +4033,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 40, .baseSpAttack = 43, .baseSpDefense = 53, - .types = { TYPE_POISON, TYPE_POISON }, + .types = MON_TYPES(TYPE_POISON), .catchRate = 225, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 60 : 75, .evYield_HP = 1, @@ -4043,7 +4043,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FLUCTUATING, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_LIQUID_OOZE, ABILITY_STICKY_HOLD, ABILITY_GLUTTONY }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Gulpin"), @@ -4085,7 +4085,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 55, .baseSpAttack = 73, .baseSpDefense = 83, - .types = { TYPE_POISON, TYPE_POISON }, + .types = MON_TYPES(TYPE_POISON), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 163 : 168, .evYield_HP = 2, @@ -4095,7 +4095,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FLUCTUATING, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_LIQUID_OOZE, ABILITY_STICKY_HOLD, ABILITY_GLUTTONY }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Swalot"), @@ -4138,7 +4138,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 65, .baseSpAttack = 65, .baseSpDefense = 20, - .types = { TYPE_WATER, TYPE_DARK }, + .types = MON_TYPES(TYPE_WATER, TYPE_DARK), .catchRate = 225, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 61 : 88, .evYield_Attack = 1, @@ -4147,7 +4147,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_ROUGH_SKIN, ABILITY_NONE, ABILITY_SPEED_BOOST }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Carvanha"), @@ -4180,7 +4180,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = }, #define SHARPEDO_MISC_INFO \ - .types = { TYPE_WATER, TYPE_DARK }, \ + .types = MON_TYPES(TYPE_WATER, TYPE_DARK), \ .catchRate = 60, \ .evYield_Attack = 2, \ .itemRare = ITEM_DEEP_SEA_TOOTH, \ @@ -4188,7 +4188,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, \ .friendship = 35, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), \ .bodyColor = BODY_COLOR_BLUE, \ .speciesName = _("Sharpedo"), \ .natDexNum = NATIONAL_DEX_SHARPEDO, \ @@ -4280,7 +4280,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 60, .baseSpAttack = 70, .baseSpDefense = 35, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 125, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 80 : 137, .evYield_HP = 1, @@ -4288,7 +4288,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FLUCTUATING, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_WATER_2), .abilities = { ABILITY_WATER_VEIL, ABILITY_OBLIVIOUS, ABILITY_PRESSURE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Wailmer"), @@ -4328,7 +4328,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 60, .baseSpAttack = 90, .baseSpDefense = 45, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 175 : 206, .evYield_HP = 2, @@ -4336,7 +4336,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FLUCTUATING, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_WATER_2), .abilities = { ABILITY_WATER_VEIL, ABILITY_OBLIVIOUS, ABILITY_PRESSURE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Wailord"), @@ -4378,7 +4378,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 35, .baseSpAttack = 65, .baseSpDefense = 45, - .types = { TYPE_FIRE, TYPE_GROUND }, + .types = MON_TYPES(TYPE_FIRE, TYPE_GROUND), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 61 : 88, .evYield_SpAttack = 1, @@ -4386,7 +4386,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_OBLIVIOUS, ABILITY_SIMPLE, ABILITY_OWN_TEMPO }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Numel"), @@ -4421,7 +4421,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = }, #define CAMERUPT_MISC_INFO \ - .types = { TYPE_FIRE, TYPE_GROUND }, \ + .types = MON_TYPES(TYPE_FIRE, TYPE_GROUND), \ .catchRate = 150, \ .evYield_Attack = 1, \ .evYield_SpAttack = 1, \ @@ -4429,7 +4429,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .bodyColor = BODY_COLOR_RED, \ .speciesName = _("Camerupt"), \ .natDexNum = NATIONAL_DEX_CAMERUPT, \ @@ -4522,7 +4522,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 20, .baseSpAttack = 85, .baseSpDefense = 70, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 90, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 165 : 161, .evYield_Defense = 2, @@ -4531,7 +4531,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_WHITE_SMOKE, ABILITY_DROUGHT, ABILITY_SHELL_ARMOR }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Torkoal"), @@ -4572,7 +4572,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 60, .baseSpAttack = 70, .baseSpDefense = 80, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 66 : 89, .evYield_SpDefense = 1, @@ -4580,7 +4580,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_THICK_FAT, ABILITY_OWN_TEMPO, ABILITY_GLUTTONY }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Spoink"), @@ -4620,7 +4620,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 80, .baseSpAttack = 90, .baseSpDefense = 110, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 165 : 164, .evYield_SpDefense = 2, @@ -4628,7 +4628,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_THICK_FAT, ABILITY_OWN_TEMPO, ABILITY_GLUTTONY }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Grumpig"), @@ -4670,7 +4670,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 60, .baseSpAttack = 60, .baseSpDefense = 60, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 126 : 85, .evYield_SpAttack = 1, @@ -4678,7 +4678,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_OWN_TEMPO, ABILITY_TANGLED_FEET, ABILITY_CONTRARY }, .bodyColor = BODY_COLOR_BROWN, .noFlip = TRUE, @@ -4720,7 +4720,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 10, .baseSpAttack = 45, .baseSpDefense = 45, - .types = { TYPE_GROUND, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GROUND), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 58 : 73, .evYield_Attack = 1, @@ -4730,9 +4730,9 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, #if P_UPDATED_EGG_GROUPS >= GEN_8 - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG, EGG_GROUP_DRAGON), #else - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), #endif .abilities = { ABILITY_HYPER_CUTTER, ABILITY_ARENA_TRAP, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_BROWN, @@ -4773,7 +4773,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 70, .baseSpAttack = 50, .baseSpDefense = 50, - .types = { TYPE_GROUND, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_GROUND, TYPE_DRAGON), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 119 : 126, .evYield_Attack = 1, @@ -4783,9 +4783,9 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, #if P_UPDATED_EGG_GROUPS >= GEN_8 - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG, EGG_GROUP_DRAGON), #else - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), #endif .abilities = { ABILITY_LEVITATE, ABILITY_LEVITATE, ABILITY_LEVITATE }, .bodyColor = BODY_COLOR_GREEN, @@ -4826,7 +4826,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 100, .baseSpAttack = 80, .baseSpDefense = 80, - .types = { TYPE_GROUND, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_GROUND, TYPE_DRAGON), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 260, @@ -4842,9 +4842,9 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, #if P_UPDATED_EGG_GROUPS >= GEN_8 - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG, EGG_GROUP_DRAGON), #else - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), #endif .abilities = { ABILITY_LEVITATE, ABILITY_LEVITATE, ABILITY_LEVITATE }, .bodyColor = BODY_COLOR_GREEN, @@ -4887,7 +4887,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 35, .baseSpAttack = 85, .baseSpDefense = 40, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 67 : 97, .evYield_SpAttack = 1, @@ -4896,7 +4896,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_SAND_VEIL, ABILITY_NONE, ABILITY_WATER_ABSORB }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Cacnea"), @@ -4936,7 +4936,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 55, .baseSpAttack = 115, .baseSpDefense = 60, - .types = { TYPE_GRASS, TYPE_DARK }, + .types = MON_TYPES(TYPE_GRASS, TYPE_DARK), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 166 : 177, .evYield_Attack = 1, @@ -4946,7 +4946,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_SAND_VEIL, ABILITY_NONE, ABILITY_WATER_ABSORB }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Cacturne"), @@ -4988,7 +4988,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 50, .baseSpAttack = 40, .baseSpDefense = 75, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 62 : 74, .evYield_SpDefense = 1, @@ -4996,7 +4996,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING, EGG_GROUP_DRAGON), .abilities = { ABILITY_NATURAL_CURE, ABILITY_NONE, ABILITY_CLOUD_NINE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Swablu"), @@ -5028,21 +5028,21 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_ALTARIA}), }, -#define ALTARIA_MISC_INFO \ - .catchRate = 45, \ - .evYield_SpDefense = 2, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_ERRATIC, \ - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_DRAGON },\ - .bodyColor = BODY_COLOR_BLUE, \ - .speciesName = _("Altaria"), \ - .natDexNum = NATIONAL_DEX_ALTARIA, \ - .categoryName = _("Humming"), \ - FOOTPRINT(Altaria) \ - LEARNSETS(Altaria), \ - .formSpeciesIdTable = sAltariaFormSpeciesIdTable, \ +#define ALTARIA_MISC_INFO \ + .catchRate = 45, \ + .evYield_SpDefense = 2, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_ERRATIC, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING, EGG_GROUP_DRAGON),\ + .bodyColor = BODY_COLOR_BLUE, \ + .speciesName = _("Altaria"), \ + .natDexNum = NATIONAL_DEX_ALTARIA, \ + .categoryName = _("Humming"), \ + FOOTPRINT(Altaria) \ + LEARNSETS(Altaria), \ + .formSpeciesIdTable = sAltariaFormSpeciesIdTable, \ .formChangeTable = sAltariaFormChangeTable [SPECIES_ALTARIA] = @@ -5054,7 +5054,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 80, .baseSpAttack = 70, .baseSpDefense = 105, - .types = { TYPE_DRAGON, TYPE_FLYING }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_FLYING), .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 172 : 188, .abilities = { ABILITY_NATURAL_CURE, ABILITY_NONE, ABILITY_CLOUD_NINE }, .cryId = CRY_ALTARIA, @@ -5090,7 +5090,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 80, .baseSpAttack = 110, .baseSpDefense = 105, - .types = { TYPE_DRAGON, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_FAIRY), .expYield = 207, .abilities = { ABILITY_PIXILATE, ABILITY_PIXILATE, ABILITY_PIXILATE }, .cryId = CRY_ALTARIA_MEGA, @@ -5129,7 +5129,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 90, .baseSpAttack = 60, .baseSpDefense = 60, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 90, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 160 : 165, .evYield_Attack = 2, @@ -5138,7 +5138,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_IMMUNITY, ABILITY_NONE, ABILITY_TOXIC_BOOST }, .bodyColor = BODY_COLOR_WHITE, .noFlip = TRUE, @@ -5180,7 +5180,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 65, .baseSpAttack = 100, .baseSpDefense = 60, - .types = { TYPE_POISON, TYPE_POISON }, + .types = MON_TYPES(TYPE_POISON), .catchRate = 90, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 160 : 165, .evYield_Attack = 1, @@ -5190,7 +5190,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FLUCTUATING, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_DRAGON), .abilities = { ABILITY_SHED_SKIN, ABILITY_NONE, ABILITY_INFILTRATOR }, .bodyColor = BODY_COLOR_BLACK, .noFlip = TRUE, @@ -5232,7 +5232,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 70, .baseSpAttack = 95, .baseSpDefense = 85, - .types = { TYPE_ROCK, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_ROCK, TYPE_PSYCHIC), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 161, @@ -5248,7 +5248,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Lunatone"), @@ -5290,7 +5290,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 70, .baseSpAttack = 55, .baseSpDefense = 65, - .types = { TYPE_ROCK, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_ROCK, TYPE_PSYCHIC), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 161, @@ -5306,7 +5306,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Solrock"), @@ -5348,7 +5348,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 60, .baseSpAttack = 46, .baseSpDefense = 41, - .types = { TYPE_WATER, TYPE_GROUND }, + .types = MON_TYPES(TYPE_WATER, TYPE_GROUND), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 58 : 92, .evYield_HP = 1, @@ -5356,7 +5356,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_OBLIVIOUS, ABILITY_ANTICIPATION, ABILITY_HYDRATION }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Barboach"), @@ -5397,7 +5397,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 60, .baseSpAttack = 76, .baseSpDefense = 71, - .types = { TYPE_WATER, TYPE_GROUND }, + .types = MON_TYPES(TYPE_WATER, TYPE_GROUND), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 164 : 158, .evYield_HP = 2, @@ -5405,7 +5405,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_OBLIVIOUS, ABILITY_ANTICIPATION, ABILITY_HYDRATION }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Whiscash"), @@ -5446,7 +5446,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 35, .baseSpAttack = 50, .baseSpDefense = 35, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 205, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 62 : 111, .evYield_Attack = 1, @@ -5454,7 +5454,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FLUCTUATING, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_3), .abilities = { ABILITY_HYPER_CUTTER, ABILITY_SHELL_ARMOR, ABILITY_ADAPTABILITY }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Corphish"), @@ -5494,7 +5494,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 55, .baseSpAttack = 90, .baseSpDefense = 55, - .types = { TYPE_WATER, TYPE_DARK }, + .types = MON_TYPES(TYPE_WATER, TYPE_DARK), .catchRate = 155, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 164 : 161, .evYield_Attack = 2, @@ -5502,7 +5502,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FLUCTUATING, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_3), .abilities = { ABILITY_HYPER_CUTTER, ABILITY_SHELL_ARMOR, ABILITY_ADAPTABILITY }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Crawdaunt"), @@ -5543,7 +5543,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 55, .baseSpAttack = 40, .baseSpDefense = 70, - .types = { TYPE_GROUND, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_GROUND, TYPE_PSYCHIC), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 60 : 58, .evYield_SpDefense = 1, @@ -5552,7 +5552,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Baltoy"), @@ -5593,7 +5593,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 75, .baseSpAttack = 70, .baseSpDefense = 120, - .types = { TYPE_GROUND, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_GROUND, TYPE_PSYCHIC), .catchRate = 90, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 175 : 189, .evYield_SpDefense = 2, @@ -5602,7 +5602,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Claydol"), @@ -5644,7 +5644,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 23, .baseSpAttack = 61, .baseSpDefense = 87, - .types = { TYPE_ROCK, TYPE_GRASS }, + .types = MON_TYPES(TYPE_ROCK, TYPE_GRASS), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_5 .expYield = 71, @@ -5659,7 +5659,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_SUCTION_CUPS, ABILITY_NONE, ABILITY_STORM_DRAIN }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Lileep"), @@ -5699,7 +5699,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 43, .baseSpAttack = 81, .baseSpDefense = 107, - .types = { TYPE_ROCK, TYPE_GRASS }, + .types = MON_TYPES(TYPE_ROCK, TYPE_GRASS), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_5 .expYield = 173, @@ -5714,7 +5714,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_SUCTION_CUPS, ABILITY_NONE, ABILITY_STORM_DRAIN }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Cradily"), @@ -5755,7 +5755,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 75, .baseSpAttack = 40, .baseSpDefense = 50, - .types = { TYPE_ROCK, TYPE_BUG }, + .types = MON_TYPES(TYPE_ROCK, TYPE_BUG), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_5 .expYield = 71, @@ -5769,7 +5769,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_BATTLE_ARMOR, ABILITY_NONE, ABILITY_SWIFT_SWIM }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Anorith"), @@ -5809,7 +5809,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 45, .baseSpAttack = 70, .baseSpDefense = 80, - .types = { TYPE_ROCK, TYPE_BUG }, + .types = MON_TYPES(TYPE_ROCK, TYPE_BUG), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_5 .expYield = 173, @@ -5823,7 +5823,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_BATTLE_ARMOR, ABILITY_NONE, ABILITY_SWIFT_SWIM }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Armaldo"), @@ -5864,7 +5864,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 80, .baseSpAttack = 10, .baseSpDefense = 55, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 40 : 61, .evYield_Speed = 1, @@ -5872,7 +5872,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_DRAGON), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_OBLIVIOUS, ABILITY_ADAPTABILITY }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Feebas"), @@ -5914,7 +5914,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 81, .baseSpAttack = 100, .baseSpDefense = 125, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 189 : 213, .evYield_SpDefense = 2, @@ -5922,7 +5922,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_DRAGON), .abilities = { ABILITY_MARVEL_SCALE, ABILITY_COMPETITIVE, ABILITY_CUTE_CHARM }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Milotic"), @@ -5958,43 +5958,43 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = #endif //P_FAMILY_FEEBAS #if P_FAMILY_CASTFORM -#define CASTFORM_MISC_INFO \ - .baseHP = 70, \ - .baseAttack = 70, \ - .baseDefense = 70, \ - .baseSpeed = 70, \ - .baseSpAttack = 70, \ - .baseSpDefense = 70, \ - .catchRate = 45, \ - .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 147 : 145,\ - .evYield_HP = 1, \ - .itemCommon = ITEM_MYSTIC_WATER, \ - .itemRare = ITEM_MYSTIC_WATER, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 25, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_AMORPHOUS }, \ - .abilities = { ABILITY_FORECAST, ABILITY_NONE }, \ - .speciesName = _("Castform"), \ - .cryId = CRY_CASTFORM, \ - .natDexNum = NATIONAL_DEX_CASTFORM, \ - .categoryName = _("Weather"), \ - .height = 3, \ - .weight = 8, \ - .pokemonScale = 435, \ - .pokemonOffset = -5, \ - .trainerScale = 256, \ - .trainerOffset = 0, \ - FOOTPRINT(Castform) \ - LEARNSETS(Castform), \ - .formSpeciesIdTable = sCastformFormSpeciesIdTable, \ +#define CASTFORM_MISC_INFO \ + .baseHP = 70, \ + .baseAttack = 70, \ + .baseDefense = 70, \ + .baseSpeed = 70, \ + .baseSpAttack = 70, \ + .baseSpDefense = 70, \ + .catchRate = 45, \ + .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 147 : 145, \ + .evYield_HP = 1, \ + .itemCommon = ITEM_MYSTIC_WATER, \ + .itemRare = ITEM_MYSTIC_WATER, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 25, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_AMORPHOUS),\ + .abilities = { ABILITY_FORECAST, ABILITY_NONE }, \ + .speciesName = _("Castform"), \ + .cryId = CRY_CASTFORM, \ + .natDexNum = NATIONAL_DEX_CASTFORM, \ + .categoryName = _("Weather"), \ + .height = 3, \ + .weight = 8, \ + .pokemonScale = 435, \ + .pokemonOffset = -5, \ + .trainerScale = 256, \ + .trainerOffset = 0, \ + FOOTPRINT(Castform) \ + LEARNSETS(Castform), \ + .formSpeciesIdTable = sCastformFormSpeciesIdTable, \ .formChangeTable = sCastformFormChangeTable [SPECIES_CASTFORM_NORMAL] = { CASTFORM_MISC_INFO, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .bodyColor = BODY_COLOR_GRAY, .description = COMPOUND_STRING( "It alters its form depending on the\n" @@ -6016,7 +6016,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = [SPECIES_CASTFORM_SUNNY] = { CASTFORM_MISC_INFO, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .bodyColor = BODY_COLOR_RED, .description = COMPOUND_STRING( "Castform takes this form on bright days.\n" @@ -6038,7 +6038,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = [SPECIES_CASTFORM_RAINY] = { CASTFORM_MISC_INFO, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .bodyColor = BODY_COLOR_BLUE, .description = COMPOUND_STRING( "This is Castform's form while it's raining.\n" @@ -6060,7 +6060,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = [SPECIES_CASTFORM_SNOWY] = { CASTFORM_MISC_INFO, - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .bodyColor = BODY_COLOR_WHITE, .description = COMPOUND_STRING( "This is Castform's form in a hailstorm.\n" @@ -6089,7 +6089,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 40, .baseSpAttack = 60, .baseSpDefense = 120, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 200, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 154 : 132, .evYield_SpDefense = 1, @@ -6097,7 +6097,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_COLOR_CHANGE, ABILITY_NONE, ABILITY_PROTEAN }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Kecleon"), @@ -6139,7 +6139,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 45, .baseSpAttack = 63, .baseSpDefense = 33, - .types = { TYPE_GHOST, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GHOST), .catchRate = 225, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 59 : 97, .evYield_Attack = 1, @@ -6148,7 +6148,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 25, .friendship = 35, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_INSOMNIA, ABILITY_FRISK, ABILITY_CURSED_BODY }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Shuppet"), @@ -6182,7 +6182,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = }, #define BANETTE_MISC_INFO \ - .types = { TYPE_GHOST, TYPE_GHOST }, \ + .types = MON_TYPES(TYPE_GHOST), \ .catchRate = 45, \ .evYield_Attack = 2, \ .itemRare = ITEM_SPELL_TAG, \ @@ -6190,7 +6190,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 25, \ .friendship = 35, \ .growthRate = GROWTH_FAST, \ - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), \ .bodyColor = BODY_COLOR_BLACK, \ .speciesName = _("Banette"), \ .natDexNum = NATIONAL_DEX_BANETTE, \ @@ -6281,7 +6281,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 25, .baseSpAttack = 30, .baseSpDefense = 90, - .types = { TYPE_GHOST, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GHOST), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 59 : 97, .evYield_Defense = (P_UPDATED_EVS >= GEN_4) ? 0 : 1, @@ -6291,7 +6291,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 25, .friendship = 35, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_LEVITATE, ABILITY_NONE, ABILITY_FRISK }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Duskull"), @@ -6332,7 +6332,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 25, .baseSpAttack = 60, .baseSpDefense = 130, - .types = { TYPE_GHOST, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GHOST), .catchRate = 90, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 159 : 179, .evYield_Defense = 1, @@ -6342,7 +6342,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 25, .friendship = 35, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_PRESSURE, ABILITY_NONE, ABILITY_FRISK }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Dusclops"), @@ -6385,7 +6385,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 45, .baseSpAttack = 65, .baseSpDefense = 135, - .types = { TYPE_GHOST, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GHOST), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 263, @@ -6401,7 +6401,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 25, .friendship = 35, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_PRESSURE, ABILITY_NONE, ABILITY_FRISK }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Dusknoir"), @@ -6444,7 +6444,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 51, .baseSpAttack = 72, .baseSpDefense = 87, - .types = { TYPE_GRASS, TYPE_FLYING }, + .types = MON_TYPES(TYPE_GRASS, TYPE_FLYING), .catchRate = 200, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 161 : 169, .evYield_HP = 2, @@ -6452,7 +6452,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_SOLAR_POWER, ABILITY_HARVEST }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Tropius"), @@ -6494,7 +6494,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 45, .baseSpAttack = 65, .baseSpDefense = 50, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 57 : 74, .evYield_SpAttack = 1, @@ -6503,7 +6503,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Chingling"), @@ -6550,7 +6550,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseDefense = 70, .baseSpDefense = 80, #endif - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_7 .expYield = 159, @@ -6566,7 +6566,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Chimecho"), @@ -6601,14 +6601,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = #if P_FAMILY_ABSOL #define ABSOL_MISC_INFO \ - .types = { TYPE_DARK, TYPE_DARK }, \ + .types = MON_TYPES(TYPE_DARK), \ .catchRate = 30, \ .evYield_Attack = 2, \ .genderRatio = PERCENT_FEMALE(50), \ .eggCycles = 25, \ .friendship = 35, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .bodyColor = BODY_COLOR_WHITE, \ .noFlip = TRUE, \ .speciesName = _("Absol"), \ @@ -6696,7 +6696,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 50, .baseSpAttack = 50, .baseSpDefense = 50, - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 60 : 74, .evYield_HP = 1, @@ -6705,7 +6705,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_MINERAL), .abilities = { ABILITY_INNER_FOCUS, ABILITY_ICE_BODY, ABILITY_MOODY }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Snorunt"), @@ -6739,22 +6739,22 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = {EVO_ITEM_FEMALE, ITEM_DAWN_STONE, SPECIES_FROSLASS}), }, -#define GLALIE_MISC_INFO \ - .types = { TYPE_ICE, TYPE_ICE }, \ - .catchRate = 75, \ - .evYield_HP = 2, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_MINERAL },\ - .bodyColor = BODY_COLOR_GRAY, \ - .speciesName = _("Glalie"), \ - .natDexNum = NATIONAL_DEX_GLALIE, \ - .categoryName = _("Face"), \ - FOOTPRINT(Glalie) \ - LEARNSETS(Glalie), \ - .formSpeciesIdTable = sGlalieFormSpeciesIdTable, \ +#define GLALIE_MISC_INFO \ + .types = MON_TYPES(TYPE_ICE), \ + .catchRate = 75, \ + .evYield_HP = 2, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_MINERAL),\ + .bodyColor = BODY_COLOR_GRAY, \ + .speciesName = _("Glalie"), \ + .natDexNum = NATIONAL_DEX_GLALIE, \ + .categoryName = _("Face"), \ + FOOTPRINT(Glalie) \ + LEARNSETS(Glalie), \ + .formSpeciesIdTable = sGlalieFormSpeciesIdTable, \ .formChangeTable = sGlalieFormChangeTable [SPECIES_GLALIE] = @@ -6838,7 +6838,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 110, .baseSpAttack = 80, .baseSpDefense = 70, - .types = { TYPE_ICE, TYPE_GHOST }, + .types = MON_TYPES(TYPE_ICE, TYPE_GHOST), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 168 : 187, .evYield_Speed = 2, @@ -6846,7 +6846,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_MINERAL), .abilities = { ABILITY_SNOW_CLOAK, ABILITY_NONE, ABILITY_CURSED_BODY }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Froslass"), @@ -6889,7 +6889,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 25, .baseSpAttack = 55, .baseSpDefense = 50, - .types = { TYPE_ICE, TYPE_WATER }, + .types = MON_TYPES(TYPE_ICE, TYPE_WATER), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 58 : 75, .evYield_HP = 1, @@ -6897,7 +6897,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_THICK_FAT, ABILITY_ICE_BODY, ABILITY_OBLIVIOUS }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Spheal"), @@ -6938,7 +6938,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 45, .baseSpAttack = 75, .baseSpDefense = 70, - .types = { TYPE_ICE, TYPE_WATER }, + .types = MON_TYPES(TYPE_ICE, TYPE_WATER), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 144 : 128, .evYield_HP = 2, @@ -6946,7 +6946,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_THICK_FAT, ABILITY_ICE_BODY, ABILITY_OBLIVIOUS }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Sealeo"), @@ -6986,7 +6986,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 65, .baseSpAttack = 95, .baseSpDefense = 90, - .types = { TYPE_ICE, TYPE_WATER }, + .types = MON_TYPES(TYPE_ICE, TYPE_WATER), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 265, @@ -7000,7 +7000,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_THICK_FAT, ABILITY_ICE_BODY, ABILITY_OBLIVIOUS }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Walrein"), @@ -7041,7 +7041,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 32, .baseSpAttack = 74, .baseSpDefense = 55, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 69 : 142, .evYield_Defense = 1, @@ -7051,7 +7051,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_SHELL_ARMOR, ABILITY_NONE, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Clamperl"), @@ -7094,7 +7094,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 52, .baseSpAttack = 94, .baseSpDefense = 75, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 170 : 178, .evYield_Attack = 1, @@ -7104,7 +7104,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_NONE, ABILITY_WATER_VEIL }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Huntail"), @@ -7143,7 +7143,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 52, .baseSpAttack = 114, .baseSpDefense = 75, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 170 : 178, .evYield_SpAttack = 2, @@ -7152,7 +7152,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_NONE, ABILITY_HYDRATION }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Gorebyss"), @@ -7193,7 +7193,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 55, .baseSpAttack = 45, .baseSpDefense = 65, - .types = { TYPE_WATER, TYPE_ROCK }, + .types = MON_TYPES(TYPE_WATER, TYPE_ROCK), .catchRate = 25, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 170 : 198, .evYield_HP = 1, @@ -7203,7 +7203,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_2), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_ROCK_HEAD, ABILITY_STURDY }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Relicanth"), @@ -7246,7 +7246,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 97, .baseSpAttack = 40, .baseSpDefense = 65, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 225, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 116 : 110, .evYield_Speed = 1, @@ -7255,7 +7255,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_NONE, ABILITY_HYDRATION }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Luvdisc"), @@ -7296,7 +7296,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 50, .baseSpAttack = 40, .baseSpDefense = 30, - .types = { TYPE_DRAGON, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_DRAGON), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 60 : 89, .evYield_Attack = 1, @@ -7305,7 +7305,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON), .abilities = { ABILITY_ROCK_HEAD, ABILITY_NONE, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Bagon"), @@ -7345,7 +7345,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 50, .baseSpAttack = 60, .baseSpDefense = 50, - .types = { TYPE_DRAGON, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_DRAGON), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 147 : 144, .evYield_Defense = 2, @@ -7354,7 +7354,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON), .abilities = { ABILITY_ROCK_HEAD, ABILITY_NONE, ABILITY_OVERCOAT }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Shelgon"), @@ -7387,7 +7387,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = }, #define SALAMENCE_MISC_INFO \ - .types = { TYPE_DRAGON, TYPE_FLYING }, \ + .types = MON_TYPES(TYPE_DRAGON, TYPE_FLYING), \ .catchRate = 45, \ .evYield_Attack = 3, \ .itemRare = ITEM_DRAGON_FANG, \ @@ -7395,7 +7395,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 40, \ .friendship = 35, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_DRAGON },\ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON), \ .bodyColor = BODY_COLOR_BLUE, \ .speciesName = _("Salamence"), \ .natDexNum = NATIONAL_DEX_SALAMENCE, \ @@ -7493,7 +7493,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 30, .baseSpAttack = 35, .baseSpDefense = 60, - .types = { TYPE_STEEL, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_STEEL, TYPE_PSYCHIC), .catchRate = 3, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 60 : 103, .evYield_Defense = 1, @@ -7502,7 +7502,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_CLEAR_BODY, ABILITY_NONE, ABILITY_LIGHT_METAL }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Beldum"), @@ -7544,7 +7544,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 50, .baseSpAttack = 55, .baseSpDefense = 80, - .types = { TYPE_STEEL, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_STEEL, TYPE_PSYCHIC), .catchRate = 3, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 147 : 153, .evYield_Defense = 2, @@ -7553,7 +7553,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_CLEAR_BODY, ABILITY_NONE, ABILITY_LIGHT_METAL }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Metang"), @@ -7586,7 +7586,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = }, #define METAGROSS_MISC_INFO \ - .types = { TYPE_STEEL, TYPE_PSYCHIC }, \ + .types = MON_TYPES(TYPE_STEEL, TYPE_PSYCHIC), \ .catchRate = 3, \ .evYield_Defense = 3, \ .itemRare = ITEM_METAL_COAT, \ @@ -7594,7 +7594,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 40, \ .friendship = 35, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), \ .bodyColor = BODY_COLOR_BLUE, \ .speciesName = _("Metagross"), \ .natDexNum = NATIONAL_DEX_METAGROSS, \ @@ -7691,7 +7691,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 50, .baseSpAttack = 50, .baseSpDefense = 100, - .types = { TYPE_ROCK, TYPE_ROCK }, + .types = MON_TYPES(TYPE_ROCK), .catchRate = 3, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 290, @@ -7705,7 +7705,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_CLEAR_BODY, ABILITY_NONE, ABILITY_STURDY }, .bodyColor = BODY_COLOR_BROWN, .noFlip = TRUE, @@ -7748,7 +7748,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 50, .baseSpAttack = 100, .baseSpDefense = 200, - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .catchRate = 3, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 290, @@ -7762,7 +7762,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_CLEAR_BODY, ABILITY_NONE, ABILITY_ICE_BODY }, .bodyColor = BODY_COLOR_BLUE, .isLegendary = TRUE, @@ -7804,7 +7804,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 50, .baseSpAttack = 75, .baseSpDefense = 150, - .types = { TYPE_STEEL, TYPE_STEEL }, + .types = MON_TYPES(TYPE_STEEL), .catchRate = 3, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 290, @@ -7819,7 +7819,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_CLEAR_BODY, ABILITY_NONE, ABILITY_LIGHT_METAL }, .bodyColor = BODY_COLOR_GRAY, .isLegendary = TRUE, @@ -7854,14 +7854,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = #if P_FAMILY_LATIAS #define LATIAS_MISC_INFO \ - .types = { TYPE_DRAGON, TYPE_PSYCHIC }, \ + .types = MON_TYPES(TYPE_DRAGON, TYPE_PSYCHIC), \ .catchRate = 3, \ .evYield_SpDefense = 3, \ .genderRatio = MON_FEMALE, \ .eggCycles = 120, \ .friendship = 90, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED },\ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .speciesName = _("Latias"), \ .natDexNum = NATIONAL_DEX_LATIAS, \ .categoryName = _("Eon"), \ @@ -7955,14 +7955,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = #if P_FAMILY_LATIOS #define LATIOS_MISC_INFO \ - .types = { TYPE_DRAGON, TYPE_PSYCHIC }, \ + .types = MON_TYPES(TYPE_DRAGON, TYPE_PSYCHIC), \ .catchRate = 3, \ .evYield_SpAttack = 3, \ .genderRatio = MON_MALE, \ .eggCycles = 120, \ .friendship = 90, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED },\ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .isLegendary = TRUE, \ .speciesName = _("Latios"), \ .natDexNum = NATIONAL_DEX_LATIOS, \ @@ -8056,14 +8056,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = #if P_FAMILY_KYOGRE #define KYOGRE_MISC_INFO \ - .types = { TYPE_WATER, TYPE_WATER }, \ + .types = MON_TYPES(TYPE_WATER), \ .catchRate = 3, \ .evYield_SpAttack = 3, \ .genderRatio = MON_GENDERLESS, \ .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED },\ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .bodyColor = BODY_COLOR_BLUE, \ .isLegendary = TRUE, \ .speciesName = _("Kyogre"), \ @@ -8160,7 +8160,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED },\ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .bodyColor = BODY_COLOR_RED, \ .isLegendary = TRUE, \ .speciesName = _("Groudon"), \ @@ -8188,7 +8188,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = #else .expYield = 218, #endif - .types = { TYPE_GROUND, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GROUND), .abilities = { ABILITY_DROUGHT, ABILITY_NONE }, .height = 35, .weight = 9500, @@ -8223,7 +8223,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpAttack = 150, .baseSpDefense = 90, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 385 : 347, - .types = { TYPE_GROUND, TYPE_FIRE }, + .types = MON_TYPES(TYPE_GROUND, TYPE_FIRE), .abilities = { ABILITY_DESOLATE_LAND, ABILITY_DESOLATE_LAND }, .height = 50, .weight = 9997, @@ -8253,7 +8253,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = #if P_FAMILY_RAYQUAZA #define RAYQUAZA_MISC_INFO \ - .types = { TYPE_DRAGON, TYPE_FLYING }, \ + .types = MON_TYPES(TYPE_DRAGON, TYPE_FLYING), \ .catchRate = 45, \ .evYield_Attack = 2, \ .evYield_SpAttack = 1, \ @@ -8261,7 +8261,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED },\ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .bodyColor = BODY_COLOR_GREEN, \ .speciesName = _("Rayquaza"), \ .cryId = CRY_RAYQUAZA, \ @@ -8361,7 +8361,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .baseSpeed = 100, .baseSpAttack = 100, .baseSpDefense = 100, - .types = { TYPE_STEEL, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_STEEL, TYPE_PSYCHIC), .catchRate = 3, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 300, @@ -8377,7 +8377,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .eggCycles = 120, .friendship = 100, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_SERENE_GRACE, ABILITY_NONE }, .bodyColor = BODY_COLOR_YELLOW, .isMythical = TRUE, @@ -8421,14 +8421,14 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = #endif #define DEOXYS_MISC_INFO \ - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, \ + .types = MON_TYPES(TYPE_PSYCHIC), \ .catchRate = 3, \ .expYield = DEOXYS_EXP_YIELD, \ .genderRatio = MON_GENDERLESS, \ .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED },\ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_PRESSURE, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_RED, \ .isMythical = TRUE, \ diff --git a/src/data/pokemon/species_info/gen_4.h b/src/data/pokemon/species_info/gen_4.h index ecb17a8923..17bf0c6677 100644 --- a/src/data/pokemon/species_info/gen_4.h +++ b/src/data/pokemon/species_info/gen_4.h @@ -12,7 +12,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 31, .baseSpAttack = 45, .baseSpDefense = 55, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = 64, .evYield_Attack = 1, @@ -20,7 +20,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_SHELL_ARMOR }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Turtwig"), @@ -60,7 +60,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 36, .baseSpAttack = 55, .baseSpDefense = 65, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 142 : 141, .evYield_Attack = 1, @@ -69,7 +69,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_SHELL_ARMOR }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Grotle"), @@ -109,7 +109,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 56, .baseSpAttack = 75, .baseSpDefense = 85, - .types = { TYPE_GRASS, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GRASS, TYPE_GROUND), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 263, @@ -124,7 +124,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_SHELL_ARMOR }, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, @@ -166,7 +166,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 61, .baseSpAttack = 58, .baseSpDefense = 44, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 62 : 65, .evYield_Speed = 1, @@ -174,7 +174,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_IRON_FIST }, .bodyColor = BODY_COLOR_BROWN, .noFlip = TRUE, @@ -215,7 +215,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 81, .baseSpAttack = 78, .baseSpDefense = 52, - .types = { TYPE_FIRE, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIRE, TYPE_FIGHTING), .catchRate = 45, .expYield = 142, .evYield_Speed = 1, @@ -224,7 +224,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_IRON_FIST }, .bodyColor = BODY_COLOR_BROWN, .noFlip = TRUE, @@ -265,7 +265,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 108, .baseSpAttack = 104, .baseSpDefense = 71, - .types = { TYPE_FIRE, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIRE, TYPE_FIGHTING), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 267, @@ -281,7 +281,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_IRON_FIST }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Infernape"), @@ -322,7 +322,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 40, .baseSpAttack = 61, .baseSpDefense = 56, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 63 : 66, .evYield_SpAttack = 1, @@ -330,7 +330,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), #if P_UPDATED_ABILITIES >= GEN_9 .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_COMPETITIVE }, #else @@ -374,7 +374,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 50, .baseSpAttack = 81, .baseSpDefense = 76, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 142 : 143, .evYield_SpAttack = 2, @@ -382,7 +382,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), #if P_UPDATED_ABILITIES >= GEN_9 .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_COMPETITIVE }, #else @@ -426,7 +426,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 60, .baseSpAttack = 111, .baseSpDefense = 101, - .types = { TYPE_WATER, TYPE_STEEL }, + .types = MON_TYPES(TYPE_WATER, TYPE_STEEL), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 265, @@ -440,7 +440,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), #if P_UPDATED_ABILITIES >= GEN_9 .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_COMPETITIVE }, #else @@ -485,7 +485,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 60, .baseSpAttack = 30, .baseSpDefense = 30, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 49 : 56, .evYield_Speed = 1, @@ -493,7 +493,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_NONE, ABILITY_RECKLESS }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Starly"), @@ -535,7 +535,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 80, .baseSpAttack = 40, .baseSpDefense = 40, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 119 : 113, .evYield_Speed = 2, @@ -543,7 +543,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_INTIMIDATE, ABILITY_NONE, ABILITY_RECKLESS }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Staravia"), @@ -585,7 +585,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 100, .baseSpAttack = 50, .baseSpDefense = P_UPDATED_STATS >= GEN_6 ? 60 : 50, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 243, @@ -601,7 +601,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_INTIMIDATE, ABILITY_NONE, ABILITY_RECKLESS }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Staraptor"), @@ -643,7 +643,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 31, .baseSpAttack = 35, .baseSpDefense = 40, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 50 : 58, .evYield_HP = 1, @@ -651,7 +651,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_SIMPLE, ABILITY_UNAWARE, ABILITY_MOODY }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Bidoof"), @@ -693,7 +693,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 71, .baseSpAttack = 55, .baseSpDefense = 60, - .types = { TYPE_NORMAL, TYPE_WATER }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_WATER), .catchRate = 127, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 144 : 116, .evYield_Attack = 2, @@ -701,7 +701,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_SIMPLE, ABILITY_UNAWARE, ABILITY_MOODY }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Bibarel"), @@ -743,7 +743,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 25, .baseSpAttack = 25, .baseSpDefense = 41, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 39 : 54, .evYield_Defense = 1, @@ -752,7 +752,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SHED_SKIN, ABILITY_NONE, ABILITY_RUN_AWAY }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Kricketot"), @@ -795,7 +795,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 65, .baseSpAttack = 55, .baseSpDefense = 51, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 134 : 159, .evYield_Attack = 2, @@ -804,7 +804,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_NONE, ABILITY_TECHNICIAN }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Kricketune"), @@ -847,7 +847,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 45, .baseSpAttack = 40, .baseSpDefense = 34, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 235, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 53 : 60, .evYield_Attack = 1, @@ -855,7 +855,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_RIVALRY, ABILITY_INTIMIDATE, ABILITY_GUTS }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Shinx"), @@ -897,7 +897,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 60, .baseSpAttack = 60, .baseSpDefense = 49, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 127 : 117, .evYield_Attack = 2, @@ -905,7 +905,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = 100, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_RIVALRY, ABILITY_INTIMIDATE, ABILITY_GUTS }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Luxio"), @@ -947,7 +947,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 70, .baseSpAttack = 95, .baseSpDefense = 79, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 262, @@ -961,7 +961,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_RIVALRY, ABILITY_INTIMIDATE, ABILITY_GUTS }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Luxray"), @@ -1004,7 +1004,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 58, .baseSpAttack = 30, .baseSpDefense = 30, - .types = { TYPE_ROCK, TYPE_ROCK }, + .types = MON_TYPES(TYPE_ROCK), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 70 : 99, .evYield_Attack = 1, @@ -1012,7 +1012,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), .abilities = { ABILITY_MOLD_BREAKER, ABILITY_NONE, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Cranidos"), @@ -1052,7 +1052,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 58, .baseSpAttack = 65, .baseSpDefense = 50, - .types = { TYPE_ROCK, TYPE_ROCK }, + .types = MON_TYPES(TYPE_ROCK), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 173 : 199, .evYield_Attack = 2, @@ -1060,7 +1060,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), .abilities = { ABILITY_MOLD_BREAKER, ABILITY_NONE, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Rampardos"), @@ -1101,7 +1101,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 30, .baseSpAttack = 42, .baseSpDefense = 88, - .types = { TYPE_ROCK, TYPE_STEEL }, + .types = MON_TYPES(TYPE_ROCK, TYPE_STEEL), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 70 : 99, .evYield_Defense = 1, @@ -1109,7 +1109,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), .abilities = { ABILITY_STURDY, ABILITY_NONE, ABILITY_SOUNDPROOF }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Shieldon"), @@ -1149,7 +1149,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 30, .baseSpAttack = 47, .baseSpDefense = 138, - .types = { TYPE_ROCK, TYPE_STEEL }, + .types = MON_TYPES(TYPE_ROCK, TYPE_STEEL), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 173 : 199, .evYield_Defense = 2, @@ -1157,7 +1157,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), .abilities = { ABILITY_STURDY, ABILITY_NONE, ABILITY_SOUNDPROOF }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Bastiodon"), @@ -1197,7 +1197,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 36, \ .baseSpAttack = 29, \ .baseSpDefense = 45, \ - .types = { TYPE_BUG, TYPE_BUG }, \ + .types = MON_TYPES(TYPE_BUG), \ .catchRate = 120, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 45 : 61, \ .evYield_SpDefense = 1, \ @@ -1205,7 +1205,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), \ .abilities = { ABILITY_SHED_SKIN, ABILITY_NONE, ABILITY_OVERCOAT }, \ .speciesName = _("Burmy"), \ .cryId = CRY_BURMY, \ @@ -1292,7 +1292,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), \ .abilities = { ABILITY_ANTICIPATION, ABILITY_NONE, ABILITY_OVERCOAT }, \ .speciesName = _("Wormadam"), \ .cryId = CRY_WORMADAM, \ @@ -1322,7 +1322,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 36, .baseSpAttack = 79, .baseSpDefense = 105, - .types = { TYPE_BUG, TYPE_GRASS }, + .types = MON_TYPES(TYPE_BUG, TYPE_GRASS), .evYield_SpDefense = 2, .bodyColor = BODY_COLOR_GREEN, .description = COMPOUND_STRING( @@ -1346,7 +1346,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 36, .baseSpAttack = 59, .baseSpDefense = 85, - .types = { TYPE_BUG, TYPE_GROUND }, + .types = MON_TYPES(TYPE_BUG, TYPE_GROUND), .evYield_Defense = 2, .bodyColor = BODY_COLOR_BROWN, .description = COMPOUND_STRING( @@ -1370,7 +1370,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 36, .baseSpAttack = 69, .baseSpDefense = 95, - .types = { TYPE_BUG, TYPE_STEEL }, + .types = MON_TYPES(TYPE_BUG, TYPE_STEEL), .evYield_Defense = 1, .evYield_SpDefense = 1, .bodyColor = BODY_COLOR_RED, @@ -1394,7 +1394,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 66, .baseSpAttack = 94, .baseSpDefense = 50, - .types = { TYPE_BUG, TYPE_FLYING }, + .types = MON_TYPES(TYPE_BUG, TYPE_FLYING), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 148 : 159, .evYield_Attack = 1, @@ -1404,7 +1404,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_NONE, ABILITY_TINTED_LENS }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Mothim"), @@ -1446,7 +1446,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 70, .baseSpAttack = 30, .baseSpDefense = 42, - .types = { TYPE_BUG, TYPE_FLYING }, + .types = MON_TYPES(TYPE_BUG, TYPE_FLYING), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 49 : 63, .evYield_Speed = 1, @@ -1455,7 +1455,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_HONEY_GATHER, ABILITY_NONE, ABILITY_HUSTLE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Combee"), @@ -1498,7 +1498,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 40, .baseSpAttack = 80, .baseSpDefense = 102, - .types = { TYPE_BUG, TYPE_FLYING }, + .types = MON_TYPES(TYPE_BUG, TYPE_FLYING), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 166 : 188, .evYield_Defense = 1, @@ -1508,7 +1508,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_PRESSURE, ABILITY_NONE, ABILITY_UNNERVE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Vespiquen"), @@ -1550,7 +1550,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 95, .baseSpAttack = 45, .baseSpDefense = 90, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 200, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 142 : 120, .evYield_Speed = 1, @@ -1558,7 +1558,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 10, .friendship = 100, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY), .abilities = { ABILITY_RUN_AWAY, ABILITY_PICKUP, ABILITY_VOLT_ABSORB }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Pachirisu"), @@ -1600,7 +1600,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 85, .baseSpAttack = 60, .baseSpDefense = 30, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 66 : 75, .evYield_Speed = 1, @@ -1608,7 +1608,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_NONE, ABILITY_WATER_VEIL }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Buizel"), @@ -1649,7 +1649,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 115, .baseSpAttack = 85, .baseSpDefense = 50, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 173 : 178, .evYield_Speed = 2, @@ -1657,7 +1657,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_NONE, ABILITY_WATER_VEIL }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Floatzel"), @@ -1699,7 +1699,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 35, .baseSpAttack = 62, .baseSpDefense = 53, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 55 : 68, .evYield_SpAttack = 1, @@ -1708,7 +1708,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_NONE }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Cherubi"), @@ -1740,37 +1740,37 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .evolutions = EVOLUTION({EVO_LEVEL, 25, SPECIES_CHERRIM_OVERCAST}), }, -#define CHERRIM_MISC_INFO \ - .baseHP = 70, \ - .baseAttack = 60, \ - .baseDefense = 70, \ - .baseSpeed = 85, \ - .baseSpAttack = 87, \ - .baseSpDefense = 78, \ - .types = { TYPE_GRASS, TYPE_GRASS }, \ - .catchRate = 75, \ - .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 158 : 133,\ - .evYield_SpAttack = 2, \ - .itemRare = ITEM_MIRACLE_SEED, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_GRASS }, \ - .abilities = { ABILITY_FLOWER_GIFT, ABILITY_NONE }, \ - .speciesName = _("Cherrim"), \ - .cryId = CRY_CHERRIM, \ - .natDexNum = NATIONAL_DEX_CHERRIM, \ - .categoryName = _("Blossom"), \ - .height = 5, \ - .weight = 93, \ - .pokemonScale = 432, \ - .pokemonOffset = 13, \ - .trainerScale = 256, \ - .trainerOffset = 0, \ - FOOTPRINT(Cherrim) \ - LEARNSETS(Cherrim), \ - .formSpeciesIdTable = sCherrimFormSpeciesIdTable, \ +#define CHERRIM_MISC_INFO \ + .baseHP = 70, \ + .baseAttack = 60, \ + .baseDefense = 70, \ + .baseSpeed = 85, \ + .baseSpAttack = 87, \ + .baseSpDefense = 78, \ + .types = MON_TYPES(TYPE_GRASS), \ + .catchRate = 75, \ + .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 158 : 133, \ + .evYield_SpAttack = 2, \ + .itemRare = ITEM_MIRACLE_SEED, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_GRASS),\ + .abilities = { ABILITY_FLOWER_GIFT, ABILITY_NONE }, \ + .speciesName = _("Cherrim"), \ + .cryId = CRY_CHERRIM, \ + .natDexNum = NATIONAL_DEX_CHERRIM, \ + .categoryName = _("Blossom"), \ + .height = 5, \ + .weight = 93, \ + .pokemonScale = 432, \ + .pokemonOffset = 13, \ + .trainerScale = 256, \ + .trainerOffset = 0, \ + FOOTPRINT(Cherrim) \ + LEARNSETS(Cherrim), \ + .formSpeciesIdTable = sCherrimFormSpeciesIdTable, \ .formChangeTable = sCherrimFormChangeTable [SPECIES_CHERRIM_OVERCAST] = @@ -1822,7 +1822,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 34, \ .baseSpAttack = 57, \ .baseSpDefense = 62, \ - .types = { TYPE_WATER, TYPE_WATER }, \ + .types = MON_TYPES(TYPE_WATER), \ .catchRate = 190, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 65 : 73, \ .evYield_HP = 1, \ @@ -1830,7 +1830,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS), \ .abilities = { ABILITY_STICKY_HOLD, ABILITY_STORM_DRAIN, ABILITY_SAND_FORCE }, \ .speciesName = _("Shellos"), \ .cryId = CRY_SHELLOS, \ @@ -1891,7 +1891,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 39, \ .baseSpAttack = 92, \ .baseSpDefense = 82, \ - .types = { TYPE_WATER, TYPE_GROUND }, \ + .types = MON_TYPES(TYPE_WATER, TYPE_GROUND), \ .catchRate = 75, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 166 : 176, \ .evYield_HP = 2, \ @@ -1899,7 +1899,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS), \ .abilities = { ABILITY_STICKY_HOLD, ABILITY_STORM_DRAIN, ABILITY_SAND_FORCE }, \ .speciesName = _("Gastrodon"), \ .cryId = CRY_GASTRODON, \ @@ -1960,7 +1960,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 70, .baseSpAttack = 60, .baseSpDefense = 44, - .types = { TYPE_GHOST, TYPE_FLYING }, + .types = MON_TYPES(TYPE_GHOST, TYPE_FLYING), .catchRate = 125, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 70 : 127, .evYield_HP = 1, @@ -1968,7 +1968,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FLUCTUATING, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_AFTERMATH, ABILITY_UNBURDEN, ABILITY_FLARE_BOOST }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Drifloon"), @@ -2009,7 +2009,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 80, .baseSpAttack = 90, .baseSpDefense = 54, - .types = { TYPE_GHOST, TYPE_FLYING }, + .types = MON_TYPES(TYPE_GHOST, TYPE_FLYING), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 174 : 204, .evYield_HP = 2, @@ -2017,7 +2017,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FLUCTUATING, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_AFTERMATH, ABILITY_UNBURDEN, ABILITY_FLARE_BOOST }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Drifblim"), @@ -2059,7 +2059,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 85, .baseSpAttack = 44, .baseSpDefense = 56, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 70 : 84, .evYield_Speed = 1, @@ -2067,7 +2067,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = 0, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_RUN_AWAY, ABILITY_KLUTZ, ABILITY_LIMBER }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Buneary"), @@ -2099,21 +2099,21 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .evolutions = EVOLUTION({EVO_FRIENDSHIP, 0, SPECIES_LOPUNNY}), }, -#define LOPUNNY_MISC_INFO \ - .catchRate = 60, \ - .evYield_Speed = 2, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 20, \ - .friendship = 140, \ - .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE }, \ - .bodyColor = BODY_COLOR_BROWN, \ - .speciesName = _("Lopunny"), \ - .natDexNum = NATIONAL_DEX_LOPUNNY, \ - .categoryName = _("Rabbit"), \ - FOOTPRINT(Lopunny) \ - LEARNSETS(Lopunny), \ - .formSpeciesIdTable = sLopunnyFormSpeciesIdTable, \ +#define LOPUNNY_MISC_INFO \ + .catchRate = 60, \ + .evYield_Speed = 2, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 20, \ + .friendship = 140, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE),\ + .bodyColor = BODY_COLOR_BROWN, \ + .speciesName = _("Lopunny"), \ + .natDexNum = NATIONAL_DEX_LOPUNNY, \ + .categoryName = _("Rabbit"), \ + FOOTPRINT(Lopunny) \ + LEARNSETS(Lopunny), \ + .formSpeciesIdTable = sLopunnyFormSpeciesIdTable, \ .formChangeTable = sLopunnyFormChangeTable [SPECIES_LOPUNNY] = @@ -2125,7 +2125,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 105, .baseSpAttack = 54, .baseSpDefense = 96, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 168 : 178, .abilities = { ABILITY_CUTE_CHARM, ABILITY_KLUTZ, ABILITY_LIMBER }, .cryId = CRY_LOPUNNY, @@ -2161,7 +2161,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 135, .baseSpAttack = 54, .baseSpDefense = 96, - .types = { TYPE_NORMAL, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FIGHTING), .expYield = 203, .abilities = { ABILITY_SCRAPPY, ABILITY_SCRAPPY, ABILITY_SCRAPPY }, .cryId = CRY_LOPUNNY_MEGA, @@ -2199,7 +2199,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 85, .baseSpAttack = 42, .baseSpDefense = 37, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 62 : 71, .evYield_Speed = 1, @@ -2207,7 +2207,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_LIMBER, ABILITY_OWN_TEMPO, ABILITY_KEEN_EYE }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Glameow"), @@ -2247,7 +2247,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 112, .baseSpAttack = 64, .baseSpDefense = 59, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 158 : 183, .evYield_Speed = 2, @@ -2255,7 +2255,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_THICK_FAT, ABILITY_OWN_TEMPO, ABILITY_DEFIANT }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Purugly"), @@ -2296,7 +2296,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 74, .baseSpAttack = 41, .baseSpDefense = 41, - .types = { TYPE_POISON, TYPE_DARK }, + .types = MON_TYPES(TYPE_POISON, TYPE_DARK), .catchRate = 225, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 66 : 79, .evYield_Speed = 1, @@ -2304,7 +2304,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_STENCH, ABILITY_AFTERMATH, ABILITY_KEEN_EYE }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Stunky"), @@ -2344,7 +2344,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 84, .baseSpAttack = 71, .baseSpDefense = 61, - .types = { TYPE_POISON, TYPE_DARK }, + .types = MON_TYPES(TYPE_POISON, TYPE_DARK), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 168 : 209, .evYield_HP = 2, @@ -2352,7 +2352,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_STENCH, ABILITY_AFTERMATH, ABILITY_KEEN_EYE }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Skuntank"), @@ -2393,7 +2393,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 23, .baseSpAttack = 24, .baseSpDefense = 86, - .types = { TYPE_STEEL, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_STEEL, TYPE_PSYCHIC), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 60 : 72, .evYield_Defense = 1, @@ -2402,7 +2402,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_LEVITATE, ABILITY_HEATPROOF, ABILITY_HEAVY_METAL }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Bronzor"), @@ -2443,7 +2443,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 33, .baseSpAttack = 79, .baseSpDefense = 116, - .types = { TYPE_STEEL, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_STEEL, TYPE_PSYCHIC), .catchRate = 90, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 175 : 188, .evYield_Defense = 1, @@ -2453,7 +2453,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_LEVITATE, ABILITY_HEATPROOF, ABILITY_HEAVY_METAL }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Bronzong"), @@ -2495,7 +2495,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 91, .baseSpAttack = 92, .baseSpDefense = 42, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 30, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 144 : 107, .evYield_Attack = 1, @@ -2504,7 +2504,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_TANGLED_FEET, ABILITY_BIG_PECKS }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Chatot"), @@ -2545,7 +2545,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 35, .baseSpAttack = 92, .baseSpDefense = 108, - .types = { TYPE_GHOST, TYPE_DARK }, + .types = MON_TYPES(TYPE_GHOST, TYPE_DARK), .catchRate = 100, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 170 : 168, .evYield_Defense = 1, @@ -2554,7 +2554,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_PRESSURE, ABILITY_NONE, ABILITY_INFILTRATOR }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Spiritomb"), @@ -2595,7 +2595,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 42, .baseSpAttack = 40, .baseSpDefense = 45, - .types = { TYPE_DRAGON, TYPE_GROUND }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_GROUND), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 60 : 67, .evYield_Attack = 1, @@ -2603,7 +2603,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON), .abilities = { ABILITY_SAND_VEIL, ABILITY_NONE, ABILITY_ROUGH_SKIN }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Gible"), @@ -2645,7 +2645,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 82, .baseSpAttack = 50, .baseSpDefense = 55, - .types = { TYPE_DRAGON, TYPE_GROUND }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_GROUND), .catchRate = 45, .expYield = 144, .evYield_Attack = 2, @@ -2653,7 +2653,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON), .abilities = { ABILITY_SAND_VEIL, ABILITY_NONE, ABILITY_ROUGH_SKIN }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Gabite"), @@ -2687,28 +2687,28 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .evolutions = EVOLUTION({EVO_LEVEL, 48, SPECIES_GARCHOMP}), }, -#define GARCHOMP_MISC_INFO \ - .types = { TYPE_DRAGON, TYPE_GROUND }, \ - .catchRate = 45, \ - .evYield_Attack = 3, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 40, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, \ - .bodyColor = BODY_COLOR_BLUE, \ - .speciesName = _("Garchomp"), \ - .natDexNum = NATIONAL_DEX_GARCHOMP, \ - .categoryName = _("Mach"), \ - .height = 19, \ - .weight = 950, \ - .pokemonScale = 256, \ - .pokemonOffset = 1, \ - .trainerScale = 326, \ - .trainerOffset = 4, \ - FOOTPRINT(Garchomp) \ - LEARNSETS(Garchomp), \ - .formSpeciesIdTable = sGarchompFormSpeciesIdTable, \ +#define GARCHOMP_MISC_INFO \ + .types = MON_TYPES(TYPE_DRAGON, TYPE_GROUND), \ + .catchRate = 45, \ + .evYield_Attack = 3, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 40, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON),\ + .bodyColor = BODY_COLOR_BLUE, \ + .speciesName = _("Garchomp"), \ + .natDexNum = NATIONAL_DEX_GARCHOMP, \ + .categoryName = _("Mach"), \ + .height = 19, \ + .weight = 950, \ + .pokemonScale = 256, \ + .pokemonOffset = 1, \ + .trainerScale = 326, \ + .trainerOffset = 4, \ + FOOTPRINT(Garchomp) \ + LEARNSETS(Garchomp), \ + .formSpeciesIdTable = sGarchompFormSpeciesIdTable, \ .formChangeTable = sGarchompFormChangeTable [SPECIES_GARCHOMP] = @@ -2787,7 +2787,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 60, .baseSpAttack = 35, .baseSpDefense = 40, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 57 : 72, .evYield_Attack = 1, @@ -2795,7 +2795,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_STEADFAST, ABILITY_INNER_FOCUS, ABILITY_PRANKSTER }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Riolu"), @@ -2827,23 +2827,23 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .evolutions = EVOLUTION({EVO_FRIENDSHIP_DAY, 0, SPECIES_LUCARIO}), }, -#define LUCARIO_MISC_INFO \ - .types = { TYPE_FIGHTING, TYPE_STEEL }, \ - .catchRate = 45, \ - .evYield_Attack = 1, \ - .evYield_SpAttack = 1, \ - .genderRatio = PERCENT_FEMALE(12.5), \ - .eggCycles = 25, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE }, \ - .bodyColor = BODY_COLOR_BLUE, \ - .speciesName = _("Lucario"), \ - .natDexNum = NATIONAL_DEX_LUCARIO, \ - .categoryName = _("Aura"), \ - FOOTPRINT(Lucario) \ - LEARNSETS(Lucario), \ - .formSpeciesIdTable = sLucarioFormSpeciesIdTable, \ +#define LUCARIO_MISC_INFO \ + .types = MON_TYPES(TYPE_FIGHTING, TYPE_STEEL), \ + .catchRate = 45, \ + .evYield_Attack = 1, \ + .evYield_SpAttack = 1, \ + .genderRatio = PERCENT_FEMALE(12.5), \ + .eggCycles = 25, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE),\ + .bodyColor = BODY_COLOR_BLUE, \ + .speciesName = _("Lucario"), \ + .natDexNum = NATIONAL_DEX_LUCARIO, \ + .categoryName = _("Aura"), \ + FOOTPRINT(Lucario) \ + LEARNSETS(Lucario), \ + .formSpeciesIdTable = sLucarioFormSpeciesIdTable, \ .formChangeTable = sLucarioFormChangeTable [SPECIES_LUCARIO] = @@ -2927,7 +2927,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 32, .baseSpAttack = 38, .baseSpDefense = 42, - .types = { TYPE_GROUND, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GROUND), .catchRate = 140, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 66 : 95, .evYield_Defense = 1, @@ -2935,7 +2935,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SAND_STREAM, ABILITY_NONE, ABILITY_SAND_FORCE }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Hippopotas"), @@ -2979,7 +2979,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 47, .baseSpAttack = 68, .baseSpDefense = 72, - .types = { TYPE_GROUND, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GROUND), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 184 : 198, .evYield_Defense = 2, @@ -2987,7 +2987,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SAND_STREAM, ABILITY_NONE, ABILITY_SAND_FORCE }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Hippowdon"), @@ -3032,7 +3032,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 65, .baseSpAttack = 30, .baseSpDefense = 55, - .types = { TYPE_POISON, TYPE_BUG }, + .types = MON_TYPES(TYPE_POISON, TYPE_BUG), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 66 : 114, .evYield_Defense = 1, @@ -3041,7 +3041,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG, EGG_GROUP_WATER_3), .abilities = { ABILITY_BATTLE_ARMOR, ABILITY_SNIPER, ABILITY_KEEN_EYE }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Skorupi"), @@ -3081,7 +3081,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 95, .baseSpAttack = 60, .baseSpDefense = 75, - .types = { TYPE_POISON, TYPE_DARK }, + .types = MON_TYPES(TYPE_POISON, TYPE_DARK), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 175 : 204, .evYield_Defense = 2, @@ -3090,7 +3090,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG, EGG_GROUP_WATER_3), .abilities = { ABILITY_BATTLE_ARMOR, ABILITY_SNIPER, ABILITY_KEEN_EYE }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Drapion"), @@ -3131,7 +3131,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 50, .baseSpAttack = 61, .baseSpDefense = 40, - .types = { TYPE_POISON, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_POISON, TYPE_FIGHTING), .catchRate = 140, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 60 : 83, .evYield_Attack = 1, @@ -3140,7 +3140,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 10, .friendship = 100, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_ANTICIPATION, ABILITY_DRY_SKIN, ABILITY_POISON_TOUCH }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Croagunk"), @@ -3182,7 +3182,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 85, .baseSpAttack = 86, .baseSpDefense = 65, - .types = { TYPE_POISON, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_POISON, TYPE_FIGHTING), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 172 : 181, .evYield_Attack = 2, @@ -3191,7 +3191,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_ANTICIPATION, ABILITY_DRY_SKIN, ABILITY_POISON_TOUCH }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Toxicroak"), @@ -3234,7 +3234,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 46, .baseSpAttack = 90, .baseSpDefense = 72, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 200, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 159 : 164, .evYield_Attack = 2, @@ -3242,7 +3242,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Carnivine"), @@ -3284,7 +3284,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 66, .baseSpAttack = 49, .baseSpDefense = 61, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 66 : 90, .evYield_Speed = 1, @@ -3292,7 +3292,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_STORM_DRAIN, ABILITY_WATER_VEIL }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Finneon"), @@ -3334,7 +3334,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 91, .baseSpAttack = 69, .baseSpDefense = 86, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 161 : 156, .evYield_Speed = 2, @@ -3342,7 +3342,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_STORM_DRAIN, ABILITY_WATER_VEIL }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Lumineon"), @@ -3385,7 +3385,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 40, .baseSpAttack = 62, .baseSpDefense = 60, - .types = { TYPE_GRASS, TYPE_ICE }, + .types = MON_TYPES(TYPE_GRASS, TYPE_ICE), .catchRate = 120, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 67 : 131, .evYield_Attack = 1, @@ -3394,7 +3394,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_GRASS), .abilities = { ABILITY_SNOW_WARNING, ABILITY_NONE, ABILITY_SOUNDPROOF }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Snover"), @@ -3428,24 +3428,24 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .evolutions = EVOLUTION({EVO_LEVEL, 40, SPECIES_ABOMASNOW}), }, -#define ABOMASNOW_MISC_INFO \ - .types = { TYPE_GRASS, TYPE_ICE }, \ - .catchRate = 60, \ - .evYield_Attack = 1, \ - .evYield_SpAttack = 1, \ - .itemRare = ITEM_NEVER_MELT_ICE, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_GRASS },\ - .bodyColor = BODY_COLOR_WHITE, \ - .speciesName = _("Abomasnow"), \ - .natDexNum = NATIONAL_DEX_ABOMASNOW, \ - .categoryName = _("Frost Tree"), \ - FOOTPRINT(Abomasnow) \ - LEARNSETS(Abomasnow), \ - .formSpeciesIdTable = sAbomasnowFormSpeciesIdTable, \ +#define ABOMASNOW_MISC_INFO \ + .types = MON_TYPES(TYPE_GRASS, TYPE_ICE), \ + .catchRate = 60, \ + .evYield_Attack = 1, \ + .evYield_SpAttack = 1, \ + .itemRare = ITEM_NEVER_MELT_ICE, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_GRASS),\ + .bodyColor = BODY_COLOR_WHITE, \ + .speciesName = _("Abomasnow"), \ + .natDexNum = NATIONAL_DEX_ABOMASNOW, \ + .categoryName = _("Frost Tree"), \ + FOOTPRINT(Abomasnow) \ + LEARNSETS(Abomasnow), \ + .formSpeciesIdTable = sAbomasnowFormSpeciesIdTable, \ .formChangeTable = sAbomasnowFormChangeTable [SPECIES_ABOMASNOW] = @@ -3530,7 +3530,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), \ .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_RED, \ .speciesName = _("Rotom"), \ @@ -3557,7 +3557,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 91, .baseSpAttack = 95, .baseSpDefense = 77, - .types = { TYPE_ELECTRIC, TYPE_GHOST }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_GHOST), .expYield = (P_UPDATED_EXP_YIELDS >= GEN_5) ? 154 : 132, .description = COMPOUND_STRING( "Its body is composed of plasma and loves\n" @@ -3596,7 +3596,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = [SPECIES_ROTOM_HEAT] = { ROTOM_MISC_INFO, - .types = { TYPE_ELECTRIC, TYPE_FIRE }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_FIRE), ROTOM_APPLIANCE_INFO(Heat), .description = COMPOUND_STRING( "If the convection microwave oven is not\n" @@ -3618,7 +3618,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = [SPECIES_ROTOM_WASH] = { ROTOM_MISC_INFO, - .types = { TYPE_ELECTRIC, TYPE_WATER }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_WATER), .noFlip = TRUE, ROTOM_APPLIANCE_INFO(Wash), .description = COMPOUND_STRING( @@ -3641,7 +3641,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = [SPECIES_ROTOM_FROST] = { ROTOM_MISC_INFO, - .types = { TYPE_ELECTRIC, TYPE_ICE }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_ICE), ROTOM_APPLIANCE_INFO(Frost), .description = COMPOUND_STRING( "In this form, Rotom likes to play freezing\n" @@ -3663,7 +3663,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = [SPECIES_ROTOM_FAN] = { ROTOM_MISC_INFO, - .types = { TYPE_ELECTRIC, TYPE_FLYING }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_FLYING), ROTOM_APPLIANCE_INFO(Fan), .description = COMPOUND_STRING( "The first appliance developed that Rotom\n" @@ -3686,7 +3686,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = [SPECIES_ROTOM_MOW] = { ROTOM_MISC_INFO, - .types = { TYPE_ELECTRIC, TYPE_GRASS }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_GRASS), ROTOM_APPLIANCE_INFO(Mow), .description = COMPOUND_STRING( "The lawn mower is an appliance that led to\n" @@ -3715,7 +3715,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 95, .baseSpAttack = 75, .baseSpDefense = 130, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 3, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 290, @@ -3730,7 +3730,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 80, .friendship = 140, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_YELLOW, .isLegendary = TRUE, @@ -3773,7 +3773,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 80, .baseSpAttack = 105, .baseSpDefense = 105, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 3, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 290, @@ -3789,7 +3789,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 80, .friendship = 140, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_PINK, .isLegendary = TRUE, @@ -3832,7 +3832,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 115, .baseSpAttack = 125, .baseSpDefense = 70, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 3, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 290, @@ -3847,7 +3847,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 80, .friendship = 140, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .isLegendary = TRUE, @@ -3891,7 +3891,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = #endif #define DIALGA_MISC_INFO \ - .types = { TYPE_STEEL, TYPE_DRAGON }, \ + .types = MON_TYPES(TYPE_STEEL, TYPE_DRAGON), \ .catchRate = 3, \ .expYield = DIALGA_EXP_YIELD, \ .evYield_SpAttack = 3, \ @@ -3899,7 +3899,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_PRESSURE, ABILITY_NONE, ABILITY_TELEPATHY }, \ .bodyColor = BODY_COLOR_WHITE, \ .speciesName = _("Dialga"), \ @@ -3985,7 +3985,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = #endif #define PALKIA_MISC_INFO \ - .types = { TYPE_WATER, TYPE_DRAGON }, \ + .types = MON_TYPES(TYPE_WATER, TYPE_DRAGON), \ .catchRate = 3, \ .expYield = PALKIA_EXP_YIELD, \ .evYield_SpAttack = 3, \ @@ -3993,7 +3993,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_PRESSURE, ABILITY_NONE, ABILITY_TELEPATHY }, \ .bodyColor = BODY_COLOR_PURPLE, \ .speciesName = _("Palkia"), \ @@ -4078,7 +4078,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 77, .baseSpAttack = 130, .baseSpDefense = 106, - .types = { TYPE_FIRE, TYPE_STEEL }, + .types = MON_TYPES(TYPE_FIRE, TYPE_STEEL), .catchRate = 3, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 300, @@ -4092,7 +4092,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 10, .friendship = 100, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_FLASH_FIRE, ABILITY_NONE, ABILITY_FLAME_BODY }, .bodyColor = BODY_COLOR_BROWN, .isLegendary = TRUE, @@ -4134,7 +4134,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 100, .baseSpAttack = 80, .baseSpDefense = 110, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 3, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 335, @@ -4148,7 +4148,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_SLOW_START, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .isLegendary = TRUE, @@ -4191,7 +4191,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = #endif #define GIRATINA_MISC_INFO \ - .types = { TYPE_GHOST, TYPE_DRAGON }, \ + .types = MON_TYPES(TYPE_GHOST, TYPE_DRAGON), \ .catchRate = 3, \ .expYield = GIRATINA_EXP_YIELD, \ .evYield_HP = 3, \ @@ -4199,7 +4199,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .bodyColor = BODY_COLOR_BLACK, \ .speciesName = _("Giratina"), \ .cryId = CRY_GIRATINA, \ @@ -4286,7 +4286,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 85, .baseSpAttack = 75, .baseSpDefense = P_UPDATED_STATS >= GEN_9 ? 120 : 130, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 3, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 300, @@ -4300,7 +4300,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 120, .friendship = 100, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_YELLOW, .isLegendary = TRUE, @@ -4343,7 +4343,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 80, .baseSpAttack = 80, .baseSpDefense = 80, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 30, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 240, @@ -4357,7 +4357,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FAIRY), .abilities = { ABILITY_HYDRATION, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .isMythical = TRUE, @@ -4398,7 +4398,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 100, .baseSpAttack = 100, .baseSpDefense = 100, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 3, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 300, @@ -4412,7 +4412,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 10, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FAIRY), .abilities = { ABILITY_HYDRATION, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .isMythical = TRUE, @@ -4455,7 +4455,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 125, .baseSpAttack = 135, .baseSpDefense = 90, - .types = { TYPE_DARK, TYPE_DARK }, + .types = MON_TYPES(TYPE_DARK), .catchRate = 3, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 300, @@ -4470,7 +4470,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_BAD_DREAMS, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLACK, .isMythical = TRUE, @@ -4522,7 +4522,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 120, \ .friendship = 100, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .bodyColor = BODY_COLOR_GREEN, \ .speciesName = _("Shaymin"), \ .natDexNum = NATIONAL_DEX_SHAYMIN, \ @@ -4542,7 +4542,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpAttack = 100, .baseSpDefense = 100, .evYield_HP = 3, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .abilities = { ABILITY_NATURAL_CURE, ABILITY_NONE }, .cryId = CRY_SHAYMIN_LAND, .height = 2, @@ -4582,7 +4582,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = #else .evYield_HP = 3, #endif - .types = { TYPE_GRASS, TYPE_FLYING }, + .types = MON_TYPES(TYPE_GRASS, TYPE_FLYING), .abilities = { ABILITY_SERENE_GRACE, ABILITY_NONE }, .noFlip = TRUE, .cryId = CRY_SHAYMIN_SKY, @@ -4627,7 +4627,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .baseSpeed = 120, \ .baseSpAttack = 120, \ .baseSpDefense = 120, \ - .types = { type, type }, \ + .types = MON_TYPES(type), \ .catchRate = 3, \ .expYield = ARCEUS_EXP_YIELD, \ .evYield_HP = 3, \ @@ -4635,7 +4635,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_MULTITYPE, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_WHITE, \ .speciesName = _("Arceus"), \ diff --git a/src/data/pokemon/species_info/gen_5.h b/src/data/pokemon/species_info/gen_5.h index d3eea269c9..ef98c45be0 100644 --- a/src/data/pokemon/species_info/gen_5.h +++ b/src/data/pokemon/species_info/gen_5.h @@ -12,7 +12,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 100, .baseSpAttack = 100, .baseSpDefense = 100, - .types = { TYPE_PSYCHIC, TYPE_FIRE }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_FIRE), .catchRate = 3, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 300 : 270, .evYield_HP = 3, @@ -20,7 +20,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 120, .friendship = 100, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_VICTORY_STAR, ABILITY_NONE }, .bodyColor = BODY_COLOR_YELLOW, .isMythical = TRUE, @@ -62,7 +62,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 63, .baseSpAttack = 45, .baseSpDefense = 55, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = 62, .evYield_Speed = 1, @@ -70,7 +70,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_CONTRARY }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Snivy"), @@ -110,7 +110,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 83, .baseSpAttack = 60, .baseSpDefense = 75, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = 145, .evYield_Speed = 2, @@ -118,7 +118,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_CONTRARY }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Servine"), @@ -158,7 +158,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 113, .baseSpAttack = 75, .baseSpDefense = 95, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 264 : 238, .evYield_Speed = 3, @@ -166,7 +166,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_CONTRARY }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Serperior"), @@ -207,7 +207,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 45, .baseSpAttack = 45, .baseSpDefense = 45, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = 62, .evYield_HP = 1, @@ -215,7 +215,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_THICK_FAT }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Tepig"), @@ -255,7 +255,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 55, .baseSpAttack = 70, .baseSpDefense = 55, - .types = { TYPE_FIRE, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIRE, TYPE_FIGHTING), .catchRate = 45, .expYield = 146, .evYield_Attack = 2, @@ -263,7 +263,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_THICK_FAT }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Pignite"), @@ -303,7 +303,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 65, .baseSpAttack = 100, .baseSpDefense = 65, - .types = { TYPE_FIRE, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIRE, TYPE_FIGHTING), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 264 : 238, .evYield_Attack = 3, @@ -311,7 +311,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_RECKLESS }, .bodyColor = BODY_COLOR_RED, .noFlip = TRUE, @@ -353,7 +353,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 45, .baseSpAttack = 63, .baseSpDefense = 45, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = 62, .evYield_SpAttack = 1, @@ -361,7 +361,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_SHELL_ARMOR }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Oshawott"), @@ -401,7 +401,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 60, .baseSpAttack = 83, .baseSpDefense = 60, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = 145, .evYield_SpAttack = 2, @@ -409,7 +409,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_SHELL_ARMOR }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Dewott"), @@ -449,7 +449,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .bodyColor = BODY_COLOR_BLUE, \ .speciesName = _("Samurott"), \ .cryId = CRY_SAMUROTT, \ @@ -472,7 +472,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 70, .baseSpAttack = 108, .baseSpDefense = 70, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .evYield_SpAttack = 3, .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_SHELL_ARMOR }, .weight = 946, @@ -503,7 +503,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 85, .baseSpAttack = 100, .baseSpDefense = 65, - .types = { TYPE_WATER, TYPE_DARK }, + .types = MON_TYPES(TYPE_WATER, TYPE_DARK), .evYield_Attack = 3, .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_SHARPNESS }, .weight = 582, @@ -536,7 +536,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 42, .baseSpAttack = 35, .baseSpDefense = 39, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 255, .expYield = 51, .evYield_Attack = 1, @@ -544,7 +544,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_RUN_AWAY, ABILITY_KEEN_EYE, ABILITY_ANALYTIC }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Patrat"), @@ -584,7 +584,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 77, .baseSpAttack = 60, .baseSpDefense = 69, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 255, .expYield = 147, .evYield_Attack = 2, @@ -592,7 +592,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_ILLUMINATE, ABILITY_KEEN_EYE, ABILITY_ANALYTIC }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Watchog"), @@ -633,7 +633,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 55, .baseSpAttack = 25, .baseSpDefense = 45, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 255, .expYield = 55, .evYield_Attack = 1, @@ -641,7 +641,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_VITAL_SPIRIT, ABILITY_PICKUP, ABILITY_RUN_AWAY }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Lillipup"), @@ -681,7 +681,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 60, .baseSpAttack = 35, .baseSpDefense = 65, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 120, .expYield = 130, .evYield_Attack = 2, @@ -689,7 +689,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_INTIMIDATE, ABILITY_SAND_RUSH, ABILITY_SCRAPPY }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Herdier"), @@ -729,7 +729,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 80, .baseSpAttack = 45, .baseSpDefense = 90, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 250, @@ -743,7 +743,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_INTIMIDATE, ABILITY_SAND_RUSH, ABILITY_SCRAPPY }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Stoutland"), @@ -784,7 +784,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 66, .baseSpAttack = 50, .baseSpDefense = 37, - .types = { TYPE_DARK, TYPE_DARK }, + .types = MON_TYPES(TYPE_DARK), .catchRate = 255, .expYield = 56, .evYield_Speed = 1, @@ -792,7 +792,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_LIMBER, ABILITY_UNBURDEN, ABILITY_PRANKSTER }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Purrloin"), @@ -832,7 +832,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 106, .baseSpAttack = 88, .baseSpDefense = 50, - .types = { TYPE_DARK, TYPE_DARK }, + .types = MON_TYPES(TYPE_DARK), .catchRate = 90, .expYield = 156, .evYield_Speed = 2, @@ -840,7 +840,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_LIMBER, ABILITY_UNBURDEN, ABILITY_PRANKSTER }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Liepard"), @@ -881,7 +881,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 64, .baseSpAttack = 53, .baseSpDefense = 48, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 190, .expYield = 63, .evYield_Speed = 1, @@ -889,7 +889,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_GLUTTONY, ABILITY_NONE, ABILITY_OVERGROW }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Pansage"), @@ -929,7 +929,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 101, .baseSpAttack = 98, .baseSpDefense = 63, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 75, .expYield = 174, .evYield_Speed = 2, @@ -937,7 +937,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_GLUTTONY, ABILITY_NONE, ABILITY_OVERGROW }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Simisage"), @@ -978,7 +978,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 64, .baseSpAttack = 53, .baseSpDefense = 48, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 190, .expYield = 63, .evYield_Speed = 1, @@ -986,7 +986,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_GLUTTONY, ABILITY_NONE, ABILITY_BLAZE }, .bodyColor = BODY_COLOR_RED, .noFlip = TRUE, @@ -1027,7 +1027,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 101, .baseSpAttack = 98, .baseSpDefense = 63, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 75, .expYield = 174, .evYield_Speed = 2, @@ -1035,7 +1035,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_GLUTTONY, ABILITY_NONE, ABILITY_BLAZE }, .bodyColor = BODY_COLOR_RED, .noFlip = TRUE, @@ -1077,7 +1077,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 64, .baseSpAttack = 53, .baseSpDefense = 48, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 190, .expYield = 63, .evYield_Speed = 1, @@ -1085,7 +1085,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_GLUTTONY, ABILITY_NONE, ABILITY_TORRENT }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Panpour"), @@ -1125,7 +1125,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 101, .baseSpAttack = 98, .baseSpDefense = 63, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 75, .expYield = 174, .evYield_Speed = 2, @@ -1133,7 +1133,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_GLUTTONY, ABILITY_NONE, ABILITY_TORRENT }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Simipour"), @@ -1174,7 +1174,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 24, .baseSpAttack = 67, .baseSpDefense = 55, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 190, .expYield = 58, .evYield_HP = 1, @@ -1182,7 +1182,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 10, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_FOREWARN, ABILITY_SYNCHRONIZE, ABILITY_TELEPATHY }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Munna"), @@ -1223,7 +1223,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 29, .baseSpAttack = 107, .baseSpDefense = 95, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 75, .expYield = 170, .evYield_HP = 2, @@ -1231,7 +1231,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 10, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_FOREWARN, ABILITY_SYNCHRONIZE, ABILITY_TELEPATHY }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Musharna"), @@ -1273,7 +1273,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 43, .baseSpAttack = 36, .baseSpDefense = 30, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 255, .expYield = 53, .evYield_Attack = 1, @@ -1281,7 +1281,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_BIG_PECKS, ABILITY_SUPER_LUCK, ABILITY_RIVALRY }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Pidove"), @@ -1321,7 +1321,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 65, .baseSpAttack = 50, .baseSpDefense = 42, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 120, .expYield = 125, .evYield_Attack = 2, @@ -1329,7 +1329,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_BIG_PECKS, ABILITY_SUPER_LUCK, ABILITY_RIVALRY }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Tranquill"), @@ -1369,7 +1369,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 93, .baseSpAttack = 65, .baseSpDefense = 55, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 244, @@ -1383,7 +1383,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_BIG_PECKS, ABILITY_SUPER_LUCK, ABILITY_RIVALRY }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Unfezant"), @@ -1428,7 +1428,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 76, .baseSpAttack = 50, .baseSpDefense = 32, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 190, .expYield = 59, .evYield_Speed = 1, @@ -1436,7 +1436,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_LIGHTNING_ROD, ABILITY_MOTOR_DRIVE, ABILITY_SAP_SIPPER }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Blitzle"), @@ -1476,7 +1476,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 116, .baseSpAttack = 80, .baseSpDefense = 63, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 75, .expYield = 174, .evYield_Speed = 2, @@ -1484,7 +1484,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_LIGHTNING_ROD, ABILITY_MOTOR_DRIVE, ABILITY_SAP_SIPPER }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Zebstrika"), @@ -1525,7 +1525,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 15, .baseSpAttack = 25, .baseSpDefense = 25, - .types = { TYPE_ROCK, TYPE_ROCK }, + .types = MON_TYPES(TYPE_ROCK), .catchRate = 255, .expYield = 56, .evYield_Defense = 1, @@ -1535,7 +1535,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_STURDY, ABILITY_WEAK_ARMOR, ABILITY_SAND_FORCE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Roggenrola"), @@ -1575,7 +1575,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 20, .baseSpAttack = 50, .baseSpDefense = 40, - .types = { TYPE_ROCK, TYPE_ROCK }, + .types = MON_TYPES(TYPE_ROCK), .catchRate = 120, .expYield = 137, .evYield_Attack = 1, @@ -1586,7 +1586,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_STURDY, ABILITY_WEAK_ARMOR, ABILITY_SAND_FORCE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Boldore"), @@ -1627,7 +1627,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 25, .baseSpAttack = 60, .baseSpDefense = P_UPDATED_STATS >= GEN_6 ? 80 : 70, - .types = { TYPE_ROCK, TYPE_ROCK }, + .types = MON_TYPES(TYPE_ROCK), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 258, @@ -1643,7 +1643,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_STURDY, ABILITY_SAND_STREAM, ABILITY_SAND_FORCE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Gigalith"), @@ -1684,7 +1684,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 72, .baseSpAttack = 55, .baseSpDefense = 43, - .types = { TYPE_PSYCHIC, TYPE_FLYING }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_FLYING), .catchRate = 190, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_7) ? 65 : 63, .evYield_Speed = 1, @@ -1692,7 +1692,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FLYING), .abilities = { ABILITY_UNAWARE, ABILITY_KLUTZ, ABILITY_SIMPLE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Woobat"), @@ -1733,7 +1733,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 114, .baseSpAttack = 77, .baseSpDefense = 55, - .types = { TYPE_PSYCHIC, TYPE_FLYING }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_FLYING), .catchRate = 45, .expYield = 149, .evYield_Speed = 2, @@ -1741,7 +1741,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FLYING), .abilities = { ABILITY_UNAWARE, ABILITY_KLUTZ, ABILITY_SIMPLE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Swoobat"), @@ -1783,7 +1783,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 68, .baseSpAttack = 30, .baseSpDefense = 45, - .types = { TYPE_GROUND, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GROUND), .catchRate = 120, .expYield = 66, .evYield_Attack = 1, @@ -1791,7 +1791,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SAND_RUSH, ABILITY_SAND_FORCE, ABILITY_MOLD_BREAKER }, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, @@ -1832,7 +1832,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 88, .baseSpAttack = 50, .baseSpDefense = 65, - .types = { TYPE_GROUND, TYPE_STEEL }, + .types = MON_TYPES(TYPE_GROUND, TYPE_STEEL), .catchRate = 60, .expYield = 178, .evYield_Attack = 2, @@ -1840,7 +1840,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SAND_RUSH, ABILITY_SAND_FORCE, ABILITY_MOLD_BREAKER }, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, @@ -1882,7 +1882,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_FAST, \ - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), \ .speciesName = _("Audino"), \ .natDexNum = NATIONAL_DEX_AUDINO, \ .categoryName = _("Hearing"), \ @@ -1901,7 +1901,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 50, .baseSpAttack = 60, .baseSpDefense = 86, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .expYield = 390, .abilities = { ABILITY_HEALER, ABILITY_REGENERATOR, ABILITY_KLUTZ }, .bodyColor = BODY_COLOR_PINK, @@ -1938,7 +1938,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 50, .baseSpAttack = 80, .baseSpDefense = 126, - .types = { TYPE_NORMAL, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FAIRY), .expYield = 425, .abilities = { ABILITY_HEALER, ABILITY_HEALER, ABILITY_HEALER }, .bodyColor = BODY_COLOR_WHITE, @@ -1977,7 +1977,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 35, .baseSpAttack = 25, .baseSpDefense = 35, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 180, .expYield = 61, .evYield_Attack = 1, @@ -1985,7 +1985,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = 70, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_GUTS, ABILITY_SHEER_FORCE, ABILITY_IRON_FIST }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Timburr"), @@ -2025,7 +2025,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 40, .baseSpAttack = 40, .baseSpDefense = 50, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 90, .expYield = 142, .evYield_Attack = 2, @@ -2033,7 +2033,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_GUTS, ABILITY_SHEER_FORCE, ABILITY_IRON_FIST }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Gurdurr"), @@ -2074,7 +2074,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 45, .baseSpAttack = 55, .baseSpDefense = 65, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 253 : 227, .evYield_Attack = 3, @@ -2082,7 +2082,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_GUTS, ABILITY_SHEER_FORCE, ABILITY_IRON_FIST }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Conkeldurr"), @@ -2123,7 +2123,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 64, .baseSpAttack = 50, .baseSpDefense = 40, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 255, .expYield = 59, .evYield_Speed = 1, @@ -2131,7 +2131,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_HYDRATION, ABILITY_WATER_ABSORB }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Tympole"), @@ -2171,7 +2171,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 69, .baseSpAttack = 65, .baseSpDefense = 55, - .types = { TYPE_WATER, TYPE_GROUND }, + .types = MON_TYPES(TYPE_WATER, TYPE_GROUND), .catchRate = 120, .expYield = 134, .evYield_HP = 2, @@ -2179,7 +2179,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_HYDRATION, ABILITY_WATER_ABSORB }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Palpitoad"), @@ -2219,7 +2219,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 74, .baseSpAttack = 85, .baseSpDefense = 75, - .types = { TYPE_WATER, TYPE_GROUND }, + .types = MON_TYPES(TYPE_WATER, TYPE_GROUND), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 255, @@ -2233,7 +2233,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_POISON_TOUCH, ABILITY_WATER_ABSORB }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Seismitoad"), @@ -2274,7 +2274,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 45, .baseSpAttack = 30, .baseSpDefense = 85, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 45, .expYield = 163, .evYield_HP = 2, @@ -2283,7 +2283,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_GUTS, ABILITY_INNER_FOCUS, ABILITY_MOLD_BREAKER }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Throh"), @@ -2324,7 +2324,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 85, .baseSpAttack = 30, .baseSpDefense = 75, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 45, .expYield = 163, .evYield_Attack = 2, @@ -2333,7 +2333,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_STURDY, ABILITY_INNER_FOCUS, ABILITY_MOLD_BREAKER }, .bodyColor = BODY_COLOR_BLUE, .noFlip = TRUE, @@ -2375,7 +2375,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 42, .baseSpAttack = 40, .baseSpDefense = 60, - .types = { TYPE_BUG, TYPE_GRASS }, + .types = MON_TYPES(TYPE_BUG, TYPE_GRASS), .catchRate = 255, .expYield = 62, .evYield_Defense = 1, @@ -2384,7 +2384,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_CHLOROPHYLL, ABILITY_OVERCOAT }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Sewaddle"), @@ -2424,7 +2424,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 42, .baseSpAttack = 50, .baseSpDefense = 80, - .types = { TYPE_BUG, TYPE_GRASS }, + .types = MON_TYPES(TYPE_BUG, TYPE_GRASS), .catchRate = 120, .expYield = 133, .evYield_Defense = 2, @@ -2433,7 +2433,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_LEAF_GUARD, ABILITY_CHLOROPHYLL, ABILITY_OVERCOAT }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Swadloon"), @@ -2473,7 +2473,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 92, .baseSpAttack = 70, .baseSpDefense = P_UPDATED_STATS >= GEN_6 ? 80 : 70, - .types = { TYPE_BUG, TYPE_GRASS }, + .types = MON_TYPES(TYPE_BUG, TYPE_GRASS), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 250, @@ -2488,7 +2488,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_CHLOROPHYLL, ABILITY_OVERCOAT }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Leavanny"), @@ -2529,7 +2529,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 57, .baseSpAttack = 30, .baseSpDefense = 39, - .types = { TYPE_BUG, TYPE_POISON }, + .types = MON_TYPES(TYPE_BUG, TYPE_POISON), .catchRate = 255, .expYield = 52, .evYield_Defense = 1, @@ -2538,7 +2538,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), #if P_UPDATED_ABILITIES >= GEN_6 .abilities = { ABILITY_POISON_POINT, ABILITY_SWARM, ABILITY_SPEED_BOOST }, #else @@ -2582,7 +2582,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 47, .baseSpAttack = 40, .baseSpDefense = 79, - .types = { TYPE_BUG, TYPE_POISON }, + .types = MON_TYPES(TYPE_BUG, TYPE_POISON), .catchRate = 120, .expYield = 126, .evYield_Defense = 2, @@ -2591,7 +2591,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), #if P_UPDATED_ABILITIES >= GEN_6 .abilities = { ABILITY_POISON_POINT, ABILITY_SWARM, ABILITY_SPEED_BOOST }, #else @@ -2635,7 +2635,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 112, .baseSpAttack = 55, .baseSpDefense = 69, - .types = { TYPE_BUG, TYPE_POISON }, + .types = MON_TYPES(TYPE_BUG, TYPE_POISON), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 243, @@ -2650,7 +2650,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), #if P_UPDATED_ABILITIES >= GEN_6 .abilities = { ABILITY_POISON_POINT, ABILITY_SWARM, ABILITY_SPEED_BOOST }, #else @@ -2710,7 +2710,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS, EGG_GROUP_FAIRY), .abilities = { ABILITY_PRANKSTER, ABILITY_INFILTRATOR, ABILITY_CHLOROPHYLL }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Cottonee"), @@ -2759,7 +2759,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS, EGG_GROUP_FAIRY), .abilities = { ABILITY_PRANKSTER, ABILITY_INFILTRATOR, ABILITY_CHLOROPHYLL }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Whimsicott"), @@ -2800,7 +2800,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 30, .baseSpAttack = 70, .baseSpDefense = 50, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 190, .expYield = 56, .evYield_SpAttack = 1, @@ -2809,7 +2809,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_OWN_TEMPO, ABILITY_LEAF_GUARD }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Petilil"), @@ -2851,7 +2851,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), \ .bodyColor = BODY_COLOR_GREEN, \ .noFlip = TRUE, \ .speciesName = _("Lilligant"), \ @@ -2869,7 +2869,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 90, .baseSpAttack = 110, .baseSpDefense = 75, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .evYield_SpAttack = 2, .abilities = { ABILITY_CHLOROPHYLL, ABILITY_OWN_TEMPO, ABILITY_LEAF_GUARD }, .categoryName = _("Flowering"), @@ -2906,7 +2906,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 105, .baseSpAttack = 50, .baseSpDefense = 75, - .types = { TYPE_GRASS, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_GRASS, TYPE_FIGHTING), .evYield_Attack = 1, .evYield_Speed = 1, .abilities = { ABILITY_CHLOROPHYLL, ABILITY_HUSTLE, ABILITY_LEAF_GUARD }, @@ -2945,7 +2945,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 98, \ .baseSpAttack = 80, \ .baseSpDefense = 55, \ - .types = { TYPE_WATER, TYPE_WATER }, \ + .types = MON_TYPES(TYPE_WATER), \ .catchRate = 190, \ .expYield = 161, \ .evYield_Speed = 2, \ @@ -2953,7 +2953,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 40, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), \ .bodyColor = BODY_COLOR_GREEN, \ .speciesName = _("Basculin"), \ .cryId = CRY_BASCULIN, \ @@ -3041,14 +3041,14 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = }, #define BASCULEGION_MISC_INFO \ - .types = { TYPE_WATER, TYPE_GHOST }, \ + .types = MON_TYPES(TYPE_WATER, TYPE_GHOST), \ .catchRate = 45, \ .expYield = 265, \ .evYield_HP = 3, \ .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), \ .abilities = { ABILITY_SWIFT_SWIM, ABILITY_ADAPTABILITY, ABILITY_MOLD_BREAKER }, \ .bodyColor = BODY_COLOR_GREEN, \ .speciesName = _("Bsculegion"), \ @@ -3123,7 +3123,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 65, .baseSpAttack = 35, .baseSpDefense = 35, - .types = { TYPE_GROUND, TYPE_DARK }, + .types = MON_TYPES(TYPE_GROUND, TYPE_DARK), .catchRate = 180, .expYield = 58, .evYield_Attack = 1, @@ -3132,7 +3132,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_INTIMIDATE, ABILITY_MOXIE, ABILITY_ANGER_POINT }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Sandile"), @@ -3172,7 +3172,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 74, .baseSpAttack = 45, .baseSpDefense = 45, - .types = { TYPE_GROUND, TYPE_DARK }, + .types = MON_TYPES(TYPE_GROUND, TYPE_DARK), .catchRate = 90, .expYield = 123, .evYield_Attack = 2, @@ -3181,7 +3181,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_INTIMIDATE, ABILITY_MOXIE, ABILITY_ANGER_POINT }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Krokorok"), @@ -3221,7 +3221,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 92, .baseSpAttack = 65, .baseSpDefense = 70, - .types = { TYPE_GROUND, TYPE_DARK }, + .types = MON_TYPES(TYPE_GROUND, TYPE_DARK), .catchRate = 45, #if P_UPDATED_EXP_YIELDS >= GEN_8 .expYield = 260, @@ -3236,7 +3236,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_INTIMIDATE, ABILITY_MOXIE, ABILITY_ANGER_POINT }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Krookodile"), @@ -3283,7 +3283,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .abilities = { ABILITY_HUSTLE, ABILITY_NONE, ABILITY_INNER_FOCUS }, \ .speciesName = _("Darumaka"), \ .cryId = CRY_DARUMAKA, \ @@ -3295,7 +3295,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = [SPECIES_DARUMAKA] = { DARUMAKA_MISC_INFO, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .bodyColor = BODY_COLOR_RED, .height = 6, .weight = 375, @@ -3327,7 +3327,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .speciesName = _("Darmanitan"), \ .cryId = CRY_DARMANITAN, \ .natDexNum = NATIONAL_DEX_DARMANITAN, \ @@ -3366,7 +3366,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = { DARMANITAN_STANDARD_MISC_INFO, DARMANITAN_UNOVAN_MISC_INFO, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .bodyColor = BODY_COLOR_RED, .categoryName = _("Blazing"), .description = COMPOUND_STRING( @@ -3395,7 +3395,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 55, .baseSpAttack = 140, .baseSpDefense = 105, - .types = { TYPE_FIRE, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_FIRE, TYPE_PSYCHIC), .bodyColor = BODY_COLOR_BLUE, .description = COMPOUND_STRING( "When wounded, it stops moving. It\n" @@ -3416,7 +3416,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = [SPECIES_DARUMAKA_GALARIAN] = { DARUMAKA_MISC_INFO, - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .bodyColor = BODY_COLOR_WHITE, .height = 7, .weight = 400, @@ -3460,7 +3460,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = { DARMANITAN_GALARIAN_MISC_INFO, DARMANITAN_STANDARD_MISC_INFO, - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .categoryName = _("Zen Charm"), .description = COMPOUND_STRING( "On days when blizzards blow\n" @@ -3488,7 +3488,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 135, .baseSpAttack = 30, .baseSpDefense = 55, - .types = { TYPE_ICE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_ICE, TYPE_FIRE), .description = COMPOUND_STRING( "Darmanitan takes this form when\n" "enraged. It won't stop spewing flames\n" @@ -3516,7 +3516,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 60, .baseSpAttack = 106, .baseSpDefense = 67, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 255, .expYield = 161, .evYield_SpAttack = 2, @@ -3525,7 +3525,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_WATER_ABSORB, ABILITY_CHLOROPHYLL, ABILITY_STORM_DRAIN }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Maractus"), @@ -3566,7 +3566,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 55, .baseSpAttack = 35, .baseSpDefense = 35, - .types = { TYPE_BUG, TYPE_ROCK }, + .types = MON_TYPES(TYPE_BUG, TYPE_ROCK), .catchRate = 190, .expYield = 65, .evYield_Defense = 1, @@ -3575,7 +3575,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG, EGG_GROUP_MINERAL), .abilities = { ABILITY_STURDY, ABILITY_SHELL_ARMOR, ABILITY_WEAK_ARMOR }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Dwebble"), @@ -3615,7 +3615,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 45, .baseSpAttack = 65, .baseSpDefense = 75, - .types = { TYPE_BUG, TYPE_ROCK }, + .types = MON_TYPES(TYPE_BUG, TYPE_ROCK), .catchRate = 75, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_7) ? 170 : 166, .evYield_Defense = 2, @@ -3624,7 +3624,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG, EGG_GROUP_MINERAL), .abilities = { ABILITY_STURDY, ABILITY_SHELL_ARMOR, ABILITY_WEAK_ARMOR }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Crustle"), @@ -3665,7 +3665,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 48, .baseSpAttack = 35, .baseSpDefense = 70, - .types = { TYPE_DARK, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_DARK, TYPE_FIGHTING), .catchRate = 180, .expYield = 70, .evYield_Attack = 1, @@ -3674,7 +3674,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = 35, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_DRAGON), .abilities = { ABILITY_SHED_SKIN, ABILITY_MOXIE, ABILITY_INTIMIDATE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Scraggy"), @@ -3714,7 +3714,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 58, .baseSpAttack = 45, .baseSpDefense = 115, - .types = { TYPE_DARK, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_DARK, TYPE_FIGHTING), .catchRate = 90, .expYield = 171, .evYield_Defense = 1, @@ -3724,7 +3724,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_DRAGON), .abilities = { ABILITY_SHED_SKIN, ABILITY_MOXIE, ABILITY_INTIMIDATE }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Scrafty"), @@ -3765,7 +3765,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 97, .baseSpAttack = 103, .baseSpDefense = 80, - .types = { TYPE_PSYCHIC, TYPE_FLYING }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_FLYING), .catchRate = 45, .expYield = 172, .evYield_SpAttack = 2, @@ -3773,7 +3773,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_WONDER_SKIN, ABILITY_MAGIC_GUARD, ABILITY_TINTED_LENS }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Sigilyph"), @@ -3807,27 +3807,27 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = #endif //P_FAMILY_SIGILYPH #if P_FAMILY_YAMASK -#define YAMASK_MISC_INFO \ - .catchRate = 190, \ - .expYield = 61, \ - .evYield_Defense = 1, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 25, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS }, \ - .bodyColor = BODY_COLOR_BLACK, \ - .speciesName = _("Yamask"), \ - .cryId = CRY_YAMASK, \ - .natDexNum = NATIONAL_DEX_YAMASK, \ - .categoryName = _("Spirit"), \ - .height = 5, \ - .weight = 15, \ - .pokemonScale = 432, \ - .pokemonOffset = 13, \ - .trainerScale = 256, \ - .trainerOffset = 0, \ - FOOTPRINT(Yamask) \ +#define YAMASK_MISC_INFO \ + .catchRate = 190, \ + .expYield = 61, \ + .evYield_Defense = 1, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 25, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS),\ + .bodyColor = BODY_COLOR_BLACK, \ + .speciesName = _("Yamask"), \ + .cryId = CRY_YAMASK, \ + .natDexNum = NATIONAL_DEX_YAMASK, \ + .categoryName = _("Spirit"), \ + .height = 5, \ + .weight = 15, \ + .pokemonScale = 432, \ + .pokemonOffset = 13, \ + .trainerScale = 256, \ + .trainerOffset = 0, \ + FOOTPRINT(Yamask) \ .formSpeciesIdTable = sYamaskFormSpeciesIdTable [SPECIES_YAMASK] = @@ -3839,7 +3839,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 30, .baseSpAttack = 55, .baseSpDefense = 65, - .types = { TYPE_GHOST, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GHOST), .itemRare = ITEM_SPELL_TAG, .abilities = { ABILITY_MUMMY, ABILITY_NONE }, .description = COMPOUND_STRING( @@ -3869,7 +3869,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 30, .baseSpAttack = 95, .baseSpDefense = 105, - .types = { TYPE_GHOST, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GHOST), .catchRate = 90, .expYield = 169, .evYield_Defense = 2, @@ -3878,7 +3878,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_MUMMY, ABILITY_NONE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Cofagrigus"), @@ -3919,7 +3919,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 30, .baseSpAttack = 30, .baseSpDefense = 65, - .types = { TYPE_GROUND, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GROUND, TYPE_GHOST), .abilities = { ABILITY_WANDERING_SPIRIT, ABILITY_NONE }, .description = COMPOUND_STRING( "A clay slab with cursed engravings\n" @@ -3949,7 +3949,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 30, .baseSpAttack = 50, .baseSpDefense = 105, - .types = { TYPE_GROUND, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GROUND, TYPE_GHOST), .catchRate = 90, .expYield = 169, .evYield_Defense = 2, @@ -3957,7 +3957,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_WANDERING_SPIRIT, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Runerigus"), @@ -3999,7 +3999,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 22, .baseSpAttack = 53, .baseSpDefense = 45, - .types = { TYPE_WATER, TYPE_ROCK }, + .types = MON_TYPES(TYPE_WATER, TYPE_ROCK), .catchRate = 45, .expYield = 71, .evYield_Defense = 1, @@ -4007,7 +4007,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_3), .abilities = { ABILITY_SOLID_ROCK, ABILITY_STURDY, ABILITY_SWIFT_SWIM }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Tirtouga"), @@ -4047,7 +4047,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 32, .baseSpAttack = 83, .baseSpDefense = 65, - .types = { TYPE_WATER, TYPE_ROCK }, + .types = MON_TYPES(TYPE_WATER, TYPE_ROCK), .catchRate = 45, .expYield = 173, .evYield_Defense = 2, @@ -4055,7 +4055,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_3), .abilities = { ABILITY_SOLID_ROCK, ABILITY_STURDY, ABILITY_SWIFT_SWIM }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Carracosta"), @@ -4096,7 +4096,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 70, .baseSpAttack = 74, .baseSpDefense = 45, - .types = { TYPE_ROCK, TYPE_FLYING }, + .types = MON_TYPES(TYPE_ROCK, TYPE_FLYING), .catchRate = 45, .expYield = 71, .evYield_Attack = 1, @@ -4104,7 +4104,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING, EGG_GROUP_WATER_3), .abilities = { ABILITY_DEFEATIST, ABILITY_NONE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Archen"), @@ -4144,7 +4144,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 110, .baseSpAttack = 112, .baseSpDefense = 65, - .types = { TYPE_ROCK, TYPE_FLYING }, + .types = MON_TYPES(TYPE_ROCK, TYPE_FLYING), .catchRate = 45, .expYield = 177, .evYield_Attack = 2, @@ -4152,7 +4152,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING, EGG_GROUP_WATER_3), .abilities = { ABILITY_DEFEATIST, ABILITY_NONE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Archeops"), @@ -4194,7 +4194,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 65, .baseSpAttack = 40, .baseSpDefense = 62, - .types = { TYPE_POISON, TYPE_POISON }, + .types = MON_TYPES(TYPE_POISON), .catchRate = 190, .expYield = 66, .evYield_Speed = 1, @@ -4203,7 +4203,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_STENCH, ABILITY_STICKY_HOLD, ABILITY_AFTERMATH }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Trubbish"), @@ -4242,7 +4242,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 75, \ .baseSpAttack = 60, \ .baseSpDefense = 82, \ - .types = { TYPE_POISON, TYPE_POISON }, \ + .types = MON_TYPES(TYPE_POISON), \ .catchRate = 60, \ .expYield = 166, \ .evYield_Attack = 2, \ @@ -4252,7 +4252,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), \ .abilities = { ABILITY_STENCH, ABILITY_WEAK_ARMOR, ABILITY_AFTERMATH }, \ .bodyColor = BODY_COLOR_GREEN, \ .noFlip = TRUE, \ @@ -4328,7 +4328,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 25, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .abilities = { ABILITY_ILLUSION, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_GRAY, \ .speciesName = _("Zorua"), \ @@ -4351,7 +4351,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .abilities = { ABILITY_ILLUSION, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_GRAY, \ .speciesName = _("Zoroark"), \ @@ -4374,7 +4374,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 65, .baseSpAttack = 80, .baseSpDefense = 40, - .types = { TYPE_DARK, TYPE_DARK }, + .types = MON_TYPES(TYPE_DARK), .categoryName = _("Tricky Fox"), .description = COMPOUND_STRING( "To protect themselves from danger, they\n" @@ -4403,7 +4403,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 105, .baseSpAttack = 120, .baseSpDefense = 60, - .types = { TYPE_DARK, TYPE_DARK }, + .types = MON_TYPES(TYPE_DARK), .categoryName = _("Illusion Fox"), .weight = 811, .description = COMPOUND_STRING( @@ -4433,7 +4433,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 70, .baseSpAttack = 85, .baseSpDefense = 40, - .types = { TYPE_NORMAL, TYPE_GHOST }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_GHOST), .categoryName = _("Spiteful Fox"), .description = COMPOUND_STRING( "Derives power from resentment,\n" @@ -4463,7 +4463,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 110, .baseSpAttack = 125, .baseSpDefense = 60, - .types = { TYPE_NORMAL, TYPE_GHOST }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_GHOST), .categoryName = _("Baneful Fox"), .weight = 730, .description = COMPOUND_STRING( @@ -4495,7 +4495,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 75, .baseSpAttack = 40, .baseSpDefense = 40, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 255, .expYield = 60, .evYield_Speed = 1, @@ -4503,7 +4503,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_CUTE_CHARM, ABILITY_TECHNICIAN, ABILITY_SKILL_LINK }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Minccino"), @@ -4543,7 +4543,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 115, .baseSpAttack = 65, .baseSpDefense = 60, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 60, .expYield = 165, .evYield_Speed = 2, @@ -4551,7 +4551,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_CUTE_CHARM, ABILITY_TECHNICIAN, ABILITY_SKILL_LINK }, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, @@ -4593,7 +4593,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 45, .baseSpAttack = 55, .baseSpDefense = 65, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 200, .expYield = 58, .evYield_SpDefense = 1, @@ -4601,7 +4601,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_FRISK, ABILITY_COMPETITIVE, ABILITY_SHADOW_TAG }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Gothita"), @@ -4641,7 +4641,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 55, .baseSpAttack = 75, .baseSpDefense = 85, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 100, .expYield = 137, .evYield_SpDefense = 2, @@ -4649,7 +4649,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_FRISK, ABILITY_COMPETITIVE, ABILITY_SHADOW_TAG }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Gothorita"), @@ -4689,7 +4689,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 65, .baseSpAttack = 95, .baseSpDefense = 110, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 50, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 245 : 221, .evYield_SpDefense = 3, @@ -4697,7 +4697,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_FRISK, ABILITY_COMPETITIVE, ABILITY_SHADOW_TAG }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Gothitelle"), @@ -4738,7 +4738,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 20, .baseSpAttack = 105, .baseSpDefense = 50, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 200, .expYield = 58, .evYield_SpAttack = 1, @@ -4746,7 +4746,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_OVERCOAT, ABILITY_MAGIC_GUARD, ABILITY_REGENERATOR }, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, @@ -4788,7 +4788,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 30, .baseSpAttack = 125, .baseSpDefense = 60, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 100, .expYield = 130, .evYield_SpAttack = 2, @@ -4796,7 +4796,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_OVERCOAT, ABILITY_MAGIC_GUARD, ABILITY_REGENERATOR }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Duosion"), @@ -4837,7 +4837,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 30, .baseSpAttack = 125, .baseSpDefense = 85, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 50, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 245 : 221, .evYield_SpAttack = 3, @@ -4845,7 +4845,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_OVERCOAT, ABILITY_MAGIC_GUARD, ABILITY_REGENERATOR }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Reuniclus"), @@ -4887,7 +4887,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 55, .baseSpAttack = 44, .baseSpDefense = 50, - .types = { TYPE_WATER, TYPE_FLYING }, + .types = MON_TYPES(TYPE_WATER, TYPE_FLYING), .catchRate = 190, .expYield = 61, .evYield_HP = 1, @@ -4895,7 +4895,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_BIG_PECKS, ABILITY_HYDRATION }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Ducklett"), @@ -4935,7 +4935,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 98, .baseSpAttack = 87, .baseSpDefense = 63, - .types = { TYPE_WATER, TYPE_FLYING }, + .types = MON_TYPES(TYPE_WATER, TYPE_FLYING), .catchRate = 45, .expYield = 166, .evYield_Speed = 2, @@ -4943,7 +4943,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_BIG_PECKS, ABILITY_HYDRATION }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Swanna"), @@ -4984,7 +4984,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 44, .baseSpAttack = 65, .baseSpDefense = 60, - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .catchRate = 255, .expYield = 61, .evYield_SpAttack = 1, @@ -4993,7 +4993,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_ICE_BODY, ABILITY_SNOW_CLOAK, ABILITY_WEAK_ARMOR }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Vanillite"), @@ -5033,7 +5033,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 59, .baseSpAttack = 80, .baseSpDefense = 75, - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .catchRate = 120, .expYield = 138, .evYield_SpAttack = 2, @@ -5042,7 +5042,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_ICE_BODY, ABILITY_SNOW_CLOAK, ABILITY_WEAK_ARMOR }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Vanillish"), @@ -5082,7 +5082,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 79, .baseSpAttack = 110, .baseSpDefense = 95, - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 268 : 241, .evYield_SpAttack = 3, @@ -5091,7 +5091,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_ICE_BODY, ABILITY_SNOW_WARNING, ABILITY_WEAK_ARMOR }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Vanilluxe"), @@ -5131,7 +5131,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 75, \ .baseSpAttack = 40, \ .baseSpDefense = 50, \ - .types = { TYPE_NORMAL, TYPE_GRASS }, \ + .types = MON_TYPES(TYPE_NORMAL, TYPE_GRASS), \ .catchRate = 190, \ .expYield = 67, \ .evYield_Speed = 1, \ @@ -5139,7 +5139,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .abilities = { ABILITY_CHLOROPHYLL, ABILITY_SAP_SIPPER, ABILITY_SERENE_GRACE }, \ .speciesName = _("Deerling"), \ .cryId = CRY_DEERLING, \ @@ -5222,7 +5222,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 95, \ .baseSpAttack = 60, \ .baseSpDefense = 70, \ - .types = { TYPE_NORMAL, TYPE_GRASS }, \ + .types = MON_TYPES(TYPE_NORMAL, TYPE_GRASS), \ .catchRate = 75, \ .expYield = 166, \ .evYield_Attack = 2, \ @@ -5230,7 +5230,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .abilities = { ABILITY_CHLOROPHYLL, ABILITY_SAP_SIPPER, ABILITY_SERENE_GRACE }, \ .bodyColor = BODY_COLOR_BROWN, \ .speciesName = _("Sawsbuck"), \ @@ -5319,7 +5319,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 103, .baseSpAttack = 75, .baseSpDefense = 60, - .types = { TYPE_ELECTRIC, TYPE_FLYING }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_FLYING), .catchRate = 200, .expYield = 150, .evYield_Speed = 2, @@ -5327,7 +5327,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_STATIC, ABILITY_NONE, ABILITY_MOTOR_DRIVE }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Emolga"), @@ -5369,7 +5369,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 60, .baseSpAttack = 40, .baseSpDefense = 45, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 200, .expYield = 63, .evYield_Attack = 1, @@ -5377,7 +5377,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_SHED_SKIN, ABILITY_NO_GUARD }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Karrablast"), @@ -5417,7 +5417,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 20, .baseSpAttack = 60, .baseSpDefense = 105, - .types = { TYPE_BUG, TYPE_STEEL }, + .types = MON_TYPES(TYPE_BUG, TYPE_STEEL), .catchRate = 75, .expYield = 173, .evYield_Attack = 2, @@ -5425,7 +5425,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_SHELL_ARMOR, ABILITY_OVERCOAT }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Escavalier"), @@ -5466,7 +5466,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 15, .baseSpAttack = 55, .baseSpDefense = 55, - .types = { TYPE_GRASS, TYPE_POISON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_POISON), .catchRate = 190, .expYield = 59, .evYield_HP = 1, @@ -5476,7 +5476,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_EFFECT_SPORE, ABILITY_NONE, ABILITY_REGENERATOR }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Foongus"), @@ -5516,7 +5516,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 30, .baseSpAttack = 85, .baseSpDefense = 80, - .types = { TYPE_GRASS, TYPE_POISON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_POISON), .catchRate = 75, .expYield = 162, .evYield_HP = 2, @@ -5526,7 +5526,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_EFFECT_SPORE, ABILITY_NONE, ABILITY_REGENERATOR }, .bodyColor = BODY_COLOR_WHITE, .noFlip = TRUE, @@ -5568,7 +5568,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 40, .baseSpAttack = 65, .baseSpDefense = 85, - .types = { TYPE_WATER, TYPE_GHOST }, + .types = MON_TYPES(TYPE_WATER, TYPE_GHOST), .catchRate = 190, .expYield = 67, .evYield_SpDefense = 1, @@ -5576,7 +5576,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_WATER_ABSORB, ABILITY_CURSED_BODY, ABILITY_DAMP }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Frillish"), @@ -5620,7 +5620,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 60, .baseSpAttack = 85, .baseSpDefense = 105, - .types = { TYPE_WATER, TYPE_GHOST }, + .types = MON_TYPES(TYPE_WATER, TYPE_GHOST), .catchRate = 60, .expYield = 168, .evYield_SpDefense = 2, @@ -5628,7 +5628,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_WATER_ABSORB, ABILITY_CURSED_BODY, ABILITY_DAMP }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Jellicent"), @@ -5673,7 +5673,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 65, .baseSpAttack = 40, .baseSpDefense = 45, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 75, .expYield = 165, .evYield_HP = 2, @@ -5681,7 +5681,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_2), .abilities = { ABILITY_HEALER, ABILITY_HYDRATION, ABILITY_REGENERATOR }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Alomomola"), @@ -5722,7 +5722,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 65, .baseSpAttack = 57, .baseSpDefense = 50, - .types = { TYPE_BUG, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_BUG, TYPE_ELECTRIC), .catchRate = 190, .expYield = 64, .evYield_Speed = 1, @@ -5730,7 +5730,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_COMPOUND_EYES, ABILITY_UNNERVE, ABILITY_SWARM }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Joltik"), @@ -5770,7 +5770,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 108, .baseSpAttack = 97, .baseSpDefense = 60, - .types = { TYPE_BUG, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_BUG, TYPE_ELECTRIC), .catchRate = 75, .expYield = 165, .evYield_Speed = 2, @@ -5778,7 +5778,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_COMPOUND_EYES, ABILITY_UNNERVE, ABILITY_SWARM }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Galvantula"), @@ -5819,7 +5819,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 10, .baseSpAttack = 24, .baseSpDefense = 86, - .types = { TYPE_GRASS, TYPE_STEEL }, + .types = MON_TYPES(TYPE_GRASS, TYPE_STEEL), .catchRate = 255, .expYield = 61, .evYield_Defense = 1, @@ -5828,7 +5828,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS, EGG_GROUP_MINERAL), .abilities = { ABILITY_IRON_BARBS, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Ferroseed"), @@ -5868,7 +5868,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 20, .baseSpAttack = 54, .baseSpDefense = 116, - .types = { TYPE_GRASS, TYPE_STEEL }, + .types = MON_TYPES(TYPE_GRASS, TYPE_STEEL), .catchRate = 90, .expYield = 171, .evYield_Defense = 2, @@ -5877,7 +5877,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS, EGG_GROUP_MINERAL), .abilities = { ABILITY_IRON_BARBS, ABILITY_NONE, ABILITY_ANTICIPATION }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Ferrothorn"), @@ -5919,7 +5919,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 30, .baseSpAttack = 45, .baseSpDefense = 60, - .types = { TYPE_STEEL, TYPE_STEEL }, + .types = MON_TYPES(TYPE_STEEL), .catchRate = 130, .expYield = 60, .evYield_Defense = 1, @@ -5927,7 +5927,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_PLUS, ABILITY_MINUS, ABILITY_CLEAR_BODY }, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, @@ -5969,7 +5969,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 50, .baseSpAttack = 70, .baseSpDefense = 85, - .types = { TYPE_STEEL, TYPE_STEEL }, + .types = MON_TYPES(TYPE_STEEL), .catchRate = 60, .expYield = 154, .evYield_Defense = 2, @@ -5977,7 +5977,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_PLUS, ABILITY_MINUS, ABILITY_CLEAR_BODY }, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, @@ -6019,7 +6019,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 90, .baseSpAttack = 70, .baseSpDefense = 85, - .types = { TYPE_STEEL, TYPE_STEEL }, + .types = MON_TYPES(TYPE_STEEL), .catchRate = 30, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 260 : 234, .evYield_Defense = 3, @@ -6027,7 +6027,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_PLUS, ABILITY_MINUS, ABILITY_CLEAR_BODY }, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, @@ -6070,7 +6070,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 60, .baseSpAttack = 45, .baseSpDefense = 40, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 190, .expYield = 55, .evYield_Speed = 1, @@ -6078,7 +6078,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Tynamo"), @@ -6120,7 +6120,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 40, .baseSpAttack = 75, .baseSpDefense = 70, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 60, .expYield = 142, .evYield_Attack = 2, @@ -6128,7 +6128,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Eelektrik"), @@ -6169,7 +6169,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 50, .baseSpAttack = 105, .baseSpDefense = 80, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 30, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 258 : 232, .evYield_Attack = 3, @@ -6177,7 +6177,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Eelektross"), @@ -6219,7 +6219,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 30, .baseSpAttack = 85, .baseSpDefense = 55, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 255, .expYield = 67, .evYield_SpAttack = 1, @@ -6227,7 +6227,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_TELEPATHY, ABILITY_SYNCHRONIZE, ABILITY_ANALYTIC }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Elgyem"), @@ -6267,7 +6267,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 40, .baseSpAttack = 125, .baseSpDefense = 95, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 90, .expYield = 170, .evYield_SpAttack = 2, @@ -6275,7 +6275,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_TELEPATHY, ABILITY_SYNCHRONIZE, ABILITY_ANALYTIC }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Beheeyem"), @@ -6316,7 +6316,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 20, .baseSpAttack = 65, .baseSpDefense = 55, - .types = { TYPE_GHOST, TYPE_FIRE }, + .types = MON_TYPES(TYPE_GHOST, TYPE_FIRE), .catchRate = 190, .expYield = 55, .evYield_SpAttack = 1, @@ -6324,7 +6324,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), #if P_UPDATED_ABILITIES >= GEN_6 .abilities = { ABILITY_FLASH_FIRE, ABILITY_FLAME_BODY, ABILITY_INFILTRATOR }, #else @@ -6369,7 +6369,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 55, .baseSpAttack = 95, .baseSpDefense = 60, - .types = { TYPE_GHOST, TYPE_FIRE }, + .types = MON_TYPES(TYPE_GHOST, TYPE_FIRE), .catchRate = 90, .expYield = 130, .evYield_SpAttack = 2, @@ -6377,7 +6377,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), #if P_UPDATED_ABILITIES >= GEN_6 .abilities = { ABILITY_FLASH_FIRE, ABILITY_FLAME_BODY, ABILITY_INFILTRATOR }, #else @@ -6422,7 +6422,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 80, .baseSpAttack = 145, .baseSpDefense = 90, - .types = { TYPE_GHOST, TYPE_FIRE }, + .types = MON_TYPES(TYPE_GHOST, TYPE_FIRE), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 260 : 234, .evYield_SpAttack = 3, @@ -6430,7 +6430,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), #if P_UPDATED_ABILITIES >= GEN_6 .abilities = { ABILITY_FLASH_FIRE, ABILITY_FLAME_BODY, ABILITY_INFILTRATOR }, #else @@ -6476,7 +6476,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 57, .baseSpAttack = 30, .baseSpDefense = 40, - .types = { TYPE_DRAGON, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_DRAGON), .catchRate = 75, .expYield = 64, .evYield_Attack = 1, @@ -6484,7 +6484,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON), .abilities = { ABILITY_RIVALRY, ABILITY_MOLD_BREAKER, ABILITY_UNNERVE }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Axew"), @@ -6524,7 +6524,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 67, .baseSpAttack = 40, .baseSpDefense = 50, - .types = { TYPE_DRAGON, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_DRAGON), .catchRate = 60, .expYield = 144, .evYield_Attack = 2, @@ -6532,7 +6532,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON), .abilities = { ABILITY_RIVALRY, ABILITY_MOLD_BREAKER, ABILITY_UNNERVE }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Fraxure"), @@ -6572,7 +6572,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 97, .baseSpAttack = 60, .baseSpDefense = 70, - .types = { TYPE_DRAGON, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_DRAGON), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 270 : 243, .evYield_Attack = 3, @@ -6580,7 +6580,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON), .abilities = { ABILITY_RIVALRY, ABILITY_MOLD_BREAKER, ABILITY_UNNERVE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Haxorus"), @@ -6621,7 +6621,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 40, .baseSpAttack = 60, .baseSpDefense = 40, - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .catchRate = 120, .expYield = 61, .evYield_Attack = 1, @@ -6629,7 +6629,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SNOW_CLOAK, ABILITY_SLUSH_RUSH, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Cubchoo"), @@ -6669,7 +6669,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 50, .baseSpAttack = 70, .baseSpDefense = 80, - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .catchRate = 60, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_7) ? 177 : 170, .evYield_Attack = 2, @@ -6677,7 +6677,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SNOW_CLOAK, ABILITY_SLUSH_RUSH, ABILITY_SWIFT_SWIM }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Beartic"), @@ -6723,7 +6723,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseHP = 70, .baseDefense = 30, #endif - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .catchRate = 25, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_7) ? 180 : 170, .evYield_SpDefense = 2, @@ -6732,7 +6732,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Cryogonal"), @@ -6774,7 +6774,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 25, .baseSpAttack = 40, .baseSpDefense = 65, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 200, .expYield = 61, .evYield_Defense = 1, @@ -6782,7 +6782,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_HYDRATION, ABILITY_SHELL_ARMOR, ABILITY_OVERCOAT }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Shelmet"), @@ -6822,7 +6822,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 145, .baseSpAttack = 100, .baseSpDefense = 60, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 75, .expYield = 173, .evYield_Speed = 2, @@ -6830,7 +6830,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_HYDRATION, ABILITY_STICKY_HOLD, ABILITY_UNBURDEN }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Accelgor"), @@ -6863,24 +6863,24 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = #endif //P_FAMILY_SHELMET #if P_FAMILY_STUNFISK -#define STUNFISK_MISC_INFO \ - .catchRate = 75, \ - .expYield = 165, \ - .evYield_HP = 2, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 20, \ - .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS }, \ - .speciesName = _("Stunfisk"), \ - .cryId = CRY_STUNFISK, \ - .natDexNum = NATIONAL_DEX_STUNFISK, \ - .categoryName = _("Trap"), \ - .height = 7, \ - .pokemonScale = 365, \ - .pokemonOffset = 14, \ - .trainerScale = 256, \ - .trainerOffset = 0, \ - FOOTPRINT(Stunfisk) \ +#define STUNFISK_MISC_INFO \ + .catchRate = 75, \ + .expYield = 165, \ + .evYield_HP = 2, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 20, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS),\ + .speciesName = _("Stunfisk"), \ + .cryId = CRY_STUNFISK, \ + .natDexNum = NATIONAL_DEX_STUNFISK, \ + .categoryName = _("Trap"), \ + .height = 7, \ + .pokemonScale = 365, \ + .pokemonOffset = 14, \ + .trainerScale = 256, \ + .trainerOffset = 0, \ + FOOTPRINT(Stunfisk) \ .formSpeciesIdTable = sStunfiskFormSpeciesIdTable [SPECIES_STUNFISK] = @@ -6892,7 +6892,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 32, .baseSpAttack = 81, .baseSpDefense = 99, - .types = { TYPE_GROUND, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_GROUND, TYPE_ELECTRIC), .itemRare = ITEM_SOFT_SAND, .friendship = 70, .abilities = { ABILITY_STATIC, ABILITY_LIMBER, ABILITY_SAND_VEIL }, @@ -6925,7 +6925,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 32, .baseSpAttack = 66, .baseSpDefense = 84, - .types = { TYPE_GROUND, TYPE_STEEL }, + .types = MON_TYPES(TYPE_GROUND, TYPE_STEEL), .friendship = STANDARD_FRIENDSHIP, .abilities = { ABILITY_MIMICRY, ABILITY_NONE }, .bodyColor = BODY_COLOR_GREEN, @@ -6959,7 +6959,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 65, .baseSpAttack = 55, .baseSpDefense = 50, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 180, .expYield = 70, .evYield_Attack = 1, @@ -6967,7 +6967,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_INNER_FOCUS, ABILITY_REGENERATOR, ABILITY_RECKLESS }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Mienfoo"), @@ -7007,7 +7007,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 105, .baseSpAttack = 95, .baseSpDefense = 60, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 45, .expYield = 179, .evYield_Attack = 2, @@ -7015,7 +7015,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_INNER_FOCUS, ABILITY_REGENERATOR, ABILITY_RECKLESS }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Mienshao"), @@ -7056,7 +7056,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 48, .baseSpAttack = 60, .baseSpDefense = 90, - .types = { TYPE_DRAGON, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_DRAGON), .catchRate = 45, .expYield = 170, .evYield_Attack = 2, @@ -7065,7 +7065,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_MONSTER }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON, EGG_GROUP_MONSTER), .abilities = { ABILITY_ROUGH_SKIN, ABILITY_SHEER_FORCE, ABILITY_MOLD_BREAKER }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Druddigon"), @@ -7106,7 +7106,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 35, .baseSpAttack = 35, .baseSpDefense = 50, - .types = { TYPE_GROUND, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GROUND, TYPE_GHOST), .catchRate = 190, .expYield = 61, .evYield_Attack = 1, @@ -7115,7 +7115,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_IRON_FIST, ABILITY_KLUTZ, ABILITY_NO_GUARD }, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, @@ -7156,7 +7156,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 55, .baseSpAttack = 55, .baseSpDefense = 80, - .types = { TYPE_GROUND, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GROUND, TYPE_GHOST), .catchRate = 90, .expYield = 169, .evYield_Attack = 2, @@ -7165,7 +7165,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_IRON_FIST, ABILITY_KLUTZ, ABILITY_NO_GUARD }, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, @@ -7207,7 +7207,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 60, .baseSpAttack = 40, .baseSpDefense = 40, - .types = { TYPE_DARK, TYPE_STEEL }, + .types = MON_TYPES(TYPE_DARK, TYPE_STEEL), .catchRate = 120, .expYield = 68, .evYield_Attack = 1, @@ -7215,7 +7215,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_DEFIANT, ABILITY_INNER_FOCUS, ABILITY_PRESSURE }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Pawniard"), @@ -7255,7 +7255,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 70, .baseSpAttack = 60, .baseSpDefense = 70, - .types = { TYPE_DARK, TYPE_STEEL }, + .types = MON_TYPES(TYPE_DARK, TYPE_STEEL), .catchRate = 45, .expYield = 172, .evYield_Attack = 2, @@ -7263,7 +7263,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_DEFIANT, ABILITY_INNER_FOCUS, ABILITY_PRESSURE }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Bisharp"), @@ -7304,7 +7304,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 50, .baseSpAttack = 60, .baseSpDefense = 85, - .types = { TYPE_DARK, TYPE_STEEL }, + .types = MON_TYPES(TYPE_DARK, TYPE_STEEL), .catchRate = 25, .expYield = 275, .evYield_Attack = 3, @@ -7312,7 +7312,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_DEFIANT, ABILITY_SUPREME_OVERLORD, ABILITY_PRESSURE }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Kingambit"), @@ -7354,7 +7354,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 55, .baseSpAttack = 40, .baseSpDefense = 95, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 45, .expYield = 172, .evYield_Attack = 2, @@ -7362,7 +7362,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_RECKLESS, ABILITY_SAP_SIPPER, ABILITY_SOUNDPROOF }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Bouffalant"), @@ -7403,7 +7403,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 60, .baseSpAttack = 37, .baseSpDefense = 50, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 190, .expYield = 70, .evYield_Attack = 1, @@ -7411,7 +7411,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_SHEER_FORCE, ABILITY_HUSTLE }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Rufflet"), @@ -7451,7 +7451,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), \ .speciesName = _("Braviary"), \ .cryId = CRY_BRAVIARY, \ .natDexNum = NATIONAL_DEX_BRAVIARY, \ @@ -7467,7 +7467,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 80, .baseSpAttack = 57, .baseSpDefense = 75, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .evYield_Attack = 2, .abilities = { ABILITY_KEEN_EYE, ABILITY_SHEER_FORCE, ABILITY_DEFIANT }, .bodyColor = BODY_COLOR_RED, @@ -7506,7 +7506,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 65, .baseSpAttack = 112, .baseSpDefense = 70, - .types = { TYPE_PSYCHIC, TYPE_FLYING }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_FLYING), .evYield_SpAttack = 2, .abilities = { ABILITY_KEEN_EYE, ABILITY_SHEER_FORCE, ABILITY_TINTED_LENS }, .bodyColor = BODY_COLOR_WHITE, @@ -7546,7 +7546,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 60, .baseSpAttack = 45, .baseSpDefense = 65, - .types = { TYPE_DARK, TYPE_FLYING }, + .types = MON_TYPES(TYPE_DARK, TYPE_FLYING), .catchRate = 190, .expYield = 74, .evYield_Defense = 1, @@ -7554,7 +7554,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_BIG_PECKS, ABILITY_OVERCOAT, ABILITY_WEAK_ARMOR }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Vullaby"), @@ -7594,7 +7594,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 80, .baseSpAttack = 55, .baseSpDefense = 95, - .types = { TYPE_DARK, TYPE_FLYING }, + .types = MON_TYPES(TYPE_DARK, TYPE_FLYING), .catchRate = 60, .expYield = 179, .evYield_SpAttack = 2, @@ -7602,7 +7602,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_BIG_PECKS, ABILITY_OVERCOAT, ABILITY_WEAK_ARMOR }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Mandibuzz"), @@ -7643,7 +7643,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 65, .baseSpAttack = 105, .baseSpDefense = 66, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 90, .expYield = 169, .evYield_SpAttack = 2, @@ -7651,7 +7651,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_GLUTTONY, ABILITY_FLASH_FIRE, ABILITY_WHITE_SMOKE }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Heatmor"), @@ -7692,7 +7692,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 109, .baseSpAttack = 48, .baseSpDefense = 48, - .types = { TYPE_BUG, TYPE_STEEL }, + .types = MON_TYPES(TYPE_BUG, TYPE_STEEL), .catchRate = 90, .expYield = 169, .evYield_Defense = 2, @@ -7700,7 +7700,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_HUSTLE, ABILITY_TRUANT }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Durant"), @@ -7741,7 +7741,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 38, .baseSpAttack = 45, .baseSpDefense = 50, - .types = { TYPE_DARK, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_DARK, TYPE_DRAGON), .catchRate = 45, .expYield = 60, .evYield_Attack = 1, @@ -7749,7 +7749,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON), .abilities = { ABILITY_HUSTLE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Deino"), @@ -7789,7 +7789,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 58, .baseSpAttack = 65, .baseSpDefense = 70, - .types = { TYPE_DARK, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_DARK, TYPE_DRAGON), .catchRate = 45, .expYield = 147, .evYield_Attack = 2, @@ -7797,7 +7797,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON), .abilities = { ABILITY_HUSTLE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Zweilous"), @@ -7837,7 +7837,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 98, .baseSpAttack = 125, .baseSpDefense = 90, - .types = { TYPE_DARK, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_DARK, TYPE_DRAGON), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 300 : 270, .evYield_SpAttack = 3, @@ -7845,7 +7845,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Hydreigon"), @@ -7887,7 +7887,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 60, .baseSpAttack = 50, .baseSpDefense = 55, - .types = { TYPE_BUG, TYPE_FIRE }, + .types = MON_TYPES(TYPE_BUG, TYPE_FIRE), .catchRate = 45, .expYield = 72, .evYield_Attack = 1, @@ -7895,7 +7895,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_FLAME_BODY, ABILITY_NONE, ABILITY_SWARM }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Larvesta"), @@ -7935,7 +7935,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 100, .baseSpAttack = 135, .baseSpDefense = 105, - .types = { TYPE_BUG, TYPE_FIRE }, + .types = MON_TYPES(TYPE_BUG, TYPE_FIRE), .catchRate = 15, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 275 : 248, .evYield_SpAttack = 3, @@ -7945,7 +7945,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_FLAME_BODY, ABILITY_NONE, ABILITY_SWARM }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Volcarona"), @@ -7987,7 +7987,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 108, .baseSpAttack = 90, .baseSpDefense = 72, - .types = { TYPE_STEEL, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_STEEL, TYPE_FIGHTING), .catchRate = 3, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 290 : 261, .evYield_Defense = 3, @@ -7995,7 +7995,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_JUSTIFIED, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .isLegendary = TRUE, @@ -8037,7 +8037,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 108, .baseSpAttack = 72, .baseSpDefense = 90, - .types = { TYPE_ROCK, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_ROCK, TYPE_FIGHTING), .catchRate = 3, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 290 : 261, .evYield_Attack = 3, @@ -8045,7 +8045,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_JUSTIFIED, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .isLegendary = TRUE, @@ -8087,7 +8087,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 108, .baseSpAttack = 90, .baseSpDefense = 129, - .types = { TYPE_GRASS, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_GRASS, TYPE_FIGHTING), .catchRate = 3, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 290 : 261, .evYield_SpDefense = 3, @@ -8095,7 +8095,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 80, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_JUSTIFIED, ABILITY_NONE }, .bodyColor = BODY_COLOR_GREEN, .isLegendary = TRUE, @@ -8130,7 +8130,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = #if P_FAMILY_TORNADUS #define TORNADUS_MISC_INFO \ - .types = { TYPE_FLYING, TYPE_FLYING }, \ + .types = MON_TYPES(TYPE_FLYING), \ .catchRate = 3, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 290 : 261, \ .evYield_Attack = 3, \ @@ -8138,7 +8138,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 120, \ .friendship = 90, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .bodyColor = BODY_COLOR_GREEN, \ .isLegendary = TRUE, \ .speciesName = _("Tornadus"), \ @@ -8218,14 +8218,14 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = #if P_FAMILY_THUNDURUS #define THUNDURUS_MISC_INFO \ - .types = { TYPE_ELECTRIC, TYPE_FLYING }, \ + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_FLYING), \ .catchRate = 3, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 290 : 261, \ .genderRatio = MON_MALE, \ .eggCycles = 120, \ .friendship = 90, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .bodyColor = BODY_COLOR_BLUE, \ .isLegendary = TRUE, \ .speciesName = _("Thundurus"), \ @@ -8315,7 +8315,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 90, .baseSpAttack = 150, .baseSpDefense = 120, - .types = { TYPE_DRAGON, TYPE_FIRE }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_FIRE), .catchRate = 3, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 340 : 306, .evYield_SpAttack = 3, @@ -8323,7 +8323,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_TURBOBLAZE, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .isLegendary = TRUE, @@ -8365,7 +8365,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 90, .baseSpAttack = 120, .baseSpDefense = 100, - .types = { TYPE_DRAGON, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_ELECTRIC), .catchRate = 3, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 340 : 306, .evYield_Attack = 3, @@ -8373,7 +8373,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_TERAVOLT, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLACK, .isLegendary = TRUE, @@ -8408,14 +8408,14 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = #if P_FAMILY_LANDORUS #define LANDORUS_MISC_INFO \ - .types = { TYPE_GROUND, TYPE_FLYING }, \ + .types = MON_TYPES(TYPE_GROUND, TYPE_FLYING), \ .catchRate = 3, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 300 : 270, \ .genderRatio = MON_MALE, \ .eggCycles = 120, \ .friendship = 90, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .bodyColor = BODY_COLOR_BROWN, \ .isLegendary = TRUE, \ .speciesName = _("Landorus"), \ @@ -8497,13 +8497,13 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = #if P_FAMILY_KYUREM #define KYUREM_MISC_INFO \ - .types = { TYPE_DRAGON, TYPE_ICE }, \ + .types = MON_TYPES(TYPE_DRAGON, TYPE_ICE), \ .catchRate = 3, \ .genderRatio = MON_GENDERLESS, \ .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .bodyColor = BODY_COLOR_GRAY, \ .noFlip = TRUE, \ .speciesName = _("Kyurem"), \ @@ -8648,7 +8648,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 108, \ .baseSpAttack = 129, \ .baseSpDefense = 90, \ - .types = { TYPE_WATER, TYPE_FIGHTING }, \ + .types = MON_TYPES(TYPE_WATER, TYPE_FIGHTING), \ .catchRate = 3, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 290 : 261, \ .evYield_SpAttack = 3, \ @@ -8656,7 +8656,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 80, \ .friendship = 35, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_JUSTIFIED, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_YELLOW, \ .isMythical = TRUE, \ @@ -8726,7 +8726,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 120, \ .friendship = 100, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_SERENE_GRACE, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_WHITE, \ .noFlip = TRUE, \ @@ -8755,7 +8755,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 90, .baseSpAttack = 128, .baseSpDefense = 128, - .types = { TYPE_NORMAL, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_PSYCHIC), .evYield_SpAttack = 1, .evYield_SpDefense = 1, .description = COMPOUND_STRING( @@ -8784,7 +8784,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 128, .baseSpAttack = 77, .baseSpDefense = 77, - .types = { TYPE_NORMAL, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FIGHTING), .evYield_Attack = 1, .evYield_Defense = 1, .description = COMPOUND_STRING( @@ -8813,7 +8813,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .baseSpeed = 99, \ .baseSpAttack = 120, \ .baseSpDefense = 95, \ - .types = { TYPE_BUG, TYPE_STEEL }, \ + .types = MON_TYPES(TYPE_BUG, TYPE_STEEL), \ .catchRate = 3, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 300 : 270, \ .evYield_Attack = 1, \ @@ -8823,7 +8823,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_DOWNLOAD, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_PURPLE, \ .speciesName = _("Genesect"), \ diff --git a/src/data/pokemon/species_info/gen_6.h b/src/data/pokemon/species_info/gen_6.h index 189d1fd1a1..f831557248 100644 --- a/src/data/pokemon/species_info/gen_6.h +++ b/src/data/pokemon/species_info/gen_6.h @@ -12,7 +12,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 38, .baseSpAttack = 48, .baseSpDefense = 45, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = 63, .evYield_Defense = 1, @@ -20,7 +20,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_BULLETPROOF }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Chespin"), @@ -60,7 +60,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 57, .baseSpAttack = 56, .baseSpDefense = 58, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = 142, .evYield_Defense = 2, @@ -68,7 +68,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_BULLETPROOF }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Quilladin"), @@ -108,7 +108,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 64, .baseSpAttack = 74, .baseSpDefense = 75, - .types = { TYPE_GRASS, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_GRASS, TYPE_FIGHTING), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 265 : 239, .evYield_Defense = 3, @@ -116,7 +116,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_BULLETPROOF }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Chesnaught"), @@ -157,7 +157,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 60, .baseSpAttack = 62, .baseSpDefense = 60, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = 61, .evYield_SpAttack = 1, @@ -165,7 +165,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_MAGICIAN }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Fennekin"), @@ -205,7 +205,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 73, .baseSpAttack = 90, .baseSpDefense = 70, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = 143, .evYield_SpAttack = 2, @@ -213,7 +213,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_MAGICIAN }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Braixen"), @@ -253,7 +253,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 104, .baseSpAttack = 114, .baseSpDefense = 100, - .types = { TYPE_FIRE, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_FIRE, TYPE_PSYCHIC), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 267 : 240, .evYield_SpAttack = 3, @@ -261,7 +261,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_MAGICIAN }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Delphox"), @@ -302,7 +302,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 71, .baseSpAttack = 62, .baseSpDefense = 44, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = 63, .evYield_Speed = 1, @@ -310,7 +310,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_PROTEAN }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Froakie"), @@ -350,7 +350,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 97, .baseSpAttack = 83, .baseSpDefense = 56, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = 142, .evYield_Speed = 2, @@ -358,7 +358,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_PROTEAN }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Frogadier"), @@ -408,7 +408,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = ICON(Greninja, 0) #define GRENINJA_MISC_INFO \ - .types = { TYPE_WATER, TYPE_DARK }, \ + .types = MON_TYPES(TYPE_WATER, TYPE_DARK), \ .catchRate = 45, \ .evYield_Speed = 3, \ .eggCycles = 20, \ @@ -435,7 +435,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = GRENINJA_MISC_INFO, GRENINJA_NORMAL_MISC_INFO, .genderRatio = PERCENT_FEMALE(12.5), - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_PROTEAN }, .frontAnimId = ANIM_V_STRETCH, .backAnimId = BACK_ANIM_JOLT_RIGHT, @@ -446,7 +446,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = GRENINJA_MISC_INFO, GRENINJA_NORMAL_MISC_INFO, .genderRatio = MON_MALE, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_BATTLE_BOND, ABILITY_NONE, ABILITY_NONE }, .frontAnimId = ANIM_FLICKER_INCREASING, .backAnimId = BACK_ANIM_V_STRETCH, @@ -464,7 +464,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpDefense = 71, .expYield = 288, .genderRatio = MON_MALE, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_BATTLE_BOND, ABILITY_NONE, ABILITY_NONE }, .description = COMPOUND_STRING( "It appears and vanishes with a ninja's\n" @@ -493,7 +493,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 57, .baseSpAttack = 32, .baseSpDefense = 36, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 255, .expYield = 47, .evYield_Speed = 1, @@ -501,7 +501,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_PICKUP, ABILITY_CHEEK_POUCH, ABILITY_HUGE_POWER }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Bunnelby"), @@ -541,7 +541,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 78, .baseSpAttack = 50, .baseSpDefense = 77, - .types = { TYPE_NORMAL, TYPE_GROUND }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_GROUND), .catchRate = 127, .expYield = 148, .evYield_HP = 2, @@ -549,7 +549,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_PICKUP, ABILITY_CHEEK_POUCH, ABILITY_HUGE_POWER }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Diggersby"), @@ -590,7 +590,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 62, .baseSpAttack = 40, .baseSpDefense = 38, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 255, .expYield = 56, .evYield_Speed = 1, @@ -598,7 +598,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_BIG_PECKS, ABILITY_NONE, ABILITY_GALE_WINGS }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Fletchling"), @@ -638,7 +638,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 84, .baseSpAttack = 56, .baseSpDefense = 52, - .types = { TYPE_FIRE, TYPE_FLYING }, + .types = MON_TYPES(TYPE_FIRE, TYPE_FLYING), .catchRate = 120, .expYield = 134, .evYield_Speed = 2, @@ -646,7 +646,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_FLAME_BODY, ABILITY_NONE, ABILITY_GALE_WINGS }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Flechinder"), @@ -687,7 +687,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 126, .baseSpAttack = 74, .baseSpDefense = 69, - .types = { TYPE_FIRE, TYPE_FLYING }, + .types = MON_TYPES(TYPE_FIRE, TYPE_FLYING), .catchRate = 45, .expYield = 175, .evYield_Speed = 3, @@ -695,7 +695,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_FLAME_BODY, ABILITY_NONE, ABILITY_GALE_WINGS }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Talonflame"), @@ -737,7 +737,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 35, .baseSpAttack = 27, .baseSpDefense = 25, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 255, .expYield = 40, .evYield_Defense = 1, @@ -745,7 +745,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SHIELD_DUST, ABILITY_COMPOUND_EYES, ABILITY_FRIEND_GUARD }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Scatterbug"), @@ -786,7 +786,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 29, .baseSpAttack = 27, .baseSpDefense = 30, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 120, .expYield = 75, .evYield_Defense = 2, @@ -794,7 +794,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SHED_SKIN, ABILITY_NONE, ABILITY_FRIEND_GUARD }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Spewpa"), @@ -834,7 +834,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 89, \ .baseSpAttack = 90, \ .baseSpDefense = 50, \ - .types = { TYPE_BUG, TYPE_FLYING }, \ + .types = MON_TYPES(TYPE_BUG, TYPE_FLYING), \ .catchRate = 45, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 206 : 185, \ .evYield_HP = 1, \ @@ -844,7 +844,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), \ .abilities = { ABILITY_SHIELD_DUST, ABILITY_COMPOUND_EYES, ABILITY_FRIEND_GUARD }, \ .bodyColor = color, \ .speciesName = _("Vivillon"), \ @@ -1062,7 +1062,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 72, .baseSpAttack = 73, .baseSpDefense = 54, - .types = { TYPE_FIRE, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_FIRE, TYPE_NORMAL), .catchRate = 220, .expYield = 74, .evYield_SpAttack = 1, @@ -1070,7 +1070,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_RIVALRY, ABILITY_UNNERVE, ABILITY_MOXIE }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Litleo"), @@ -1110,7 +1110,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 106, .baseSpAttack = 109, .baseSpDefense = 66, - .types = { TYPE_FIRE, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_FIRE, TYPE_NORMAL), .catchRate = 65, .expYield = 177, .evYield_SpAttack = 2, @@ -1118,7 +1118,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_RIVALRY, ABILITY_UNNERVE, ABILITY_MOXIE }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Pyroar"), @@ -1161,7 +1161,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 42, \ .baseSpAttack = 61, \ .baseSpDefense = 79, \ - .types = { TYPE_FAIRY, TYPE_FAIRY }, \ + .types = MON_TYPES(TYPE_FAIRY), \ .catchRate = 225, \ .expYield = 61, \ .evYield_SpDefense = 1, \ @@ -1169,7 +1169,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), \ .abilities = { ABILITY_FLOWER_VEIL, ABILITY_NONE, ABILITY_SYMBIOSIS }, \ .bodyColor = BODY_COLOR_WHITE, \ .speciesName = _("Flabébé"), \ @@ -1244,7 +1244,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = }, #define FLOETTE_MISC_INFO(form, FORM, iconPal) \ - .types = { TYPE_FAIRY, TYPE_FAIRY }, \ + .types = MON_TYPES(TYPE_FAIRY), \ .catchRate = 120, \ .evYield_SpDefense = 2, \ .genderRatio = MON_FEMALE, \ @@ -1278,7 +1278,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpAttack = 75, \ .baseSpDefense = 98, \ .expYield = 130, \ - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), \ .cryId = CRY_FLOETTE, \ FRONT_PIC(Floette, 48, 64), \ .frontPicYOffset = 3, \ @@ -1344,7 +1344,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpAttack = 125, .baseSpDefense = 128, .expYield = 243, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .description = COMPOUND_STRING( "The flower it's holding can no\n" "longer be found blooming anywhere. It's\n" @@ -1366,7 +1366,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 75, \ .baseSpAttack = 112, \ .baseSpDefense = 154, \ - .types = { TYPE_FAIRY, TYPE_FAIRY }, \ + .types = MON_TYPES(TYPE_FAIRY), \ .catchRate = 45, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 276 : 248, \ .evYield_SpDefense = 3, \ @@ -1374,7 +1374,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), \ .abilities = { ABILITY_FLOWER_VEIL, ABILITY_NONE, ABILITY_SYMBIOSIS }, \ .bodyColor = BODY_COLOR_WHITE, \ .speciesName = _("Florges"), \ @@ -1455,7 +1455,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 52, .baseSpAttack = 62, .baseSpDefense = 57, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 200, .expYield = 70, .evYield_HP = 1, @@ -1463,7 +1463,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SAP_SIPPER, ABILITY_NONE, ABILITY_GRASS_PELT }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Skiddo"), @@ -1503,7 +1503,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 68, .baseSpAttack = 97, .baseSpDefense = 81, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = 186, .evYield_HP = 2, @@ -1511,7 +1511,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SAP_SIPPER, ABILITY_NONE, ABILITY_GRASS_PELT }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Gogoat"), @@ -1552,7 +1552,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 43, .baseSpAttack = 46, .baseSpDefense = 48, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 220, .expYield = 70, .evYield_Attack = 1, @@ -1561,7 +1561,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_IRON_FIST, ABILITY_MOLD_BREAKER, ABILITY_SCRAPPY }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Pancham"), @@ -1601,7 +1601,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 58, .baseSpAttack = 69, .baseSpDefense = 71, - .types = { TYPE_FIGHTING, TYPE_DARK }, + .types = MON_TYPES(TYPE_FIGHTING, TYPE_DARK), .catchRate = 65, .expYield = 173, .evYield_Attack = 2, @@ -1610,7 +1610,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_IRON_FIST, ABILITY_MOLD_BREAKER, ABILITY_SCRAPPY }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Pangoro"), @@ -1650,7 +1650,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 102, \ .baseSpAttack = 65, \ .baseSpDefense = 90, \ - .types = { TYPE_NORMAL, TYPE_NORMAL }, \ + .types = MON_TYPES(TYPE_NORMAL), \ .catchRate = 160, \ .expYield = 165, \ .evYield_Speed = 1, \ @@ -1658,7 +1658,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .abilities = { ABILITY_FUR_COAT, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_WHITE, \ .speciesName = _("Furfrou"), \ @@ -1791,7 +1791,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 68, .baseSpAttack = 63, .baseSpDefense = 60, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 190, .expYield = 71, .evYield_Speed = 1, @@ -1799,7 +1799,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_KEEN_EYE, ABILITY_INFILTRATOR, ABILITY_OWN_TEMPO }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Espurr"), @@ -1839,14 +1839,14 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 104, \ .baseSpAttack = 83, \ .baseSpDefense = 81, \ - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, \ + .types = MON_TYPES(TYPE_PSYCHIC), \ .catchRate = 75, \ .expYield = 163, \ .evYield_Speed = 2, \ .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .speciesName = _("Meowstic"), \ .cryId = CRY_MEOWSTIC, \ .natDexNum = NATIONAL_DEX_MEOWSTIC, \ @@ -1912,7 +1912,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 28, .baseSpAttack = 35, .baseSpDefense = 37, - .types = { TYPE_STEEL, TYPE_GHOST }, + .types = MON_TYPES(TYPE_STEEL, TYPE_GHOST), .catchRate = 180, .expYield = 65, .evYield_Defense = 1, @@ -1920,7 +1920,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_NO_GUARD, ABILITY_NONE }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Honedge"), @@ -1961,7 +1961,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 35, .baseSpAttack = 45, .baseSpDefense = 49, - .types = { TYPE_STEEL, TYPE_GHOST }, + .types = MON_TYPES(TYPE_STEEL, TYPE_GHOST), .catchRate = 90, .expYield = 157, .evYield_Defense = 2, @@ -1969,7 +1969,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_NO_GUARD, ABILITY_NONE }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Doublade"), @@ -2003,14 +2003,14 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = }, #define AEGISLASH_MISC_INFO \ - .types = { TYPE_STEEL, TYPE_GHOST }, \ + .types = MON_TYPES(TYPE_STEEL, TYPE_GHOST), \ .catchRate = 45, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 250 : 234,\ .genderRatio = PERCENT_FEMALE(50), \ .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), \ .abilities = { ABILITY_STANCE_CHANGE, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_BROWN, \ .speciesName = _("Aegislash"), \ @@ -2101,7 +2101,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 23, .baseSpAttack = 63, .baseSpDefense = 65, - .types = { TYPE_FAIRY, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_FAIRY), .catchRate = 200, .expYield = 68, .evYield_HP = 1, @@ -2109,7 +2109,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .abilities = { ABILITY_HEALER, ABILITY_NONE, ABILITY_AROMA_VEIL }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Spritzee"), @@ -2151,7 +2151,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 29, .baseSpAttack = 99, .baseSpDefense = 89, - .types = { TYPE_FAIRY, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_FAIRY), .catchRate = 140, .expYield = 162, .evYield_HP = 2, @@ -2159,7 +2159,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .abilities = { ABILITY_HEALER, ABILITY_NONE, ABILITY_AROMA_VEIL }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Aromatisse"), @@ -2200,7 +2200,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 49, .baseSpAttack = 59, .baseSpDefense = 57, - .types = { TYPE_FAIRY, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_FAIRY), .catchRate = 200, .expYield = 68, .evYield_Defense = 1, @@ -2208,7 +2208,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .abilities = { ABILITY_SWEET_VEIL, ABILITY_NONE, ABILITY_UNBURDEN }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Swirlix"), @@ -2249,7 +2249,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 72, .baseSpAttack = 85, .baseSpDefense = 75, - .types = { TYPE_FAIRY, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_FAIRY), .catchRate = 140, .expYield = 168, .evYield_Defense = 2, @@ -2257,7 +2257,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .abilities = { ABILITY_SWEET_VEIL, ABILITY_NONE, ABILITY_UNBURDEN }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Slurpuff"), @@ -2298,7 +2298,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 45, .baseSpAttack = 37, .baseSpDefense = 46, - .types = { TYPE_DARK, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_DARK, TYPE_PSYCHIC), .catchRate = 190, .expYield = 58, .evYield_Attack = 1, @@ -2306,7 +2306,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_2), .abilities = { ABILITY_CONTRARY, ABILITY_SUCTION_CUPS, ABILITY_INFILTRATOR }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Inkay"), @@ -2347,7 +2347,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 73, .baseSpAttack = 68, .baseSpDefense = 75, - .types = { TYPE_DARK, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_DARK, TYPE_PSYCHIC), .catchRate = 80, .expYield = 169, .evYield_Attack = 2, @@ -2355,7 +2355,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_2), .abilities = { ABILITY_CONTRARY, ABILITY_SUCTION_CUPS, ABILITY_INFILTRATOR }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Malamar"), @@ -2396,7 +2396,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 50, .baseSpAttack = 39, .baseSpDefense = 56, - .types = { TYPE_ROCK, TYPE_WATER }, + .types = MON_TYPES(TYPE_ROCK, TYPE_WATER), .catchRate = 120, .expYield = 61, .evYield_Attack = 1, @@ -2404,7 +2404,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_TOUGH_CLAWS, ABILITY_SNIPER, ABILITY_PICKPOCKET }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Binacle"), @@ -2444,7 +2444,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 68, .baseSpAttack = 54, .baseSpDefense = 86, - .types = { TYPE_ROCK, TYPE_WATER }, + .types = MON_TYPES(TYPE_ROCK, TYPE_WATER), .catchRate = 45, .expYield = 175, .evYield_Attack = 2, @@ -2452,7 +2452,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_TOUGH_CLAWS, ABILITY_SNIPER, ABILITY_PICKPOCKET }, .bodyColor = BODY_COLOR_BROWN, .noFlip = TRUE, @@ -2494,7 +2494,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 30, .baseSpAttack = 60, .baseSpDefense = 60, - .types = { TYPE_POISON, TYPE_WATER }, + .types = MON_TYPES(TYPE_POISON, TYPE_WATER), .catchRate = 225, .expYield = 64, .evYield_SpDefense = 1, @@ -2502,7 +2502,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_DRAGON), .abilities = { ABILITY_POISON_POINT, ABILITY_POISON_TOUCH, ABILITY_ADAPTABILITY }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Skrelp"), @@ -2542,7 +2542,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 44, .baseSpAttack = 97, .baseSpDefense = 123, - .types = { TYPE_POISON, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_POISON, TYPE_DRAGON), .catchRate = 55, .expYield = 173, .evYield_SpDefense = 2, @@ -2550,7 +2550,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_DRAGON), .abilities = { ABILITY_POISON_POINT, ABILITY_POISON_TOUCH, ABILITY_ADAPTABILITY }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Dragalge"), @@ -2591,7 +2591,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 44, .baseSpAttack = 58, .baseSpDefense = 63, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 225, .expYield = 66, .evYield_SpAttack = 1, @@ -2599,7 +2599,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_3), .abilities = { ABILITY_MEGA_LAUNCHER, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .noFlip = TRUE, @@ -2640,7 +2640,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 59, .baseSpAttack = 120, .baseSpDefense = 89, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 55, .expYield = 100, .evYield_SpAttack = 2, @@ -2648,7 +2648,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_WATER_3), .abilities = { ABILITY_MEGA_LAUNCHER, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .noFlip = TRUE, @@ -2690,7 +2690,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 70, .baseSpAttack = 61, .baseSpDefense = 43, - .types = { TYPE_ELECTRIC, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_NORMAL), .catchRate = 190, .expYield = 58, .evYield_Speed = 1, @@ -2698,7 +2698,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON), .abilities = { ABILITY_DRY_SKIN, ABILITY_SAND_VEIL, ABILITY_SOLAR_POWER }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Helioptile"), @@ -2738,7 +2738,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 109, .baseSpAttack = 109, .baseSpDefense = 94, - .types = { TYPE_ELECTRIC, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_NORMAL), .catchRate = 75, .expYield = 168, .evYield_Speed = 1, @@ -2747,7 +2747,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON), .abilities = { ABILITY_DRY_SKIN, ABILITY_SAND_VEIL, ABILITY_SOLAR_POWER }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Heliolisk"), @@ -2788,7 +2788,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 48, .baseSpAttack = 45, .baseSpDefense = 45, - .types = { TYPE_ROCK, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_ROCK, TYPE_DRAGON), .catchRate = 45, .expYield = 72, .evYield_Attack = 1, @@ -2796,7 +2796,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON), .abilities = { ABILITY_STRONG_JAW, ABILITY_NONE, ABILITY_STURDY }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Tyrunt"), @@ -2836,7 +2836,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 71, .baseSpAttack = 69, .baseSpDefense = 59, - .types = { TYPE_ROCK, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_ROCK, TYPE_DRAGON), .catchRate = 45, .expYield = 182, .evYield_Attack = 2, @@ -2844,7 +2844,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON), .abilities = { ABILITY_STRONG_JAW, ABILITY_NONE, ABILITY_ROCK_HEAD }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Tyrantrum"), @@ -2885,7 +2885,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 46, .baseSpAttack = 67, .baseSpDefense = 63, - .types = { TYPE_ROCK, TYPE_ICE }, + .types = MON_TYPES(TYPE_ROCK, TYPE_ICE), .catchRate = 45, .expYield = 72, .evYield_HP = 1, @@ -2893,7 +2893,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), .abilities = { ABILITY_REFRIGERATE, ABILITY_NONE, ABILITY_SNOW_WARNING }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Amaura"), @@ -2933,7 +2933,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 58, .baseSpAttack = 99, .baseSpDefense = 92, - .types = { TYPE_ROCK, TYPE_ICE }, + .types = MON_TYPES(TYPE_ROCK, TYPE_ICE), .catchRate = 45, .expYield = 104, .evYield_HP = 2, @@ -2941,7 +2941,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_MONSTER }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER), .abilities = { ABILITY_REFRIGERATE, ABILITY_NONE, ABILITY_SNOW_WARNING }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Aurorus"), @@ -2982,7 +2982,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 118, .baseSpAttack = 74, .baseSpDefense = 63, - .types = { TYPE_FIGHTING, TYPE_FLYING }, + .types = MON_TYPES(TYPE_FIGHTING, TYPE_FLYING), .catchRate = 100, .expYield = 175, .evYield_Attack = 2, @@ -2992,9 +2992,9 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, #if P_UPDATED_EGG_GROUPS >= GEN_8 - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING, EGG_GROUP_HUMAN_LIKE), #else - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), #endif .abilities = { ABILITY_LIMBER, ABILITY_UNBURDEN, ABILITY_MOLD_BREAKER }, .bodyColor = BODY_COLOR_GREEN, @@ -3036,7 +3036,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 101, .baseSpAttack = 81, .baseSpDefense = 67, - .types = { TYPE_ELECTRIC, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_FAIRY), .catchRate = 180, .expYield = 151, .evYield_Speed = 2, @@ -3044,7 +3044,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY), .abilities = { ABILITY_CHEEK_POUCH, ABILITY_PICKUP, ABILITY_PLUS }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Dedenne"), @@ -3085,7 +3085,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 50, .baseSpAttack = 50, .baseSpDefense = 150, - .types = { TYPE_ROCK, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_ROCK, TYPE_FAIRY), .catchRate = 60, .expYield = 100, .evYield_Defense = 1, @@ -3094,7 +3094,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_MINERAL), .abilities = { ABILITY_CLEAR_BODY, ABILITY_NONE, ABILITY_STURDY }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Carbink"), @@ -3136,7 +3136,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 40, .baseSpAttack = 55, .baseSpDefense = 75, - .types = { TYPE_DRAGON, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_DRAGON), .catchRate = 45, .expYield = 60, .evYield_SpDefense = 1, @@ -3145,7 +3145,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 40, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON), .abilities = { ABILITY_SAP_SIPPER, ABILITY_HYDRATION, ABILITY_GOOEY }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Goomy"), @@ -3187,7 +3187,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 40, \ .friendship = 35, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_DRAGON }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON), \ .bodyColor = BODY_COLOR_PURPLE, \ .speciesName = _("Sliggoo"), \ .cryId = CRY_SLIGGOO, \ @@ -3204,7 +3204,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 60, .baseSpAttack = 83, .baseSpDefense = 113, - .types = { TYPE_DRAGON, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_DRAGON), .abilities = { ABILITY_SAP_SIPPER, ABILITY_HYDRATION, ABILITY_GOOEY }, .categoryName = _("Soft Tissue"), .height = 8, @@ -3240,7 +3240,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 40, \ .friendship = 35, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_DRAGON }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON), \ .bodyColor = BODY_COLOR_PURPLE, \ .speciesName = _("Goodra"), \ .cryId = CRY_GOODRA, \ @@ -3257,7 +3257,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 80, .baseSpAttack = 110, .baseSpDefense = 150, - .types = { TYPE_DRAGON, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_DRAGON), .abilities = { ABILITY_SAP_SIPPER, ABILITY_HYDRATION, ABILITY_GOOEY }, .categoryName = _("Dragon"), .height = 20, @@ -3293,7 +3293,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 40, .baseSpAttack = 83, .baseSpDefense = 113, - .types = { TYPE_DRAGON, TYPE_STEEL }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_STEEL), .abilities = { ABILITY_SAP_SIPPER, ABILITY_SHELL_ARMOR, ABILITY_GOOEY }, .categoryName = _("Snail"), .height = 7, @@ -3331,7 +3331,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 60, .baseSpAttack = 110, .baseSpDefense = 150, - .types = { TYPE_DRAGON, TYPE_STEEL }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_STEEL), .abilities = { ABILITY_SAP_SIPPER, ABILITY_SHELL_ARMOR, ABILITY_GOOEY }, .categoryName = _("Shell Bunker"), .height = 17, @@ -3369,7 +3369,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 75, .baseSpAttack = 80, .baseSpDefense = 87, - .types = { TYPE_STEEL, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_STEEL, TYPE_FAIRY), .catchRate = 75, .expYield = 165, .evYield_Defense = 1, @@ -3377,7 +3377,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_PRANKSTER, ABILITY_NONE, ABILITY_MAGICIAN }, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, @@ -3420,7 +3420,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 38, .baseSpAttack = 50, .baseSpDefense = 60, - .types = { TYPE_GHOST, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GHOST, TYPE_GRASS), .catchRate = 120, .expYield = 62, .evYield_Attack = 1, @@ -3428,7 +3428,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS, EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_NATURAL_CURE, ABILITY_FRISK, ABILITY_HARVEST }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Phantump"), @@ -3470,7 +3470,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 56, .baseSpAttack = 65, .baseSpDefense = 82, - .types = { TYPE_GHOST, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GHOST, TYPE_GRASS), .catchRate = 60, .expYield = 166, .evYield_Attack = 2, @@ -3478,7 +3478,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS, EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_NATURAL_CURE, ABILITY_FRISK, ABILITY_HARVEST }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Trevenant"), @@ -3512,7 +3512,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = #if P_FAMILY_PUMPKABOO #define PUMPKABOO_MISC_INFO \ - .types = { TYPE_GHOST, TYPE_GRASS }, \ + .types = MON_TYPES(TYPE_GHOST, TYPE_GRASS), \ .catchRate = 120, \ .expYield = 67, \ .evYield_Defense = 1, \ @@ -3520,7 +3520,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), \ .abilities = { ABILITY_PICKUP, ABILITY_FRISK, ABILITY_INSOMNIA }, \ .bodyColor = BODY_COLOR_BROWN, \ .speciesName = _("Pumpkaboo"), \ @@ -3651,7 +3651,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = }, #define GOURGEIST_MISC_INFO \ - .types = { TYPE_GHOST, TYPE_GRASS }, \ + .types = MON_TYPES(TYPE_GHOST, TYPE_GRASS), \ .catchRate = 60, \ .expYield = 173, \ .evYield_Defense = 2, \ @@ -3659,7 +3659,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), \ .abilities = { ABILITY_PICKUP, ABILITY_FRISK, ABILITY_INSOMNIA }, \ .bodyColor = BODY_COLOR_BROWN, \ .speciesName = _("Gourgeist"), \ @@ -3787,9 +3787,9 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = #if P_FAMILY_BERGMITE #if P_UPDATED_EGG_GROUPS >= GEN_8 - #define BERGMITE_EGG_GROUPS {EGG_GROUP_MONSTER, EGG_GROUP_MINERAL } + #define BERGMITE_EGG_GROUPS MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_MINERAL) #else - #define BERGMITE_EGG_GROUPS {EGG_GROUP_MONSTER, EGG_GROUP_MONSTER } + #define BERGMITE_EGG_GROUPS MON_EGG_GROUPS(EGG_GROUP_MONSTER) #endif [SPECIES_BERGMITE] = @@ -3800,7 +3800,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 28, .baseSpAttack = 32, .baseSpDefense = 35, - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .catchRate = 190, .expYield = 61, .evYield_Defense = 1, @@ -3867,7 +3867,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 28, .baseSpAttack = 44, .baseSpDefense = 46, - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .abilities = { ABILITY_OWN_TEMPO, ABILITY_ICE_BODY, ABILITY_STURDY }, .height = 20, .weight = 5050, @@ -3903,7 +3903,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 38, .baseSpAttack = 34, .baseSpDefense = 36, - .types = { TYPE_ICE, TYPE_ROCK }, + .types = MON_TYPES(TYPE_ICE, TYPE_ROCK), .abilities = { ABILITY_STRONG_JAW, ABILITY_ICE_BODY, ABILITY_STURDY }, .height = 14, .weight = 2624, @@ -3939,7 +3939,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 55, .baseSpAttack = 45, .baseSpDefense = 40, - .types = { TYPE_FLYING, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_FLYING, TYPE_DRAGON), .catchRate = 190, .expYield = 49, .evYield_Speed = 1, @@ -3948,9 +3948,9 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, #if P_UPDATED_EGG_GROUPS >= GEN_8 - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING, EGG_GROUP_DRAGON), #else - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), #endif .abilities = { ABILITY_FRISK, ABILITY_INFILTRATOR, ABILITY_TELEPATHY }, .bodyColor = BODY_COLOR_PURPLE, @@ -3992,7 +3992,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 123, .baseSpAttack = 97, .baseSpDefense = 80, - .types = { TYPE_FLYING, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_FLYING, TYPE_DRAGON), .catchRate = 45, .expYield = 187, .evYield_Speed = 2, @@ -4001,9 +4001,9 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, #if P_UPDATED_EGG_GROUPS >= GEN_8 - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING, EGG_GROUP_DRAGON), #else - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), #endif .abilities = { ABILITY_FRISK, ABILITY_INFILTRATOR, ABILITY_TELEPATHY }, .bodyColor = BODY_COLOR_PURPLE, @@ -4045,7 +4045,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 99, \ .baseSpAttack = 131, \ .baseSpDefense = 98, \ - .types = { TYPE_FAIRY, TYPE_FAIRY }, \ + .types = MON_TYPES(TYPE_FAIRY), \ .catchRate = 45, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 340 : 306, \ .evYield_HP = 3, \ @@ -4053,7 +4053,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_FAIRY_AURA, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_BLUE, \ .speciesName = _("Xerneas"), \ @@ -4096,7 +4096,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 99, .baseSpAttack = 131, .baseSpDefense = 98, - .types = { TYPE_DARK, TYPE_FLYING }, + .types = MON_TYPES(TYPE_DARK, TYPE_FLYING), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 340 : 306, .evYield_HP = 3, @@ -4104,7 +4104,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_DARK_AURA, ABILITY_NONE }, .bodyColor = BODY_COLOR_RED, .isLegendary = TRUE, @@ -4140,14 +4140,14 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = #if P_FAMILY_ZYGARDE #define ZYGARDE_MISC_INFO(ability) \ - .types = { TYPE_DRAGON, TYPE_GROUND }, \ + .types = MON_TYPES(TYPE_DRAGON, TYPE_GROUND), \ .catchRate = 3, \ .evYield_HP = 3, \ .genderRatio = MON_GENDERLESS, \ .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ability, ABILITY_NONE }, \ .noFlip = TRUE, \ .speciesName = _("Zygarde"), \ @@ -4270,7 +4270,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = #if P_FAMILY_DIANCIE #define DIANCE_MISC_INFO \ - .types = { TYPE_ROCK, TYPE_FAIRY }, \ + .types = MON_TYPES(TYPE_ROCK, TYPE_FAIRY), \ .catchRate = 3, \ .evYield_Defense = 1, \ .evYield_SpDefense = 2, \ @@ -4278,7 +4278,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 25, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .bodyColor = BODY_COLOR_PINK, \ .speciesName = _("Diancie"), \ .natDexNum = NATIONAL_DEX_DIANCIE, \ @@ -4369,7 +4369,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .genderRatio = MON_GENDERLESS, \ .eggCycles = 120, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_MAGICIAN, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_PURPLE, \ .speciesName = _("Hoopa"), \ @@ -4388,7 +4388,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 70, .baseSpAttack = 150, .baseSpDefense = 130, - .types = { TYPE_PSYCHIC, TYPE_GHOST }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_GHOST), .friendship = 100, .cryId = CRY_HOOPA_CONFINED, .categoryName = _("Mischief"), @@ -4425,7 +4425,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 80, .baseSpAttack = 170, .baseSpDefense = 130, - .types = { TYPE_PSYCHIC, TYPE_DARK }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_DARK), .friendship = P_UPDATED_FRIENDSHIP >= GEN_8 ? STANDARD_FRIENDSHIP : 100, .cryId = CRY_HOOPA_UNBOUND, .categoryName = _("Djinn"), @@ -4463,7 +4463,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .baseSpeed = 70, .baseSpAttack = 130, .baseSpDefense = 90, - .types = { TYPE_FIRE, TYPE_WATER }, + .types = MON_TYPES(TYPE_FIRE, TYPE_WATER), .catchRate = 3, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 300 : 270, .evYield_SpAttack = 3, @@ -4471,7 +4471,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggCycles = 120, .friendship = 100, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_WATER_ABSORB, ABILITY_NONE }, .bodyColor = BODY_COLOR_BROWN, .isMythical = TRUE, diff --git a/src/data/pokemon/species_info/gen_7.h b/src/data/pokemon/species_info/gen_7.h index 1ff6fcbc80..0cd8db3770 100644 --- a/src/data/pokemon/species_info/gen_7.h +++ b/src/data/pokemon/species_info/gen_7.h @@ -12,7 +12,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 42, .baseSpAttack = 50, .baseSpDefense = 50, - .types = { TYPE_GRASS, TYPE_FLYING }, + .types = MON_TYPES(TYPE_GRASS, TYPE_FLYING), .catchRate = 45, .expYield = 64, .evYield_HP = 1, @@ -20,7 +20,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_LONG_REACH }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Rowlet"), @@ -60,7 +60,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 52, .baseSpAttack = 70, .baseSpDefense = 70, - .types = { TYPE_GRASS, TYPE_FLYING }, + .types = MON_TYPES(TYPE_GRASS, TYPE_FLYING), .catchRate = 45, .expYield = 147, .evYield_HP = 2, @@ -68,7 +68,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_LONG_REACH }, .bodyColor = BODY_COLOR_BROWN, .noFlip = TRUE, @@ -110,7 +110,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), \ .bodyColor = BODY_COLOR_BROWN, \ .speciesName = _("Decidueye"), \ .cryId = CRY_DECIDUEYE, \ @@ -133,7 +133,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 70, .baseSpAttack = 100, .baseSpDefense = 100, - .types = { TYPE_GRASS, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GRASS, TYPE_GHOST), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_LONG_REACH }, .weight = 366, .description = COMPOUND_STRING( @@ -163,7 +163,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 60, .baseSpAttack = 95, .baseSpDefense = 95, - .types = { TYPE_GRASS, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_GRASS, TYPE_FIGHTING), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_SCRAPPY }, .weight = 370, .description = COMPOUND_STRING( @@ -195,7 +195,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 70, .baseSpAttack = 60, .baseSpDefense = 40, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = 64, .evYield_Speed = 1, @@ -203,7 +203,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_INTIMIDATE }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Litten"), @@ -243,7 +243,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 90, .baseSpAttack = 80, .baseSpDefense = 50, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = 147, .evYield_Speed = 2, @@ -251,7 +251,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_INTIMIDATE }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Torracat"), @@ -291,7 +291,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 60, .baseSpAttack = 80, .baseSpDefense = 90, - .types = { TYPE_FIRE, TYPE_DARK }, + .types = MON_TYPES(TYPE_FIRE, TYPE_DARK), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 265 : 239, .evYield_Attack = 3, @@ -299,7 +299,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_INTIMIDATE }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Incineroar"), @@ -340,7 +340,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 40, .baseSpAttack = 66, .baseSpDefense = 56, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = 64, .evYield_SpAttack = 1, @@ -348,7 +348,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_LIQUID_VOICE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Popplio"), @@ -388,7 +388,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 50, .baseSpAttack = 91, .baseSpDefense = 81, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = 147, .evYield_SpAttack = 2, @@ -396,7 +396,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_LIQUID_VOICE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Brionne"), @@ -436,7 +436,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 60, .baseSpAttack = 126, .baseSpDefense = 116, - .types = { TYPE_WATER, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_WATER, TYPE_FAIRY), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 265 : 239, .evYield_SpAttack = 3, @@ -444,7 +444,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_LIQUID_VOICE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Primarina"), @@ -485,7 +485,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 65, .baseSpAttack = 30, .baseSpDefense = 30, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 255, .expYield = 53, .evYield_Attack = 1, @@ -494,7 +494,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_SKILL_LINK, ABILITY_PICKUP }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Pikipek"), @@ -534,7 +534,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 75, .baseSpAttack = 40, .baseSpDefense = 50, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 120, .expYield = 124, .evYield_Attack = 2, @@ -543,7 +543,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_SKILL_LINK, ABILITY_PICKUP }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Trumbeak"), @@ -583,7 +583,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 60, .baseSpAttack = 75, .baseSpDefense = 75, - .types = { TYPE_NORMAL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 243 : 218, .evYield_Attack = 3, @@ -592,7 +592,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_SKILL_LINK, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Toucannon"), @@ -633,7 +633,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 45, .baseSpAttack = 30, .baseSpDefense = 30, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 255, .expYield = 51, .evYield_Attack = 1, @@ -642,7 +642,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_STAKEOUT, ABILITY_STRONG_JAW, ABILITY_ADAPTABILITY }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Yungoos"), @@ -682,7 +682,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 45, .baseSpAttack = 55, .baseSpDefense = 60, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 127, .expYield = 146, .evYield_Attack = 2, @@ -691,7 +691,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_STAKEOUT, ABILITY_STRONG_JAW, ABILITY_ADAPTABILITY }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Gumshoos"), @@ -732,7 +732,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 46, .baseSpAttack = 55, .baseSpDefense = 45, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 255, .expYield = 60, .evYield_Attack = 1, @@ -740,7 +740,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Grubbin"), @@ -780,7 +780,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 36, .baseSpAttack = 55, .baseSpDefense = 75, - .types = { TYPE_BUG, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_BUG, TYPE_ELECTRIC), .catchRate = 120, .expYield = 140, .evYield_Defense = 2, @@ -789,7 +789,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_BATTERY, ABILITY_NONE }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Charjabug"), @@ -830,7 +830,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 43, .baseSpAttack = 145, .baseSpDefense = 75, - .types = { TYPE_BUG, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_BUG, TYPE_ELECTRIC), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 250 : 225, .evYield_SpAttack = 3, @@ -838,7 +838,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_LEVITATE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Vikavolt"), @@ -880,7 +880,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 63, .baseSpAttack = 42, .baseSpDefense = 47, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 225, .expYield = 68, .evYield_Attack = 1, @@ -889,7 +889,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_HYPER_CUTTER, ABILITY_IRON_FIST, ABILITY_ANGER_POINT }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Crabrawler"), @@ -930,7 +930,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 43, .baseSpAttack = 62, .baseSpDefense = 67, - .types = { TYPE_FIGHTING, TYPE_ICE }, + .types = MON_TYPES(TYPE_FIGHTING, TYPE_ICE), .catchRate = 60, .expYield = 167, .evYield_Attack = 2, @@ -939,7 +939,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_HYPER_CUTTER, ABILITY_IRON_FIST, ABILITY_ANGER_POINT }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Crabminabl"), @@ -987,7 +987,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), \ .abilities = { ABILITY_DANCER, ABILITY_NONE }, \ .speciesName = _("Oricorio"), \ .natDexNum = NATIONAL_DEX_ORICORIO, \ @@ -1009,7 +1009,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = [SPECIES_ORICORIO_BAILE] = { ORICORIO_MISC_INFO, - .types = { TYPE_FIRE, TYPE_FLYING }, + .types = MON_TYPES(TYPE_FIRE, TYPE_FLYING), .bodyColor = BODY_COLOR_RED, .cryId = CRY_ORICORIO_BAILE, .description = COMPOUND_STRING( @@ -1029,7 +1029,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = [SPECIES_ORICORIO_POM_POM] = { ORICORIO_MISC_INFO, - .types = { TYPE_ELECTRIC, TYPE_FLYING }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_FLYING), .bodyColor = BODY_COLOR_YELLOW, .cryId = CRY_ORICORIO_POM_POM, .description = COMPOUND_STRING( @@ -1049,7 +1049,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = [SPECIES_ORICORIO_PAU] = { ORICORIO_MISC_INFO, - .types = { TYPE_PSYCHIC, TYPE_FLYING }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_FLYING), .bodyColor = BODY_COLOR_PINK, .cryId = CRY_ORICORIO_PAU, .description = COMPOUND_STRING( @@ -1069,7 +1069,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = [SPECIES_ORICORIO_SENSU] = { ORICORIO_MISC_INFO, - .types = { TYPE_GHOST, TYPE_FLYING }, + .types = MON_TYPES(TYPE_GHOST, TYPE_FLYING), .bodyColor = BODY_COLOR_PURPLE, .cryId = CRY_ORICORIO_SENSU, .description = COMPOUND_STRING( @@ -1096,7 +1096,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 84, .baseSpAttack = 55, .baseSpDefense = 40, - .types = { TYPE_BUG, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_BUG, TYPE_FAIRY), .catchRate = 190, .expYield = 61, .evYield_Speed = 1, @@ -1105,7 +1105,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG, EGG_GROUP_FAIRY), .abilities = { ABILITY_HONEY_GATHER, ABILITY_SHIELD_DUST, ABILITY_SWEET_VEIL }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Cutiefly"), @@ -1146,7 +1146,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 124, .baseSpAttack = 95, .baseSpDefense = 70, - .types = { TYPE_BUG, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_BUG, TYPE_FAIRY), .catchRate = 75, .expYield = 162, .evYield_Speed = 2, @@ -1155,7 +1155,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG, EGG_GROUP_FAIRY), .abilities = { ABILITY_HONEY_GATHER, ABILITY_SHIELD_DUST, ABILITY_SWEET_VEIL }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Ribombee"), @@ -1196,7 +1196,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 60, \ .baseSpAttack = 30, \ .baseSpDefense = 40, \ - .types = { TYPE_ROCK, TYPE_ROCK }, \ + .types = MON_TYPES(TYPE_ROCK), \ .catchRate = 190, \ .expYield = 56, \ .evYield_Attack = 1, \ @@ -1204,7 +1204,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .bodyColor = BODY_COLOR_BROWN, \ .speciesName = _("Rockruff"), \ .cryId = CRY_ROCKRUFF, \ @@ -1249,7 +1249,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = }, #define LYCANROC_MISC_INFO \ - .types = { TYPE_ROCK, TYPE_ROCK }, \ + .types = MON_TYPES(TYPE_ROCK), \ .catchRate = 90, \ .expYield = 170, \ .evYield_Attack = 2, \ @@ -1257,7 +1257,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .speciesName = _("Lycanroc"), \ .natDexNum = NATIONAL_DEX_LYCANROC, \ .categoryName = _("Wolf"), \ @@ -1360,14 +1360,14 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = #if P_FAMILY_WISHIWASHI #define WISHIWASHI_MISC_INFO \ - .types = { TYPE_WATER, TYPE_WATER }, \ + .types = MON_TYPES(TYPE_WATER), \ .catchRate = 60, \ .evYield_HP = 1, \ .genderRatio = PERCENT_FEMALE(50), \ .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_FAST, \ - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), \ .abilities = { ABILITY_SCHOOLING, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_BLUE, \ .speciesName = _("Wishiwashi"), \ @@ -1451,7 +1451,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 45, .baseSpAttack = 43, .baseSpDefense = 52, - .types = { TYPE_POISON, TYPE_WATER }, + .types = MON_TYPES(TYPE_POISON, TYPE_WATER), .catchRate = 190, .expYield = 61, .evYield_Defense = 1, @@ -1460,7 +1460,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_MERCILESS, ABILITY_LIMBER, ABILITY_REGENERATOR }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Mareanie"), @@ -1500,7 +1500,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 35, .baseSpAttack = 53, .baseSpDefense = 142, - .types = { TYPE_POISON, TYPE_WATER }, + .types = MON_TYPES(TYPE_POISON, TYPE_WATER), .catchRate = 75, .expYield = 173, .evYield_Defense = 2, @@ -1509,7 +1509,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_MERCILESS, ABILITY_LIMBER, ABILITY_REGENERATOR }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Toxapex"), @@ -1550,7 +1550,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 45, .baseSpAttack = 45, .baseSpDefense = 55, - .types = { TYPE_GROUND, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GROUND), .catchRate = 190, .expYield = 77, .evYield_Attack = 1, @@ -1559,7 +1559,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_OWN_TEMPO, ABILITY_STAMINA, ABILITY_INNER_FOCUS }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Mudbray"), @@ -1599,7 +1599,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 35, .baseSpAttack = 55, .baseSpDefense = 85, - .types = { TYPE_GROUND, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GROUND), .catchRate = 60, .expYield = 175, .evYield_Attack = 2, @@ -1608,7 +1608,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_OWN_TEMPO, ABILITY_STAMINA, ABILITY_INNER_FOCUS }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Mudsdale"), @@ -1649,7 +1649,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 27, .baseSpAttack = 40, .baseSpDefense = 72, - .types = { TYPE_WATER, TYPE_BUG }, + .types = MON_TYPES(TYPE_WATER, TYPE_BUG), .catchRate = 200, .expYield = 54, .evYield_SpDefense = 1, @@ -1658,7 +1658,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_BUG), .abilities = { ABILITY_WATER_BUBBLE, ABILITY_NONE, ABILITY_WATER_ABSORB }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Dewpider"), @@ -1698,7 +1698,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 42, .baseSpAttack = 50, .baseSpDefense = 132, - .types = { TYPE_WATER, TYPE_BUG }, + .types = MON_TYPES(TYPE_WATER, TYPE_BUG), .catchRate = 100, .expYield = 159, .evYield_SpDefense = 2, @@ -1707,7 +1707,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_BUG), .abilities = { ABILITY_WATER_BUBBLE, ABILITY_NONE, ABILITY_WATER_ABSORB }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Araquanid"), @@ -1748,7 +1748,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 35, .baseSpAttack = 50, .baseSpDefense = 35, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 190, .expYield = 50, .evYield_Attack = 1, @@ -1757,7 +1757,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_LEAF_GUARD, ABILITY_NONE, ABILITY_CONTRARY }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Fomantis"), @@ -1797,7 +1797,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 45, .baseSpAttack = 80, .baseSpDefense = 90, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 75, .expYield = 168, .evYield_Attack = 2, @@ -1806,7 +1806,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_LEAF_GUARD, ABILITY_NONE, ABILITY_CONTRARY }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Lurantis"), @@ -1847,7 +1847,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 15, .baseSpAttack = 65, .baseSpDefense = 75, - .types = { TYPE_GRASS, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_GRASS, TYPE_FAIRY), .catchRate = 190, .expYield = 57, .evYield_SpDefense = 1, @@ -1857,7 +1857,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_ILLUMINATE, ABILITY_EFFECT_SPORE, ABILITY_RAIN_DISH }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Morelull"), @@ -1897,7 +1897,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 30, .baseSpAttack = 90, .baseSpDefense = 100, - .types = { TYPE_GRASS, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_GRASS, TYPE_FAIRY), .catchRate = 75, .expYield = 142, .evYield_SpDefense = 2, @@ -1907,7 +1907,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_ILLUMINATE, ABILITY_EFFECT_SPORE, ABILITY_RAIN_DISH }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Shiinotic"), @@ -1948,7 +1948,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 77, .baseSpAttack = 71, .baseSpDefense = 40, - .types = { TYPE_POISON, TYPE_FIRE }, + .types = MON_TYPES(TYPE_POISON, TYPE_FIRE), .catchRate = 120, .expYield = 64, .evYield_Speed = 1, @@ -1957,7 +1957,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON), .abilities = { ABILITY_CORROSION, ABILITY_NONE, ABILITY_OBLIVIOUS }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Salandit"), @@ -1997,7 +1997,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 117, .baseSpAttack = 111, .baseSpDefense = 60, - .types = { TYPE_POISON, TYPE_FIRE }, + .types = MON_TYPES(TYPE_POISON, TYPE_FIRE), .catchRate = 45, .expYield = 168, .evYield_Speed = 2, @@ -2006,7 +2006,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON), .abilities = { ABILITY_CORROSION, ABILITY_NONE, ABILITY_OBLIVIOUS }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Salazzle"), @@ -2047,7 +2047,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 50, .baseSpAttack = 45, .baseSpDefense = 50, - .types = { TYPE_NORMAL, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FIGHTING), .catchRate = 140, .expYield = 68, .evYield_Attack = 1, @@ -2055,7 +2055,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_FLUFFY, ABILITY_KLUTZ, ABILITY_CUTE_CHARM }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Stufful"), @@ -2095,7 +2095,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 60, .baseSpAttack = 55, .baseSpDefense = 60, - .types = { TYPE_NORMAL, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_FIGHTING), .catchRate = 70, .expYield = 175, .evYield_Attack = 2, @@ -2103,7 +2103,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_FLUFFY, ABILITY_KLUTZ, ABILITY_UNNERVE }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Bewear"), @@ -2144,7 +2144,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 32, .baseSpAttack = 30, .baseSpDefense = 38, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 235, .expYield = 42, .evYield_HP = 1, @@ -2153,7 +2153,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_LEAF_GUARD, ABILITY_OBLIVIOUS, ABILITY_SWEET_VEIL }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Bounsweet"), @@ -2193,7 +2193,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 62, .baseSpAttack = 40, .baseSpDefense = 48, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 120, .expYield = 102, .evYield_Speed = 2, @@ -2202,7 +2202,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_LEAF_GUARD, ABILITY_OBLIVIOUS, ABILITY_SWEET_VEIL }, .bodyColor = BODY_COLOR_PURPLE, .noFlip = TRUE, @@ -2243,7 +2243,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 72, .baseSpAttack = 50, .baseSpDefense = 98, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 255 : 230, .evYield_Attack = 3, @@ -2252,7 +2252,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_LEAF_GUARD, ABILITY_QUEENLY_MAJESTY, ABILITY_SWEET_VEIL }, .bodyColor = BODY_COLOR_PURPLE, .noFlip = TRUE, @@ -2294,7 +2294,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 100, .baseSpAttack = 82, .baseSpDefense = 110, - .types = { TYPE_FAIRY, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_FAIRY), .catchRate = 60, .expYield = 170, .evYield_SpDefense = 2, @@ -2303,7 +2303,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_FLOWER_VEIL, ABILITY_TRIAGE, ABILITY_NATURAL_CURE }, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, @@ -2346,7 +2346,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 60, .baseSpAttack = 90, .baseSpDefense = 110, - .types = { TYPE_NORMAL, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_PSYCHIC), .catchRate = 45, .expYield = 172, .evYield_SpDefense = 2, @@ -2354,7 +2354,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_INNER_FOCUS, ABILITY_TELEPATHY, ABILITY_SYMBIOSIS }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Oranguru"), @@ -2395,7 +2395,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 80, .baseSpAttack = 40, .baseSpDefense = 60, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 45, .expYield = 172, .evYield_Attack = 2, @@ -2403,7 +2403,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_RECEIVER, ABILITY_NONE, ABILITY_DEFIANT }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Passimian"), @@ -2444,7 +2444,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 80, .baseSpAttack = 20, .baseSpDefense = 30, - .types = { TYPE_BUG, TYPE_WATER }, + .types = MON_TYPES(TYPE_BUG, TYPE_WATER), .catchRate = 90, .expYield = 46, .evYield_Speed = 1, @@ -2452,7 +2452,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG, EGG_GROUP_WATER_3), .abilities = { ABILITY_WIMP_OUT, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Wimpod"), @@ -2492,7 +2492,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 40, .baseSpAttack = 60, .baseSpDefense = 90, - .types = { TYPE_BUG, TYPE_WATER }, + .types = MON_TYPES(TYPE_BUG, TYPE_WATER), .catchRate = 45, .expYield = 186, .evYield_Defense = 2, @@ -2500,7 +2500,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG, EGG_GROUP_WATER_3), .abilities = { ABILITY_EMERGENCY_EXIT, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Golisopod"), @@ -2541,7 +2541,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 15, .baseSpAttack = 70, .baseSpDefense = 45, - .types = { TYPE_GHOST, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GHOST, TYPE_GROUND), .catchRate = 140, .expYield = 64, .evYield_Defense = 1, @@ -2550,7 +2550,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_WATER_COMPACTION, ABILITY_NONE, ABILITY_SAND_VEIL }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Sandygast"), @@ -2590,7 +2590,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 35, .baseSpAttack = 100, .baseSpDefense = 75, - .types = { TYPE_GHOST, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GHOST, TYPE_GROUND), .catchRate = 60, .expYield = 168, .evYield_Defense = 2, @@ -2599,7 +2599,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_WATER_COMPACTION, ABILITY_NONE, ABILITY_SAND_VEIL }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Palossand"), @@ -2640,7 +2640,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 5, .baseSpAttack = 30, .baseSpDefense = 130, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 60, .expYield = 144, .evYield_SpDefense = 2, @@ -2648,7 +2648,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_INNARDS_OUT, ABILITY_NONE, ABILITY_UNAWARE }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Pyukumuku"), @@ -2689,7 +2689,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 59, .baseSpAttack = 95, .baseSpDefense = 95, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 3, .expYield = 107, .evYield_HP = 2, @@ -2697,7 +2697,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_BATTLE_ARMOR, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .isLegendary = TRUE, @@ -2738,7 +2738,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 95, \ .baseSpAttack = 95, \ .baseSpDefense = 95, \ - .types = { type, type }, \ + .types = MON_TYPES(type), \ .catchRate = 3, \ .expYield = 257, \ .evYield_HP = 3, \ @@ -2746,7 +2746,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_RKS_SYSTEM, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_GRAY, \ .isLegendary = TRUE, \ @@ -2800,7 +2800,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = #if P_FAMILY_MINIOR #define MINIOR_MISC_INFO(color) \ - .types = { TYPE_ROCK, TYPE_FLYING }, \ + .types = MON_TYPES(TYPE_ROCK, TYPE_FLYING), \ .catchRate = 30, \ .expYield = 154, \ .evYield_Defense = 1, \ @@ -2810,7 +2810,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 25, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), \ .abilities = { ABILITY_SHIELDS_DOWN, ABILITY_NONE }, \ .bodyColor = color, \ .noFlip = TRUE, \ @@ -2900,7 +2900,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 65, .baseSpAttack = 75, .baseSpDefense = 95, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 45, .expYield = 168, .evYield_Attack = 2, @@ -2908,7 +2908,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_COMATOSE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Komala"), @@ -2949,7 +2949,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 36, .baseSpAttack = 91, .baseSpDefense = 85, - .types = { TYPE_FIRE, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_FIRE, TYPE_DRAGON), .catchRate = 70, .expYield = 170, .evYield_Defense = 2, @@ -2958,7 +2958,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON), .abilities = { ABILITY_SHELL_ARMOR, ABILITY_NONE }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Turtonator"), @@ -2999,7 +2999,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 96, .baseSpAttack = 40, .baseSpDefense = 73, - .types = { TYPE_ELECTRIC, TYPE_STEEL }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_STEEL), .catchRate = 180, .expYield = 152, .evYield_Attack = 2, @@ -3008,7 +3008,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 10, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY), .abilities = { ABILITY_IRON_BARBS, ABILITY_LIGHTNING_ROD, ABILITY_STURDY }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Togedemaru"), @@ -3048,7 +3048,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 96, \ .baseSpAttack = 50, \ .baseSpDefense = 105, \ - .types = { TYPE_GHOST, TYPE_FAIRY }, \ + .types = MON_TYPES(TYPE_GHOST, TYPE_FAIRY), \ .catchRate = 45, \ .expYield = 167, \ .evYield_SpDefense = 2, \ @@ -3057,7 +3057,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_AMORPHOUS }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS), \ .abilities = { ABILITY_DISGUISE, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_YELLOW, \ .speciesName = _("Mimikyu"), \ @@ -3123,7 +3123,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 92, .baseSpAttack = 70, .baseSpDefense = 70, - .types = { TYPE_WATER, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_WATER, TYPE_PSYCHIC), .catchRate = 80, .expYield = 166, .evYield_Attack = 2, @@ -3132,7 +3132,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_DAZZLING, ABILITY_STRONG_JAW, ABILITY_WONDER_SKIN }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Bruxish"), @@ -3173,7 +3173,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 36, .baseSpAttack = 135, .baseSpDefense = 91, - .types = { TYPE_NORMAL, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_NORMAL, TYPE_DRAGON), .catchRate = 70, .expYield = 170, .evYield_SpAttack = 2, @@ -3182,7 +3182,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_DRAGON), .abilities = { ABILITY_BERSERK, ABILITY_SAP_SIPPER, ABILITY_CLOUD_NINE }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Drampa"), @@ -3223,7 +3223,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 40, .baseSpAttack = 86, .baseSpDefense = 90, - .types = { TYPE_GHOST, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GHOST, TYPE_GRASS), .catchRate = 25, .expYield = 181, .evYield_Attack = 2, @@ -3231,7 +3231,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_STEELWORKER, ABILITY_NONE }, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, @@ -3274,7 +3274,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 45, .baseSpAttack = 45, .baseSpDefense = 45, - .types = { TYPE_DRAGON, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_DRAGON), .catchRate = 45, .expYield = 60, .evYield_Defense = 1, @@ -3283,7 +3283,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON), .abilities = { ABILITY_BULLETPROOF, ABILITY_SOUNDPROOF, ABILITY_OVERCOAT }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Jangmo-o"), @@ -3323,7 +3323,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 65, .baseSpAttack = 65, .baseSpDefense = 70, - .types = { TYPE_DRAGON, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_FIGHTING), .catchRate = 45, .expYield = 147, .evYield_Defense = 2, @@ -3332,7 +3332,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON), .abilities = { ABILITY_BULLETPROOF, ABILITY_SOUNDPROOF, ABILITY_OVERCOAT }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Hakamo-o"), @@ -3372,7 +3372,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 85, .baseSpAttack = 100, .baseSpDefense = 105, - .types = { TYPE_DRAGON, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_FIGHTING), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 300 : 270, .evYield_Defense = 3, @@ -3381,7 +3381,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON), .abilities = { ABILITY_BULLETPROOF, ABILITY_SOUNDPROOF, ABILITY_OVERCOAT }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Kommo-o"), @@ -3422,7 +3422,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 130, .baseSpAttack = 95, .baseSpDefense = 75, - .types = { TYPE_ELECTRIC, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_FAIRY), .catchRate = 3, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 285 : 257, .evYield_Speed = 3, @@ -3430,7 +3430,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_ELECTRIC_SURGE, ABILITY_NONE, ABILITY_TELEPATHY }, .bodyColor = BODY_COLOR_YELLOW, .isLegendary = TRUE, @@ -3473,7 +3473,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 95, .baseSpAttack = 130, .baseSpDefense = 115, - .types = { TYPE_PSYCHIC, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_FAIRY), .catchRate = 3, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 285 : 257, .evYield_SpAttack = 3, @@ -3481,7 +3481,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PSYCHIC_SURGE, ABILITY_NONE, ABILITY_TELEPATHY }, .bodyColor = BODY_COLOR_PINK, .isLegendary = TRUE, @@ -3524,7 +3524,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 75, .baseSpAttack = 85, .baseSpDefense = 95, - .types = { TYPE_GRASS, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_GRASS, TYPE_FAIRY), .catchRate = 3, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 285 : 257, .evYield_Attack = 3, @@ -3532,7 +3532,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_GRASSY_SURGE, ABILITY_NONE, ABILITY_TELEPATHY }, .bodyColor = BODY_COLOR_RED, .isLegendary = TRUE, @@ -3575,7 +3575,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 85, .baseSpAttack = 95, .baseSpDefense = 130, - .types = { TYPE_WATER, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_WATER, TYPE_FAIRY), .catchRate = 3, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 285 : 257, .evYield_SpDefense = 3, @@ -3583,7 +3583,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_MISTY_SURGE, ABILITY_NONE, ABILITY_TELEPATHY }, .bodyColor = BODY_COLOR_PURPLE, .isLegendary = TRUE, @@ -3627,7 +3627,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 37, .baseSpAttack = 29, .baseSpDefense = 31, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 45, .expYield = 40, .evYield_HP = 1, @@ -3635,7 +3635,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_UNAWARE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .isLegendary = TRUE, @@ -3678,7 +3678,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 37, .baseSpAttack = 29, .baseSpDefense = 131, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 45, .expYield = 140, .evYield_Defense = 1, @@ -3687,7 +3687,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_STURDY, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .isLegendary = TRUE, @@ -3731,7 +3731,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 97, .baseSpAttack = 113, .baseSpDefense = 89, - .types = { TYPE_PSYCHIC, TYPE_STEEL }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_STEEL), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 340 : 306, .evYield_Attack = 3, @@ -3739,7 +3739,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_FULL_METAL_BODY, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .isLegendary = TRUE, @@ -3779,7 +3779,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 97, .baseSpAttack = 137, .baseSpDefense = 107, - .types = { TYPE_PSYCHIC, TYPE_GHOST }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_GHOST), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 340 : 306, .evYield_SpAttack = 3, @@ -3787,7 +3787,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_SHADOW_SHIELD, ABILITY_NONE }, .bodyColor = BODY_COLOR_PURPLE, .isLegendary = TRUE, @@ -3830,7 +3830,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 103, .baseSpAttack = 127, .baseSpDefense = 131, - .types = { TYPE_ROCK, TYPE_POISON }, + .types = MON_TYPES(TYPE_ROCK, TYPE_POISON), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 285 : 257, .evYield_SpDefense = 3, @@ -3838,7 +3838,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_BEAST_BOOST, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .isUltraBeast = TRUE, @@ -3881,7 +3881,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 79, .baseSpAttack = 53, .baseSpDefense = 53, - .types = { TYPE_BUG, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_BUG, TYPE_FIGHTING), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 285 : 257, .evYield_Attack = 1, @@ -3890,7 +3890,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_BEAST_BOOST, ABILITY_NONE }, .bodyColor = BODY_COLOR_RED, .isUltraBeast = TRUE, @@ -3932,7 +3932,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 151, .baseSpAttack = 137, .baseSpDefense = 37, - .types = { TYPE_BUG, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_BUG, TYPE_FIGHTING), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 285 : 257, .evYield_Speed = 3, @@ -3940,7 +3940,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_BEAST_BOOST, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .isUltraBeast = TRUE, @@ -3982,7 +3982,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 83, .baseSpAttack = 173, .baseSpDefense = 71, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 285 : 257, .evYield_SpAttack = 3, @@ -3990,7 +3990,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_BEAST_BOOST, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLACK, .isUltraBeast = TRUE, @@ -4032,7 +4032,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 61, .baseSpAttack = 107, .baseSpDefense = 101, - .types = { TYPE_STEEL, TYPE_FLYING }, + .types = MON_TYPES(TYPE_STEEL, TYPE_FLYING), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 285 : 257, .evYield_Attack = 1, @@ -4042,7 +4042,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_BEAST_BOOST, ABILITY_NONE }, .bodyColor = BODY_COLOR_GREEN, .isUltraBeast = TRUE, @@ -4084,7 +4084,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 109, .baseSpAttack = 59, .baseSpDefense = 31, - .types = { TYPE_GRASS, TYPE_STEEL }, + .types = MON_TYPES(TYPE_GRASS, TYPE_STEEL), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 285 : 257, .evYield_Attack = 3, @@ -4092,7 +4092,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_BEAST_BOOST, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .isUltraBeast = TRUE, @@ -4135,7 +4135,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 43, .baseSpAttack = 97, .baseSpDefense = 53, - .types = { TYPE_DARK, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_DARK, TYPE_DRAGON), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 285 : 257, .evYield_HP = 3, @@ -4143,7 +4143,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_BEAST_BOOST, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLACK, .isUltraBeast = TRUE, @@ -4182,7 +4182,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .noFlip = TRUE, \ .speciesName = _("Necrozma"), \ .natDexNum = NATIONAL_DEX_NECROZMA, \ @@ -4205,7 +4205,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 79, .baseSpAttack = 127, .baseSpDefense = 89, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 300 : 270, .evYield_Attack = 1, @@ -4242,7 +4242,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 77, .baseSpAttack = 113, .baseSpDefense = 109, - .types = { TYPE_PSYCHIC, TYPE_STEEL }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_STEEL), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 340 : 306, .evYield_Attack = 3, @@ -4278,7 +4278,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 77, .baseSpAttack = 157, .baseSpDefense = 127, - .types = { TYPE_PSYCHIC, TYPE_GHOST }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_GHOST), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 340 : 306, .evYield_SpAttack = 3, @@ -4316,7 +4316,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 129, .baseSpAttack = 167, .baseSpDefense = 97, - .types = { TYPE_PSYCHIC, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_DRAGON), .catchRate = 255, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 377 : 339, .evYield_Attack = 1, @@ -4357,7 +4357,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 65, \ .baseSpAttack = 130, \ .baseSpDefense = 115, \ - .types = { TYPE_STEEL, TYPE_FAIRY }, \ + .types = MON_TYPES(TYPE_STEEL, TYPE_FAIRY), \ .catchRate = 3, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 300 : 270, \ .evYield_SpAttack = 3, \ @@ -4365,7 +4365,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_SOUL_HEART, ABILITY_NONE }, \ .speciesName = _("Magearna"), \ .cryId = CRY_MAGEARNA, \ @@ -4422,7 +4422,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 125, .baseSpAttack = 90, .baseSpDefense = 90, - .types = { TYPE_FIGHTING, TYPE_GHOST }, + .types = MON_TYPES(TYPE_FIGHTING, TYPE_GHOST), .catchRate = 3, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 300 : 270, .evYield_Attack = 2, @@ -4431,7 +4431,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_TECHNICIAN, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, @@ -4474,7 +4474,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 73, .baseSpAttack = 73, .baseSpDefense = 67, - .types = { TYPE_POISON, TYPE_POISON }, + .types = MON_TYPES(TYPE_POISON), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 210 : 189, .evYield_Speed = 1, @@ -4482,7 +4482,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_BEAST_BOOST, ABILITY_NONE }, .bodyColor = BODY_COLOR_PURPLE, .isUltraBeast = TRUE, @@ -4523,7 +4523,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 121, .baseSpAttack = 127, .baseSpDefense = 73, - .types = { TYPE_POISON, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_POISON, TYPE_DRAGON), .catchRate = 45, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 270 : 243, .evYield_SpAttack = 3, @@ -4531,7 +4531,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_BEAST_BOOST, ABILITY_NONE }, .bodyColor = BODY_COLOR_PURPLE, .isUltraBeast = TRUE, @@ -4573,7 +4573,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 13, .baseSpAttack = 53, .baseSpDefense = 101, - .types = { TYPE_ROCK, TYPE_STEEL }, + .types = MON_TYPES(TYPE_ROCK, TYPE_STEEL), .catchRate = 30, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 285 : 257, .evYield_Defense = 3, @@ -4581,7 +4581,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_BEAST_BOOST, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .noFlip = TRUE, @@ -4623,7 +4623,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 107, .baseSpAttack = 151, .baseSpDefense = 79, - .types = { TYPE_FIRE, TYPE_GHOST }, + .types = MON_TYPES(TYPE_FIRE, TYPE_GHOST), .catchRate = 30, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 285 : 257, .evYield_SpAttack = 3, @@ -4631,7 +4631,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_BEAST_BOOST, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .noFlip = TRUE, @@ -4673,7 +4673,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 143, .baseSpAttack = 102, .baseSpDefense = 80, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 3, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 300 : 270, .evYield_Speed = 3, @@ -4681,7 +4681,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_VOLT_ABSORB, ABILITY_NONE }, .bodyColor = BODY_COLOR_YELLOW, .isMythical = TRUE, @@ -4722,7 +4722,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 34, .baseSpAttack = 55, .baseSpDefense = 35, - .types = { TYPE_STEEL, TYPE_STEEL }, + .types = MON_TYPES(TYPE_STEEL), .catchRate = 3, .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 150 : 135, .evYield_Attack = 1, @@ -4730,7 +4730,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_MAGNET_PULL, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .isMythical = TRUE, @@ -4768,7 +4768,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .baseSpeed = 34, \ .baseSpAttack = 80, \ .baseSpDefense = 65, \ - .types = { TYPE_STEEL, TYPE_STEEL }, \ + .types = MON_TYPES(TYPE_STEEL), \ .catchRate = 3, \ .expYield = (P_UPDATED_EXP_YIELDS >= GEN_8) ? 300 : 270, \ .evYield_Attack = 3, \ @@ -4776,7 +4776,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_IRON_FIST, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_GRAY, \ .speciesName = _("Melmetal"), \ diff --git a/src/data/pokemon/species_info/gen_8.h b/src/data/pokemon/species_info/gen_8.h index 3e956b371a..80b0a7c706 100644 --- a/src/data/pokemon/species_info/gen_8.h +++ b/src/data/pokemon/species_info/gen_8.h @@ -12,7 +12,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 65, .baseSpAttack = 40, .baseSpDefense = 40, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = 62, .evYield_Attack = 1, @@ -20,7 +20,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_GRASSY_SURGE }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Grookey"), @@ -60,7 +60,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 80, .baseSpAttack = 55, .baseSpDefense = 60, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = 147, .evYield_Attack = 2, @@ -68,7 +68,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_GRASSY_SURGE }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Thwackey"), @@ -106,7 +106,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 85, \ .baseSpAttack = 60, \ .baseSpDefense = 70, \ - .types = { TYPE_GRASS, TYPE_GRASS }, \ + .types = MON_TYPES(TYPE_GRASS), \ .catchRate = 45, \ .expYield = 265, \ .evYield_Attack = 3, \ @@ -114,7 +114,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_GRASS }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_GRASS), \ .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_GRASSY_SURGE }, \ .bodyColor = BODY_COLOR_GREEN, \ .speciesName = _("Rillaboom"), \ @@ -187,7 +187,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 69, .baseSpAttack = 40, .baseSpDefense = 40, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = 62, .evYield_Speed = 1, @@ -195,7 +195,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_LIBERO }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Scorbunny"), @@ -235,7 +235,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 94, .baseSpAttack = 55, .baseSpDefense = 60, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = 147, .evYield_Speed = 2, @@ -243,7 +243,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_LIBERO }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Raboot"), @@ -274,31 +274,31 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .evolutions = EVOLUTION({EVO_LEVEL, 35, SPECIES_CINDERACE}), }, -#define CINDERACE_MISC_INFO \ - .baseHP = 80, \ - .baseAttack = 116, \ - .baseDefense = 75, \ - .baseSpeed = 119, \ - .baseSpAttack = 65, \ - .baseSpDefense = 75, \ - .types = { TYPE_FIRE, TYPE_FIRE }, \ - .catchRate = 45, \ - .expYield = 265, \ - .evYield_Speed = 3, \ - .genderRatio = PERCENT_FEMALE(12.5), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE }, \ - .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_LIBERO }, \ - .bodyColor = BODY_COLOR_WHITE, \ - .speciesName = _("Cinderace"), \ - .cryId = CRY_CINDERACE, \ - .natDexNum = NATIONAL_DEX_CINDERACE, \ - .categoryName = _("Striker"), \ - FOOTPRINT(Cinderace) \ - LEARNSETS(Cinderace), \ - .formSpeciesIdTable = sCinderaceFormSpeciesIdTable, \ +#define CINDERACE_MISC_INFO \ + .baseHP = 80, \ + .baseAttack = 116, \ + .baseDefense = 75, \ + .baseSpeed = 119, \ + .baseSpAttack = 65, \ + .baseSpDefense = 75, \ + .types = MON_TYPES(TYPE_FIRE), \ + .catchRate = 45, \ + .expYield = 265, \ + .evYield_Speed = 3, \ + .genderRatio = PERCENT_FEMALE(12.5), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_HUMAN_LIKE),\ + .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_LIBERO }, \ + .bodyColor = BODY_COLOR_WHITE, \ + .speciesName = _("Cinderace"), \ + .cryId = CRY_CINDERACE, \ + .natDexNum = NATIONAL_DEX_CINDERACE, \ + .categoryName = _("Striker"), \ + FOOTPRINT(Cinderace) \ + LEARNSETS(Cinderace), \ + .formSpeciesIdTable = sCinderaceFormSpeciesIdTable, \ .formChangeTable = sCinderaceFormChangeTable [SPECIES_CINDERACE] = @@ -364,7 +364,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 70, .baseSpAttack = 70, .baseSpDefense = 40, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = 62, .evYield_Speed = 1, @@ -373,7 +373,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_SNIPER }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Sobble"), @@ -413,7 +413,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 90, .baseSpAttack = 95, .baseSpDefense = 55, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = 147, .evYield_SpAttack = 2, @@ -421,7 +421,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_SNIPER }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Drizzile"), @@ -459,7 +459,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 120, \ .baseSpAttack = 125, \ .baseSpDefense = 65, \ - .types = { TYPE_WATER, TYPE_WATER }, \ + .types = MON_TYPES(TYPE_WATER), \ .catchRate = 45, \ .expYield = 265, \ .evYield_Speed = 3, \ @@ -467,7 +467,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD),\ .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_SNIPER }, \ .bodyColor = BODY_COLOR_BLUE, \ .speciesName = _("Inteleon"), \ @@ -542,7 +542,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 25, .baseSpAttack = 35, .baseSpDefense = 35, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 255, .expYield = 55, .evYield_HP = 1, @@ -551,7 +551,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_CHEEK_POUCH, ABILITY_NONE, ABILITY_GLUTTONY }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Skwovet"), @@ -590,7 +590,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 20, .baseSpAttack = 55, .baseSpDefense = 75, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 90, .expYield = 161, .evYield_HP = 2, @@ -599,7 +599,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_CHEEK_POUCH, ABILITY_NONE, ABILITY_GLUTTONY }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Greedent"), @@ -640,7 +640,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 57, .baseSpAttack = 33, .baseSpDefense = 35, - .types = { TYPE_FLYING, TYPE_FLYING }, + .types = MON_TYPES(TYPE_FLYING), .catchRate = 255, .expYield = 49, .evYield_Speed = 1, @@ -648,7 +648,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_UNNERVE, ABILITY_BIG_PECKS }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Rookidee"), @@ -688,7 +688,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 77, .baseSpAttack = 43, .baseSpDefense = 55, - .types = { TYPE_FLYING, TYPE_FLYING }, + .types = MON_TYPES(TYPE_FLYING), .catchRate = 120, .expYield = 128, .evYield_Speed = 2, @@ -696,7 +696,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_UNNERVE, ABILITY_BIG_PECKS }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Corvisquir"), @@ -736,7 +736,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 67, \ .baseSpAttack = 53, \ .baseSpDefense = 85, \ - .types = { TYPE_FLYING, TYPE_STEEL }, \ + .types = MON_TYPES(TYPE_FLYING, TYPE_STEEL), \ .catchRate = 45, \ .expYield = 248, \ .evYield_Defense = 3, \ @@ -744,7 +744,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), \ .abilities = { ABILITY_PRESSURE, ABILITY_UNNERVE, ABILITY_MIRROR_ARMOR }, \ .bodyColor = BODY_COLOR_PURPLE, \ .speciesName = _("Corviknigh"), \ @@ -819,7 +819,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 45, .baseSpAttack = 25, .baseSpDefense = 45, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 255, .expYield = 36, .evYield_SpDefense = 1, @@ -827,7 +827,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_COMPOUND_EYES, ABILITY_TELEPATHY }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Blipbug"), @@ -867,7 +867,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 30, .baseSpAttack = 50, .baseSpDefense = 90, - .types = { TYPE_BUG, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_BUG, TYPE_PSYCHIC), .catchRate = 120, .expYield = 117, .evYield_SpDefense = 2, @@ -876,7 +876,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_COMPOUND_EYES, ABILITY_TELEPATHY }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Dottler"), @@ -915,7 +915,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 90, \ .baseSpAttack = 80, \ .baseSpDefense = 120, \ - .types = { TYPE_BUG, TYPE_PSYCHIC }, \ + .types = MON_TYPES(TYPE_BUG, TYPE_PSYCHIC), \ .catchRate = 45, \ .expYield = 253, \ .evYield_SpDefense = 3, \ @@ -924,7 +924,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), \ .abilities = { ABILITY_SWARM, ABILITY_FRISK, ABILITY_TELEPATHY }, \ .bodyColor = BODY_COLOR_RED, \ .speciesName = _("Orbeetle"), \ @@ -1000,7 +1000,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 50, .baseSpAttack = 47, .baseSpDefense = 52, - .types = { TYPE_DARK, TYPE_DARK }, + .types = MON_TYPES(TYPE_DARK), .catchRate = 255, .expYield = 49, .evYield_SpDefense = 1, @@ -1008,7 +1008,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_RUN_AWAY, ABILITY_UNBURDEN, ABILITY_STAKEOUT }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Nickit"), @@ -1048,7 +1048,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 90, .baseSpAttack = 87, .baseSpDefense = 92, - .types = { TYPE_DARK, TYPE_DARK }, + .types = MON_TYPES(TYPE_DARK), .catchRate = 127, .expYield = 159, .evYield_SpDefense = 2, @@ -1056,7 +1056,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_RUN_AWAY, ABILITY_UNBURDEN, ABILITY_STAKEOUT }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Thievul"), @@ -1097,7 +1097,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 10, .baseSpAttack = 40, .baseSpDefense = 60, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 190, .expYield = 50, .evYield_SpDefense = 1, @@ -1105,7 +1105,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_COTTON_DOWN, ABILITY_REGENERATOR, ABILITY_EFFECT_SPORE }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Gossifleur"), @@ -1145,7 +1145,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 60, .baseSpAttack = 80, .baseSpDefense = 120, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 75, .expYield = 161, .evYield_SpDefense = 2, @@ -1153,7 +1153,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_COTTON_DOWN, ABILITY_REGENERATOR, ABILITY_EFFECT_SPORE }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Eldegoss"), @@ -1194,7 +1194,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 48, .baseSpAttack = 40, .baseSpDefense = 45, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 255, .expYield = 122, .evYield_Defense = 1, @@ -1202,7 +1202,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_FLUFFY, ABILITY_RUN_AWAY, ABILITY_BULLETPROOF }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Wooloo"), @@ -1242,7 +1242,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 88, .baseSpAttack = 60, .baseSpDefense = 90, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 127, .expYield = 172, .evYield_Defense = 2, @@ -1250,7 +1250,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_FLUFFY, ABILITY_STEADFAST, ABILITY_BULLETPROOF }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Dubwool"), @@ -1291,7 +1291,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 44, .baseSpAttack = 38, .baseSpDefense = 38, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 255, .expYield = 57, .evYield_Attack = 1, @@ -1299,7 +1299,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_WATER_1), .abilities = { ABILITY_STRONG_JAW, ABILITY_SHELL_ARMOR, ABILITY_SWIFT_SWIM }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Chewtle"), @@ -1337,7 +1337,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 74, \ .baseSpAttack = 48, \ .baseSpDefense = 68, \ - .types = { TYPE_WATER, TYPE_ROCK }, \ + .types = MON_TYPES(TYPE_WATER, TYPE_ROCK), \ .catchRate = 75, \ .expYield = 170, \ .evYield_Attack = 2, \ @@ -1345,7 +1345,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_MONSTER, EGG_GROUP_WATER_1 }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MONSTER, EGG_GROUP_WATER_1), \ .abilities = { ABILITY_STRONG_JAW, ABILITY_SHELL_ARMOR, ABILITY_SWIFT_SWIM }, \ .bodyColor = BODY_COLOR_GREEN, \ .speciesName = _("Drednaw"), \ @@ -1419,7 +1419,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 26, .baseSpAttack = 40, .baseSpDefense = 50, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 255, .expYield = 54, .evYield_HP = 1, @@ -1427,7 +1427,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BALL_FETCH, ABILITY_NONE, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Yamper"), @@ -1467,7 +1467,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 121, .baseSpAttack = 90, .baseSpDefense = 60, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 45, .expYield = 172, .evYield_Speed = 2, @@ -1475,7 +1475,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_STRONG_JAW, ABILITY_NONE, ABILITY_COMPETITIVE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Boltund"), @@ -1516,7 +1516,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 30, .baseSpAttack = 40, .baseSpDefense = 50, - .types = { TYPE_ROCK, TYPE_ROCK }, + .types = MON_TYPES(TYPE_ROCK), .catchRate = 255, .expYield = 48, .evYield_Defense = 1, @@ -1524,7 +1524,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_STEAM_ENGINE, ABILITY_HEATPROOF, ABILITY_FLASH_FIRE }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Rolycoly"), @@ -1564,7 +1564,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 50, .baseSpAttack = 60, .baseSpDefense = 70, - .types = { TYPE_ROCK, TYPE_FIRE }, + .types = MON_TYPES(TYPE_ROCK, TYPE_FIRE), .catchRate = 120, .expYield = 144, .evYield_Defense = 2, @@ -1572,7 +1572,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_STEAM_ENGINE, ABILITY_FLAME_BODY, ABILITY_FLASH_FIRE }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Carkol"), @@ -1610,7 +1610,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 30, \ .baseSpAttack = 80, \ .baseSpDefense = 90, \ - .types = { TYPE_ROCK, TYPE_FIRE }, \ + .types = MON_TYPES(TYPE_ROCK, TYPE_FIRE), \ .catchRate = 45, \ .expYield = 255, \ .evYield_Defense = 3, \ @@ -1618,7 +1618,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), \ .abilities = { ABILITY_STEAM_ENGINE, ABILITY_FLAME_BODY, ABILITY_FLASH_FIRE }, \ .bodyColor = BODY_COLOR_BLACK, \ .speciesName = _("Coalossal"), \ @@ -1693,7 +1693,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 20, .baseSpAttack = 40, .baseSpDefense = 40, - .types = { TYPE_GRASS, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_DRAGON), .catchRate = 255, .expYield = 52, .evYield_Defense = 1, @@ -1701,7 +1701,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS, EGG_GROUP_DRAGON), .abilities = { ABILITY_RIPEN, ABILITY_GLUTTONY, ABILITY_BULLETPROOF }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Applin"), @@ -1743,7 +1743,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 70, \ .baseSpAttack = 95, \ .baseSpDefense = 60, \ - .types = { TYPE_GRASS, TYPE_DRAGON }, \ + .types = MON_TYPES(TYPE_GRASS, TYPE_DRAGON), \ .catchRate = 45, \ .expYield = 170, \ .evYield_Attack = 2, \ @@ -1751,7 +1751,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_ERRATIC, \ - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_DRAGON }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS, EGG_GROUP_DRAGON), \ .abilities = { ABILITY_RIPEN, ABILITY_GLUTTONY, ABILITY_HUSTLE }, \ .bodyColor = BODY_COLOR_GREEN, \ .speciesName = _("Flapple"), \ @@ -1823,7 +1823,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 30, \ .baseSpAttack = 100, \ .baseSpDefense = 80, \ - .types = { TYPE_GRASS, TYPE_DRAGON }, \ + .types = MON_TYPES(TYPE_GRASS, TYPE_DRAGON), \ .catchRate = 45, \ .expYield = 170, \ .evYield_HP = 2, \ @@ -1831,7 +1831,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_ERRATIC, \ - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_DRAGON }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS, EGG_GROUP_DRAGON), \ .abilities = { ABILITY_RIPEN, ABILITY_GLUTTONY, ABILITY_THICK_FAT }, \ .bodyColor = BODY_COLOR_GREEN, \ .speciesName = _("Appletun"), \ @@ -1904,7 +1904,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 40, .baseSpAttack = 95, .baseSpDefense = 80, - .types = { TYPE_GRASS, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_DRAGON), .catchRate = 45, .expYield = 170, .evYield_Defense = 2, @@ -1912,7 +1912,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS, EGG_GROUP_DRAGON), .abilities = { ABILITY_SUPERSWEET_SYRUP, ABILITY_GLUTTONY, ABILITY_STICKY_HOLD }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Dipplin"), @@ -1951,7 +1951,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 44, .baseSpAttack = 120, .baseSpDefense = 80, - .types = { TYPE_GRASS, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_GRASS, TYPE_DRAGON), .catchRate = 10, .expYield = 270, .evYield_SpAttack = 3, @@ -1959,7 +1959,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS, EGG_GROUP_DRAGON), .abilities = { ABILITY_SUPERSWEET_SYRUP, ABILITY_REGENERATOR, ABILITY_STICKY_HOLD }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Hydrapple"), @@ -2001,7 +2001,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 46, .baseSpAttack = 35, .baseSpDefense = 50, - .types = { TYPE_GROUND, TYPE_GROUND }, + .types = MON_TYPES(TYPE_GROUND), .catchRate = 255, .expYield = 63, .evYield_Defense = 1, @@ -2009,7 +2009,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_DRAGON), .abilities = { ABILITY_SAND_SPIT, ABILITY_SHED_SKIN, ABILITY_SAND_VEIL }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Silicobra"), @@ -2047,7 +2047,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 71, \ .baseSpAttack = 65, \ .baseSpDefense = 70, \ - .types = { TYPE_GROUND, TYPE_GROUND }, \ + .types = MON_TYPES(TYPE_GROUND), \ .catchRate = 120, \ .expYield = 179, \ .evYield_Defense = 2, \ @@ -2055,7 +2055,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_DRAGON }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_DRAGON), \ .abilities = { ABILITY_SAND_SPIT, ABILITY_SHED_SKIN, ABILITY_SAND_VEIL }, \ .bodyColor = BODY_COLOR_GREEN, \ .speciesName = _("Sandaconda"), \ @@ -2122,37 +2122,37 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = #endif //P_FAMILY_SILICOBRA #if P_FAMILY_CRAMORANT -#define CRAMORANT_MISC_INFO \ - .baseHP = 70, \ - .baseAttack = 85, \ - .baseDefense = 55, \ - .baseSpeed = 85, \ - .baseSpAttack = 85, \ - .baseSpDefense = 95, \ - .types = { TYPE_FLYING, TYPE_WATER }, \ - .catchRate = 45, \ - .expYield = 166, \ - .evYield_SpDefense = 2, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 20, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FLYING }, \ - .abilities = { ABILITY_GULP_MISSILE, ABILITY_NONE }, \ - .bodyColor = BODY_COLOR_BLUE, \ - .speciesName = _("Cramorant"), \ - .cryId = CRY_CRAMORANT, \ - .natDexNum = NATIONAL_DEX_CRAMORANT, \ - .categoryName = _("Gulp"), \ - .height = 8, \ - .weight = 180, \ - .pokemonScale = 366, \ - .pokemonOffset = 7, \ - .trainerScale = 257, \ - .trainerOffset = 0, \ - FOOTPRINT(Cramorant) \ - LEARNSETS(Cramorant), \ - .formSpeciesIdTable = sCramorantFormSpeciesIdTable, \ +#define CRAMORANT_MISC_INFO \ + .baseHP = 70, \ + .baseAttack = 85, \ + .baseDefense = 55, \ + .baseSpeed = 85, \ + .baseSpAttack = 85, \ + .baseSpDefense = 95, \ + .types = MON_TYPES(TYPE_FLYING, TYPE_WATER), \ + .catchRate = 45, \ + .expYield = 166, \ + .evYield_SpDefense = 2, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 20, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FLYING),\ + .abilities = { ABILITY_GULP_MISSILE, ABILITY_NONE }, \ + .bodyColor = BODY_COLOR_BLUE, \ + .speciesName = _("Cramorant"), \ + .cryId = CRY_CRAMORANT, \ + .natDexNum = NATIONAL_DEX_CRAMORANT, \ + .categoryName = _("Gulp"), \ + .height = 8, \ + .weight = 180, \ + .pokemonScale = 366, \ + .pokemonOffset = 7, \ + .trainerScale = 257, \ + .trainerOffset = 0, \ + FOOTPRINT(Cramorant) \ + LEARNSETS(Cramorant), \ + .formSpeciesIdTable = sCramorantFormSpeciesIdTable, \ .formChangeTable = sCramorantFormChangeTable [SPECIES_CRAMORANT] = @@ -2221,7 +2221,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 66, .baseSpAttack = 40, .baseSpDefense = 30, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 255, .expYield = 56, .evYield_Speed = 1, @@ -2229,7 +2229,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_NONE, ABILITY_PROPELLER_TAIL }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Arrokuda"), @@ -2269,7 +2269,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 136, .baseSpAttack = 60, .baseSpDefense = 50, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 60, .expYield = 172, .evYield_Speed = 2, @@ -2277,7 +2277,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_NONE, ABILITY_PROPELLER_TAIL }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Barraskewd"), @@ -2318,7 +2318,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 40, .baseSpAttack = 54, .baseSpDefense = 35, - .types = { TYPE_ELECTRIC, TYPE_POISON }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_POISON), .catchRate = 75, .expYield = 48, .evYield_SpAttack = 1, @@ -2326,7 +2326,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_RATTLED, ABILITY_STATIC, ABILITY_KLUTZ }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Toxel"), @@ -2366,7 +2366,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 75, \ .baseSpAttack = 114, \ .baseSpDefense = 70, \ - .types = { TYPE_ELECTRIC, TYPE_POISON }, \ + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_POISON), \ .catchRate = 45, \ .expYield = 176, \ .evYield_SpAttack = 2, \ @@ -2374,7 +2374,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 25, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), \ .bodyColor = BODY_COLOR_PURPLE, \ .speciesName = _("Toxtricity"), \ .natDexNum = NATIONAL_DEX_TOXTRICITY, \ @@ -2506,7 +2506,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 45, .baseSpAttack = 50, .baseSpDefense = 50, - .types = { TYPE_FIRE, TYPE_BUG }, + .types = MON_TYPES(TYPE_FIRE, TYPE_BUG), .catchRate = 190, .expYield = 61, .evYield_Attack = 1, @@ -2514,7 +2514,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_FLASH_FIRE, ABILITY_WHITE_SMOKE, ABILITY_FLAME_BODY }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Sizzlipede"), @@ -2552,7 +2552,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 65, \ .baseSpAttack = 90, \ .baseSpDefense = 90, \ - .types = { TYPE_FIRE, TYPE_BUG }, \ + .types = MON_TYPES(TYPE_FIRE, TYPE_BUG), \ .catchRate = 75, \ .expYield = 184, \ .evYield_Attack = 2, \ @@ -2560,7 +2560,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), \ .abilities = { ABILITY_FLASH_FIRE, ABILITY_WHITE_SMOKE, ABILITY_FLAME_BODY }, \ .bodyColor = BODY_COLOR_RED, \ .speciesName = _("Centiskorc"), \ @@ -2635,7 +2635,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 32, .baseSpAttack = 50, .baseSpDefense = 50, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 180, .expYield = 62, .evYield_Attack = 1, @@ -2643,7 +2643,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_LIMBER, ABILITY_NONE, ABILITY_TECHNICIAN }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Clobbopus"), @@ -2683,7 +2683,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 42, .baseSpAttack = 70, .baseSpDefense = 80, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 45, .expYield = 168, .evYield_Attack = 2, @@ -2691,7 +2691,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_LIMBER, ABILITY_NONE, ABILITY_TECHNICIAN }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Grapploct"), @@ -2730,7 +2730,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 50, \ .baseSpAttack = 74, \ .baseSpDefense = 54, \ - .types = { TYPE_GHOST, TYPE_GHOST }, \ + .types = MON_TYPES(TYPE_GHOST), \ .catchRate = 120, \ .expYield = 62, \ .evYield_SpAttack = 1, \ @@ -2738,7 +2738,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS), \ .abilities = { ABILITY_WEAK_ARMOR, ABILITY_NONE, ABILITY_CURSED_BODY }, \ .bodyColor = BODY_COLOR_PURPLE, \ .speciesName = _("Sinistea"), \ @@ -2794,7 +2794,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 70, \ .baseSpAttack = 134, \ .baseSpDefense = 114, \ - .types = { TYPE_GHOST, TYPE_GHOST }, \ + .types = MON_TYPES(TYPE_GHOST), \ .catchRate = 60, \ .expYield = 178, \ .evYield_SpAttack = 2, \ @@ -2802,7 +2802,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS), \ .abilities = { ABILITY_WEAK_ARMOR, ABILITY_NONE, ABILITY_CURSED_BODY }, \ .bodyColor = BODY_COLOR_PURPLE, \ .speciesName = _("Polteageis"), \ @@ -2859,7 +2859,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 39, .baseSpAttack = 56, .baseSpDefense = 53, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 235, .expYield = 53, .evYield_SpAttack = 1, @@ -2867,7 +2867,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .abilities = { ABILITY_HEALER, ABILITY_ANTICIPATION, ABILITY_MAGIC_BOUNCE }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Hatenna"), @@ -2907,7 +2907,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 49, .baseSpAttack = 86, .baseSpDefense = 73, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 120, .expYield = 130, .evYield_SpAttack = 2, @@ -2915,7 +2915,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .abilities = { ABILITY_HEALER, ABILITY_ANTICIPATION, ABILITY_MAGIC_BOUNCE }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Hattrem"), @@ -2953,7 +2953,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 29, \ .baseSpAttack = 136, \ .baseSpDefense = 103, \ - .types = { TYPE_PSYCHIC, TYPE_FAIRY }, \ + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_FAIRY), \ .catchRate = 45, \ .expYield = 255, \ .evYield_SpAttack = 3, \ @@ -2961,7 +2961,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), \ .abilities = { ABILITY_HEALER, ABILITY_ANTICIPATION, ABILITY_MAGIC_BOUNCE }, \ .bodyColor = BODY_COLOR_PINK, \ .speciesName = _("Hatterene"), \ @@ -3035,7 +3035,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 50, .baseSpAttack = 55, .baseSpDefense = 40, - .types = { TYPE_DARK, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_DARK, TYPE_FAIRY), .catchRate = 255, .expYield = 53, .evYield_SpAttack = 1, @@ -3043,7 +3043,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_PRANKSTER, ABILITY_FRISK, ABILITY_PICKPOCKET }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Impidimp"), @@ -3083,7 +3083,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 70, .baseSpAttack = 75, .baseSpDefense = 55, - .types = { TYPE_DARK, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_DARK, TYPE_FAIRY), .catchRate = 120, .expYield = 130, .evYield_SpAttack = 2, @@ -3091,7 +3091,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_PRANKSTER, ABILITY_FRISK, ABILITY_PICKPOCKET }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Morgrem"), @@ -3130,7 +3130,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 60, \ .baseSpAttack = 95, \ .baseSpDefense = 75, \ - .types = { TYPE_DARK, TYPE_FAIRY }, \ + .types = MON_TYPES(TYPE_DARK, TYPE_FAIRY), \ .catchRate = 45, \ .expYield = 255, \ .evYield_Attack = 3, \ @@ -3138,7 +3138,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_HUMAN_LIKE }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_HUMAN_LIKE), \ .abilities = { ABILITY_PRANKSTER, ABILITY_FRISK, ABILITY_PICKPOCKET }, \ .bodyColor = BODY_COLOR_PURPLE, \ .speciesName = _("Grimmsnarl"), \ @@ -3212,7 +3212,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 34, .baseSpAttack = 50, .baseSpDefense = 61, - .types = { TYPE_FAIRY, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_FAIRY), .catchRate = 200, .expYield = 54, .evYield_SpDefense = 1, @@ -3220,7 +3220,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_SWEET_VEIL, ABILITY_NONE, ABILITY_AROMA_VEIL }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Milcery"), @@ -3267,7 +3267,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 64, \ .baseSpAttack = 110, \ .baseSpDefense = 121, \ - .types = { TYPE_FAIRY, TYPE_FAIRY }, \ + .types = MON_TYPES(TYPE_FAIRY), \ .catchRate = 100, \ .expYield = 173, \ .evYield_SpDefense = 2, \ @@ -3275,7 +3275,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_AMORPHOUS }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_AMORPHOUS), \ .abilities = { ABILITY_SWEET_VEIL, ABILITY_NONE, ABILITY_AROMA_VEIL }, \ .bodyColor = color @@ -3419,7 +3419,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 75, .baseSpAttack = 70, .baseSpDefense = 60, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 45, .expYield = 165, .evYield_Attack = 2, @@ -3428,7 +3428,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY, EGG_GROUP_MINERAL), .abilities = { ABILITY_BATTLE_ARMOR, ABILITY_NONE, ABILITY_DEFIANT }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Falinks"), @@ -3467,7 +3467,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 15, .baseSpAttack = 91, .baseSpDefense = 85, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 75, .expYield = 152, .evYield_Attack = 2, @@ -3475,7 +3475,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_LIGHTNING_ROD, ABILITY_NONE, ABILITY_ELECTRIC_SURGE }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Pincurchin"), @@ -3515,7 +3515,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 20, .baseSpAttack = 45, .baseSpDefense = 30, - .types = { TYPE_ICE, TYPE_BUG }, + .types = MON_TYPES(TYPE_ICE, TYPE_BUG), .catchRate = 190, .expYield = 37, .evYield_SpAttack = 1, @@ -3524,7 +3524,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SHIELD_DUST, ABILITY_NONE, ABILITY_ICE_SCALES }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Snom"), @@ -3564,7 +3564,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 65, .baseSpAttack = 125, .baseSpDefense = 90, - .types = { TYPE_ICE, TYPE_BUG }, + .types = MON_TYPES(TYPE_ICE, TYPE_BUG), .catchRate = 75, .expYield = 166, .evYield_SpAttack = 2, @@ -3572,7 +3572,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SHIELD_DUST, ABILITY_NONE, ABILITY_ICE_SCALES }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Frosmoth"), @@ -3614,7 +3614,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 70, .baseSpAttack = 20, .baseSpDefense = 20, - .types = { TYPE_ROCK, TYPE_ROCK }, + .types = MON_TYPES(TYPE_ROCK), .catchRate = 60, .expYield = 165, .evYield_Defense = 2, @@ -3622,7 +3622,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_POWER_SPOT, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Stonjourne"), @@ -3655,30 +3655,30 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = #endif //P_FAMILY_STONJOURNER #if P_FAMILY_EISCUE -#define EISCUE_MISC_INFO \ - .types = { TYPE_ICE, TYPE_ICE }, \ - .catchRate = 60, \ - .expYield = 165, \ - .evYield_Defense = 2, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 25, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FIELD }, \ - .abilities = { ABILITY_ICE_FACE, ABILITY_NONE }, \ - .bodyColor = BODY_COLOR_BLUE, \ - .speciesName = _("Eiscue"), \ - .natDexNum = NATIONAL_DEX_EISCUE, \ - .categoryName = _("Penguin"), \ - .height = 14, \ - .weight = 890, \ - .pokemonScale = 265, \ - .pokemonOffset = 2, \ - .trainerScale = 262, \ - .trainerOffset = 0, \ - FOOTPRINT(Eiscue) \ - LEARNSETS(Eiscue), \ - .formSpeciesIdTable = sEiscueFormSpeciesIdTable, \ +#define EISCUE_MISC_INFO \ + .types = MON_TYPES(TYPE_ICE), \ + .catchRate = 60, \ + .expYield = 165, \ + .evYield_Defense = 2, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 25, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FIELD),\ + .abilities = { ABILITY_ICE_FACE, ABILITY_NONE }, \ + .bodyColor = BODY_COLOR_BLUE, \ + .speciesName = _("Eiscue"), \ + .natDexNum = NATIONAL_DEX_EISCUE, \ + .categoryName = _("Penguin"), \ + .height = 14, \ + .weight = 890, \ + .pokemonScale = 265, \ + .pokemonOffset = 2, \ + .trainerScale = 262, \ + .trainerOffset = 0, \ + FOOTPRINT(Eiscue) \ + LEARNSETS(Eiscue), \ + .formSpeciesIdTable = sEiscueFormSpeciesIdTable, \ .formChangeTable = sEiscueFormChangeTable [SPECIES_EISCUE_ICE_FACE] = @@ -3736,13 +3736,13 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = #if P_FAMILY_INDEEDEE #define INDEEDEE_MISC_INFO \ - .types = { TYPE_PSYCHIC, TYPE_NORMAL }, \ + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_NORMAL), \ .catchRate = 30, \ .expYield = 166, \ .eggCycles = 40, \ .friendship = 140, \ .growthRate = GROWTH_FAST, \ - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), \ .bodyColor = BODY_COLOR_PURPLE, \ .speciesName = _("Indeedee"), \ .natDexNum = NATIONAL_DEX_INDEEDEE, \ @@ -3818,36 +3818,36 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = #endif //P_FAMILY_INDEEDEE #if P_FAMILY_MORPEKO -#define MORPEKO_MISC_INFO \ - .baseHP = 58, \ - .baseAttack = 95, \ - .baseDefense = 58, \ - .baseSpeed = 97, \ - .baseSpAttack = 70, \ - .baseSpDefense = 58, \ - .types = { TYPE_ELECTRIC, TYPE_DARK }, \ - .catchRate = 180, \ - .expYield = 153, \ - .evYield_Speed = 2, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 10, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, \ - .abilities = { ABILITY_HUNGER_SWITCH, ABILITY_NONE }, \ - .bodyColor = BODY_COLOR_YELLOW, \ - .speciesName = _("Morpeko"), \ - .natDexNum = NATIONAL_DEX_MORPEKO, \ - .categoryName = _("Two-Sided"), \ - .height = 3, \ - .weight = 30, \ - .pokemonScale = 530, \ - .pokemonOffset = 13, \ - .trainerScale = 256, \ - .trainerOffset = 0, \ - FOOTPRINT(Morpeko) \ - LEARNSETS(Morpeko), \ - .formSpeciesIdTable = sMorpekoFormSpeciesIdTable, \ +#define MORPEKO_MISC_INFO \ + .baseHP = 58, \ + .baseAttack = 95, \ + .baseDefense = 58, \ + .baseSpeed = 97, \ + .baseSpAttack = 70, \ + .baseSpDefense = 58, \ + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_DARK), \ + .catchRate = 180, \ + .expYield = 153, \ + .evYield_Speed = 2, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 10, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY),\ + .abilities = { ABILITY_HUNGER_SWITCH, ABILITY_NONE }, \ + .bodyColor = BODY_COLOR_YELLOW, \ + .speciesName = _("Morpeko"), \ + .natDexNum = NATIONAL_DEX_MORPEKO, \ + .categoryName = _("Two-Sided"), \ + .height = 3, \ + .weight = 30, \ + .pokemonScale = 530, \ + .pokemonOffset = 13, \ + .trainerScale = 256, \ + .trainerOffset = 0, \ + FOOTPRINT(Morpeko) \ + LEARNSETS(Morpeko), \ + .formSpeciesIdTable = sMorpekoFormSpeciesIdTable, \ .formChangeTable = sMorpekoFormChangeTable [SPECIES_MORPEKO_FULL_BELLY] = @@ -3900,7 +3900,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 40, .baseSpAttack = 40, .baseSpDefense = 49, - .types = { TYPE_STEEL, TYPE_STEEL }, + .types = MON_TYPES(TYPE_STEEL), .catchRate = 190, .expYield = 66, .evYield_Attack = 1, @@ -3909,7 +3909,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_MINERAL), .abilities = { ABILITY_SHEER_FORCE, ABILITY_NONE, ABILITY_HEAVY_METAL }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Cufant"), @@ -3948,7 +3948,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 30, \ .baseSpAttack = 80, \ .baseSpDefense = 69, \ - .types = { TYPE_STEEL, TYPE_STEEL }, \ + .types = MON_TYPES(TYPE_STEEL), \ .catchRate = 90, \ .expYield = 175, \ .evYield_Attack = 2, \ @@ -3957,7 +3957,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 25, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_MINERAL }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_MINERAL), \ .abilities = { ABILITY_SHEER_FORCE, ABILITY_NONE, ABILITY_HEAVY_METAL }, \ .bodyColor = BODY_COLOR_GREEN, \ .speciesName = _("Copperajah"), \ @@ -4031,7 +4031,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 75, .baseSpAttack = 80, .baseSpDefense = 70, - .types = { TYPE_ELECTRIC, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_DRAGON), .catchRate = 45, .expYield = 177, .evYield_Attack = 2, @@ -4039,7 +4039,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 35, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_VOLT_ABSORB, ABILITY_HUSTLE, ABILITY_SAND_RUSH }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Dracozolt"), @@ -4080,7 +4080,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 55, .baseSpAttack = 90, .baseSpDefense = 80, - .types = { TYPE_ELECTRIC, TYPE_ICE }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_ICE), .catchRate = 45, .expYield = 177, .evYield_Attack = 2, @@ -4088,7 +4088,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 35, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_VOLT_ABSORB, ABILITY_STATIC, ABILITY_SLUSH_RUSH }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Arctozolt"), @@ -4128,7 +4128,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 75, .baseSpAttack = 70, .baseSpDefense = 80, - .types = { TYPE_WATER, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_WATER, TYPE_DRAGON), .catchRate = 45, .expYield = 177, .evYield_Defense = 2, @@ -4136,7 +4136,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 35, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_WATER_ABSORB, ABILITY_STRONG_JAW, ABILITY_SAND_RUSH }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Dracovish"), @@ -4177,7 +4177,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 55, .baseSpAttack = 80, .baseSpDefense = 90, - .types = { TYPE_WATER, TYPE_ICE }, + .types = MON_TYPES(TYPE_WATER, TYPE_ICE), .catchRate = 45, .expYield = 177, .evYield_Defense = 2, @@ -4185,7 +4185,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 35, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_WATER_ABSORB, ABILITY_ICE_BODY, ABILITY_SLUSH_RUSH }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Arctovish"), @@ -4225,7 +4225,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 85, \ .baseSpAttack = 120, \ .baseSpDefense = 50, \ - .types = { TYPE_STEEL, TYPE_DRAGON }, \ + .types = MON_TYPES(TYPE_STEEL, TYPE_DRAGON), \ .catchRate = 45, \ .expYield = 187, \ .evYield_SpAttack = 2, \ @@ -4233,7 +4233,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 30, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_DRAGON }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_DRAGON), \ .abilities = { ABILITY_LIGHT_METAL, ABILITY_HEAVY_METAL, ABILITY_STALWART }, \ .bodyColor = BODY_COLOR_WHITE, \ .speciesName = _("Duraludon"), \ @@ -4307,7 +4307,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 85, .baseSpAttack = 125, .baseSpDefense = 65, - .types = { TYPE_STEEL, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_STEEL, TYPE_DRAGON), .catchRate = 10, .expYield = 300, .evYield_Defense = 3, @@ -4315,7 +4315,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_DRAGON), .abilities = { ABILITY_STAMINA, ABILITY_STURDY, ABILITY_STALWART }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Archaludon"), @@ -4357,7 +4357,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 82, .baseSpAttack = 40, .baseSpDefense = 30, - .types = { TYPE_DRAGON, TYPE_GHOST }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_GHOST), .catchRate = 45, .expYield = 54, .evYield_Speed = 1, @@ -4365,7 +4365,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS, EGG_GROUP_DRAGON), .abilities = { ABILITY_CLEAR_BODY, ABILITY_INFILTRATOR, ABILITY_CURSED_BODY }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Dreepy"), @@ -4406,7 +4406,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 102, .baseSpAttack = 60, .baseSpDefense = 50, - .types = { TYPE_DRAGON, TYPE_GHOST }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_GHOST), .catchRate = 45, .expYield = 144, .evYield_Speed = 2, @@ -4414,7 +4414,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS, EGG_GROUP_DRAGON), .abilities = { ABILITY_CLEAR_BODY, ABILITY_INFILTRATOR, ABILITY_CURSED_BODY }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Drakloak"), @@ -4454,7 +4454,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 142, .baseSpAttack = 100, .baseSpDefense = 75, - .types = { TYPE_DRAGON, TYPE_GHOST }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_GHOST), .catchRate = 45, .expYield = 300, .evYield_Speed = 3, @@ -4462,7 +4462,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_AMORPHOUS, EGG_GROUP_DRAGON }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_AMORPHOUS, EGG_GROUP_DRAGON), .abilities = { ABILITY_CLEAR_BODY, ABILITY_INFILTRATOR, ABILITY_CURSED_BODY }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Dragapult"), @@ -4503,7 +4503,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_INTREPID_SWORD, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_BLUE, \ .isLegendary = TRUE, \ @@ -4529,7 +4529,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 138, .baseSpAttack = 80, .baseSpDefense = 115, - .types = { TYPE_FAIRY, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_FAIRY), .expYield = 335, .cryId = CRY_ZACIAN_HERO_OF_MANY_BATTLES, .weight = 1100, @@ -4557,7 +4557,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 148, .baseSpAttack = 80, .baseSpDefense = 115, - .types = { TYPE_FAIRY, TYPE_STEEL }, + .types = MON_TYPES(TYPE_FAIRY, TYPE_STEEL), .expYield = 360, .cryId = CRY_ZACIAN_CROWNED_SWORD, .weight = 3550, @@ -4586,7 +4586,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_DAUNTLESS_SHIELD, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_RED, \ .isLegendary = TRUE, \ @@ -4612,7 +4612,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 138, .baseSpAttack = 80, .baseSpDefense = 115, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .expYield = 335, .cryId = CRY_ZAMAZENTA_HERO_OF_MANY_BATTLES, .weight = 2100, @@ -4641,7 +4641,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 128, .baseSpAttack = 80, .baseSpDefense = P_UPDATED_STATS >= GEN_9 ? 140 : 145, - .types = { TYPE_FIGHTING, TYPE_STEEL }, + .types = MON_TYPES(TYPE_FIGHTING, TYPE_STEEL), .expYield = 360, .cryId = CRY_ZAMAZENTA_CROWNED_SHIELD, .weight = 7850, @@ -4664,14 +4664,14 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = #if P_FAMILY_ETERNATUS #define ETERNATUS_MISC_INFO \ - .types = { TYPE_POISON, TYPE_DRAGON }, \ + .types = MON_TYPES(TYPE_POISON, TYPE_DRAGON), \ .catchRate = 255, \ .evYield_HP = 3, \ .genderRatio = MON_GENDERLESS, \ .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_PRESSURE, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_PURPLE, \ .isLegendary = TRUE, \ @@ -4760,7 +4760,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 72, .baseSpAttack = 53, .baseSpDefense = 50, - .types = { TYPE_FIGHTING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FIGHTING), .catchRate = 3, .expYield = 77, .evYield_Attack = 1, @@ -4768,7 +4768,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 120, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_INNER_FOCUS, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .isLegendary = TRUE, @@ -4817,7 +4817,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 120, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_UNSEEN_FIST, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_GRAY, \ .isLegendary = TRUE, \ @@ -4828,7 +4828,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .formSpeciesIdTable = sUrshifuFormSpeciesIdTable #define URSHIFU_SINGLE_STRIKE_STYLE_MISC_INFO \ - .types = { TYPE_FIGHTING, TYPE_DARK }, \ + .types = MON_TYPES(TYPE_FIGHTING, TYPE_DARK),\ .cryId = CRY_URSHIFU_SINGLE_STRIKE_STYLE, \ LEARNSETS(UrshifuSingleStrikeStyle), \ URSHIFU_MISC_INFO(SingleStrike) @@ -4887,10 +4887,10 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = }, #endif //P_GIGANTAMAX_FORMS -#define URSHIFU_RAPID_STRIKE_STYLE_MISC_INFO \ - .types = { TYPE_FIGHTING, TYPE_WATER }, \ - .cryId = CRY_URSHIFU_RAPID_STRIKE_STYLE, \ - LEARNSETS(UrshifuRapidStrikeStyle), \ +#define URSHIFU_RAPID_STRIKE_STYLE_MISC_INFO \ + .types = MON_TYPES(TYPE_FIGHTING, TYPE_WATER), \ + .cryId = CRY_URSHIFU_RAPID_STRIKE_STYLE, \ + LEARNSETS(UrshifuRapidStrikeStyle), \ URSHIFU_MISC_INFO(RapidStrike) [SPECIES_URSHIFU_RAPID_STRIKE_STYLE] = @@ -4957,7 +4957,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 105, \ .baseSpAttack = 70, \ .baseSpDefense = 95, \ - .types = { TYPE_DARK, TYPE_GRASS }, \ + .types = MON_TYPES(TYPE_DARK, TYPE_GRASS), \ .catchRate = 3, \ .expYield = 300, \ .evYield_Attack = 3, \ @@ -4965,7 +4965,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 120, \ .friendship = 0, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ABILITY_LEAF_GUARD, ABILITY_NONE }, \ .bodyColor = BODY_COLOR_GREEN, \ .isMythical = TRUE, \ @@ -5030,7 +5030,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 200, .baseSpAttack = 100, .baseSpDefense = 50, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 3, .expYield = 290, .evYield_Speed = 3, @@ -5038,7 +5038,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 120, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_TRANSISTOR, ABILITY_NONE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Regieleki"), @@ -5081,7 +5081,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 80, .baseSpAttack = 100, .baseSpDefense = 50, - .types = { TYPE_DRAGON, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_DRAGON), .catchRate = 3, .expYield = 290, .evYield_HP = 3, @@ -5089,7 +5089,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 120, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_DRAGONS_MAW, ABILITY_NONE }, .bodyColor = BODY_COLOR_GREEN, .isLegendary = TRUE, @@ -5132,7 +5132,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 30, .baseSpAttack = 65, .baseSpDefense = 110, - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .catchRate = 3, .expYield = 290, .evYield_Attack = 3, @@ -5140,7 +5140,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 120, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_CHILLING_NEIGH, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .isLegendary = TRUE, @@ -5181,7 +5181,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 130, .baseSpAttack = 145, .baseSpDefense = 80, - .types = { TYPE_GHOST, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GHOST), .catchRate = 3, .expYield = 290, .evYield_SpAttack = 3, @@ -5189,7 +5189,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 120, .friendship = 35, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_GRIM_NEIGH, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLACK, .isLegendary = TRUE, @@ -5239,7 +5239,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 80, .baseSpAttack = 80, .baseSpDefense = 80, - .types = { TYPE_PSYCHIC, TYPE_GRASS }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_GRASS), .catchRate = 3, .expYield = 250, .evYield_HP = 3, @@ -5247,7 +5247,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 120, .friendship = 100, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_UNNERVE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GREEN, .cryId = CRY_CALYREX, @@ -5285,7 +5285,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 50, .baseSpAttack = 85, .baseSpDefense = 130, - .types = { TYPE_PSYCHIC, TYPE_ICE }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_ICE), .catchRate = 3, .expYield = 340, .evYield_Attack = 3, @@ -5293,7 +5293,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 120, .friendship = 100, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_AS_ONE_ICE_RIDER, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .cryId = CRY_CALYREX_ICE_RIDER, @@ -5331,7 +5331,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .baseSpeed = 150, .baseSpAttack = 165, .baseSpDefense = 100, - .types = { TYPE_PSYCHIC, TYPE_GHOST }, + .types = MON_TYPES(TYPE_PSYCHIC, TYPE_GHOST), .catchRate = 3, .expYield = 340, .evYield_SpAttack = 3, @@ -5339,7 +5339,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 120, .friendship = 100, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_AS_ONE_SHADOW_RIDER, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLACK, .cryId = CRY_CALYREX_SHADOW_RIDER, @@ -5372,7 +5372,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = #if P_FAMILY_ENAMORUS #define ENAMORUS_MISC_INFO \ - .types = { TYPE_FAIRY, TYPE_FLYING }, \ + .types = MON_TYPES(TYPE_FAIRY, TYPE_FLYING), \ .catchRate = 3, \ .expYield = 116, \ .evYield_SpAttack = 3, \ @@ -5380,7 +5380,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .bodyColor = BODY_COLOR_PINK, \ .isLegendary = TRUE, \ .speciesName = _("Enamorus"), \ diff --git a/src/data/pokemon/species_info/gen_9.h b/src/data/pokemon/species_info/gen_9.h index c0feb0b3e9..f5a80108bb 100644 --- a/src/data/pokemon/species_info/gen_9.h +++ b/src/data/pokemon/species_info/gen_9.h @@ -12,7 +12,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 65, .baseSpAttack = 45, .baseSpDefense = 45, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = 62, .evYield_Speed = 1, @@ -20,7 +20,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_PROTEAN }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Sprigatito"), @@ -60,7 +60,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 83, .baseSpAttack = 60, .baseSpDefense = 63, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 45, .expYield = 144, .evYield_Speed = 2, @@ -68,7 +68,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_PROTEAN }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Floragato"), @@ -108,7 +108,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 123, .baseSpAttack = 81, .baseSpDefense = 70, - .types = { TYPE_GRASS, TYPE_DARK }, + .types = MON_TYPES(TYPE_GRASS, TYPE_DARK), .catchRate = 45, .expYield = 265, .evYield_Speed = 3, @@ -116,7 +116,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_PROTEAN }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Meowscarad"), @@ -157,7 +157,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 36, .baseSpAttack = 63, .baseSpDefense = 40, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = 62, .evYield_HP = 1, @@ -165,7 +165,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_UNAWARE }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Fuecoco"), @@ -205,7 +205,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 49, .baseSpAttack = 90, .baseSpDefense = 58, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 45, .expYield = 144, .evYield_SpAttack = 2, @@ -213,7 +213,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_UNAWARE }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Crocalor"), @@ -253,7 +253,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 66, .baseSpAttack = 110, .baseSpDefense = 75, - .types = { TYPE_FIRE, TYPE_GHOST }, + .types = MON_TYPES(TYPE_FIRE, TYPE_GHOST), .catchRate = 45, .expYield = 265, .evYield_SpAttack = 3, @@ -261,7 +261,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_BLAZE, ABILITY_NONE, ABILITY_UNAWARE }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Skeledirge"), @@ -302,7 +302,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 50, .baseSpAttack = 50, .baseSpDefense = 45, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = 62, .evYield_Attack = 1, @@ -310,7 +310,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING, EGG_GROUP_WATER_1), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_MOXIE }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Quaxly"), @@ -350,7 +350,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 65, .baseSpAttack = 65, .baseSpDefense = 60, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 45, .expYield = 144, .evYield_Attack = 2, @@ -358,7 +358,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING, EGG_GROUP_WATER_1), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_MOXIE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Quaxwell"), @@ -398,7 +398,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 85, .baseSpAttack = 85, .baseSpDefense = 75, - .types = { TYPE_WATER, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_WATER, TYPE_FIGHTING), .catchRate = 45, .expYield = 265, .evYield_Attack = 3, @@ -406,7 +406,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING, EGG_GROUP_WATER_1), .abilities = { ABILITY_TORRENT, ABILITY_NONE, ABILITY_MOXIE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Quaquaval"), @@ -447,7 +447,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 35, .baseSpAttack = 35, .baseSpDefense = 45, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 255, .expYield = 51, .evYield_HP = 1, @@ -455,7 +455,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_AROMA_VEIL, ABILITY_GLUTTONY, ABILITY_THICK_FAT }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Lechonk"), @@ -489,14 +489,14 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = }, #define OINKOLOGNE_MISC_INFO \ - .types = { TYPE_NORMAL, TYPE_NORMAL }, \ + .types = MON_TYPES(TYPE_NORMAL), \ .catchRate = 100, \ .expYield = 171, \ .evYield_HP = 2, \ .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), \ .bodyColor = BODY_COLOR_GRAY, \ .speciesName = _("Oinkologne"), \ .natDexNum = NATIONAL_DEX_OINKOLOGNE, \ @@ -579,7 +579,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 20, .baseSpAttack = 29, .baseSpDefense = 40, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 255, .expYield = 42, .evYield_Defense = 1, @@ -587,7 +587,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_INSOMNIA, ABILITY_NONE, ABILITY_STAKEOUT }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Tarountula"), @@ -627,7 +627,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 35, .baseSpAttack = 52, .baseSpDefense = 86, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 120, .expYield = 141, .evYield_Defense = 2, @@ -635,7 +635,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_ERRATIC, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_INSOMNIA, ABILITY_NONE, ABILITY_STAKEOUT }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Spidops"), @@ -676,7 +676,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 45, .baseSpAttack = 21, .baseSpDefense = 25, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 190, .expYield = 42, .evYield_Attack = 1, @@ -684,7 +684,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = 20, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_NONE, ABILITY_TINTED_LENS }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Nymble"), @@ -724,7 +724,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 92, .baseSpAttack = 52, .baseSpDefense = 55, - .types = { TYPE_BUG, TYPE_DARK }, + .types = MON_TYPES(TYPE_BUG, TYPE_DARK), .catchRate = 30, .expYield = 158, .evYield_Attack = 2, @@ -732,7 +732,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = 0, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SWARM, ABILITY_NONE, ABILITY_TINTED_LENS }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Lokix"), @@ -773,7 +773,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 60, .baseSpAttack = 40, .baseSpDefense = 25, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 190, .expYield = 48, .evYield_Speed = 1, @@ -781,7 +781,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_STATIC, ABILITY_NATURAL_CURE, ABILITY_IRON_FIST }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Pawmi"), @@ -821,7 +821,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 85, .baseSpAttack = 50, .baseSpDefense = 40, - .types = { TYPE_ELECTRIC, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_FIGHTING), .catchRate = 80, .expYield = 123, .evYield_Speed = 2, @@ -829,7 +829,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_VOLT_ABSORB, ABILITY_NATURAL_CURE, ABILITY_IRON_FIST }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Pawmo"), @@ -869,7 +869,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 105, .baseSpAttack = 70, .baseSpDefense = 60, - .types = { TYPE_ELECTRIC, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_FIGHTING), .catchRate = 45, .expYield = 245, .evYield_Attack = 3, @@ -877,7 +877,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 15, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_VOLT_ABSORB, ABILITY_NATURAL_CURE, ABILITY_IRON_FIST }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Pawmot"), @@ -918,7 +918,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 75, .baseSpAttack = 40, .baseSpDefense = 45, - .types = { TYPE_NORMAL, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_NORMAL), .catchRate = 150, .expYield = 61, .evYield_Speed = 1, @@ -926,7 +926,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 10, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY), .abilities = { ABILITY_RUN_AWAY, ABILITY_PICKUP, ABILITY_OWN_TEMPO }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Tandemaus"), @@ -966,7 +966,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 111, \ .baseSpAttack = 65, \ .baseSpDefense = 75, \ - .types = { TYPE_NORMAL, TYPE_NORMAL }, \ + .types = MON_TYPES(TYPE_NORMAL), \ .catchRate = 75, \ .expYield = 165, \ .evYield_Speed = 2, \ @@ -974,7 +974,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 10, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_FAST, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_FAIRY), \ .abilities = { ABILITY_FRIEND_GUARD, ABILITY_CHEEK_POUCH, ABILITY_TECHNICIAN }, \ .bodyColor = BODY_COLOR_WHITE, \ .speciesName = _("Maushold"), \ @@ -1034,7 +1034,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 65, .baseSpAttack = 30, .baseSpDefense = 55, - .types = { TYPE_FAIRY, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_FAIRY), .catchRate = 190, .expYield = 62, .evYield_Speed = 1, @@ -1042,7 +1042,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_MINERAL), .abilities = { ABILITY_OWN_TEMPO, ABILITY_NONE, ABILITY_KLUTZ }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Fidough"), @@ -1082,7 +1082,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 95, .baseSpAttack = 50, .baseSpDefense = 80, - .types = { TYPE_FAIRY, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_FAIRY), .catchRate = 90, .expYield = 167, .evYield_Speed = 2, @@ -1090,7 +1090,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_MINERAL), .abilities = { ABILITY_WELL_BAKED_BODY, ABILITY_NONE, ABILITY_AROMA_VEIL }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Dachsbun"), @@ -1131,7 +1131,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 30, .baseSpAttack = 58, .baseSpDefense = 51, - .types = { TYPE_GRASS, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_GRASS, TYPE_NORMAL), .catchRate = 255, .expYield = 52, .evYield_SpAttack = 1, @@ -1139,7 +1139,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_EARLY_BIRD, ABILITY_NONE, ABILITY_HARVEST }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Smoliv"), @@ -1179,7 +1179,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 33, .baseSpAttack = 78, .baseSpDefense = 78, - .types = { TYPE_GRASS, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_GRASS, TYPE_NORMAL), .catchRate = 120, .expYield = 124, .evYield_SpAttack = 2, @@ -1187,7 +1187,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_EARLY_BIRD, ABILITY_NONE, ABILITY_HARVEST }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Dolliv"), @@ -1227,7 +1227,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 39, .baseSpAttack = 125, .baseSpDefense = 109, - .types = { TYPE_GRASS, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_GRASS, TYPE_NORMAL), .catchRate = 45, .expYield = 255, .evYield_SpAttack = 3, @@ -1235,7 +1235,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_SEED_SOWER, ABILITY_NONE, ABILITY_HARVEST }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Arboliva"), @@ -1275,7 +1275,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 92, \ .baseSpAttack = 45, \ .baseSpDefense = 51, \ - .types = { TYPE_NORMAL, TYPE_FLYING }, \ + .types = MON_TYPES(TYPE_NORMAL, TYPE_FLYING), \ .catchRate = 190, \ .expYield = 146, \ .evYield_Attack = 1, \ @@ -1283,7 +1283,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 15, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_ERRATIC, \ - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), \ .speciesName = _("Sqawkabily"), \ .cryId = CRY_SQUAWKABILLY, \ .natDexNum = NATIONAL_DEX_SQUAWKABILLY, \ @@ -1371,7 +1371,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 25, .baseSpAttack = 35, .baseSpDefense = 35, - .types = { TYPE_ROCK, TYPE_ROCK }, + .types = MON_TYPES(TYPE_ROCK), .catchRate = 255, .expYield = 56, .evYield_Defense = 1, @@ -1379,7 +1379,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_PURIFYING_SALT, ABILITY_STURDY, ABILITY_CLEAR_BODY }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Nacli"), @@ -1419,7 +1419,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 35, .baseSpAttack = 35, .baseSpDefense = 65, - .types = { TYPE_ROCK, TYPE_ROCK }, + .types = MON_TYPES(TYPE_ROCK), .catchRate = 120, .expYield = 124, .evYield_Defense = 2, @@ -1427,7 +1427,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_PURIFYING_SALT, ABILITY_STURDY, ABILITY_CLEAR_BODY }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Naclstack"), @@ -1467,7 +1467,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 35, .baseSpAttack = 45, .baseSpDefense = 90, - .types = { TYPE_ROCK, TYPE_ROCK }, + .types = MON_TYPES(TYPE_ROCK), .catchRate = 45, .expYield = 250, .evYield_Defense = 3, @@ -1475,7 +1475,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_PURIFYING_SALT, ABILITY_STURDY, ABILITY_CLEAR_BODY }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Garganacl"), @@ -1516,7 +1516,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 35, .baseSpAttack = 50, .baseSpDefense = 40, - .types = { TYPE_FIRE, TYPE_FIRE }, + .types = MON_TYPES(TYPE_FIRE), .catchRate = 90, .expYield = 51, .evYield_SpAttack = 1, @@ -1524,7 +1524,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 35, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_FLASH_FIRE, ABILITY_NONE, ABILITY_FLAME_BODY }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Charcadet"), @@ -1565,7 +1565,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 75, .baseSpAttack = 125, .baseSpDefense = 80, - .types = { TYPE_FIRE, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_FIRE, TYPE_PSYCHIC), .catchRate = 25, .expYield = 263, .evYield_SpAttack = 2, @@ -1573,7 +1573,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 35, .friendship = 20, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_FLASH_FIRE, ABILITY_NONE, ABILITY_WEAK_ARMOR }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Armarouge"), @@ -1612,7 +1612,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 85, .baseSpAttack = 60, .baseSpDefense = 100, - .types = { TYPE_FIRE, TYPE_GHOST }, + .types = MON_TYPES(TYPE_FIRE, TYPE_GHOST), .catchRate = 25, .expYield = 263, .evYield_Attack = 2, @@ -1620,7 +1620,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 35, .friendship = 20, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_HUMAN_LIKE, EGG_GROUP_HUMAN_LIKE }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_HUMAN_LIKE), .abilities = { ABILITY_FLASH_FIRE, ABILITY_NONE, ABILITY_WEAK_ARMOR }, .bodyColor = BODY_COLOR_PURPLE, .speciesName = _("Ceruledge"), @@ -1661,7 +1661,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 45, .baseSpAttack = 59, .baseSpDefense = 35, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 190, .expYield = 54, .evYield_HP = 1, @@ -1669,7 +1669,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_OWN_TEMPO, ABILITY_STATIC, ABILITY_DAMP }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Tadbulb"), @@ -1710,7 +1710,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 45, .baseSpAttack = 103, .baseSpDefense = 83, - .types = { TYPE_ELECTRIC, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ELECTRIC), .catchRate = 50, .expYield = 173, .evYield_HP = 2, @@ -1718,7 +1718,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_WATER_1 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1), .abilities = { ABILITY_ELECTROMORPHOSIS, ABILITY_STATIC, ABILITY_DAMP }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Bellibolt"), @@ -1759,7 +1759,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 70, .baseSpAttack = 55, .baseSpDefense = 40, - .types = { TYPE_ELECTRIC, TYPE_FLYING }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_FLYING), .catchRate = 180, .expYield = 56, .evYield_Speed = 1, @@ -1767,7 +1767,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FLYING), .abilities = { ABILITY_WIND_POWER, ABILITY_VOLT_ABSORB, ABILITY_COMPETITIVE }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Wattrel"), @@ -1807,7 +1807,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 125, .baseSpAttack = 105, .baseSpDefense = 60, - .types = { TYPE_ELECTRIC, TYPE_FLYING }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_FLYING), .catchRate = 90, .expYield = 172, .evYield_Speed = 2, @@ -1815,7 +1815,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_WATER_1, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FLYING), .abilities = { ABILITY_WIND_POWER, ABILITY_VOLT_ABSORB, ABILITY_COMPETITIVE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Kilowatrel"), @@ -1856,7 +1856,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 51, .baseSpAttack = 40, .baseSpDefense = 51, - .types = { TYPE_DARK, TYPE_DARK }, + .types = MON_TYPES(TYPE_DARK), .catchRate = 150, .expYield = 68, .evYield_Attack = 1, @@ -1864,7 +1864,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_INTIMIDATE, ABILITY_RUN_AWAY, ABILITY_STAKEOUT }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Maschiff"), @@ -1904,7 +1904,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 85, .baseSpAttack = 60, .baseSpDefense = 70, - .types = { TYPE_DARK, TYPE_DARK }, + .types = MON_TYPES(TYPE_DARK), .catchRate = 75, .expYield = 177, .evYield_Attack = 2, @@ -1912,7 +1912,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_INTIMIDATE, ABILITY_GUARD_DOG, ABILITY_STAKEOUT }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Mabosstiff"), @@ -1953,7 +1953,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 75, .baseSpAttack = 40, .baseSpDefense = 35, - .types = { TYPE_POISON, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_POISON, TYPE_NORMAL), .catchRate = 190, .expYield = 58, .evYield_Speed = 1, @@ -1961,7 +1961,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_UNBURDEN, ABILITY_PICKPOCKET, ABILITY_PRANKSTER }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Shroodle"), @@ -2001,7 +2001,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 110, .baseSpAttack = 80, .baseSpDefense = 72, - .types = { TYPE_POISON, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_POISON, TYPE_NORMAL), .catchRate = 90, .expYield = 170, .evYield_Speed = 2, @@ -2009,7 +2009,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_UNBURDEN, ABILITY_POISON_TOUCH, ABILITY_PRANKSTER }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Grafaiai"), @@ -2050,7 +2050,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 60, .baseSpAttack = 45, .baseSpDefense = 35, - .types = { TYPE_GRASS, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GRASS, TYPE_GHOST), .catchRate = 190, .expYield = 55, .evYield_Attack = 1, @@ -2058,7 +2058,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_WIND_RIDER, ABILITY_NONE, ABILITY_INFILTRATOR }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Bramblin"), @@ -2098,7 +2098,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 90, .baseSpAttack = 80, .baseSpDefense = 70, - .types = { TYPE_GRASS, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GRASS, TYPE_GHOST), .catchRate = 45, .expYield = 168, .evYield_Attack = 2, @@ -2106,7 +2106,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_WIND_RIDER, ABILITY_NONE, ABILITY_INFILTRATOR }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Brmblghast"), @@ -2147,7 +2147,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 70, .baseSpAttack = 50, .baseSpDefense = 100, - .types = { TYPE_GROUND, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GROUND, TYPE_GRASS), .catchRate = 190, .expYield = 67, .evYield_SpDefense = 1, @@ -2155,7 +2155,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_MYCELIUM_MIGHT, ABILITY_NONE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Toedscool"), @@ -2195,7 +2195,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 100, .baseSpAttack = 80, .baseSpDefense = 120, - .types = { TYPE_GROUND, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GROUND, TYPE_GRASS), .catchRate = 90, .expYield = 180, .evYield_SpDefense = 2, @@ -2203,7 +2203,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_MYCELIUM_MIGHT, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Toedscruel"), @@ -2244,7 +2244,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 75, .baseSpAttack = 35, .baseSpDefense = 55, - .types = { TYPE_ROCK, TYPE_ROCK }, + .types = MON_TYPES(TYPE_ROCK), .catchRate = 120, .expYield = 158, .evYield_Defense = 2, @@ -2252,7 +2252,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 35, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_ANGER_SHELL, ABILITY_SHELL_ARMOR, ABILITY_REGENERATOR }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Klawf"), @@ -2293,7 +2293,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 50, .baseSpAttack = 62, .baseSpDefense = 40, - .types = { TYPE_GRASS, TYPE_GRASS }, + .types = MON_TYPES(TYPE_GRASS), .catchRate = 190, .expYield = 61, .evYield_Attack = 1, @@ -2301,7 +2301,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_INSOMNIA, ABILITY_KLUTZ }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Capsakid"), @@ -2341,7 +2341,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 75, .baseSpAttack = 108, .baseSpDefense = 65, - .types = { TYPE_GRASS, TYPE_FIRE }, + .types = MON_TYPES(TYPE_GRASS, TYPE_FIRE), .catchRate = 75, .expYield = 170, .evYield_Attack = 2, @@ -2349,7 +2349,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_GRASS, EGG_GROUP_GRASS }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_CHLOROPHYLL, ABILITY_INSOMNIA, ABILITY_MOODY }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Scovillain"), @@ -2390,7 +2390,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 30, .baseSpAttack = 31, .baseSpDefense = 58, - .types = { TYPE_BUG, TYPE_BUG }, + .types = MON_TYPES(TYPE_BUG), .catchRate = 190, .expYield = 54, .evYield_Defense = 1, @@ -2398,7 +2398,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_COMPOUND_EYES, ABILITY_NONE, ABILITY_SHED_SKIN }, .bodyColor = BODY_COLOR_BROWN, .speciesName = _("Rellor"), @@ -2438,7 +2438,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 45, .baseSpAttack = 115, .baseSpDefense = 100, - .types = { TYPE_BUG, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_BUG, TYPE_PSYCHIC), .catchRate = 45, .expYield = 165, .evYield_SpAttack = 2, @@ -2446,7 +2446,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_BUG, EGG_GROUP_BUG }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_SYNCHRONIZE, ABILITY_NONE, ABILITY_TELEPATHY }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Rabsca"), @@ -2487,7 +2487,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 75, .baseSpAttack = 55, .baseSpDefense = 30, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 120, .expYield = 51, .evYield_Speed = 1, @@ -2495,7 +2495,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_ANTICIPATION, ABILITY_FRISK, ABILITY_SPEED_BOOST }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Flittle"), @@ -2535,7 +2535,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 105, .baseSpAttack = 101, .baseSpDefense = 60, - .types = { TYPE_PSYCHIC, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_PSYCHIC), .catchRate = 60, .expYield = 168, .evYield_Speed = 2, @@ -2543,7 +2543,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_OPPORTUNIST, ABILITY_FRISK, ABILITY_SPEED_BOOST }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Espathra"), @@ -2584,7 +2584,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 58, .baseSpAttack = 35, .baseSpDefense = 64, - .types = { TYPE_FAIRY, TYPE_STEEL }, + .types = MON_TYPES(TYPE_FAIRY, TYPE_STEEL), .catchRate = 190, .expYield = 59, .evYield_SpDefense = 1, @@ -2592,7 +2592,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .abilities = { ABILITY_MOLD_BREAKER, ABILITY_OWN_TEMPO, ABILITY_PICKPOCKET }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Tinkatink"), @@ -2632,7 +2632,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 78, .baseSpAttack = 45, .baseSpDefense = 82, - .types = { TYPE_FAIRY, TYPE_STEEL }, + .types = MON_TYPES(TYPE_FAIRY, TYPE_STEEL), .catchRate = 90, .expYield = 133, .evYield_SpDefense = 2, @@ -2640,7 +2640,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .abilities = { ABILITY_MOLD_BREAKER, ABILITY_OWN_TEMPO, ABILITY_PICKPOCKET }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Tinkatuff"), @@ -2680,7 +2680,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 94, .baseSpAttack = 70, .baseSpDefense = 105, - .types = { TYPE_FAIRY, TYPE_STEEL }, + .types = MON_TYPES(TYPE_FAIRY, TYPE_STEEL), .catchRate = 45, .expYield = 253, .evYield_SpDefense = 3, @@ -2688,7 +2688,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FAIRY, EGG_GROUP_FAIRY }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FAIRY), .abilities = { ABILITY_MOLD_BREAKER, ABILITY_OWN_TEMPO, ABILITY_PICKPOCKET }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Tinkaton"), @@ -2729,7 +2729,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 95, .baseSpAttack = 35, .baseSpDefense = 25, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 255, .expYield = 49, .evYield_Speed = 1, @@ -2737,7 +2737,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_GOOEY, ABILITY_RATTLED, ABILITY_SAND_VEIL }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Wiglett"), @@ -2776,7 +2776,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 120, .baseSpAttack = 50, .baseSpDefense = 70, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 50, .expYield = 149, .evYield_Speed = 2, @@ -2784,7 +2784,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_WATER_3, EGG_GROUP_WATER_3 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_GOOEY, ABILITY_RATTLED, ABILITY_SAND_VEIL }, .bodyColor = BODY_COLOR_RED, .speciesName = _("Wugtrio"), @@ -2824,7 +2824,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 82, .baseSpAttack = 60, .baseSpDefense = 85, - .types = { TYPE_FLYING, TYPE_DARK }, + .types = MON_TYPES(TYPE_FLYING, TYPE_DARK), .catchRate = 25, .expYield = 243, .evYield_Attack = 2, @@ -2832,7 +2832,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 35, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_BIG_PECKS, ABILITY_KEEN_EYE, ABILITY_ROCKY_PAYLOAD }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Bombirdier"), @@ -2874,7 +2874,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 75, .baseSpAttack = 45, .baseSpDefense = 40, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 200, .expYield = 63, .evYield_Speed = 1, @@ -2882,7 +2882,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_WATER_2), .abilities = { ABILITY_WATER_VEIL, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Finizen"), @@ -2913,26 +2913,26 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .evolutions = EVOLUTION({EVO_LEVEL, 38, SPECIES_PALAFIN_ZERO}), }, -#define PALAFIN_MISC_INFO \ - .types = { TYPE_WATER, TYPE_WATER }, \ - .catchRate = 45, \ - .evYield_HP = 2, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 40, \ - .friendship = STANDARD_FRIENDSHIP, \ - .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_WATER_2 }, \ - .abilities = { ABILITY_ZERO_TO_HERO, ABILITY_NONE }, \ - .bodyColor = BODY_COLOR_BLUE, \ - .speciesName = _("Palafin"), \ - .natDexNum = NATIONAL_DEX_PALAFIN, \ - .pokemonScale = 356, \ - .pokemonOffset = 17, \ - .trainerScale = 256, \ - .trainerOffset = 0, \ - .frontAnimFrames = sAnims_Palafin, \ - LEARNSETS(Palafin), \ - .formSpeciesIdTable = sPalafinFormSpeciesIdTable, \ +#define PALAFIN_MISC_INFO \ + .types = MON_TYPES(TYPE_WATER), \ + .catchRate = 45, \ + .evYield_HP = 2, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 40, \ + .friendship = STANDARD_FRIENDSHIP, \ + .growthRate = GROWTH_SLOW, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_WATER_2),\ + .abilities = { ABILITY_ZERO_TO_HERO, ABILITY_NONE }, \ + .bodyColor = BODY_COLOR_BLUE, \ + .speciesName = _("Palafin"), \ + .natDexNum = NATIONAL_DEX_PALAFIN, \ + .pokemonScale = 356, \ + .pokemonOffset = 17, \ + .trainerScale = 256, \ + .trainerOffset = 0, \ + .frontAnimFrames = sAnims_Palafin, \ + LEARNSETS(Palafin), \ + .formSpeciesIdTable = sPalafinFormSpeciesIdTable, \ .formChangeTable = sPalafinZeroFormChangeTable //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, //FOOTPRINT(Palafin) @@ -3003,7 +3003,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 47, .baseSpAttack = 30, .baseSpDefense = 45, - .types = { TYPE_STEEL, TYPE_POISON }, + .types = MON_TYPES(TYPE_STEEL, TYPE_POISON), .catchRate = 190, .expYield = 60, .evYield_Attack = 1, @@ -3011,7 +3011,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_OVERCOAT, ABILITY_NONE, ABILITY_SLOW_START }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Varoom"), @@ -3051,7 +3051,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 90, .baseSpAttack = 54, .baseSpDefense = 67, - .types = { TYPE_STEEL, TYPE_POISON }, + .types = MON_TYPES(TYPE_STEEL, TYPE_POISON), .catchRate = 75, .expYield = 175, .evYield_Attack = 2, @@ -3059,7 +3059,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_FAST, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_OVERCOAT, ABILITY_NONE, ABILITY_FILTER }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Revavroom"), @@ -3100,7 +3100,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 121, .baseSpAttack = 85, .baseSpDefense = 65, - .types = { TYPE_DRAGON, TYPE_NORMAL }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_NORMAL), .catchRate = 190, .expYield = 175, .evYield_Speed = 2, @@ -3108,7 +3108,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SHED_SKIN, ABILITY_NONE, ABILITY_REGENERATOR }, .bodyColor = BODY_COLOR_GREEN, .speciesName = _("Cyclizar"), @@ -3149,7 +3149,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 65, .baseSpAttack = 60, .baseSpDefense = 55, - .types = { TYPE_STEEL, TYPE_STEEL }, + .types = MON_TYPES(TYPE_STEEL), .catchRate = 25, .expYield = 240, .evYield_Defense = 2, @@ -3157,7 +3157,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 35, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_EARTH_EATER, ABILITY_NONE, ABILITY_SAND_VEIL }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Orthworm"), @@ -3198,7 +3198,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 60, .baseSpAttack = 105, .baseSpDefense = 60, - .types = { TYPE_ROCK, TYPE_POISON }, + .types = MON_TYPES(TYPE_ROCK, TYPE_POISON), .catchRate = 70, .expYield = 70, .evYield_SpAttack = 1, @@ -3206,7 +3206,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_TOXIC_DEBRIS, ABILITY_NONE, ABILITY_CORROSION }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Glimmet"), @@ -3247,7 +3247,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 86, .baseSpAttack = 130, .baseSpDefense = 81, - .types = { TYPE_ROCK, TYPE_POISON }, + .types = MON_TYPES(TYPE_ROCK, TYPE_POISON), .catchRate = 25, .expYield = 184, .evYield_SpAttack = 2, @@ -3255,7 +3255,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 30, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_TOXIC_DEBRIS, ABILITY_NONE, ABILITY_CORROSION }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Glimmora"), @@ -3297,7 +3297,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 34, .baseSpAttack = 30, .baseSpDefense = 55, - .types = { TYPE_GHOST, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GHOST), .catchRate = 120, .expYield = 58, .evYield_Attack = 1, @@ -3305,7 +3305,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_PICKUP, ABILITY_NONE, ABILITY_FLUFFY }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Greavard"), @@ -3345,7 +3345,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 68, .baseSpAttack = 50, .baseSpDefense = 97, - .types = { TYPE_GHOST, TYPE_GHOST }, + .types = MON_TYPES(TYPE_GHOST), .catchRate = 60, .expYield = 171, .evYield_Attack = 2, @@ -3353,7 +3353,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SAND_RUSH, ABILITY_NONE, ABILITY_FLUFFY }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Houndstone"), @@ -3394,7 +3394,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 90, .baseSpAttack = 75, .baseSpDefense = 64, - .types = { TYPE_FLYING, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FLYING, TYPE_FIGHTING), .catchRate = 100, .expYield = 175, .evYield_Attack = 2, @@ -3402,7 +3402,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FLYING, EGG_GROUP_FLYING }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_SCRAPPY, ABILITY_TANGLED_FEET, ABILITY_COSTAR }, .bodyColor = BODY_COLOR_PINK, .speciesName = _("Flamigo"), @@ -3443,7 +3443,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 43, .baseSpAttack = 30, .baseSpDefense = 40, - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .catchRate = 150, .expYield = 67, .evYield_HP = 1, @@ -3451,7 +3451,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_THICK_FAT, ABILITY_SNOW_CLOAK, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Cetoddle"), @@ -3491,7 +3491,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 73, .baseSpAttack = 45, .baseSpDefense = 55, - .types = { TYPE_ICE, TYPE_ICE }, + .types = MON_TYPES(TYPE_ICE), .catchRate = 50, .expYield = 182, .evYield_HP = 2, @@ -3499,7 +3499,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 25, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_MEDIUM_SLOW, - .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FIELD }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_THICK_FAT, ABILITY_SLUSH_RUSH, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_WHITE, .speciesName = _("Cetitan"), @@ -3540,7 +3540,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 70, .baseSpAttack = 78, .baseSpDefense = 65, - .types = { TYPE_WATER, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_WATER, TYPE_PSYCHIC), .catchRate = 100, .expYield = 167, .evYield_Attack = 2, @@ -3548,7 +3548,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_FAST, - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_MOLD_BREAKER, ABILITY_NONE, ABILITY_SHARPNESS }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Veluza"), @@ -3590,7 +3590,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 35, .baseSpAttack = 65, .baseSpDefense = 65, - .types = { TYPE_WATER, TYPE_WATER }, + .types = MON_TYPES(TYPE_WATER), .catchRate = 25, .expYield = 265, .evYield_HP = 3, @@ -3598,7 +3598,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_UNAWARE, ABILITY_OBLIVIOUS, ABILITY_WATER_VEIL }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Dondozo"), @@ -3639,7 +3639,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 82, \ .baseSpAttack = 120, \ .baseSpDefense = 95, \ - .types = { TYPE_DRAGON, TYPE_WATER }, \ + .types = MON_TYPES(TYPE_DRAGON, TYPE_WATER), \ .catchRate = 100, \ .expYield = 166, \ .evYield_SpAttack = 2, \ @@ -3647,7 +3647,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 35, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroups = { EGG_GROUP_WATER_2, EGG_GROUP_WATER_2 }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), \ .abilities = { ABILITY_COMMANDER, ABILITY_NONE, ABILITY_STORM_DRAIN }, \ .speciesName = _("Tatsugiri"), \ .natDexNum = NATIONAL_DEX_TATSUGIRI, \ @@ -3723,7 +3723,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 87, .baseSpAttack = 53, .baseSpDefense = 53, - .types = { TYPE_GROUND, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_GROUND, TYPE_FIGHTING), .catchRate = 30, .expYield = 285, .evYield_Attack = 3, @@ -3731,7 +3731,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE }, .bodyColor = BODY_COLOR_PURPLE, .isParadoxForm = TRUE, @@ -3773,7 +3773,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 111, .baseSpAttack = 65, .baseSpDefense = 115, - .types = { TYPE_FAIRY, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_FAIRY, TYPE_PSYCHIC), .catchRate = 50, .expYield = 285, .evYield_HP = 3, @@ -3781,7 +3781,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE }, .bodyColor = BODY_COLOR_PINK, .isParadoxForm = TRUE, @@ -3823,7 +3823,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 55, .baseSpAttack = 79, .baseSpDefense = 99, - .types = { TYPE_GRASS, TYPE_DARK }, + .types = MON_TYPES(TYPE_GRASS, TYPE_DARK), .catchRate = 50, .expYield = 285, .evYield_Attack = 3, @@ -3831,7 +3831,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .isParadoxForm = TRUE, @@ -3873,7 +3873,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 135, .baseSpAttack = 135, .baseSpDefense = 135, - .types = { TYPE_GHOST, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_GHOST, TYPE_FAIRY), .catchRate = 30, .expYield = 285, .evYield_Speed = 1, @@ -3883,7 +3883,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .isParadoxForm = TRUE, @@ -3926,7 +3926,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 81, .baseSpAttack = 85, .baseSpDefense = 105, - .types = { TYPE_BUG, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_BUG, TYPE_FIGHTING), .catchRate = 30, .expYield = 285, .evYield_Attack = 3, @@ -3934,7 +3934,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .isParadoxForm = TRUE, @@ -3975,7 +3975,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 101, .baseSpAttack = 121, .baseSpDefense = 85, - .types = { TYPE_ELECTRIC, TYPE_GROUND }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_GROUND), .catchRate = 30, .expYield = 285, .evYield_SpAttack = 3, @@ -3983,7 +3983,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .isParadoxForm = TRUE, @@ -4025,7 +4025,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 106, .baseSpAttack = 72, .baseSpDefense = 70, - .types = { TYPE_GROUND, TYPE_STEEL }, + .types = MON_TYPES(TYPE_GROUND, TYPE_STEEL), .catchRate = 30, .expYield = 285, .evYield_Defense = 3, @@ -4033,7 +4033,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .isParadoxForm = TRUE, @@ -4075,7 +4075,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 136, .baseSpAttack = 124, .baseSpDefense = 60, - .types = { TYPE_ICE, TYPE_WATER }, + .types = MON_TYPES(TYPE_ICE, TYPE_WATER), .catchRate = 50, .expYield = 285, .evYield_Speed = 3, @@ -4083,7 +4083,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE }, .bodyColor = BODY_COLOR_RED, .isParadoxForm = TRUE, @@ -4125,7 +4125,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 50, .baseSpAttack = 50, .baseSpDefense = 68, - .types = { TYPE_FIGHTING, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_FIGHTING, TYPE_ELECTRIC), .catchRate = 50, .expYield = 285, .evYield_Attack = 3, @@ -4133,7 +4133,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .isParadoxForm = TRUE, @@ -4175,7 +4175,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 108, .baseSpAttack = 122, .baseSpDefense = 80, - .types = { TYPE_DARK, TYPE_FLYING }, + .types = MON_TYPES(TYPE_DARK, TYPE_FLYING), .catchRate = 30, .expYield = 285, .evYield_SpAttack = 3, @@ -4183,7 +4183,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .isParadoxForm = TRUE, @@ -4226,7 +4226,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 110, .baseSpAttack = 140, .baseSpDefense = 110, - .types = { TYPE_FIRE, TYPE_POISON }, + .types = MON_TYPES(TYPE_FIRE, TYPE_POISON), .catchRate = 30, .expYield = 285, .evYield_SpAttack = 3, @@ -4234,7 +4234,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .isParadoxForm = TRUE, @@ -4277,7 +4277,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 72, .baseSpAttack = 70, .baseSpDefense = 84, - .types = { TYPE_ROCK, TYPE_ELECTRIC }, + .types = MON_TYPES(TYPE_ROCK, TYPE_ELECTRIC), .catchRate = 30, .expYield = 285, .evYield_Attack = 3, @@ -4285,7 +4285,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GREEN, .isParadoxForm = TRUE, @@ -4327,7 +4327,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 55, .baseSpAttack = 35, .baseSpDefense = 45, - .types = { TYPE_DRAGON, TYPE_ICE }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_ICE), .catchRate = 45, .expYield = 64, .evYield_Attack = 1, @@ -4335,7 +4335,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON, EGG_GROUP_MINERAL), .abilities = { ABILITY_THERMAL_EXCHANGE, ABILITY_NONE, ABILITY_ICE_BODY }, .bodyColor = BODY_COLOR_GRAY, .speciesName = _("Frigibax"), @@ -4375,7 +4375,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 62, .baseSpAttack = 45, .baseSpDefense = 65, - .types = { TYPE_DRAGON, TYPE_ICE }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_ICE), .catchRate = 25, .expYield = 148, .evYield_Attack = 2, @@ -4383,7 +4383,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON, EGG_GROUP_MINERAL), .abilities = { ABILITY_THERMAL_EXCHANGE, ABILITY_NONE, ABILITY_ICE_BODY }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Arctibax"), @@ -4423,7 +4423,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 87, .baseSpAttack = 75, .baseSpDefense = 86, - .types = { TYPE_DRAGON, TYPE_ICE }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_ICE), .catchRate = 10, .expYield = 300, .evYield_Attack = 3, @@ -4431,7 +4431,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 40, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_DRAGON, EGG_GROUP_MINERAL }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_DRAGON, EGG_GROUP_MINERAL), .abilities = { ABILITY_THERMAL_EXCHANGE, ABILITY_NONE, ABILITY_ICE_BODY }, .bodyColor = BODY_COLOR_BLUE, .speciesName = _("Baxcalibur"), @@ -4465,7 +4465,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = #if P_FAMILY_GIMMIGHOUL #define GIMMIGHOUL_MISC_INFO \ - .types = { TYPE_GHOST, TYPE_GHOST }, \ + .types = MON_TYPES(TYPE_GHOST), \ .catchRate = 45, \ .expYield = 60, \ .evYield_SpAttack = 1, \ @@ -4473,7 +4473,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .speciesName = _("Gimmighoul"), \ .cryId = CRY_GIMMIGHOUL, \ .natDexNum = NATIONAL_DEX_GIMMIGHOUL, \ @@ -4555,7 +4555,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 84, .baseSpAttack = 133, .baseSpDefense = 91, - .types = { TYPE_STEEL, TYPE_GHOST }, + .types = MON_TYPES(TYPE_STEEL, TYPE_GHOST), .catchRate = 45, .expYield = 275, .evYield_SpAttack = 2, @@ -4563,7 +4563,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = STANDARD_FRIENDSHIP, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_GOOD_AS_GOLD, ABILITY_NONE }, .bodyColor = BODY_COLOR_YELLOW, .speciesName = _("Gholdengo"), @@ -4604,7 +4604,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 70, .baseSpAttack = 95, .baseSpDefense = 135, - .types = { TYPE_DARK, TYPE_GRASS }, + .types = MON_TYPES(TYPE_DARK, TYPE_GRASS), .catchRate = 6, .expYield = 285, .evYield_SpDefense = 3, @@ -4612,7 +4612,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_TABLETS_OF_RUIN, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BROWN, .isLegendary = TRUE, @@ -4654,7 +4654,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 135, .baseSpAttack = 90, .baseSpDefense = 65, - .types = { TYPE_DARK, TYPE_ICE }, + .types = MON_TYPES(TYPE_DARK, TYPE_ICE), .catchRate = 6, .expYield = 285, .evYield_Speed = 3, @@ -4662,7 +4662,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_SWORD_OF_RUIN, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .isLegendary = TRUE, @@ -4704,7 +4704,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 45, .baseSpAttack = 55, .baseSpDefense = 80, - .types = { TYPE_DARK, TYPE_GROUND }, + .types = MON_TYPES(TYPE_DARK, TYPE_GROUND), .catchRate = 6, .expYield = 285, .evYield_Defense = 3, @@ -4712,7 +4712,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_VESSEL_OF_RUIN, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BROWN, .isLegendary = TRUE, @@ -4754,7 +4754,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 100, .baseSpAttack = 135, .baseSpDefense = 120, - .types = { TYPE_DARK, TYPE_FIRE }, + .types = MON_TYPES(TYPE_DARK, TYPE_FIRE), .catchRate = 6, .expYield = 285, .evYield_SpAttack = 3, @@ -4762,7 +4762,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_BEADS_OF_RUIN, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_RED, .isLegendary = TRUE, @@ -4805,7 +4805,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 119, .baseSpAttack = 55, .baseSpDefense = 101, - .types = { TYPE_DRAGON, TYPE_DARK }, + .types = MON_TYPES(TYPE_DRAGON, TYPE_DARK), .catchRate = 10, .expYield = 295, .evYield_Attack = 3, @@ -4813,7 +4813,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .isParadoxForm = TRUE, @@ -4856,7 +4856,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 116, .baseSpAttack = 120, .baseSpDefense = 60, - .types = { TYPE_FAIRY, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_FAIRY, TYPE_FIGHTING), .catchRate = 10, .expYield = 295, .evYield_Attack = 3, @@ -4864,7 +4864,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .isParadoxForm = TRUE, @@ -4905,7 +4905,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 135, .baseSpAttack = 85, .baseSpDefense = 100, - .types = { TYPE_FIGHTING, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_FIGHTING, TYPE_DRAGON), .catchRate = 3, .expYield = 335, .evYield_Attack = 3, @@ -4913,7 +4913,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_ORICHALCUM_PULSE, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_RED, .isLegendary = TRUE, @@ -4956,7 +4956,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 135, .baseSpAttack = 135, .baseSpDefense = 115, - .types = { TYPE_ELECTRIC, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_DRAGON), .catchRate = 3, .expYield = 335, .evYield_SpAttack = 3, @@ -4964,7 +4964,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_HADRON_ENGINE, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_PURPLE, .isLegendary = TRUE, @@ -5007,7 +5007,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 109, .baseSpAttack = 125, .baseSpDefense = 83, - .types = { TYPE_WATER, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_WATER, TYPE_DRAGON), .catchRate = 5, .expYield = 295, .evYield_SpAttack = 3, @@ -5015,7 +5015,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .isParadoxForm = TRUE, @@ -5056,7 +5056,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 104, .baseSpAttack = 70, .baseSpDefense = 108, - .types = { TYPE_GRASS, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_GRASS, TYPE_PSYCHIC), .catchRate = 5, .expYield = 295, .evYield_Attack = 3, @@ -5064,7 +5064,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GREEN, .isParadoxForm = TRUE, @@ -5104,7 +5104,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 50, \ .baseSpAttack = 74, \ .baseSpDefense = 54, \ - .types = { TYPE_GRASS, TYPE_GHOST }, \ + .types = MON_TYPES(TYPE_GRASS, TYPE_GHOST), \ .catchRate = 120, \ .expYield = 62, \ .evYield_SpAttack = 1, \ @@ -5112,7 +5112,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS), \ .abilities = { ABILITY_HOSPITALITY, ABILITY_NONE, ABILITY_HEATPROOF }, \ .bodyColor = BODY_COLOR_GREEN, \ .speciesName = _("Ptchageist"), \ @@ -5166,7 +5166,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 70, \ .baseSpAttack = 121, \ .baseSpDefense = 80, \ - .types = { TYPE_GRASS, TYPE_GHOST }, \ + .types = MON_TYPES(TYPE_GRASS, TYPE_GHOST), \ .catchRate = 60, \ .expYield = 178, \ .evYield_SpAttack = 2, \ @@ -5174,7 +5174,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroups = { EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS), \ .abilities = { ABILITY_HOSPITALITY, ABILITY_NONE, ABILITY_HEATPROOF }, \ .bodyColor = BODY_COLOR_GREEN, \ .speciesName = _("Sinistcha"), \ @@ -5229,7 +5229,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 80, .baseSpAttack = 58, .baseSpDefense = 86, - .types = { TYPE_POISON, TYPE_FIGHTING }, + .types = MON_TYPES(TYPE_POISON, TYPE_FIGHTING), .catchRate = 3, .expYield = 278, .evYield_Attack = 3, @@ -5237,7 +5237,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_TOXIC_CHAIN, ABILITY_NONE, ABILITY_GUARD_DOG }, .bodyColor = BODY_COLOR_BLACK, .speciesName = _("Okidogi"), @@ -5279,7 +5279,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 106, .baseSpAttack = 130, .baseSpDefense = 90, - .types = { TYPE_POISON, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_POISON, TYPE_PSYCHIC), .catchRate = 3, .expYield = 278, .evYield_SpAttack = 3, @@ -5287,7 +5287,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_TOXIC_CHAIN, ABILITY_NONE, ABILITY_FRISK }, .bodyColor = BODY_COLOR_BLACK, .isLegendary = TRUE, @@ -5329,7 +5329,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 99, .baseSpAttack = 70, .baseSpDefense = 125, - .types = { TYPE_POISON, TYPE_FAIRY }, + .types = MON_TYPES(TYPE_POISON, TYPE_FAIRY), .catchRate = 3, .expYield = 278, .evYield_SpDefense = 3, @@ -5337,7 +5337,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 120, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_TOXIC_CHAIN, ABILITY_NONE, ABILITY_TECHNICIAN }, .bodyColor = BODY_COLOR_BLACK, .isLegendary = TRUE, @@ -5379,7 +5379,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 110, \ .baseSpAttack = 60, \ .baseSpDefense = 96, \ - .types = { TYPE_GRASS, type }, \ + .types = MON_TYPES(TYPE_GRASS, type), \ .catchRate = 5, \ .expYield = 275, \ .evYield_Attack = 3, \ @@ -5387,7 +5387,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 10, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .abilities = { ability, ABILITY_NONE }, \ .bodyColor = color, \ .speciesName = _("Ogerpon"), \ @@ -5441,7 +5441,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 91, .baseSpAttack = 65, .baseSpDefense = 93, - .types = { TYPE_FIRE, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_FIRE, TYPE_DRAGON), .catchRate = 10, .expYield = 295, .evYield_Defense = 3, @@ -5449,7 +5449,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE }, .bodyColor = BODY_COLOR_BROWN, .isParadoxForm = TRUE, @@ -5491,7 +5491,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 75, .baseSpAttack = 137, .baseSpDefense = 89, - .types = { TYPE_ELECTRIC, TYPE_DRAGON }, + .types = MON_TYPES(TYPE_ELECTRIC, TYPE_DRAGON), .catchRate = 10, .expYield = 295, .evYield_SpAttack = 3, @@ -5499,7 +5499,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE }, .bodyColor = BODY_COLOR_YELLOW, .isParadoxForm = TRUE, @@ -5541,7 +5541,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 124, .baseSpAttack = 68, .baseSpDefense = 108, - .types = { TYPE_ROCK, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_ROCK, TYPE_PSYCHIC), .catchRate = 10, .expYield = 295, .evYield_Speed = 3, @@ -5549,7 +5549,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, .isParadoxForm = TRUE, @@ -5590,7 +5590,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 98, .baseSpAttack = 122, .baseSpDefense = 108, - .types = { TYPE_STEEL, TYPE_PSYCHIC }, + .types = MON_TYPES(TYPE_STEEL, TYPE_PSYCHIC), .catchRate = 10, .expYield = 295, .evYield_SpAttack = 3, @@ -5598,7 +5598,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 50, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, .isParadoxForm = TRUE, @@ -5633,13 +5633,13 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = #if P_FAMILY_TERAPAGOS #define TERAPAGOS_MISC_INFO \ - .types = { TYPE_NORMAL, TYPE_NORMAL }, \ + .types = MON_TYPES(TYPE_NORMAL), \ .catchRate = 255, \ .genderRatio = PERCENT_FEMALE(50), \ .eggCycles = 5, \ .friendship = STANDARD_FRIENDSHIP, \ .growthRate = GROWTH_SLOW, \ - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, \ + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), \ .bodyColor = BODY_COLOR_BLUE, \ .speciesName = _("Terapagos"), \ .natDexNum = NATIONAL_DEX_TERAPAGOS, \ @@ -5764,7 +5764,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .baseSpeed = 88, .baseSpAttack = 88, .baseSpDefense = 88, - .types = { TYPE_POISON, TYPE_GHOST }, + .types = MON_TYPES(TYPE_POISON, TYPE_GHOST), .catchRate = 3, .expYield = 300, .evYield_Defense = 3, @@ -5772,7 +5772,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggCycles = 20, .friendship = 0, .growthRate = GROWTH_SLOW, - .eggGroups = { EGG_GROUP_NO_EGGS_DISCOVERED, EGG_GROUP_NO_EGGS_DISCOVERED }, + .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_POISON_PUPPETEER, ABILITY_NONE }, .bodyColor = BODY_COLOR_PURPLE, .isMythical = TRUE,