libpokemegb/src/gen2/Gen2DistributionPokemon.cpp

6561 lines
176 KiB
C++

#include "gen2/Gen2DistributionPokemon.h"
#include "common.h"
// https://bulbapedia.bulbagarden.net/wiki/List_of_European_language_event_Pok%C3%A9mon_distributions_(Generation_II)
// https://bulbapedia.bulbagarden.net/wiki/List_of_moves
// https://bulbapedia.bulbagarden.net/wiki/List_of_items_by_index_number_(Generation_II)
static const Gen2TrainerPokemon commonMewDefinition = {
.poke_index = 151,
.held_item_index = 0x53, // bitter berry
.index_move1 = 1, // pound,
.index_move2 = 0,
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 0,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
};
static const Gen2TrainerPokemon commonCelebiDefinition = {
.poke_index = 251,
.held_item_index = 0,
.index_move1 = 73, // leech seed,
.index_move2 = 93, // confusion
.index_move3 = 215, // heal bell
.index_move4 = 105, // recover
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 10,
.pp_move2 = 25,
.pp_move3 = 5,
.pp_move4 = 20,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
};
const Gen2DistributionPokemon g2_clubNintendoMexico_Mew = {
.name = "Club Nintendo Mexico Mew",
.originalTrainer = "ASH",
.originalTrainerID = 45515,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = false,
.shinyChance = 0xFF,
.overrideLevel = 0,
.isEgg = false,
// iv_data based on this page: https://bulbapedia.bulbagarden.net/wiki/List_of_European_language_event_Pok%C3%A9mon_distributions_(Generation_I)
// there's no confirmation here that the Gen 2 variant has the same IVs, but since both games were out
// it only makes sense that the same common IVs were used here.
.iv_data = {0xA1, 0xC5},
.randomizeIVs = false,
.poke = commonMewDefinition
};
const Gen2DistributionPokemon g2_clubNintendoMexico_Celebi = {
.name = "Club Nintendo Mexico Celebi",
.originalTrainer = "HIRO",
.originalTrainerID = 42534,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = false,
.shinyChance = 0xFF,
.overrideLevel = 2,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = commonCelebiDefinition
};
const Gen2DistributionPokemon g2_swedenCelebi = {
.name = "Sweden Celebi Tour Celebi",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 0xFF,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = commonCelebiDefinition
};
const Gen2DistributionPokemon g2_westfieldShopping = {
.name = "Westfield Shopping Centre Celebi",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 0xFF,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = commonCelebiDefinition
};
const Gen2DistributionPokemon g2_celebiTour = {
.name = "Celebi Tour Celebi",
.originalTrainer = "CTOUR",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 0xFF,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = commonCelebiDefinition
};
const Gen2DistributionPokemon g2_pokemonFunFestCelebi = {
.name = "Pokémon Fun Fest Celebi",
.originalTrainer = "FLAGSA",
.originalTrainerID = 1000,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 0xFF,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = commonCelebiDefinition
};
const Gen2DistributionPokemon g2_nintendoPowerCelebi = {
.name = "Nintendo Power Celebi",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 0xFF,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = commonCelebiDefinition
};
const Gen2DistributionPokemon g2_celebiSweepstakes = {
.name = "Celebi Sweepstakes Celebi",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 0xFF,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = commonCelebiDefinition
};
static const Gen2DistributionPokemon* mainList[] = {
&g2_clubNintendoMexico_Mew,
&g2_clubNintendoMexico_Celebi,
&g2_swedenCelebi,
&g2_westfieldShopping,
&g2_celebiTour,
&g2_pokemonFunFestCelebi,
&g2_nintendoPowerCelebi,
&g2_celebiSweepstakes
};
// PCNY (Pokemon Center New York) Gotta Catch 'em all! station distribution pokémon below
const Gen2DistributionPokemon g2_pcny_ancientpowerBulbasaur = {
.name = "AncientPower Bulbasaur",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 1,
.held_item_index = 0,
.index_move1 = 33, // tackle
.index_move2 = 45, // growl
.index_move3 = 246, // Ancient Power
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 5,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_shinyVenusaur = {
.name = "Shiny Venusaur",
.originalTrainer = "PCNYa",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 100,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 3,
.held_item_index = 0,
.index_move1 = 77, // Poison Powder
.index_move2 = 79, // Sleep Powder
.index_move3 = 75, // Razor Leaf
.index_move4 = 230, // Sweet Scent
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(40, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 15,
.pp_move3 = 25,
.pp_move4 = 20,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 40,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_crunchCharmander = {
.name = "Crunch Charmander",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 4,
.held_item_index = 0,
.index_move1 = 10, // Scratch
.index_move2 = 45, // growl
.index_move3 = 242, // Crunch
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 15,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_shinyCharizard = {
.name = "Shiny Charizard",
.originalTrainer = "PCNYd",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 100,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 6,
.held_item_index = 0,
.index_move1 = 99, // Rage
.index_move2 = 184, // Scary Face
.index_move3 = 53, // Flamethrower
.index_move4 = 17, // Wing Attack
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(40, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 20,
.pp_move2 = 10,
.pp_move3 = 15,
.pp_move4 = 35,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 40,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_zapCannonSquirtle = {
.name = "Zap Cannon Squirtle",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 7,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 39, // Tail Whip
.index_move3 = 192, // Zap Cannon
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 5,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_shinyBlastoise = {
.name = "Shiny Blastoise",
.originalTrainer = "PCNYc",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 100,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 9,
.held_item_index = 0,
.index_move1 = 55, // Water Gun
.index_move2 = 44, // Bite
.index_move3 = 229, // Rapid Spin
.index_move4 = 182, // Protect
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(40, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 25,
.pp_move2 = 25,
.pp_move3 = 40,
.pp_move4 = 10,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 40,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_sonicboomSpearow = {
.name = "SonicBoom Spearow",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 21,
.held_item_index = 0,
.index_move1 = 64, // Peck
.index_move2 = 45, // Growl
.index_move3 = 49, // SonicBoom
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_lovelyKissNidoranFem = {
.name = "Lovely Kiss Nidoran♀",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 29,
.held_item_index = 0,
.index_move1 = 45, // Growl
.index_move2 = 33, // Tackle
.index_move3 = 142, // Lovely Kiss
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 40,
.pp_move2 = 35,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_moonlightNidoranFem = {
.name = "Moonlight Nidoran♀",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 29,
.held_item_index = 0,
.index_move1 = 45, // Growl
.index_move2 = 33, // Tackle
.index_move3 = 236, // Moonlight
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 40,
.pp_move2 = 35,
.pp_move3 = 5,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_sweetKissNidoranFem = {
.name = "Sweet Kiss Nidoran♀",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 29,
.held_item_index = 0,
.index_move1 = 45, // Growl
.index_move2 = 33, // Tackle
.index_move3 = 186, // Sweet Kiss
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 40,
.pp_move2 = 35,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_lovelyKissNidoranMale = {
.name = "Lovely Kiss Nidoran♂",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 32,
.held_item_index = 0,
.index_move1 = 43, // Leer
.index_move2 = 33, // Tackle
.index_move3 = 142, // Lovely Kiss
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 35,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_morningSunNidoranMale = {
.name = "Morning Sun Nidoran♂",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 32,
.held_item_index = 0,
.index_move1 = 43, // Leer
.index_move2 = 33, // Tackle
.index_move3 = 234, // Morning Sun
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 35,
.pp_move3 = 5,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_sweetKissNidoranMale = {
.name = "Sweet Kiss Nidoran♂",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 32,
.held_item_index = 0,
.index_move1 = 43, // Leer
.index_move2 = 33, // Tackle
.index_move3 = 186, // Sweet Kiss
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 35,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_flailZubat = {
.name = "Flail Zubat",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 41,
.held_item_index = 0,
.index_move1 = 141, // Leech Life
.index_move2 = 175, // Flail
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 10,
.pp_move2 = 15,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_leechSeedOddish = {
.name = "Leech Seed Oddish",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 43,
.held_item_index = 0,
.index_move1 = 71, // Absorb
.index_move2 = 73, // Leech Seed
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 25,
.pp_move2 = 10,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_synthesisParas = {
.name = "Synthesis Paras",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 46,
.held_item_index = 0,
.index_move1 = 10, // Scratch
.index_move2 = 235, // Synthesis
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 5,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_petalDancePsyduck = {
.name = "Petal Dance Psyduck",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 54,
.held_item_index = 0,
.index_move1 = 10, // Scratch
.index_move2 = 39, // Tail Whip
.index_move3 = 80, // Petal Dance
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_triAttackPsyduck = {
.name = "Tri Attach Psyduck",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 54,
.held_item_index = 0,
.index_move1 = 10, // Scratch
.index_move2 = 39, // Tail Whip
.index_move3 = 161, // Tri Attack
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_growthPoliwag = {
.name = "Growth Poliwag",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 60,
.held_item_index = 0,
.index_move1 = 145, // Bubble
.index_move2 = 74, // Growth
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 20,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_lovelyKissPoliwag = {
.name = "Lovely Kiss Poliwag",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 60,
.held_item_index = 0,
.index_move1 = 145, // Bubble
.index_move2 = 142, // Lovely Kiss
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 10,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_sweetKissPoliwag = {
.name = "Sweet Kiss Poliwag",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 60,
.held_item_index = 0,
.index_move1 = 145, // Bubble
.index_move2 = 186, // Sweet Kiss
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 10,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_foresightAbra = {
.name = "Foresight Abra",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 63,
.held_item_index = 0,
.index_move1 = 100, // Teleport
.index_move2 = 193, // Foresight
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 20,
.pp_move2 = 40,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_falseSwipeMachop = {
.name = "False Swipe Machop",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 66,
.held_item_index = 0,
.index_move1 = 67, // Low Kick
.index_move2 = 43, // Leer
.index_move3 = 206, // False Swipe
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 20,
.pp_move2 = 30,
.pp_move3 = 40,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_thrashMachop = {
.name = "Thrash Swipe Machop",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 66,
.held_item_index = 0,
.index_move1 = 67, // Low Kick
.index_move2 = 43, // Leer
.index_move3 = 37, // Thrash
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 20,
.pp_move2 = 30,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_lovelyKissBellsprout = {
.name = "Lovely Kiss Bellsprout",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 69,
.held_item_index = 0,
.index_move1 = 22, // Vine Whip
.index_move2 = 142, // Lovely Kiss
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 25,
.pp_move2 = 10,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_sweetKissBellsprout = {
.name = "Sweet Kiss Bellsprout",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 69,
.held_item_index = 0,
.index_move1 = 22, // Vine Whip
.index_move2 = 186, // Sweet Kiss
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 25,
.pp_move2 = 10,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_confuseRayTentacool = {
.name = "Confuse Ray Tentacool",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 72,
.held_item_index = 0,
.index_move1 = 40, // Poison Sting
.index_move2 = 109, // Confuse Ray
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 10,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_rapidSpinGeodude = {
.name = "Rapid Spin Geodude",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 74,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 229, // Rapid Spin
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_lowKickPonyta = {
.name = "Low Kick Ponyta",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 77,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 45, // Growl
.index_move3 = 67, // Low Kick
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_agilityMagnemite = {
.name = "Agility Magnemite",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 81,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 97, // Agility
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_furyCutterFarfetchd = {
.name = "Fury Cutter Farfetch'd",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 83,
.held_item_index = 0,
.index_move1 = 64, // Peck
.index_move2 = 210, // Fury Cutter
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 20,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_lowKickDoduo = {
.name = "Low Kick Doduo",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 84,
.held_item_index = 0,
.index_move1 = 64, // Peck
.index_move2 = 45, // Growl
.index_move3 = 67, // Low Kick
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_flailSeel = {
.name = "Flail Seel",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 86,
.held_item_index = 0,
.index_move1 = 29, // Headbutt
.index_move2 = 45, // Growl
.index_move3 = 175, // Flail
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 15,
.pp_move2 = 40,
.pp_move3 = 15,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_sharpenOnix = {
.name = "Sharpen Onix",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 95,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 103, // Screech
.index_move3 = 159, // Sharpen
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 30,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_amnesiaDrowsee = {
.name = "Amnesia Drowsee",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 96,
.held_item_index = 0,
.index_move1 = 1, // Pound
.index_move2 = 95, // Hypnosis
.index_move3 = 133, // Amnesia
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 20,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_metalClawKrabby = {
.name = "Metal Claw Crabby",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 98,
.held_item_index = 0,
.index_move1 = 145, // Bubble
.index_move2 = 43, // Leer
.index_move3 = 232, // Metal Claw
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 30,
.pp_move3 = 35,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_agilityVoltorb = {
.name = "Agility Voltorb",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 100,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 97, // Agility
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_sweetScentExeggcute = {
.name = "Sweet Scent Exeggcute",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 102,
.held_item_index = 0,
.index_move1 = 140, // Barrage
.index_move2 = 95, // Hypnosis
.index_move3 = 230, // Sweet Scent
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 20,
.pp_move2 = 20,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_furyAttackCubone = {
.name = "Fury Attack Cubone",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 104,
.held_item_index = 0,
.index_move1 = 45, // Growl
.index_move2 = 39, // Tail Whip
.index_move3 = 31, // Fury Attack
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 40,
.pp_move2 = 30,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_doubleSlapLickitung = {
.name = "DoubleSlap Lickitung",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 108,
.held_item_index = 0,
.index_move1 = 122, // Lick
.index_move2 = 3, // DoubleSlap
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 10,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_sweetScentChansey = {
.name = "Sweet Scent Chansey",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 113,
.held_item_index = 0,
.index_move1 = 1, // Pound
.index_move2 = 230, // Sweet Scent
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 20,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_synthesisTangela = {
.name = "Synthesis Tangela",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 114,
.held_item_index = 0,
.index_move1 = 132, // Constrict
.index_move2 = 79, // Sleep Powder
.index_move3 = 235, // Synthesis
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 15,
.pp_move3 = 5,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_faintAttackKangaskhan = {
.name = "Faint Attack Kangaskhan",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 115,
.held_item_index = 0,
.index_move1 = 4, // Comet Punch
.index_move2 = 185, // Feint Attack
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 15,
.pp_move2 = 20,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_hazeHorsea = {
.name = "Haze Horsea",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 116,
.held_item_index = 0,
.index_move1 = 145, // Bubble
.index_move2 = 114, // Haze
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 30,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_swordsDanceGoldeen = {
.name = "Swords Dance Goldeen",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 118,
.held_item_index = 0,
.index_move1 = 64, // Peck
.index_move2 = 39, // Tail Whip
.index_move3 = 14, // Swords Dance
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_twisterStaryu = {
.name = "Twister Staryu",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 120,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 106, // Harden
.index_move3 = 239, // Twister
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_mindReaderMrMime = {
.name = "Mind Reader Mr. Mime",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 122,
.held_item_index = 0,
.index_move1 = 112, // Barrier
.index_move2 = 170, // Mind Reader
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 20,
.pp_move2 = 5,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_sonicBoomScyther = {
.name = "SonicBoom Scyther",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 123,
.held_item_index = 0,
.index_move1 = 98, // Quick Attack
.index_move2 = 43, // Leer
.index_move3 = 49, // SonicBoom
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 30,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_rockThrowPinsir = {
.name = "Rock Throw Pinsir",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 127,
.held_item_index = 0,
.index_move1 = 11, // Vise Grip
.index_move2 = 88, // Rock Throw
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 15,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_quickAttackTauros = {
.name = "Quick Attack Tauros",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 128,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 39, // Tail Whip
.index_move3 = 98, // Quick Attack
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 30,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_bubbleMagikarp = {
.name = "Bubble Magikarp",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 129,
.held_item_index = 0,
.index_move1 = 150, // Splash
.index_move2 = 145, // Bubble
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 40,
.pp_move2 = 30,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_reversalMagikarp = {
.name = "Reversal Magikarp",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 129,
.held_item_index = 0,
.index_move1 = 150, // Splash
.index_move2 = 179, // Reversal
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 40,
.pp_move2 = 15,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_biteLapras = {
.name = "Bite Lapras",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 131,
.held_item_index = 0,
.index_move1 = 55, // Water Gun
.index_move2 = 45, // Growl
.index_move3 = 47, // Sing
.index_move4 = 44, // Bite
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 25,
.pp_move2 = 40,
.pp_move3 = 15,
.pp_move4 = 25,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_futureSightLapras = {
.name = "Bite Lapras",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 131,
.held_item_index = 0,
.index_move1 = 55, // Water Gun
.index_move2 = 45, // Growl
.index_move3 = 47, // Sing
.index_move4 = 248, // Future Sight
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 25,
.pp_move2 = 40,
.pp_move3 = 15,
.pp_move4 = 10,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_growthEevee = {
.name = "Growth Eevee",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 133,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 39, // Tail Whip
.index_move3 = 74, // Growth
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_barrierPorygon = {
.name = "Barrier Porygon",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 137,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 160, // Conversion
.index_move3 = 176, // Conversion 2
.index_move4 = 112, // Barrier
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 30,
.pp_move4 = 20,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_rockThrowOmanyte = {
.name = "Rock Throw Omanyte",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 138,
.held_item_index = 0,
.index_move1 = 132, // Constrict
.index_move2 = 110, // Withdraw
.index_move3 = 88, // Rock Throw
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 15,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_rockThrowKabuto = {
.name = "Rock Throw Kabuto",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 140,
.held_item_index = 0,
.index_move1 = 10, // Scratch
.index_move2 = 106, // Harden
.index_move3 = 88, // Rock Throw
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 15,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_rockThrowAerodactyl = {
.name = "Rock Throw Aerodactyl",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 142,
.held_item_index = 0,
.index_move1 = 17, // Wing Attack
.index_move2 = 88, // Rock Throw
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 15,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_lovelyKissSnorlax = {
.name = "Lovely Kiss Snorlax",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 143,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 142, // Lovely Kiss
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 10,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_splashSnorlax = {
.name = "Splash Snorlax",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 143,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 150, // Splash
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_sweetKissSnorlax = {
.name = "Sweet Kiss Snorlax",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 143,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 186, // Sweet Kiss
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 10,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_shinyArticuno = {
.name = "Shiny Articuno",
.originalTrainer = "PCNYb",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 100,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 144,
.held_item_index = 0,
.index_move1 = 54, // Mist
.index_move2 = 97, // Agility
.index_move3 = 170, // Mind Reader
.index_move4 = 58, // Ice Beam
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(50, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 30,
.pp_move3 = 5,
.pp_move4 = 10,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 50,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_shinyZapdos = {
.name = "Shiny Zapdos",
.originalTrainer = "PCNYc",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 100,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 145,
.held_item_index = 0,
.index_move1 = 86, // Thunder Wave
.index_move2 = 97, // Agility
.index_move3 = 197, // Detect
.index_move4 = 65, // Drill Peck
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(50, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 20,
.pp_move2 = 30,
.pp_move3 = 5,
.pp_move4 = 20,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 50,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_shinyMoltres = {
.name = "Shiny Moltres",
.originalTrainer = "PCNYd",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 100,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 146,
.held_item_index = 0,
.index_move1 = 83, // Fire Spin
.index_move2 = 97, // Agility
.index_move3 = 203, // Endure
.index_move4 = 53, // Flamethrower
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(50, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 15,
.pp_move2 = 30,
.pp_move3 = 10,
.pp_move4 = 15,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 50,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_hydroPumpDratini = {
.name = "Hydro Pump Dratini",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 147,
.held_item_index = 0,
.index_move1 = 35, // Wrap
.index_move2 = 43, // Leer
.index_move3 = 56, // Hydro Pump
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 20,
.pp_move2 = 30,
.pp_move3 = 5,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_shinyMewtwo = {
.name = "Shiny Mewtwo",
.originalTrainer = "PCNYa",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 100,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 150,
.held_item_index = 0,
.index_move1 = 244, // Psych Up
.index_move2 = 248, // Future Sight
.index_move3 = 54, // Mist
.index_move4 = 94, // Psychic
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(70, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 10,
.pp_move2 = 10,
.pp_move3 = 30,
.pp_move4 = 10,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 70,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_shinyMew = {
.name = "Shiny Mew",
.originalTrainer = "PCNYa",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 100,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 151,
.held_item_index = 0,
.index_move1 = 244, // Pound
.index_move2 = 0,
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 0,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_petalDanceChikorita = {
.name = "Petal Dance Chikorita",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 152,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 45, // Growl
.index_move3 = 80, // Petal Dance
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_shinyMeganium = {
.name = "Shiny Meganium",
.originalTrainer = "PCNYb",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 100,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 154,
.held_item_index = 0,
.index_move1 = 115, // Reflect
.index_move2 = 77, // PoisonPowder
.index_move3 = 235, // Synthesis
.index_move4 = 34, // Body Slam
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(40, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 20,
.pp_move2 = 35,
.pp_move3 = 5,
.pp_move4 = 15,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 40,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_doubleEdgeCyndaquil = {
.name = "Double-Edge Cyndaquil",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 155,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 43, // Leer
.index_move3 = 38, // Double Edge
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 15,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_shinyTyphlosion = {
.name = "Shiny Typhlosion",
.originalTrainer = "PCNYc",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 100,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 157,
.held_item_index = 0,
.index_move1 = 108, // SmokeScreen
.index_move2 = 52, // Ember
.index_move3 = 98, // Quick Attack
.index_move4 = 172, // Flame Wheel
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(40, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 20,
.pp_move2 = 25,
.pp_move3 = 30,
.pp_move4 = 25,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 40,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_submissionTotodile = {
.name = "Submission Totodile",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 158,
.held_item_index = 0,
.index_move1 = 10, // Scratch
.index_move2 = 43, // Leer
.index_move3 = 66, // Submission
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_shinyFeraligatr = {
.name = "Shiny Feraligatr",
.originalTrainer = "PCNYd",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 100,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 160,
.held_item_index = 0,
.index_move1 = 55, // Water Gun
.index_move2 = 44, // Bite
.index_move3 = 184, // Scary Face
.index_move4 = 163, // Slash
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(40, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 25,
.pp_move2 = 25,
.pp_move3 = 10,
.pp_move4 = 20,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 40,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_dizzyPunchSentret = {
.name = "Dizzy Punch Sentret",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 161,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 111, // Defense Curl
.index_move3 = 146, // Dizzy Punch
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_nightShadeHoothoot = {
.name = "Night Shade Hoothoot",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 163,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 45, // Growl
.index_move3 = 101, // Night Shade
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 15,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_barrierLedyba = {
.name = "Barrier Ledyba",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 165,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 112, // Barrier
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 20,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_growthSpinarak = {
.name = "Growth Spinarak",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 167,
.held_item_index = 0,
.index_move1 = 40, // Poison Sting
.index_move2 = 81, // String Shot
.index_move3 = 74, // Growth
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_lightScreenChinchou = {
.name = "Light Screen Chinchou",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 170,
.held_item_index = 0,
.index_move1 = 145, // Bubble
.index_move2 = 86, // Thunder Wave
.index_move3 = 48, // Supersonic
.index_move4 = 113, // Light Screen
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 20,
.pp_move3 = 20,
.pp_move4 = 30,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_dizzyPunchPichu = {
.name = "Dizzy Punch Pichu",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 172,
.held_item_index = 0,
.index_move1 = 84, // Thundershock
.index_move2 = 204, // Charm
.index_move3 = 146, // Dizzy Punch
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 20,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_petalDancePichu = {
.name = "Petal Dance Pichu",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 172,
.held_item_index = 0,
.index_move1 = 84, // Thundershock
.index_move2 = 204, // Charm
.index_move3 = 80, // Petal Dance
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 20,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_scaryFacePichu = {
.name = "Scary Face Pichu",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 172,
.held_item_index = 0,
.index_move1 = 84, // Thundershock
.index_move2 = 204, // Charm
.index_move3 = 184, // Scary Face
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 20,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_singPichu = {
.name = "Sing Pichu",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 172,
.held_item_index = 0,
.index_move1 = 84, // Thundershock
.index_move2 = 204, // Charm
.index_move3 = 47, // Sing
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 20,
.pp_move3 = 15,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_petalDanceCleffa = {
.name = "Petal Dance Cleffa",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 173,
.held_item_index = 0,
.index_move1 = 1, // Pound
.index_move2 = 204, // Charm
.index_move3 = 227, // Encore
.index_move4 = 80, // Petal Dance
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 20,
.pp_move3 = 5,
.pp_move4 = 10,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_scaryFaceCleffa = {
.name = "Petal Dance Cleffa",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 173,
.held_item_index = 0,
.index_move1 = 1, // Pound
.index_move2 = 204, // Charm
.index_move3 = 227, // Encore
.index_move4 = 184, // Scary Face
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 20,
.pp_move3 = 5,
.pp_move4 = 10,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_swiftCleffa = {
.name = "Swift Cleffa",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 173,
.held_item_index = 0,
.index_move1 = 1, // Pound
.index_move2 = 204, // Charm
.index_move3 = 227, // Encore
.index_move4 = 129, // Swift
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 20,
.pp_move3 = 5,
.pp_move4 = 20,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_mimicIgglybuff = {
.name = "Mimic Igglybuff",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 174,
.held_item_index = 0,
.index_move1 = 47, // Sing
.index_move2 = 204, // Charm
.index_move3 = 111, // Defense Curl
.index_move4 = 102, // Mimic
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 15,
.pp_move2 = 20,
.pp_move3 = 40,
.pp_move4 = 10,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_petalDanceIgglybuff = {
.name = "Petal Dance Igglybuff",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 174,
.held_item_index = 0,
.index_move1 = 47, // Sing
.index_move2 = 204, // Charm
.index_move3 = 111, // Defense Curl
.index_move4 = 80, // Petal Dance
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 15,
.pp_move2 = 20,
.pp_move3 = 40,
.pp_move4 = 10,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_scaryFaceIgglybuff = {
.name = "Petal Dance Igglybuff",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 174,
.held_item_index = 0,
.index_move1 = 47, // Sing
.index_move2 = 204, // Charm
.index_move3 = 111, // Defense Curl
.index_move4 = 184, // Scary Face
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 15,
.pp_move2 = 20,
.pp_move3 = 40,
.pp_move4 = 10,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_safeguardNatu = {
.name = "Safeguard Natu",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 177,
.held_item_index = 0,
.index_move1 = 64, // Peck
.index_move2 = 43, // Leer
.index_move3 = 219, // Safeguard
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 25,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_dizzyPunchMarill = {
.name = "Dizzy Punch Marill",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 183,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 111, // Defense Curl
.index_move3 = 146, // Dizzy Punch
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_hydroPumpMarill = {
.name = "Hydro Pump Marill",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 183,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 111, // Defense Curl
.index_move3 = 56, // Hydro Pump
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 5,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_scaryFaceMarill = {
.name = "Hydro Pump Marill",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 183,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 111, // Defense Curl
.index_move3 = 184, // Scary Face
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_substituteSudowoodo = {
.name = "Substitute Sudowoodo",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 185,
.held_item_index = 0,
.index_move1 = 88, // Rock Throw
.index_move2 = 102, // Mimic
.index_move3 = 164, // Substitute
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 15,
.pp_move2 = 10,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_agilityHoppip = {
.name = "Agility Hoppip",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 187,
.held_item_index = 0,
.index_move1 = 150, // Splash
.index_move2 = 235, // Synthesis
.index_move3 = 39, // Tail Whip
.index_move4 = 97, // Agility
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 40,
.pp_move2 = 5,
.pp_move3 = 30,
.pp_move4 = 30,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_mimicAipom = {
.name = "Mimic Aipom",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 190,
.held_item_index = 0,
.index_move1 = 10, // Scratch
.index_move2 = 39, // Tail Whip
.index_move3 = 102, // Mimic
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_splashSunkern = {
.name = "Splash Sunkern",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 191,
.held_item_index = 0,
.index_move1 = 71, // Absorb
.index_move2 = 74, // Growth
.index_move3 = 150, // Splash
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 25,
.pp_move2 = 20,
.pp_move3 = 40,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_steelWingYanma = {
.name = "Steel Wing Yanma",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 193,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 193, // Foresight
.index_move3 = 211, // Steel Wing
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 25,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_sweetKissYanma = {
.name = "Steel Wing Yanma",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 193,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 193, // Foresight
.index_move3 = 186, // Sweet Kiss
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_bellyDrumWooper = {
.name = "Belly Drum Wooper",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 194,
.held_item_index = 0,
.index_move1 = 55, // Water Gun
.index_move2 = 39, // Tail Whip
.index_move3 = 187, // Belly Drum
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 25,
.pp_move2 = 30,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_scaryFaceWooper = {
.name = "Scary Face Wooper",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 194,
.held_item_index = 0,
.index_move1 = 55, // Water Gun
.index_move2 = 39, // Tail Whip
.index_move3 = 184, // Scary Face
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 25,
.pp_move2 = 30,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_beatUpMurkrow = {
.name = "Beat Up Murkrow",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 198,
.held_item_index = 0,
.index_move1 = 64, // Peck
.index_move2 = 251, // Beat Up
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 10,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_hypnosisMisdreavus = {
.name = "Hypnosis Misdreavus",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 200,
.held_item_index = 0,
.index_move1 = 45, // Growl
.index_move2 = 149, // Psywave
.index_move3 = 95, // Hypnosis
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 40,
.pp_move2 = 15,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_mimicWobbuffet = {
.name = "Mimic Wobbuffet",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 202,
.held_item_index = 0,
.index_move1 = 243, // Mirror Coat
.index_move2 = 219, // Safeguard
.index_move3 = 194, // Destiny Bond
.index_move4 = 102, // Mimic
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 20,
.pp_move2 = 25,
.pp_move3 = 5,
.pp_move4 = 10,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_substitutePineco = {
.name = "Substitute Pineco",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 204,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 182, // Protect
.index_move3 = 164, // Substitute
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 10,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_furyAttackDunsparce = {
.name = "Fury Attack Dunsparce",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 206,
.held_item_index = 0,
.index_move1 = 99, // Rage
.index_move2 = 111, // Defense Curl
.index_move3 = 31, // Fury Attack
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 20,
.pp_move2 = 40,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_hornDrillDunsparce = {
.name = "Horn Drill Dunsparce",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 206,
.held_item_index = 0,
.index_move1 = 99, // Rage
.index_move2 = 111, // Defense Curl
.index_move3 = 32, // Horn Drill
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 20,
.pp_move2 = 40,
.pp_move3 = 5,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_lovelyKissSnubbull = {
.name = "Lovely Kiss Snubbull",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 209,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 184, // Scary Face
.index_move3 = 39, // Tail Whip
.index_move4 = 142, // Lovely Kiss
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 10,
.pp_move3 = 30,
.pp_move4 = 10,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_doubleEdgeQwilfish = {
.name = "Double-Edge Qwilfish",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 211,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 40, // Poison Sting
.index_move3 = 38, // Double-Edge
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 35,
.pp_move3 = 15,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_seismicTossHeracross = {
.name = "Seismic Toss Heracross",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 214,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 43, // Leer
.index_move3 = 69, // Seismic Toss
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_moonlightSneasel = {
.name = "Moonlight Sneasel",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 215,
.held_item_index = 0,
.index_move1 = 10, // Scratch
.index_move2 = 43, // Leer
.index_move3 = 236, // Moonlight
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 5,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_sweetScentTeddiursa = {
.name = "Sweet Scent Teddiursa",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 216,
.held_item_index = 0,
.index_move1 = 10, // Scratch
.index_move2 = 43, // Leer
.index_move3 = 230, // Sweet Scent
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_whirlwindSwinub = {
.name = "Whirlwind Swinub",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 220,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 18, // Whirlwind
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 20,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_amnesiaRemoraid = {
.name = "Amnesia Remoraid",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 223,
.held_item_index = 0,
.index_move1 = 55, // Water Gun
.index_move2 = 133, // Amnesia
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 25,
.pp_move2 = 20,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_mistRemoraid = {
.name = "Mist Remoraid",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 223,
.held_item_index = 0,
.index_move1 = 55, // Water Gun
.index_move2 = 54, // Mist
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 25,
.pp_move2 = 30,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_payDayDelibird = {
.name = "Pay Day Delibird",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 225,
.held_item_index = 0,
.index_move1 = 217, // Present
.index_move2 = 6, // Pay Day
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 15,
.pp_move2 = 20,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_spikesDelibird = {
.name = "Spikes Delibird",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 225,
.held_item_index = 0,
.index_move1 = 217, // Present
.index_move2 = 191, // Spikes
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 15,
.pp_move2 = 20,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_gustMantine = {
.name = "Gust Mantine",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 226,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 145, // Bubble
.index_move3 = 16, // Gust
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 35,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_furyCutterSkarmory = {
.name = "Fury Cutter Skarmory",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 227,
.held_item_index = 0,
.index_move1 = 43, // Leer
.index_move2 = 64, // Peck
.index_move3 = 210, // Fury Cutter
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 35,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_absorbPhanpy = {
.name = "Absorb Phanpy",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 231,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 45, // Growl
.index_move3 = 71, // Absorb
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 25,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_safeguardStantler = {
.name = "Safeguard Stantler",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 234,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 219, // Safeguard
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 25,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_rageTyrogue = {
.name = "Rage Tyrogue",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 236,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 99, // Rage
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 20,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_metronomeSmoochum = {
.name = "Metronome Smoochum",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 238,
.held_item_index = 0,
.index_move1 = 1, // Pound
.index_move2 = 122, // Lick
.index_move3 = 118, // Metronome
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_petalDanceSmoochum = {
.name = "Petal Dance Smoochum",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 238,
.held_item_index = 0,
.index_move1 = 1, // Pound
.index_move2 = 122, // Lick
.index_move3 = 80, // Petal Dance
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 30,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_dizzyPunchElekid = {
.name = "Dizzy Punch Elekid",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 239,
.held_item_index = 0,
.index_move1 = 98, // Quick Attack
.index_move2 = 43, // Leer
.index_move3 = 146, // Dizzy Punch
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 30,
.pp_move3 = 10,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_pursuitElekid = {
.name = "Pursuit Elekid",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 239,
.held_item_index = 0,
.index_move1 = 98, // Quick Attack
.index_move2 = 43, // Leer
.index_move3 = 228, // Pursuit
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 30,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_faintAttackMagby = {
.name = "Feint Attack Magby",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 240,
.held_item_index = 0,
.index_move1 = 52, // Ember
.index_move2 = 185, // Feint Attack
.index_move3 = 0,
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_FAST),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 25,
.pp_move2 = 20,
.pp_move3 = 0,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_megaKickMiltank = {
.name = "Mega Kick Miltank",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 241,
.held_item_index = 0,
.index_move1 = 33, // Tackle
.index_move2 = 45, // Growl
.index_move3 = 25, // Mega Kick
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 35,
.pp_move2 = 40,
.pp_move3 = 5,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_shinyRaikou = {
.name = "Shiny Raikou",
.originalTrainer = "PCNYa",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 100,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 243,
.held_item_index = 0,
.index_move1 = 43, // Leer
.index_move2 = 84, // Thundershock
.index_move3 = 46, // Roar
.index_move4 = 98, // Quick Attack
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(40, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 30,
.pp_move3 = 20,
.pp_move4 = 30,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 40,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_shinyEntei = {
.name = "Shiny Entei",
.originalTrainer = "PCNYb",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 100,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 244,
.held_item_index = 0,
.index_move1 = 43, // Leer
.index_move2 = 52, // Ember
.index_move3 = 46, // Roar
.index_move4 = 83, // Fire Spin
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(40, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 25,
.pp_move3 = 20,
.pp_move4 = 15,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 40,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_shinySuicune = {
.name = "Shiny Suicune",
.originalTrainer = "PCNYc",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 100,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 245,
.held_item_index = 0,
.index_move1 = 43, // Leer
.index_move2 = 55, // Water Gun
.index_move3 = 46, // Roar
.index_move4 = 16, // Gust
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(40, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 30,
.pp_move2 = 25,
.pp_move3 = 20,
.pp_move4 = 35,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 40,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_rageLarvitar = {
.name = "Rage Larvitar",
.originalTrainer = "",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = true,
.regenerateTrainerID = false,
.shinyChance = 15,
.overrideLevel = 0,
.isEgg = true,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 246,
.held_item_index = 0,
.index_move1 = 44, // Bite
.index_move2 = 43, // Leer
.index_move3 = 99, // Rage
.index_move4 = 0,
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 25,
.pp_move2 = 30,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_shinyLugia = {
.name = "Shiny Lugia",
.originalTrainer = "PCNYd",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 100,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 249,
.held_item_index = 0,
.index_move1 = 177, // Aeroblast
.index_move2 = 219, // Safeguard
.index_move3 = 16, // Gust
.index_move4 = 105, // Recover
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(40, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 5,
.pp_move2 = 25,
.pp_move3 = 35,
.pp_move4 = 5,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 40,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_shinyHoOh = {
.name = "Shiny Ho-Oh",
.originalTrainer = "PCNYa",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 100,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 249,
.held_item_index = 0,
.index_move1 = 221, // Sacred Fire
.index_move2 = 219, // Safeguard
.index_move3 = 16, // Gust
.index_move4 = 105, // Recover
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(40, GEN2_GRW_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 5,
.pp_move2 = 25,
.pp_move3 = 35,
.pp_move4 = 5,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 40,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
const Gen2DistributionPokemon g2_pcny_Celebi = {
.name = "Celebi",
.originalTrainer = "PCNYb",
.originalTrainerID = 0,
.setPlayerAsOriginalTrainer = false,
.regenerateTrainerID = true,
.shinyChance = 1,
.overrideLevel = 0,
.isEgg = false,
.iv_data = {0, 0},
.randomizeIVs = true,
.poke = {
.poke_index = 246,
.held_item_index = 0,
.index_move1 = 44, // Leech Seed
.index_move2 = 43, // Confusion
.index_move3 = 99, // Heal Bell
.index_move4 = 0, // Recover
.original_trainer_ID = 0,
.exp = getExpNeededForLevel(5, GEN2_GRW_MEDIUM_SLOW),
.hp_effort_value = 0,
.atk_effort_value = 0,
.def_effort_value = 0,
.speed_effort_value = 0,
.special_effort_value = 0,
.iv_data = {0, 0},
.pp_move1 = 25,
.pp_move2 = 30,
.pp_move3 = 20,
.pp_move4 = 0,
.friendship_or_remaining_egg_cycles = 0,
.pokerus = 0,
.caught_data = 0,
.level = 5,
.status_condition = 0,
.unused_byte = 0,
.current_hp = 0,
.max_hp = 0,
.atk = 0,
.def = 0,
.speed = 0,
.special_atk = 0,
.special_def = 0
}
};
static const Gen2DistributionPokemon* pcnyList[] = {
&g2_pcny_ancientpowerBulbasaur,
&g2_pcny_shinyVenusaur,
&g2_pcny_crunchCharmander,
&g2_pcny_shinyCharizard,
&g2_pcny_zapCannonSquirtle,
&g2_pcny_shinyBlastoise,
&g2_pcny_sonicboomSpearow,
&g2_pcny_lovelyKissNidoranFem,
&g2_pcny_moonlightNidoranFem,
&g2_pcny_sweetKissNidoranFem,
&g2_pcny_lovelyKissNidoranMale,
&g2_pcny_morningSunNidoranMale,
&g2_pcny_sweetKissNidoranMale,
&g2_pcny_flailZubat,
&g2_pcny_leechSeedOddish,
&g2_pcny_synthesisParas,
&g2_pcny_petalDancePsyduck,
&g2_pcny_triAttackPsyduck,
&g2_pcny_growthPoliwag,
&g2_pcny_lovelyKissPoliwag,
&g2_pcny_sweetKissPoliwag,
&g2_pcny_foresightAbra,
&g2_pcny_falseSwipeMachop,
&g2_pcny_thrashMachop,
&g2_pcny_lovelyKissBellsprout,
&g2_pcny_sweetKissBellsprout,
&g2_pcny_confuseRayTentacool,
&g2_pcny_rapidSpinGeodude,
&g2_pcny_lowKickPonyta,
&g2_pcny_agilityMagnemite,
&g2_pcny_furyCutterFarfetchd,
&g2_pcny_lowKickDoduo,
&g2_pcny_flailSeel,
&g2_pcny_sharpenOnix,
&g2_pcny_amnesiaDrowsee,
&g2_pcny_metalClawKrabby,
&g2_pcny_agilityVoltorb,
&g2_pcny_sweetScentExeggcute,
&g2_pcny_furyAttackCubone,
&g2_pcny_doubleSlapLickitung,
&g2_pcny_sweetScentChansey,
&g2_pcny_synthesisTangela,
&g2_pcny_faintAttackKangaskhan,
&g2_pcny_hazeHorsea,
&g2_pcny_swordsDanceGoldeen,
&g2_pcny_twisterStaryu,
&g2_pcny_mindReaderMrMime,
&g2_pcny_sonicBoomScyther,
&g2_pcny_rockThrowPinsir,
&g2_pcny_quickAttackTauros,
&g2_pcny_bubbleMagikarp,
&g2_pcny_reversalMagikarp,
&g2_pcny_biteLapras,
&g2_pcny_futureSightLapras,
&g2_pcny_growthEevee,
&g2_pcny_barrierPorygon,
&g2_pcny_rockThrowOmanyte,
&g2_pcny_rockThrowKabuto,
&g2_pcny_rockThrowAerodactyl,
&g2_pcny_lovelyKissSnorlax,
&g2_pcny_splashSnorlax,
&g2_pcny_sweetKissSnorlax,
&g2_pcny_shinyArticuno,
&g2_pcny_shinyZapdos,
&g2_pcny_shinyMoltres,
&g2_pcny_hydroPumpDratini,
&g2_pcny_shinyMewtwo,
&g2_pcny_shinyMew,
&g2_pcny_petalDanceChikorita,
&g2_pcny_shinyMeganium,
&g2_pcny_doubleEdgeCyndaquil,
&g2_pcny_shinyTyphlosion,
&g2_pcny_submissionTotodile,
&g2_pcny_shinyFeraligatr,
&g2_pcny_dizzyPunchSentret,
&g2_pcny_nightShadeHoothoot,
&g2_pcny_barrierLedyba,
&g2_pcny_growthSpinarak,
&g2_pcny_lightScreenChinchou,
&g2_pcny_dizzyPunchPichu,
&g2_pcny_petalDancePichu,
&g2_pcny_scaryFacePichu,
&g2_pcny_singPichu,
&g2_pcny_petalDanceCleffa,
&g2_pcny_scaryFaceCleffa,
&g2_pcny_swiftCleffa,
&g2_pcny_mimicIgglybuff,
&g2_pcny_petalDanceIgglybuff,
&g2_pcny_scaryFaceIgglybuff,
&g2_pcny_safeguardNatu,
&g2_pcny_dizzyPunchMarill,
&g2_pcny_hydroPumpMarill,
&g2_pcny_scaryFaceMarill,
&g2_pcny_substituteSudowoodo,
&g2_pcny_agilityHoppip,
&g2_pcny_mimicAipom,
&g2_pcny_splashSunkern,
&g2_pcny_steelWingYanma,
&g2_pcny_sweetKissYanma,
&g2_pcny_bellyDrumWooper,
&g2_pcny_scaryFaceWooper,
&g2_pcny_beatUpMurkrow,
&g2_pcny_hypnosisMisdreavus,
&g2_pcny_mimicWobbuffet,
&g2_pcny_substitutePineco,
&g2_pcny_furyAttackDunsparce,
&g2_pcny_hornDrillDunsparce,
&g2_pcny_lovelyKissSnubbull,
&g2_pcny_doubleEdgeQwilfish,
&g2_pcny_seismicTossHeracross,
&g2_pcny_moonlightSneasel,
&g2_pcny_sweetScentTeddiursa,
&g2_pcny_whirlwindSwinub,
&g2_pcny_amnesiaRemoraid,
&g2_pcny_mistRemoraid,
&g2_pcny_payDayDelibird,
&g2_pcny_spikesDelibird,
&g2_pcny_gustMantine,
&g2_pcny_furyCutterSkarmory,
&g2_pcny_absorbPhanpy,
&g2_pcny_safeguardStantler,
&g2_pcny_rageTyrogue,
&g2_pcny_metronomeSmoochum,
&g2_pcny_petalDanceSmoochum,
&g2_pcny_dizzyPunchElekid,
&g2_pcny_pursuitElekid,
&g2_pcny_faintAttackMagby,
&g2_pcny_megaKickMiltank,
&g2_pcny_shinyRaikou,
&g2_pcny_shinyEntei,
&g2_pcny_shinySuicune,
&g2_pcny_rageLarvitar,
&g2_pcny_shinyLugia,
&g2_pcny_shinyHoOh,
&g2_pcny_Celebi
};
void gen2_getMainDistributionPokemonList(const Gen2DistributionPokemon**& outList, uint32_t& outSize)
{
outList = mainList;
outSize = sizeof(mainList) / sizeof(mainList[0]);
}
void gen2_getPokemonCenterNewYorkDistributionPokemonList(const Gen2DistributionPokemon**& outList, uint32_t& outSize)
{
outList = pcnyList;
outSize = sizeof(pcnyList) / sizeof(pcnyList[0]);
}