2509 lines
69 KiB
Dart
2509 lines
69 KiB
Dart
// ignore_for_file: constant_identifier_names
|
||
|
||
import 'package:pokedex/Consts.dart';
|
||
import 'package:pokedex/Session.dart';
|
||
import 'package:pokedex/dexMisc.dart';
|
||
import 'package:pokedex/pokemonHelpers.dart';
|
||
|
||
enum Generation {
|
||
One(1, 151),
|
||
Two(152, 251),
|
||
Three(252, 386),
|
||
Four(387, 493),
|
||
Five(494, 649),
|
||
Six(650, 721),
|
||
Seven(722, 809),
|
||
Eight(810, 905),
|
||
Nine(906, 1025);
|
||
|
||
final int idStart;
|
||
final int idEnd;
|
||
|
||
const Generation(this.idStart, this.idEnd);
|
||
}
|
||
|
||
enum EvolutionCondition {
|
||
HighFriendship,
|
||
ThunderStone,
|
||
WaterStone,
|
||
Trading,
|
||
Holding,
|
||
KingsRock,
|
||
MoonStone,
|
||
FireStone,
|
||
LeafStone,
|
||
Alola,
|
||
OutsideAlola,
|
||
Night,
|
||
Day,
|
||
AttackGreaterThanDefense,
|
||
AttackLessThanDefense,
|
||
AttackEqualDefense,
|
||
Galar,
|
||
OutsideGalar,
|
||
SunStone,
|
||
MetalCoat,
|
||
BlackAugurite,
|
||
DragonScale,
|
||
Upgrade,
|
||
Random,
|
||
Personality,
|
||
EmptySlot,
|
||
PokeballInBag,
|
||
ShinyStone,
|
||
PrismScale,
|
||
Or,
|
||
MaxBeauty,
|
||
DeepSeaTooth,
|
||
DeepSeaScale,
|
||
}
|
||
|
||
enum LearnType { TM, HM }
|
||
|
||
enum Move {
|
||
Growl(LearnType.TM, Type.Normal, "Growl", 0, 100, 40),
|
||
Tackle(LearnType.TM, Type.Normal, "Tackle", 40, 100, 35),
|
||
VineWhip(LearnType.TM, Type.Grass, "Vine Whip", 45, 100, 25),
|
||
RazorLeaf(LearnType.TM, Type.Grass, "Razor Leaf", 55, 95, 25),
|
||
SolarBeam(LearnType.TM, Type.Grass, "Solar Beam", 120, 100, 10),
|
||
PoisonPowder(LearnType.TM, Type.Poison, "Poison Powder", 0, 75, 35),
|
||
SleepPowder(LearnType.TM, Type.Grass, "Sleep Powder", 0, 75, 15),
|
||
TakeDown(LearnType.TM, Type.Normal, "Take Down", 90, 85, 20),
|
||
DoubleEdge(LearnType.TM, Type.Normal, "Double-Edge", 120, 100, 15),
|
||
LeechSeed(LearnType.TM, Type.Grass, "Leech Seed", 0, 90, 10),
|
||
Growth(LearnType.TM, Type.Normal, "Growth", 0, 0, 20),
|
||
PoisonSting(LearnType.TM, Type.Poison, "Poison Sting", 15, 100, 35),
|
||
StringShot(LearnType.TM, Type.Bug, "String Shot", 0, 95, 40),
|
||
BugBite(LearnType.TM, Type.Bug, "Bug Bite", 60, 100, 20),
|
||
Confusion(LearnType.TM, Type.Psychic, "Confusion", 50, 100, 25);
|
||
|
||
final LearnType type;
|
||
final Type moveType;
|
||
final String moveName;
|
||
final int power;
|
||
final int accuracy;
|
||
final int pp;
|
||
const Move(
|
||
this.type,
|
||
this.moveType,
|
||
this.moveName,
|
||
this.power,
|
||
this.accuracy,
|
||
this.pp,
|
||
);
|
||
}
|
||
|
||
enum Pokemon {
|
||
Bulbasaur(
|
||
1,
|
||
Generation.One,
|
||
[Type.Grass, Type.Poison],
|
||
SingleEvolution(2, 16),
|
||
locations: [
|
||
Location(
|
||
Game.Red,
|
||
[GameRoute.PalletTown],
|
||
Generation.One,
|
||
additionalGames: [Game.Blue],
|
||
),
|
||
Location(Game.Yellow, [GameRoute.CeruleanCity], Generation.One),
|
||
Location(
|
||
Game.Gold,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Two,
|
||
additionalGames: [Game.Silver, Game.Crystal],
|
||
),
|
||
Location(
|
||
Game.Ruby,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire, Game.Emerald],
|
||
),
|
||
Location(
|
||
Game.FireRed,
|
||
[GameRoute.PalletTown],
|
||
Generation.Three,
|
||
additionalGames: [Game.LeafGreen],
|
||
),
|
||
],
|
||
|
||
dexEntries: [
|
||
DexEntry(
|
||
Game.Red,
|
||
"A strange seed was planted on its back at birth. The plant sprouts and grows with this POKéMON.",
|
||
Generation.One,
|
||
additionalGames: [Game.Blue],
|
||
),
|
||
DexEntry(
|
||
Game.Yellow,
|
||
"It can go for days without eating a single morsel. In the bulb on its back, it stores energy.",
|
||
Generation.One,
|
||
),
|
||
DexEntry(
|
||
Game.Gold,
|
||
"The seed on its back is filled with nutrients. The seed grows steadily larger as its body grows.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Silver,
|
||
"It carries a seed on its back right from birth. As it grows older, the seed also grows larger.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Crystal,
|
||
"While it is young, it uses the nutrients that are stored in the seeds on its back in order to grow.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Ruby,
|
||
"BULBASAUR can be seen napping in bright sunlight. There is a seed on its back. By soaking up the sun’s rays, the seed grows progressively larger.",
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire, Game.Emerald],
|
||
),
|
||
DexEntry(
|
||
Game.FireRed,
|
||
"There is a plant seed on its back right from the day this POKéMON is born. The seed slowly grows larger.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.LeafGreen,
|
||
"A strange seed was planted on its back at birth. The plant sprouts and grows with this POKéMON.",
|
||
Generation.Three,
|
||
),
|
||
],
|
||
),
|
||
Ivysaur(
|
||
2,
|
||
Generation.One,
|
||
[Type.Grass, Type.Poison],
|
||
SingleEvolution(3, 32),
|
||
previousPokemon: 1,
|
||
|
||
locations: [
|
||
Location(
|
||
Game.Red,
|
||
[GameRoute.Evolve],
|
||
Generation.One,
|
||
additionalGames: [Game.Blue, Game.Yellow],
|
||
),
|
||
Location(
|
||
Game.Gold,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Two,
|
||
additionalGames: [Game.Silver, Game.Crystal],
|
||
),
|
||
Location(
|
||
Game.Ruby,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire],
|
||
),
|
||
Location(
|
||
Game.FireRed,
|
||
[GameRoute.Evolve],
|
||
Generation.Three,
|
||
additionalGames: [Game.LeafGreen],
|
||
),
|
||
Location(Game.Emerald, [GameRoute.TradeOrMigrate], Generation.Three),
|
||
],
|
||
dexEntries: [
|
||
DexEntry(
|
||
Game.Red,
|
||
"When the bulb on its back grows large, it appears to lose the ability to stand on its hind legs.",
|
||
Generation.One,
|
||
additionalGames: [Game.Blue],
|
||
),
|
||
DexEntry(
|
||
Game.Yellow,
|
||
"The bulb on its back grows by drawing energy. It gives off an aroma when it is ready to bloom.",
|
||
Generation.One,
|
||
),
|
||
DexEntry(
|
||
Game.Gold,
|
||
"Exposure to sunlight adds to its strength. Sunlight also makes the bud on its back grow larger",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Silver,
|
||
"If the bud on its back starts to smell sweet, it is evidence that the large flower will soon bloom.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Crystal,
|
||
"The bulb on its back grows as it absorbs nutrients. The bulb gives off a pleasant aroma when it blooms.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Ruby,
|
||
"There is a bud on this POKéMON’s back. To support its weight, IVYSAUR’s legs and trunk grow thick and strong. If it starts spending more time lying in the sunlight, it’s a sign that the bud will bloom into a large flower soon.",
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire],
|
||
),
|
||
DexEntry(
|
||
Game.FireRed,
|
||
"There is a plant bulb on its back. When it absorbs nutrients, the bulb is said to blossom into a large flower.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.LeafGreen,
|
||
"When the bulb on its back grows large, it appears to lose the ability to stand on its hind legs.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.Emerald,
|
||
"To support its bulb, IVYSAUR’s legs grow sturdy. If it spends more time lying in the sunlight, the bud will soon bloom into a large flower.",
|
||
Generation.Three,
|
||
),
|
||
],
|
||
),
|
||
Venusaur(
|
||
3,
|
||
Generation.One,
|
||
[Type.Grass, Type.Poison],
|
||
null,
|
||
previousPokemon: 2,
|
||
locations: [
|
||
Location(
|
||
Game.Red,
|
||
[GameRoute.Evolve],
|
||
Generation.One,
|
||
additionalGames: [Game.Blue, Game.Yellow],
|
||
),
|
||
Location(
|
||
Game.Gold,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Two,
|
||
additionalGames: [Game.Silver, Game.Crystal],
|
||
),
|
||
Location(
|
||
Game.Ruby,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire, Game.Emerald],
|
||
),
|
||
Location(
|
||
Game.FireRed,
|
||
[GameRoute.Evolve],
|
||
Generation.Three,
|
||
additionalGames: [Game.LeafGreen],
|
||
),
|
||
],
|
||
dexEntries: [
|
||
DexEntry(
|
||
Game.Red,
|
||
"The plant blooms when it is absorbing solar energy. It stays on the move to seek sunlight.",
|
||
Generation.One,
|
||
additionalGames: [Game.Blue],
|
||
),
|
||
DexEntry(
|
||
Game.Yellow,
|
||
"The flower on its back catches the sun’s rays. The sunlight is then absorbed and used for energy.",
|
||
Generation.One,
|
||
),
|
||
DexEntry(
|
||
Game.Gold,
|
||
"By spreading the broad petals of its flower and catching the sun’s rays, it fills its body with power.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Silver,
|
||
"It is able to convert sunlight into energy. As a result, it is more powerful in the summertime.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Crystal,
|
||
"As it warms itself and absorbs the sunlight, its flower petals release a pleasant fragrance.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Ruby,
|
||
"There is a large flower on VENUSAUR’s back. The flower is said to take on vivid colors if it gets plenty of nutrition and sunlight. The flower’s aroma soothes the emotions of people.",
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire],
|
||
),
|
||
DexEntry(
|
||
Game.FireRed,
|
||
"A bewitching aroma wafts from its flower. The fragrance becalms those engaged in a battle.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.LeafGreen,
|
||
"Its plant blooms when it is absorbing solar energy. It stays on the move to seek sunlight.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.Emerald,
|
||
"VENUSAUR’s flower is said to take on vivid colors if it gets plenty of nutrition and sunlight. The flower’s aroma soothes the emotions of people.",
|
||
Generation.Three,
|
||
),
|
||
],
|
||
),
|
||
Charmander(
|
||
4,
|
||
Generation.One,
|
||
[Type.Fire],
|
||
SingleEvolution(5, 16),
|
||
locations: [
|
||
Location(
|
||
Game.Red,
|
||
[GameRoute.PalletTown],
|
||
Generation.One,
|
||
additionalGames: [Game.Blue],
|
||
),
|
||
Location(Game.Yellow, [GameRoute.RT24], Generation.One),
|
||
Location(
|
||
Game.Gold,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Two,
|
||
additionalGames: [Game.Silver, Game.Crystal],
|
||
),
|
||
Location(
|
||
Game.Ruby,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire, Game.Emerald],
|
||
),
|
||
Location(
|
||
Game.FireRed,
|
||
[GameRoute.PalletTown],
|
||
Generation.Three,
|
||
additionalGames: [Game.LeafGreen],
|
||
),
|
||
],
|
||
dexEntries: [
|
||
DexEntry(
|
||
Game.Red,
|
||
"Obviously prefers hot places. When it rains, steam is said to spout from the tip of its tail.",
|
||
Generation.One,
|
||
additionalGames: [Game.Blue],
|
||
),
|
||
DexEntry(
|
||
Game.Yellow,
|
||
"The flame at the tip of its tail makes a sound as it burns. You can only hear it in quiet places.",
|
||
Generation.One,
|
||
),
|
||
DexEntry(
|
||
Game.Gold,
|
||
"The flame on its tail shows the strength of its life force. If it is weak, the flame also burns weakly.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Silver,
|
||
"The flame on its tail indicates CHARMANDER’s life force. If it is healthy, the flame burns brightly.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Crystal,
|
||
"If it’s healthy, the flame on the tip of its tail will burn vigorously, even if it gets a bit wet.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Ruby,
|
||
"The flame that burns at the tip of its tail is an indication of its emotions. The flame wavers when CHARMANDER is enjoying itself. If the POKéMON becomes enraged, the flame burns fiercely.",
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire],
|
||
),
|
||
DexEntry(
|
||
Game.FireRed,
|
||
"From the time it is born, a flame burns at the tip of its tail. Its life would end if the flame were to go out.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.LeafGreen,
|
||
"It has a preference for hot things. When it rains, steam is said to spout from the tip of its tail.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.Emerald,
|
||
"The flame that burns at the tip of its tail is an indication of its emotions. The flame wavers when CHARMANDER is happy, and blazes when it is enraged.",
|
||
Generation.Three,
|
||
),
|
||
],
|
||
),
|
||
Charmeleon(
|
||
5,
|
||
Generation.One,
|
||
[Type.Fire],
|
||
SingleEvolution(6, 36),
|
||
previousPokemon: 4,
|
||
locations: [
|
||
Location(
|
||
Game.Red,
|
||
[GameRoute.Evolve],
|
||
Generation.One,
|
||
additionalGames: [Game.Blue, Game.Yellow],
|
||
),
|
||
Location(
|
||
Game.Gold,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Two,
|
||
additionalGames: [Game.Silver, Game.Crystal],
|
||
),
|
||
Location(
|
||
Game.Ruby,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire, Game.Emerald],
|
||
),
|
||
Location(
|
||
Game.FireRed,
|
||
[GameRoute.Evolve],
|
||
Generation.Three,
|
||
additionalGames: [Game.LeafGreen],
|
||
),
|
||
],
|
||
|
||
dexEntries: [
|
||
DexEntry(
|
||
Game.Red,
|
||
"When it swings its burning tail, it elevates the temperature to unbearably high levels.",
|
||
Generation.One,
|
||
additionalGames: [Game.Blue],
|
||
),
|
||
DexEntry(
|
||
Game.Yellow,
|
||
"Tough fights could excite this POKéMON. When excited, it may blow out bluish-white flames.",
|
||
Generation.One,
|
||
),
|
||
DexEntry(
|
||
Game.Gold,
|
||
"It is very hotheaded by nature, so it constantly seeks opponents. It calms down only when it wins.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Silver,
|
||
"It has a barbaric nature. In battle, it whips its fiery tail around and slashes away with sharp claws.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Crystal,
|
||
"If it becomes agitated during battle, it spouts intense flames, incinerating its surroundings.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Ruby,
|
||
"CHARMELEON mercilessly destroys its foes using its sharp claws. If it encounters a strong foe, it turns aggressive. In this excited state, the flame at the tip of its tail flares with a bluish white color.",
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire],
|
||
),
|
||
DexEntry(
|
||
Game.FireRed,
|
||
"It lashes about with its tail to knock down its foe. It then tears up the fallen opponent with sharp claws.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.LeafGreen,
|
||
"When it swings its burning tail, it elevates the air temperature to unbearably high levels.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.Emerald,
|
||
"Without pity, its sharp claws destroy foes. If it encounters a strong enemy, it becomes agitated, and the flame on its tail flares with a bluish white color.",
|
||
Generation.Three,
|
||
),
|
||
],
|
||
),
|
||
Charizard(
|
||
6,
|
||
Generation.One,
|
||
[Type.Fire, Type.Flying],
|
||
null,
|
||
previousPokemon: 5,
|
||
locations: [
|
||
Location(
|
||
Game.Red,
|
||
[GameRoute.Evolve],
|
||
Generation.One,
|
||
additionalGames: [Game.Blue, Game.Yellow],
|
||
),
|
||
Location(
|
||
Game.Gold,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Two,
|
||
additionalGames: [Game.Silver, Game.Crystal],
|
||
),
|
||
Location(
|
||
Game.Ruby,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire, Game.Emerald],
|
||
),
|
||
Location(
|
||
Game.FireRed,
|
||
[GameRoute.Evolve],
|
||
Generation.Three,
|
||
additionalGames: [Game.LeafGreen],
|
||
),
|
||
],
|
||
dexEntries: [
|
||
DexEntry(
|
||
Game.Red,
|
||
"Spits fire that is hot enough to melt boulders. Known to cause forest fires unintentionally.",
|
||
Generation.One,
|
||
additionalGames: [Game.Blue],
|
||
),
|
||
DexEntry(
|
||
Game.Yellow,
|
||
"When expelling a blast of super hot fire, the red flame at the tip of its tail burns more intensely.",
|
||
Generation.One,
|
||
),
|
||
DexEntry(
|
||
Game.Gold,
|
||
"If CHARIZARD becomes furious, the flame at the tip of its tail flares up in a whitish-blue color.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Silver,
|
||
"Breathing intense, hot flames, it can melt almost anything. Its breath inflicts terrible pain on enemies.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Crystal,
|
||
"It uses its wings to fly high. The temperature of its fire increases as it gains experience in battle.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Ruby,
|
||
"CHARIZARD flies around the sky in search of powerful opponents. It breathes fire of such great heat that it melts anything. However, it never turns its fiery breath on any opponent weaker than itself.",
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire],
|
||
),
|
||
DexEntry(
|
||
Game.FireRed,
|
||
"Its wings can carry this POKéMON close to an altitude of 4,600 feet. It blows out fire at very high temperatures.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.LeafGreen,
|
||
"It spits fire that is hot enough to melt boulders. It may cause forest fires by blowing flames.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.Emerald,
|
||
"A CHARIZARD flies about in search of strong opponents. It breathes intense flames that can melt any material. However, it will never torch a weaker foe.",
|
||
Generation.Three,
|
||
),
|
||
],
|
||
),
|
||
Squirtle(
|
||
7,
|
||
Generation.One,
|
||
[Type.Water],
|
||
SingleEvolution(8, 16),
|
||
locations: [
|
||
Location(
|
||
Game.Red,
|
||
[GameRoute.PalletTown],
|
||
Generation.One,
|
||
additionalGames: [Game.Blue],
|
||
),
|
||
Location(Game.Yellow, [GameRoute.VermilionCity], Generation.One),
|
||
Location(
|
||
Game.Gold,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Two,
|
||
additionalGames: [Game.Silver, Game.Crystal],
|
||
),
|
||
Location(
|
||
Game.Ruby,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire, Game.Emerald],
|
||
),
|
||
Location(
|
||
Game.FireRed,
|
||
[GameRoute.PalletTown],
|
||
Generation.Three,
|
||
additionalGames: [Game.LeafGreen],
|
||
),
|
||
],
|
||
dexEntries: [
|
||
DexEntry(
|
||
Game.Red,
|
||
"After birth, its back swells and hardens into a shell. Powerfully sprays foam from its mouth.",
|
||
Generation.One,
|
||
additionalGames: [Game.Blue],
|
||
),
|
||
DexEntry(
|
||
Game.Yellow,
|
||
"Shoots water at prey while in the water. Withdraws into its shell when in danger.",
|
||
Generation.One,
|
||
),
|
||
DexEntry(
|
||
Game.Gold,
|
||
"The shell is soft when it is born. It soon becomes so resilient, prodding fingers will bounce off it.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Silver,
|
||
"The shell, which hardens soon after it is born, is resilient. If you poke it, it will bounce back out.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Crystal,
|
||
"When it feels threatened, it draws its legs inside its shell and sprays water from its mouth.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Ruby,
|
||
"SQUIRTLE’s shell is not merely used for protection. The shell’s rounded shape and the grooves on its surface help minimize resistance in water, enabling this POKéMON to swim at high speeds.",
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire],
|
||
),
|
||
DexEntry(
|
||
Game.FireRed,
|
||
"When it retracts its long neck into its shell, it squirts out water with vigorous force.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.LeafGreen,
|
||
"After birth, its back swells and hardens into a shell. It powerfully sprays foam from its mouth.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.Emerald,
|
||
"Its shell is not just for protection. Its rounded shape and the grooves on its surface minimize resistance in water, enabling SQUIRTLE to swim at high speeds.",
|
||
Generation.Three,
|
||
),
|
||
],
|
||
),
|
||
Wartortle(
|
||
8,
|
||
Generation.One,
|
||
[Type.Water],
|
||
SingleEvolution(9, 36),
|
||
previousPokemon: 7,
|
||
locations: [
|
||
Location(
|
||
Game.Red,
|
||
[GameRoute.Evolve],
|
||
Generation.One,
|
||
additionalGames: [Game.Blue, Game.Yellow],
|
||
),
|
||
Location(
|
||
Game.Gold,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Two,
|
||
additionalGames: [Game.Silver, Game.Crystal],
|
||
),
|
||
Location(
|
||
Game.Ruby,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire, Game.Emerald],
|
||
),
|
||
Location(
|
||
Game.FireRed,
|
||
[GameRoute.Evolve],
|
||
Generation.Three,
|
||
additionalGames: [Game.LeafGreen],
|
||
),
|
||
],
|
||
dexEntries: [
|
||
DexEntry(
|
||
Game.Red,
|
||
"Often hides in water to stalk unwary prey. For swimming fast, it moves its ears to maintain balance.",
|
||
Generation.One,
|
||
additionalGames: [Game.Blue],
|
||
),
|
||
DexEntry(
|
||
Game.Yellow,
|
||
"When tapped, this POKéMON will pull in its head, but its tail will still stick out a little bit.",
|
||
Generation.One,
|
||
),
|
||
DexEntry(
|
||
Game.Gold,
|
||
"It is recognized as a symbol of longevity. If its shell has algae on it, that WARTORTLE is very old.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Silver,
|
||
"It cleverly controls its furry ears and tail to maintain its balance while swimming.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Crystal,
|
||
"Its long, furry tail is a symbol of longevity, making it quite popular among older people.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Ruby,
|
||
"Its tail is large and covered with a rich, thick fur. The tail becomes increasingly deeper in color as WARTORTLE ages. The scratches on its shell are evidence of this POKéMON’s toughness as a battler.",
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire],
|
||
),
|
||
DexEntry(
|
||
Game.FireRed,
|
||
"This POKéMON is very popular as a pet. Its fur-covered tail is a symbol of its longevity.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.LeafGreen,
|
||
"It often hides in water to stalk unwary prey. For fast swimming, it moves its ears to maintain balance.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.Emerald,
|
||
"Its large tail is covered with rich, thick fur that deepens in color with age. The scratches on its shell are evidence of this POKéMON’s toughness in battle.",
|
||
Generation.Three,
|
||
),
|
||
],
|
||
),
|
||
Blastoise(
|
||
9,
|
||
Generation.One,
|
||
[Type.Water],
|
||
null,
|
||
previousPokemon: 8,
|
||
locations: [
|
||
Location(
|
||
Game.Red,
|
||
[GameRoute.Evolve],
|
||
Generation.One,
|
||
additionalGames: [Game.Blue, Game.Yellow],
|
||
),
|
||
Location(
|
||
Game.Gold,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Two,
|
||
additionalGames: [Game.Silver, Game.Crystal],
|
||
),
|
||
Location(
|
||
Game.Ruby,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire, Game.Emerald],
|
||
),
|
||
Location(
|
||
Game.FireRed,
|
||
[GameRoute.Evolve],
|
||
Generation.Three,
|
||
additionalGames: [Game.LeafGreen],
|
||
),
|
||
],
|
||
dexEntries: [
|
||
DexEntry(
|
||
Game.Red,
|
||
"A brutal POKéMON with pressurized water jets on its shell. They are used for high speed tackles.",
|
||
Generation.One,
|
||
additionalGames: [Game.Blue],
|
||
),
|
||
DexEntry(
|
||
Game.Yellow,
|
||
"Once it takes aim at its enemy, it blasts out water with even more force than a fire hose.",
|
||
Generation.One,
|
||
),
|
||
DexEntry(
|
||
Game.Gold,
|
||
"It deliberately makes itself heavy so it can withstand the recoil of the water jets it fires.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Silver,
|
||
"The rocket cannons on its shell fire jets of water capable of punching holes through thick steel.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Crystal,
|
||
"It firmly plants its feet on the ground before shooting water from the jets on its back.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Ruby,
|
||
"BLASTOISE has water spouts that protrude from its shell. The water spouts are very accurate. They can shoot bullets of water with enough accuracy to strike empty cans from a distance of over 160 feet.",
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire],
|
||
),
|
||
DexEntry(
|
||
Game.FireRed,
|
||
"It crushes its foe under its heavy body to cause fainting. In a pinch, it will withdraw inside its shell.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.LeafGreen,
|
||
"The pressurized water jets on this brutal POKéMON’s shell are used for high-speed tackles.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.Emerald,
|
||
"The waterspouts that protrude from its shell are highly accurate. Their bullets of water can precisely nail tin cans from a distance of over 160 feet.",
|
||
Generation.Three,
|
||
),
|
||
],
|
||
),
|
||
Caterpie(
|
||
10,
|
||
Generation.One,
|
||
[Type.Bug],
|
||
SingleEvolution(11, 7),
|
||
locations: [
|
||
Location(Game.Red, [
|
||
GameRoute.RT25,
|
||
GameRoute.ViridianForest,
|
||
], Generation.One),
|
||
Location(Game.Blue, [
|
||
GameRoute.RT2,
|
||
GameRoute.RT24,
|
||
GameRoute.RT25,
|
||
GameRoute.ViridianForest,
|
||
], Generation.One),
|
||
Location(Game.Yellow, [GameRoute.ViridianForest], Generation.One),
|
||
Location(Game.Gold, [
|
||
GameRoute.RT2,
|
||
GameRoute.RT26,
|
||
GameRoute.RT27,
|
||
GameRoute.RT30,
|
||
GameRoute.RT31,
|
||
GameRoute.RT34,
|
||
GameRoute.RT35,
|
||
GameRoute.RT36,
|
||
GameRoute.RT37,
|
||
GameRoute.RT38,
|
||
GameRoute.RT39,
|
||
GameRoute.AzaleaTown,
|
||
GameRoute.IlexForest,
|
||
GameRoute.LakeOfRage,
|
||
GameRoute.NationalPark,
|
||
], Generation.Two),
|
||
Location(Game.Silver, [GameRoute.NationalPark], Generation.Two),
|
||
Location(Game.Crystal, [
|
||
GameRoute.RT2,
|
||
GameRoute.RT24,
|
||
GameRoute.RT25,
|
||
GameRoute.RT30,
|
||
GameRoute.RT31,
|
||
GameRoute.IlexForest,
|
||
GameRoute.NationalPark,
|
||
], Generation.Two),
|
||
Location(
|
||
Game.Ruby,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire, Game.Emerald],
|
||
),
|
||
Location(Game.FireRed, [
|
||
GameRoute.RT2,
|
||
GameRoute.RT24,
|
||
GameRoute.RT25,
|
||
GameRoute.PatternBush,
|
||
GameRoute.ViridianForest,
|
||
], Generation.Three),
|
||
],
|
||
dexEntries: [
|
||
DexEntry(
|
||
Game.Red,
|
||
"Its short feet are tipped with suction pads that enable it to tirelessly climb slopes and walls.",
|
||
Generation.One,
|
||
additionalGames: [Game.Blue],
|
||
),
|
||
DexEntry(
|
||
Game.Yellow,
|
||
"If you touch the feeler on top of its head, it will release a horrible stink to protect itself.",
|
||
Generation.One,
|
||
),
|
||
DexEntry(
|
||
Game.Gold,
|
||
"For protection, it releases a horrible stench from the antenna on its head to drive away enemies.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Silver,
|
||
"Its feet have suction cups designed to stick to any surface. It tenaciously climbs trees to forage.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Crystal,
|
||
"It crawls into foliage where it camouflages itself among leaves that are the same color as its body.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Ruby,
|
||
"CATERPIE has a voracious appetite. It can devour leaves bigger than its body right before your eyes. From its antenna, this POKéMON releases a terrifically strong odor.",
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire],
|
||
),
|
||
DexEntry(
|
||
Game.FireRed,
|
||
"It is covered with a green skin. When it grows, it sheds the skin, covers itself with silk, and becomes a cocoon.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.LeafGreen,
|
||
"Its short feet are tipped with suction pads that enable it to tirelessly climb slopes and walls.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.Emerald,
|
||
"Its voracious appetite compels it to devour leaves bigger than itself without hesitation. It releases a terribly strong odor from its antennae.",
|
||
Generation.Three,
|
||
),
|
||
],
|
||
),
|
||
Metapod(
|
||
11,
|
||
Generation.One,
|
||
[Type.Bug],
|
||
SingleEvolution(12, 10),
|
||
previousPokemon: 10,
|
||
locations: [
|
||
Location(Game.Red, [
|
||
GameRoute.RT25,
|
||
GameRoute.ViridianForest,
|
||
], Generation.One),
|
||
Location(Game.Blue, [
|
||
GameRoute.RT24,
|
||
GameRoute.RT25,
|
||
GameRoute.ViridianForest,
|
||
], Generation.One),
|
||
Location(Game.Yellow, [GameRoute.ViridianForest], Generation.One),
|
||
Location(Game.Gold, [
|
||
GameRoute.RT2,
|
||
GameRoute.RT26,
|
||
GameRoute.RT27,
|
||
GameRoute.RT30,
|
||
GameRoute.RT31,
|
||
GameRoute.RT34,
|
||
GameRoute.RT35,
|
||
GameRoute.RT36,
|
||
GameRoute.RT37,
|
||
GameRoute.RT38,
|
||
GameRoute.RT39,
|
||
GameRoute.AzaleaTown,
|
||
GameRoute.IlexForest,
|
||
GameRoute.LakeOfRage,
|
||
GameRoute.NationalPark,
|
||
], Generation.Two),
|
||
Location(Game.Silver, [GameRoute.NationalPark], Generation.Two),
|
||
Location(Game.Crystal, [
|
||
GameRoute.RT24,
|
||
GameRoute.RT25,
|
||
GameRoute.IlexForest,
|
||
GameRoute.NationalPark,
|
||
], Generation.Two),
|
||
Location(
|
||
Game.Ruby,
|
||
[GameRoute.TradeOrMigrate],
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire],
|
||
),
|
||
Location(
|
||
Game.FireRed,
|
||
[
|
||
GameRoute.RT24,
|
||
GameRoute.RT25,
|
||
GameRoute.PatternBush,
|
||
GameRoute.ViridianForest,
|
||
],
|
||
Generation.Three,
|
||
additionalGames: [Game.LeafGreen],
|
||
),
|
||
Location(Game.Emerald, [GameRoute.TradeOrMigrate], Generation.Three),
|
||
],
|
||
dexEntries: [
|
||
DexEntry(
|
||
Game.Red,
|
||
"This POKéMON is vulnerable to attack while its shell is soft, exposing its weak and tender body.",
|
||
Generation.One,
|
||
additionalGames: [Game.Blue],
|
||
),
|
||
DexEntry(
|
||
Game.Yellow,
|
||
"Hardens its shell to protect itself. However, a large impact may cause it to pop out of its shell.",
|
||
Generation.One,
|
||
),
|
||
DexEntry(
|
||
Game.Gold,
|
||
"Inside the shell, it is soft and weak as it prepares to evolve. It stays motionless in the shell.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Silver,
|
||
"It prepares for evolution by hardening its shell as much as possible to protect its soft body.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Crystal,
|
||
"This is its pre-evolved form. At this stage, it can only harden, so it remains motionless to avoid attack.",
|
||
Generation.Two,
|
||
),
|
||
DexEntry(
|
||
Game.Ruby,
|
||
"The shell covering this POKéMON’s body is as hard as an iron slab. METAPOD does not move very much. It stays still because it is preparing its soft innards for evolution inside the hard shell.",
|
||
Generation.Three,
|
||
additionalGames: [Game.Sapphire],
|
||
),
|
||
DexEntry(
|
||
Game.FireRed,
|
||
"Even though it is encased in a sturdy shell, the body inside is tender. It can’t withstand a harsh attack.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.LeafGreen,
|
||
"This POKéMON is vulnerable to attack while its shell is soft, exposing its weak and tender body.",
|
||
Generation.Three,
|
||
),
|
||
DexEntry(
|
||
Game.Emerald,
|
||
"Its shell is as hard as an iron slab. A METAPOD does not move very much because it is preparing its soft innards for evolution inside the shell.",
|
||
Generation.Three,
|
||
),
|
||
],
|
||
),
|
||
Butterfree(
|
||
12,
|
||
Generation.One,
|
||
[Type.Bug, Type.Flying],
|
||
null,
|
||
previousPokemon: 11,
|
||
),
|
||
Weedle(13, Generation.One, [Type.Bug, Type.Poison], SingleEvolution(14, 7)),
|
||
Kakuna(
|
||
14,
|
||
Generation.One,
|
||
[Type.Bug, Type.Poison],
|
||
SingleEvolution(15, 10),
|
||
previousPokemon: 13,
|
||
),
|
||
Beedrill(
|
||
15,
|
||
Generation.One,
|
||
[Type.Bug, Type.Poison],
|
||
null,
|
||
previousPokemon: 14,
|
||
),
|
||
Pidgey(16, Generation.One, [
|
||
Type.Normal,
|
||
Type.Flying,
|
||
], SingleEvolution(17, 18)),
|
||
Pidgeotto(
|
||
17,
|
||
Generation.One,
|
||
[Type.Normal, Type.Flying],
|
||
SingleEvolution(18, 36),
|
||
previousPokemon: 16,
|
||
),
|
||
Pidgeot(
|
||
18,
|
||
Generation.One,
|
||
[Type.Normal, Type.Flying],
|
||
null,
|
||
previousPokemon: 17,
|
||
),
|
||
Rattata(19, Generation.One, [Type.Normal], SingleEvolution(20, 20)),
|
||
Raticate(20, Generation.One, [Type.Normal], null, previousPokemon: 19),
|
||
Spearow(21, Generation.One, [
|
||
Type.Normal,
|
||
Type.Flying,
|
||
], SingleEvolution(22, 20)),
|
||
Fearow(
|
||
22,
|
||
Generation.One,
|
||
[Type.Normal, Type.Flying],
|
||
null,
|
||
previousPokemon: 21,
|
||
),
|
||
Ekans(23, Generation.One, [Type.Poison], SingleEvolution(24, 22)),
|
||
Arbok(24, Generation.One, [Type.Poison], null, previousPokemon: 23),
|
||
Pikachu(
|
||
25,
|
||
Generation.One,
|
||
[Type.Electric],
|
||
SingleEvolution(26, -1, condition: [EvolutionCondition.ThunderStone]),
|
||
previousPokemon: 172,
|
||
),
|
||
Raichu(26, Generation.One, [Type.Electric], null, previousPokemon: 25),
|
||
Sandshrew(27, Generation.One, [Type.Ground], SingleEvolution(28, 22)),
|
||
Sandslash(28, Generation.One, [Type.Ground], null, previousPokemon: 27),
|
||
NidoranF(29, Generation.One, [Type.Poison], SingleEvolution(30, 16)),
|
||
Nidorina(
|
||
30,
|
||
Generation.One,
|
||
[Type.Poison],
|
||
SingleEvolution(31, 36),
|
||
previousPokemon: 29,
|
||
),
|
||
NidoQueen(
|
||
31,
|
||
Generation.One,
|
||
[Type.Poison, Type.Ground],
|
||
null,
|
||
previousPokemon: 30,
|
||
),
|
||
NidoranM(32, Generation.One, [Type.Poison], SingleEvolution(33, 16)),
|
||
Nidorino(
|
||
33,
|
||
Generation.One,
|
||
[Type.Poison],
|
||
SingleEvolution(34, 36),
|
||
previousPokemon: 32,
|
||
),
|
||
NidoKing(
|
||
34,
|
||
Generation.One,
|
||
[Type.Poison, Type.Ground],
|
||
null,
|
||
previousPokemon: 33,
|
||
),
|
||
Clefairy(
|
||
35,
|
||
Generation.One,
|
||
[Type.Fairy],
|
||
SingleEvolution(36, -1, condition: [EvolutionCondition.MoonStone]),
|
||
previousPokemon: 173,
|
||
),
|
||
Clefable(36, Generation.One, [Type.Fairy], null, previousPokemon: 35),
|
||
Vulpix(
|
||
37,
|
||
Generation.One,
|
||
[Type.Fire],
|
||
SingleEvolution(38, -1, condition: [EvolutionCondition.FireStone]),
|
||
),
|
||
NineTales(38, Generation.One, [Type.Fire], null, previousPokemon: 37),
|
||
Jigglypuff(
|
||
39,
|
||
Generation.One,
|
||
[Type.Fairy],
|
||
SingleEvolution(40, -1, condition: [EvolutionCondition.MoonStone]),
|
||
previousPokemon: 174,
|
||
),
|
||
WigglyTuff(40, Generation.One, [Type.Fairy], null, previousPokemon: 39),
|
||
Zubat(41, Generation.One, [
|
||
Type.Poison,
|
||
Type.Flying,
|
||
], SingleEvolution(42, 22)),
|
||
Golbat(
|
||
42,
|
||
Generation.One,
|
||
[Type.Poison, Type.Flying],
|
||
SingleEvolution(169, -1, condition: [EvolutionCondition.HighFriendship]),
|
||
previousPokemon: 41,
|
||
),
|
||
Oddish(43, Generation.One, [
|
||
Type.Poison,
|
||
Type.Grass,
|
||
], SingleEvolution(44, 21)),
|
||
Gloom(
|
||
44,
|
||
Generation.One,
|
||
[Type.Poison, Type.Grass],
|
||
BranchedEvolution([45, 182], [-1, -1], [
|
||
[EvolutionCondition.LeafStone],
|
||
[EvolutionCondition.SunStone],
|
||
]),
|
||
previousPokemon: 43,
|
||
),
|
||
Vileplume(
|
||
45,
|
||
Generation.One,
|
||
[Type.Poison, Type.Grass],
|
||
null,
|
||
previousPokemon: 44,
|
||
),
|
||
Paras(46, Generation.One, [Type.Bug, Type.Grass], SingleEvolution(47, 24)),
|
||
Parasect(
|
||
47,
|
||
Generation.One,
|
||
[Type.Bug, Type.Grass],
|
||
null,
|
||
previousPokemon: 46,
|
||
),
|
||
Venonat(48, Generation.One, [Type.Bug, Type.Poison], SingleEvolution(49, 31)),
|
||
Venomoth(
|
||
49,
|
||
Generation.One,
|
||
[Type.Bug, Type.Poison],
|
||
null,
|
||
previousPokemon: 48,
|
||
),
|
||
Diglett(50, Generation.One, [Type.Ground], SingleEvolution(51, 26)),
|
||
Dugtrio(51, Generation.One, [Type.Ground], null, previousPokemon: 50),
|
||
Meowth(52, Generation.One, [Type.Normal], SingleEvolution(53, 28)),
|
||
Persian(53, Generation.One, [Type.Normal], null, previousPokemon: 52),
|
||
Psyduck(54, Generation.One, [Type.Water], SingleEvolution(55, 33)),
|
||
Golduck(55, Generation.One, [Type.Water], null, previousPokemon: 54),
|
||
Mankey(56, Generation.One, [Type.Fighting], SingleEvolution(57, 28)),
|
||
Primeape(57, Generation.One, [Type.Fighting], null, previousPokemon: 56),
|
||
Growlithe(
|
||
58,
|
||
Generation.One,
|
||
[Type.Fire],
|
||
SingleEvolution(59, -1, condition: [EvolutionCondition.FireStone]),
|
||
),
|
||
Arcanine(59, Generation.One, [Type.Fire], null, previousPokemon: 58),
|
||
Poliwag(60, Generation.One, [Type.Water], SingleEvolution(61, 25)),
|
||
Poliwhirl(
|
||
61,
|
||
Generation.One,
|
||
[Type.Water],
|
||
BranchedEvolution([62, 186], [-1, -1], [
|
||
[EvolutionCondition.WaterStone],
|
||
[
|
||
EvolutionCondition.Trading,
|
||
EvolutionCondition.Holding,
|
||
EvolutionCondition.KingsRock,
|
||
],
|
||
]),
|
||
previousPokemon: 60,
|
||
),
|
||
Poliwrath(62, Generation.One, [Type.Water], null, previousPokemon: 61),
|
||
Abra(63, Generation.One, [Type.Psychic], SingleEvolution(64, 16)),
|
||
Kadabra(
|
||
64,
|
||
Generation.One,
|
||
[Type.Psychic],
|
||
SingleEvolution(65, -1, condition: [EvolutionCondition.Trading]),
|
||
previousPokemon: 63,
|
||
),
|
||
Alakazam(65, Generation.One, [Type.Psychic], null, previousPokemon: 64),
|
||
Machop(66, Generation.One, [Type.Fighting], SingleEvolution(67, 28)),
|
||
Machoke(
|
||
67,
|
||
Generation.One,
|
||
[Type.Fighting],
|
||
SingleEvolution(68, -1, condition: [EvolutionCondition.Trading]),
|
||
previousPokemon: 66,
|
||
),
|
||
Machamp(68, Generation.One, [Type.Fighting], null, previousPokemon: 67),
|
||
Bellsprout(69, Generation.One, [
|
||
Type.Grass,
|
||
Type.Poison,
|
||
], SingleEvolution(70, 21)),
|
||
Weepinbell(
|
||
70,
|
||
Generation.One,
|
||
[Type.Grass, Type.Poison],
|
||
SingleEvolution(71, -1, condition: [EvolutionCondition.LeafStone]),
|
||
previousPokemon: 69,
|
||
),
|
||
Victreebel(
|
||
71,
|
||
Generation.One,
|
||
[Type.Grass, Type.Poison],
|
||
null,
|
||
previousPokemon: 70,
|
||
),
|
||
Tentacool(72, Generation.One, [
|
||
Type.Water,
|
||
Type.Poison,
|
||
], SingleEvolution(73, 30)),
|
||
Tentacruel(
|
||
73,
|
||
Generation.One,
|
||
[Type.Water, Type.Poison],
|
||
null,
|
||
previousPokemon: 72,
|
||
),
|
||
Geodude(74, Generation.One, [
|
||
Type.Rock,
|
||
Type.Ground,
|
||
], SingleEvolution(75, 25)),
|
||
Graveler(
|
||
75,
|
||
Generation.One,
|
||
[Type.Rock, Type.Ground],
|
||
SingleEvolution(76, -1, condition: [EvolutionCondition.Trading]),
|
||
previousPokemon: 74,
|
||
),
|
||
Golem(
|
||
76,
|
||
Generation.One,
|
||
[Type.Rock, Type.Ground],
|
||
null,
|
||
previousPokemon: 75,
|
||
),
|
||
Ponyta(77, Generation.One, [Type.Fire], SingleEvolution(78, 40)),
|
||
Rapidash(78, Generation.One, [Type.Fire], null, previousPokemon: 77),
|
||
Slowpoke(
|
||
79,
|
||
Generation.One,
|
||
[Type.Water, Type.Psychic],
|
||
BranchedEvolution([80, 199], [37, -1], [
|
||
[],
|
||
[
|
||
EvolutionCondition.Trading,
|
||
EvolutionCondition.Holding,
|
||
EvolutionCondition.KingsRock,
|
||
],
|
||
]),
|
||
),
|
||
Slowbro(
|
||
80,
|
||
Generation.One,
|
||
[Type.Water, Type.Psychic],
|
||
null,
|
||
previousPokemon: 79,
|
||
),
|
||
Magnemite(81, Generation.One, [
|
||
Type.Electric,
|
||
Type.Steel,
|
||
], SingleEvolution(82, 30)),
|
||
Magneton(
|
||
82,
|
||
Generation.One,
|
||
[Type.Electric, Type.Steel],
|
||
null,
|
||
previousPokemon: 81,
|
||
),
|
||
Farfetchd(
|
||
83,
|
||
Generation.One,
|
||
[Type.Fighting],
|
||
null,
|
||
properName: "Farfetch'd",
|
||
),
|
||
Doduo(84, Generation.One, [
|
||
Type.Normal,
|
||
Type.Flying,
|
||
], SingleEvolution(85, 31)),
|
||
Dodrio(
|
||
85,
|
||
Generation.One,
|
||
[Type.Normal, Type.Flying],
|
||
null,
|
||
previousPokemon: 84,
|
||
),
|
||
Seel(86, Generation.One, [Type.Water], SingleEvolution(87, 34)),
|
||
Dewgong(
|
||
87,
|
||
Generation.One,
|
||
[Type.Water, Type.Ice],
|
||
null,
|
||
previousPokemon: 86,
|
||
),
|
||
Grimer(88, Generation.One, [Type.Poison], SingleEvolution(89, 38)),
|
||
Muk(89, Generation.One, [Type.Poison], null, previousPokemon: 88),
|
||
Shellder(
|
||
90,
|
||
Generation.One,
|
||
[Type.Water],
|
||
SingleEvolution(91, -1, condition: [EvolutionCondition.WaterStone]),
|
||
),
|
||
Cloyster(
|
||
91,
|
||
Generation.One,
|
||
[Type.Water, Type.Ice],
|
||
null,
|
||
previousPokemon: 90,
|
||
),
|
||
Gastly(92, Generation.One, [
|
||
Type.Ghost,
|
||
Type.Poison,
|
||
], SingleEvolution(93, 25)),
|
||
Haunter(
|
||
93,
|
||
Generation.One,
|
||
[Type.Ghost, Type.Poison],
|
||
SingleEvolution(94, -1, condition: [EvolutionCondition.Trading]),
|
||
previousPokemon: 92,
|
||
),
|
||
Gengar(
|
||
94,
|
||
Generation.One,
|
||
[Type.Ghost, Type.Poison],
|
||
null,
|
||
previousPokemon: 93,
|
||
),
|
||
Onix(
|
||
95,
|
||
Generation.One,
|
||
[Type.Rock, Type.Ground],
|
||
SingleEvolution(
|
||
208,
|
||
-1,
|
||
condition: [
|
||
EvolutionCondition.Trading,
|
||
EvolutionCondition.Holding,
|
||
EvolutionCondition.MetalCoat,
|
||
],
|
||
),
|
||
),
|
||
Drowzee(96, Generation.One, [Type.Psychic], SingleEvolution(97, 26)),
|
||
Hypno(97, Generation.One, [Type.Psychic], null, previousPokemon: 96),
|
||
Krabby(98, Generation.One, [Type.Water], SingleEvolution(99, 28)),
|
||
Kingler(99, Generation.One, [Type.Water], null, previousPokemon: 98),
|
||
Voltorb(100, Generation.One, [Type.Electric], SingleEvolution(101, 30)),
|
||
Electrode(101, Generation.One, [Type.Electric], null, previousPokemon: 100),
|
||
Exeggcute(
|
||
102,
|
||
Generation.One,
|
||
[Type.Grass, Type.Psychic],
|
||
SingleEvolution(103, -1, condition: [EvolutionCondition.LeafStone]),
|
||
),
|
||
Exeggutor(
|
||
103,
|
||
Generation.One,
|
||
[Type.Grass, Type.Psychic],
|
||
null,
|
||
previousPokemon: 102,
|
||
),
|
||
Cubone(
|
||
104,
|
||
Generation.One,
|
||
[Type.Ground],
|
||
SingleEvolution(105, 28, condition: [EvolutionCondition.OutsideAlola]),
|
||
),
|
||
Marowak(105, Generation.One, [Type.Ground], null, previousPokemon: 104),
|
||
Hitmonlee(106, Generation.One, [Type.Fighting], null, previousPokemon: 236),
|
||
Hitmonchan(107, Generation.One, [Type.Fighting], null, previousPokemon: 236),
|
||
Lickitung(108, Generation.One, [Type.Normal], null),
|
||
Koffing(
|
||
109,
|
||
Generation.One,
|
||
[Type.Poison],
|
||
SingleEvolution(110, 35, condition: [EvolutionCondition.OutsideGalar]),
|
||
),
|
||
Weezing(110, Generation.One, [Type.Poison], null, previousPokemon: 109),
|
||
Rhyhorn(111, Generation.One, [
|
||
Type.Ground,
|
||
Type.Rock,
|
||
], SingleEvolution(112, 42)),
|
||
Rhydon(
|
||
112,
|
||
Generation.One,
|
||
[Type.Ground, Type.Rock],
|
||
null,
|
||
previousPokemon: 111,
|
||
),
|
||
Chansey(
|
||
113,
|
||
Generation.One,
|
||
[Type.Normal],
|
||
SingleEvolution(242, -1, condition: [EvolutionCondition.HighFriendship]),
|
||
),
|
||
Tangela(114, Generation.One, [Type.Grass], null),
|
||
Kangaskhan(115, Generation.One, [Type.Normal], null),
|
||
Horsea(116, Generation.One, [Type.Water], SingleEvolution(117, 32)),
|
||
Seadra(
|
||
117,
|
||
Generation.One,
|
||
[Type.Water],
|
||
SingleEvolution(
|
||
230,
|
||
-1,
|
||
condition: [
|
||
EvolutionCondition.Trading,
|
||
EvolutionCondition.Holding,
|
||
EvolutionCondition.DragonScale,
|
||
],
|
||
),
|
||
previousPokemon: 116,
|
||
),
|
||
Goldeen(118, Generation.One, [Type.Water], SingleEvolution(119, 33)),
|
||
Seaking(119, Generation.One, [Type.Water], null, previousPokemon: 118),
|
||
Staryu(
|
||
120,
|
||
Generation.One,
|
||
[Type.Water],
|
||
SingleEvolution(121, -1, condition: [EvolutionCondition.WaterStone]),
|
||
),
|
||
Starmie(121, Generation.One, [Type.Water, Type.Psychic], null),
|
||
MrMime(
|
||
122,
|
||
Generation.One,
|
||
[Type.Psychic, Type.Fairy],
|
||
null,
|
||
properName: "Mr. Mime",
|
||
previousPokemon: 120,
|
||
),
|
||
Scyther(
|
||
123,
|
||
Generation.One,
|
||
[Type.Bug, Type.Flying],
|
||
BranchedEvolution([212, 900], [-1, -1], [
|
||
[
|
||
EvolutionCondition.Trading,
|
||
EvolutionCondition.Holding,
|
||
EvolutionCondition.MetalCoat,
|
||
],
|
||
[EvolutionCondition.BlackAugurite],
|
||
]),
|
||
),
|
||
Jynx(
|
||
124,
|
||
Generation.One,
|
||
[Type.Ice, Type.Psychic],
|
||
null,
|
||
previousPokemon: 238,
|
||
),
|
||
Electabuzz(125, Generation.One, [Type.Electric], null, previousPokemon: 239),
|
||
Magmar(126, Generation.One, [Type.Fire], null, previousPokemon: 240),
|
||
Pinsir(127, Generation.One, [Type.Bug], null),
|
||
Tauros(128, Generation.One, [Type.Normal], null),
|
||
Magikarp(129, Generation.One, [Type.Water], SingleEvolution(130, 20)),
|
||
Gyarados(
|
||
130,
|
||
Generation.One,
|
||
[Type.Water, Type.Flying],
|
||
null,
|
||
previousPokemon: 129,
|
||
),
|
||
Lapras(131, Generation.One, [Type.Water, Type.Ice], null),
|
||
Ditto(132, Generation.One, [Type.Normal], null),
|
||
Eevee(
|
||
133,
|
||
Generation.One,
|
||
[Type.Normal],
|
||
BranchedEvolution([134, 135, 136, 196, 197], [-1, -1, -1, -1, -1], [
|
||
[EvolutionCondition.WaterStone],
|
||
[EvolutionCondition.ThunderStone],
|
||
[EvolutionCondition.FireStone],
|
||
[EvolutionCondition.Day, EvolutionCondition.HighFriendship],
|
||
[EvolutionCondition.Night, EvolutionCondition.HighFriendship],
|
||
]),
|
||
),
|
||
Vaporeon(134, Generation.One, [Type.Water], null, previousPokemon: 133),
|
||
Jolteon(135, Generation.One, [Type.Electric], null, previousPokemon: 133),
|
||
Flareon(136, Generation.One, [Type.Fire], null, previousPokemon: 133),
|
||
Porygon(
|
||
137,
|
||
Generation.One,
|
||
[Type.Normal],
|
||
SingleEvolution(
|
||
233,
|
||
-1,
|
||
condition: [
|
||
EvolutionCondition.Trading,
|
||
EvolutionCondition.Holding,
|
||
EvolutionCondition.Upgrade,
|
||
],
|
||
),
|
||
),
|
||
Omanyte(138, Generation.One, [
|
||
Type.Rock,
|
||
Type.Water,
|
||
], SingleEvolution(139, 40)),
|
||
Omastar(
|
||
139,
|
||
Generation.One,
|
||
[Type.Rock, Type.Water],
|
||
null,
|
||
previousPokemon: 138,
|
||
),
|
||
Kabuto(140, Generation.One, [
|
||
Type.Rock,
|
||
Type.Water,
|
||
], SingleEvolution(141, 40)),
|
||
Kabutops(
|
||
141,
|
||
Generation.One,
|
||
[Type.Rock, Type.Water],
|
||
null,
|
||
previousPokemon: 140,
|
||
),
|
||
Aerodactyl(142, Generation.One, [Type.Rock, Type.Flying], null),
|
||
Snorlax(143, Generation.One, [Type.Normal], null),
|
||
Articuno(144, Generation.One, [Type.Ice, Type.Flying], null),
|
||
Zapdos(145, Generation.One, [Type.Electric, Type.Flying], null),
|
||
Moltres(146, Generation.One, [Type.Fire, Type.Flying], null),
|
||
Dratini(147, Generation.One, [Type.Dragon], SingleEvolution(148, 30)),
|
||
Dragonair(
|
||
148,
|
||
Generation.One,
|
||
[Type.Dragon],
|
||
SingleEvolution(149, 55),
|
||
previousPokemon: 147,
|
||
),
|
||
Dragonite(
|
||
149,
|
||
Generation.One,
|
||
[Type.Dragon, Type.Flying],
|
||
null,
|
||
previousPokemon: 148,
|
||
),
|
||
Mewtwo(150, Generation.One, [Type.Psychic], null),
|
||
Mew(151, Generation.One, [Type.Psychic], null),
|
||
Chikorita(152, Generation.Two, [Type.Grass], SingleEvolution(153, 16)),
|
||
Bayleef(
|
||
153,
|
||
Generation.Two,
|
||
[Type.Grass],
|
||
SingleEvolution(154, 32),
|
||
previousPokemon: 152,
|
||
),
|
||
Meganium(154, Generation.Two, [Type.Grass], null, previousPokemon: 153),
|
||
Cyndaquil(155, Generation.Two, [Type.Fire], SingleEvolution(156, 14)),
|
||
Quilava(
|
||
156,
|
||
Generation.Two,
|
||
[Type.Fire],
|
||
SingleEvolution(157, 36),
|
||
previousPokemon: 155,
|
||
),
|
||
Typhlosion(157, Generation.Two, [Type.Fire], null, previousPokemon: 156),
|
||
Totodile(158, Generation.Two, [Type.Water], SingleEvolution(159, 18)),
|
||
Croconaw(
|
||
159,
|
||
Generation.Two,
|
||
[Type.Water],
|
||
SingleEvolution(160, 30),
|
||
previousPokemon: 158,
|
||
),
|
||
Feraligatr(160, Generation.Two, [Type.Water], null, previousPokemon: 159),
|
||
Sentret(161, Generation.Two, [Type.Normal], SingleEvolution(162, 15)),
|
||
Furret(162, Generation.Two, [Type.Normal], null, previousPokemon: 161),
|
||
Hoothoot(163, Generation.Two, [
|
||
Type.Normal,
|
||
Type.Flying,
|
||
], SingleEvolution(164, 20)),
|
||
Noctowl(
|
||
164,
|
||
Generation.Two,
|
||
[Type.Normal, Type.Flying],
|
||
null,
|
||
previousPokemon: 163,
|
||
),
|
||
Ledyba(165, Generation.Two, [
|
||
Type.Bug,
|
||
Type.Flying,
|
||
], SingleEvolution(166, 18)),
|
||
Ledian(
|
||
166,
|
||
Generation.Two,
|
||
[Type.Bug, Type.Flying],
|
||
null,
|
||
previousPokemon: 165,
|
||
),
|
||
Spinarak(167, Generation.Two, [
|
||
Type.Bug,
|
||
Type.Poison,
|
||
], SingleEvolution(168, 22)),
|
||
Ariados(
|
||
168,
|
||
Generation.Two,
|
||
[Type.Bug, Type.Poison],
|
||
null,
|
||
previousPokemon: 167,
|
||
),
|
||
Crobat(
|
||
169,
|
||
Generation.Two,
|
||
[Type.Poison, Type.Flying],
|
||
null,
|
||
previousPokemon: 42,
|
||
),
|
||
Chinchou(170, Generation.Two, [
|
||
Type.Water,
|
||
Type.Electric,
|
||
], SingleEvolution(171, 27)),
|
||
Lanturn(
|
||
171,
|
||
Generation.Two,
|
||
[Type.Water, Type.Electric],
|
||
null,
|
||
previousPokemon: 170,
|
||
),
|
||
Pichu(
|
||
172,
|
||
Generation.Two,
|
||
[Type.Electric],
|
||
SingleEvolution(25, -1, condition: [EvolutionCondition.HighFriendship]),
|
||
),
|
||
Cleffa(
|
||
173,
|
||
Generation.Two,
|
||
[Type.Fairy],
|
||
SingleEvolution(35, -1, condition: [EvolutionCondition.HighFriendship]),
|
||
),
|
||
Igglybuff(
|
||
174,
|
||
Generation.Two,
|
||
[Type.Normal, Type.Fairy],
|
||
SingleEvolution(39, -1, condition: [EvolutionCondition.HighFriendship]),
|
||
),
|
||
Togepi(
|
||
175,
|
||
Generation.Two,
|
||
[Type.Fairy],
|
||
SingleEvolution(176, -1, condition: [EvolutionCondition.HighFriendship]),
|
||
),
|
||
Togetic(
|
||
176,
|
||
Generation.Two,
|
||
[Type.Fairy, Type.Flying],
|
||
null,
|
||
previousPokemon: 175,
|
||
),
|
||
Natu(177, Generation.Two, [
|
||
Type.Psychic,
|
||
Type.Flying,
|
||
], SingleEvolution(178, 25)),
|
||
Xatu(
|
||
178,
|
||
Generation.Two,
|
||
[Type.Psychic, Type.Flying],
|
||
null,
|
||
previousPokemon: 177,
|
||
),
|
||
Mareep(179, Generation.Two, [Type.Electric], SingleEvolution(180, 15)),
|
||
Flaaffy(
|
||
180,
|
||
Generation.Two,
|
||
[Type.Electric],
|
||
SingleEvolution(181, 30),
|
||
previousPokemon: 179,
|
||
),
|
||
Ampharos(181, Generation.Two, [Type.Electric], null, previousPokemon: 180),
|
||
Bellossom(182, Generation.Two, [Type.Grass], null, previousPokemon: 44),
|
||
Marill(
|
||
183,
|
||
Generation.Two,
|
||
[Type.Water, Type.Fairy],
|
||
SingleEvolution(184, 18),
|
||
previousPokemon: 298,
|
||
),
|
||
Azumarill(
|
||
184,
|
||
Generation.Two,
|
||
[Type.Water, Type.Fairy],
|
||
null,
|
||
previousPokemon: 183,
|
||
),
|
||
Sudowoodo(185, Generation.Two, [Type.Rock], null, previousPokemon: 438),
|
||
Politoed(186, Generation.Two, [Type.Water], null, previousPokemon: 61),
|
||
Hoppip(187, Generation.Two, [
|
||
Type.Grass,
|
||
Type.Flying,
|
||
], SingleEvolution(188, 18)),
|
||
Skiploom(
|
||
188,
|
||
Generation.Two,
|
||
[Type.Grass, Type.Flying],
|
||
SingleEvolution(189, 27),
|
||
previousPokemon: 187,
|
||
),
|
||
Jumpluff(
|
||
189,
|
||
Generation.Two,
|
||
[Type.Grass, Type.Flying],
|
||
null,
|
||
previousPokemon: 188,
|
||
),
|
||
Aipom(190, Generation.Two, [Type.Normal], null),
|
||
Sunkern(
|
||
191,
|
||
Generation.Two,
|
||
[Type.Grass],
|
||
SingleEvolution(192, -1, condition: [EvolutionCondition.SunStone]),
|
||
),
|
||
Sunflora(192, Generation.Two, [Type.Grass], null, previousPokemon: 191),
|
||
Yanma(193, Generation.Two, [Type.Bug, Type.Flying], null),
|
||
Wooper(194, Generation.Two, [
|
||
Type.Water,
|
||
Type.Ground,
|
||
], SingleEvolution(195, 20)),
|
||
Quagsire(
|
||
195,
|
||
Generation.Two,
|
||
[Type.Water, Type.Ground],
|
||
null,
|
||
previousPokemon: 194,
|
||
),
|
||
Espeon(196, Generation.Two, [Type.Psychic], null, previousPokemon: 133),
|
||
Umbreon(197, Generation.Two, [Type.Dark], null, previousPokemon: 133),
|
||
Murkrow(198, Generation.Two, [Type.Dark, Type.Flying], null),
|
||
Slowking(
|
||
199,
|
||
Generation.Two,
|
||
[Type.Water, Type.Psychic],
|
||
null,
|
||
previousPokemon: 79,
|
||
),
|
||
Misdreavus(200, Generation.Two, [Type.Ghost], null),
|
||
Unown(201, Generation.Two, [Type.Psychic], null, extraVariants: ["abc"]),
|
||
Wobbuffet(202, Generation.Two, [Type.Psychic], null, previousPokemon: 360),
|
||
Girafarig(203, Generation.Two, [Type.Normal, Type.Psychic], null),
|
||
Pineco(204, Generation.Two, [Type.Bug], SingleEvolution(205, 31)),
|
||
Forretress(
|
||
205,
|
||
Generation.Two,
|
||
[Type.Bug, Type.Steel],
|
||
null,
|
||
previousPokemon: 204,
|
||
),
|
||
Dunsparce(206, Generation.Two, [Type.Normal], null),
|
||
Gligar(207, Generation.Two, [Type.Ground, Type.Flying], null),
|
||
Steelix(
|
||
208,
|
||
Generation.Two,
|
||
[Type.Steel, Type.Ground],
|
||
null,
|
||
previousPokemon: 95,
|
||
),
|
||
Snubbull(209, Generation.Two, [Type.Fairy], SingleEvolution(210, 23)),
|
||
Granbull(210, Generation.Two, [Type.Fairy], null, previousPokemon: 209),
|
||
Qwilfish(211, Generation.Two, [Type.Dark, Type.Poison], null),
|
||
Scizor(
|
||
212,
|
||
Generation.Two,
|
||
[Type.Bug, Type.Steel],
|
||
null,
|
||
previousPokemon: 123,
|
||
),
|
||
Shuckle(213, Generation.Two, [Type.Bug, Type.Rock], null),
|
||
Heracross(214, Generation.Two, [Type.Bug, Type.Fighting], null),
|
||
Sneasel(215, Generation.Two, [Type.Dark, Type.Ice], null),
|
||
Teddiursa(216, Generation.Two, [Type.Normal], SingleEvolution(217, 30)),
|
||
Ursaring(217, Generation.Two, [Type.Normal], null, previousPokemon: 216),
|
||
Slugma(218, Generation.Two, [Type.Fire], SingleEvolution(219, 38)),
|
||
Magcargo(219, Generation.Two, [Type.Fire], null, previousPokemon: 218),
|
||
Swinub(220, Generation.Two, [
|
||
Type.Ice,
|
||
Type.Ground,
|
||
], SingleEvolution(221, 33)),
|
||
Piloswine(
|
||
221,
|
||
Generation.Two,
|
||
[Type.Ice, Type.Ground],
|
||
null,
|
||
previousPokemon: 220,
|
||
),
|
||
Corsola(222, Generation.Two, [Type.Ghost], null),
|
||
Remoraid(223, Generation.Two, [Type.Water], SingleEvolution(224, 25)),
|
||
Octillery(224, Generation.Two, [Type.Water], null, previousPokemon: 223),
|
||
Delibird(225, Generation.Two, [Type.Ice, Type.Flying], null),
|
||
Mantine(
|
||
226,
|
||
Generation.Two,
|
||
[Type.Water, Type.Flying],
|
||
null,
|
||
previousPokemon: 458,
|
||
),
|
||
Skarmory(227, Generation.Two, [Type.Steel, Type.Flying], null),
|
||
Houndour(228, Generation.Two, [
|
||
Type.Dark,
|
||
Type.Fire,
|
||
], SingleEvolution(229, 24)),
|
||
Houndoom(
|
||
229,
|
||
Generation.Two,
|
||
[Type.Dark, Type.Fire],
|
||
null,
|
||
previousPokemon: 228,
|
||
),
|
||
Kingdra(
|
||
230,
|
||
Generation.Two,
|
||
[Type.Water, Type.Dragon],
|
||
null,
|
||
previousPokemon: 117,
|
||
),
|
||
Phanpy(231, Generation.Two, [Type.Ground], SingleEvolution(232, 25)),
|
||
Donphan(232, Generation.Two, [Type.Ground], null, previousPokemon: 231),
|
||
Porygon2(233, Generation.Two, [Type.Normal], null, previousPokemon: 137),
|
||
Stantler(234, Generation.Two, [Type.Normal], null),
|
||
Smeargle(235, Generation.Two, [Type.Normal], null),
|
||
Tyrogue(
|
||
236,
|
||
Generation.Two,
|
||
[Type.Fighting],
|
||
BranchedEvolution([106, 107, 237], [20, 20, 20], [
|
||
[EvolutionCondition.AttackGreaterThanDefense],
|
||
[EvolutionCondition.AttackLessThanDefense],
|
||
[EvolutionCondition.AttackEqualDefense],
|
||
]),
|
||
),
|
||
Hitmontop(237, Generation.Two, [Type.Fighting], null, previousPokemon: 236),
|
||
Smoochum(238, Generation.Two, [
|
||
Type.Ice,
|
||
Type.Psychic,
|
||
], SingleEvolution(124, 30)),
|
||
Elekid(239, Generation.Two, [Type.Electric], SingleEvolution(125, 30)),
|
||
Magby(240, Generation.Two, [Type.Fire], SingleEvolution(126, 30)),
|
||
Miltank(241, Generation.Two, [Type.Normal], null),
|
||
Blissey(242, Generation.Two, [Type.Normal], null, previousPokemon: 113),
|
||
Raikou(243, Generation.Two, [Type.Electric], null),
|
||
Entei(244, Generation.Two, [Type.Fire], null),
|
||
Suicune(245, Generation.Two, [Type.Water], null),
|
||
Larvitar(246, Generation.Two, [
|
||
Type.Rock,
|
||
Type.Ground,
|
||
], SingleEvolution(247, 30)),
|
||
Pupitar(
|
||
247,
|
||
Generation.Two,
|
||
[Type.Rock, Type.Ground],
|
||
SingleEvolution(248, 55),
|
||
previousPokemon: 246,
|
||
),
|
||
Tyranitar(
|
||
248,
|
||
Generation.Two,
|
||
[Type.Rock, Type.Dark],
|
||
null,
|
||
previousPokemon: 247,
|
||
),
|
||
Lugia(249, Generation.Two, [Type.Psychic, Type.Flying], null),
|
||
Hooh(
|
||
250,
|
||
Generation.Two,
|
||
[Type.Fire, Type.Flying],
|
||
null,
|
||
properName: "Ho-Oh",
|
||
),
|
||
Celebi(251, Generation.Two, [Type.Psychic, Type.Grass], null),
|
||
Treecko(252, Generation.Three, [Type.Grass], SingleEvolution(253, 16)),
|
||
Grovyle(
|
||
253,
|
||
Generation.Three,
|
||
[Type.Grass],
|
||
SingleEvolution(254, 36),
|
||
previousPokemon: 252,
|
||
),
|
||
Sceptile(254, Generation.Three, [Type.Grass], null, previousPokemon: 253),
|
||
Torchic(255, Generation.Three, [Type.Fire], SingleEvolution(256, 16)),
|
||
Combusken(
|
||
256,
|
||
Generation.Three,
|
||
[Type.Fire, Type.Fighting],
|
||
SingleEvolution(257, 36),
|
||
previousPokemon: 255,
|
||
),
|
||
Blaziken(
|
||
257,
|
||
Generation.Three,
|
||
[Type.Fire, Type.Fighting],
|
||
null,
|
||
previousPokemon: 256,
|
||
),
|
||
Mudkip(258, Generation.Three, [Type.Water], SingleEvolution(259, 16)),
|
||
Marshtomp(
|
||
259,
|
||
Generation.Three,
|
||
[Type.Water, Type.Ground],
|
||
SingleEvolution(260, 36),
|
||
previousPokemon: 258,
|
||
),
|
||
Swampert(
|
||
260,
|
||
Generation.Three,
|
||
[Type.Water, Type.Ground],
|
||
null,
|
||
previousPokemon: 259,
|
||
),
|
||
Poochyena(261, Generation.Three, [Type.Dark], SingleEvolution(262, 18)),
|
||
Mightyena(262, Generation.Three, [Type.Dark], null, previousPokemon: 261),
|
||
Zigzagoon(263, Generation.Three, [Type.Normal], SingleEvolution(264, 20)),
|
||
Linoone(264, Generation.Three, [Type.Normal], null, previousPokemon: 263),
|
||
Wurmple(
|
||
265,
|
||
Generation.Three,
|
||
[Type.Bug],
|
||
BranchedEvolution([266, 268], [7, 7], [
|
||
[EvolutionCondition.Random, EvolutionCondition.Personality],
|
||
[EvolutionCondition.Random, EvolutionCondition.Personality],
|
||
]),
|
||
),
|
||
Silcoon(
|
||
266,
|
||
Generation.Three,
|
||
[Type.Bug],
|
||
SingleEvolution(267, 10),
|
||
previousPokemon: 265,
|
||
),
|
||
Beautifly(
|
||
267,
|
||
Generation.Three,
|
||
[Type.Bug, Type.Flying],
|
||
null,
|
||
previousPokemon: 266,
|
||
),
|
||
Cascoon(
|
||
268,
|
||
Generation.Three,
|
||
[Type.Bug],
|
||
SingleEvolution(269, 10),
|
||
previousPokemon: 265,
|
||
),
|
||
Dustox(
|
||
269,
|
||
Generation.Three,
|
||
[Type.Bug, Type.Poison],
|
||
null,
|
||
previousPokemon: 268,
|
||
),
|
||
Lotad(270, Generation.Three, [
|
||
Type.Water,
|
||
Type.Grass,
|
||
], SingleEvolution(271, 14)),
|
||
Lombre(
|
||
271,
|
||
Generation.Three,
|
||
[Type.Water, Type.Grass],
|
||
SingleEvolution(272, -1, condition: [EvolutionCondition.WaterStone]),
|
||
previousPokemon: 270,
|
||
),
|
||
Ludicolo(
|
||
272,
|
||
Generation.Three,
|
||
[Type.Water, Type.Grass],
|
||
null,
|
||
previousPokemon: 271,
|
||
),
|
||
Seedot(273, Generation.Three, [Type.Grass], SingleEvolution(274, 14)),
|
||
Nuzleaf(
|
||
274,
|
||
Generation.Three,
|
||
[Type.Grass, Type.Dark],
|
||
SingleEvolution(275, -1, condition: [EvolutionCondition.LeafStone]),
|
||
previousPokemon: 273,
|
||
),
|
||
Shiftry(
|
||
275,
|
||
Generation.Three,
|
||
[Type.Grass, Type.Dark],
|
||
null,
|
||
previousPokemon: 274,
|
||
),
|
||
Taillow(276, Generation.Three, [
|
||
Type.Normal,
|
||
Type.Flying,
|
||
], SingleEvolution(277, 22)),
|
||
Swellow(
|
||
277,
|
||
Generation.Three,
|
||
[Type.Normal, Type.Flying],
|
||
null,
|
||
previousPokemon: 276,
|
||
),
|
||
Wingull(278, Generation.Three, [
|
||
Type.Water,
|
||
Type.Flying,
|
||
], SingleEvolution(279, 25)),
|
||
Pelipper(
|
||
279,
|
||
Generation.Three,
|
||
[Type.Water, Type.Flying],
|
||
null,
|
||
previousPokemon: 278,
|
||
),
|
||
Ralts(280, Generation.Three, [
|
||
Type.Psychic,
|
||
Type.Fairy,
|
||
], SingleEvolution(281, 20)),
|
||
Kirlia(
|
||
281,
|
||
Generation.Three,
|
||
[Type.Psychic, Type.Fairy],
|
||
SingleEvolution(282, 30),
|
||
previousPokemon: 280,
|
||
),
|
||
Gardevoir(
|
||
282,
|
||
Generation.Three,
|
||
[Type.Psychic, Type.Fairy],
|
||
null,
|
||
previousPokemon: 281,
|
||
),
|
||
Surskit(283, Generation.Three, [
|
||
Type.Bug,
|
||
Type.Water,
|
||
], SingleEvolution(284, 22)),
|
||
Masquerain(
|
||
284,
|
||
Generation.Three,
|
||
[Type.Bug, Type.Flying],
|
||
null,
|
||
previousPokemon: 283,
|
||
),
|
||
Shroomish(285, Generation.Three, [Type.Grass], SingleEvolution(286, 23)),
|
||
Breloom(
|
||
286,
|
||
Generation.Three,
|
||
[Type.Grass, Type.Fighting],
|
||
null,
|
||
previousPokemon: 285,
|
||
),
|
||
Slakoth(287, Generation.Three, [Type.Normal], SingleEvolution(288, 18)),
|
||
Vigoroth(
|
||
288,
|
||
Generation.Three,
|
||
[Type.Normal],
|
||
SingleEvolution(289, 36),
|
||
previousPokemon: 287,
|
||
),
|
||
Slaking(289, Generation.Three, [Type.Normal], null, previousPokemon: 288),
|
||
Nincada(
|
||
290,
|
||
Generation.Three,
|
||
[Type.Bug, Type.Ground],
|
||
BranchedEvolution([291, 292], [20, 20], [
|
||
[],
|
||
[EvolutionCondition.EmptySlot, EvolutionCondition.PokeballInBag],
|
||
]),
|
||
),
|
||
Ninjask(
|
||
291,
|
||
Generation.Three,
|
||
[Type.Bug, Type.Flying],
|
||
null,
|
||
previousPokemon: 290,
|
||
),
|
||
Shedinja(
|
||
292,
|
||
Generation.Three,
|
||
[Type.Bug, Type.Ghost],
|
||
null,
|
||
previousPokemon: 290,
|
||
),
|
||
Whismur(293, Generation.Three, [Type.Normal], SingleEvolution(294, 20)),
|
||
Loudred(
|
||
294,
|
||
Generation.Three,
|
||
[Type.Normal],
|
||
SingleEvolution(295, 40),
|
||
previousPokemon: 293,
|
||
),
|
||
Exploud(295, Generation.Three, [Type.Normal], null, previousPokemon: 294),
|
||
Makuhita(296, Generation.Three, [Type.Fighting], SingleEvolution(297, 24)),
|
||
Hariyama(297, Generation.Three, [Type.Fighting], null, previousPokemon: 296),
|
||
Azurill(
|
||
298,
|
||
Generation.Three,
|
||
[Type.Normal, Type.Fairy],
|
||
SingleEvolution(183, -1, condition: [EvolutionCondition.HighFriendship]),
|
||
),
|
||
Nosepass(299, Generation.Three, [Type.Rock], null),
|
||
Skitty(
|
||
300,
|
||
Generation.Three,
|
||
[Type.Normal],
|
||
SingleEvolution(301, -1, condition: [EvolutionCondition.MoonStone]),
|
||
),
|
||
Delcatty(301, Generation.Three, [Type.Normal], null, previousPokemon: 300),
|
||
Sableye(302, Generation.Three, [Type.Dark, Type.Ghost], null),
|
||
Mawile(303, Generation.Three, [Type.Steel, Type.Fairy], null),
|
||
Aron(304, Generation.Three, [
|
||
Type.Steel,
|
||
Type.Rock,
|
||
], SingleEvolution(305, 32)),
|
||
Lairon(
|
||
305,
|
||
Generation.Three,
|
||
[Type.Steel, Type.Rock],
|
||
SingleEvolution(306, 42),
|
||
previousPokemon: 304,
|
||
),
|
||
Aggron(
|
||
306,
|
||
Generation.Three,
|
||
[Type.Steel, Type.Rock],
|
||
null,
|
||
previousPokemon: 305,
|
||
),
|
||
Meditite(307, Generation.Three, [
|
||
Type.Fighting,
|
||
Type.Psychic,
|
||
], SingleEvolution(308, 37)),
|
||
Medicham(
|
||
308,
|
||
Generation.Three,
|
||
[Type.Fighting, Type.Psychic],
|
||
null,
|
||
previousPokemon: 307,
|
||
),
|
||
Electrike(309, Generation.Three, [Type.Electric], SingleEvolution(310, 26)),
|
||
Manectric(310, Generation.Three, [Type.Electric], null, previousPokemon: 309),
|
||
Plusle(311, Generation.Three, [Type.Electric], null),
|
||
Minun(312, Generation.Three, [Type.Electric], null),
|
||
Volbeat(313, Generation.Three, [Type.Bug], null),
|
||
Illumise(314, Generation.Three, [Type.Bug], null),
|
||
Roselia(
|
||
315,
|
||
Generation.Three,
|
||
[Type.Grass, Type.Poison],
|
||
null,
|
||
previousPokemon: 406,
|
||
),
|
||
Gulpin(316, Generation.Three, [Type.Poison], SingleEvolution(317, 26)),
|
||
Swalot(317, Generation.Three, [Type.Poison], null, previousPokemon: 316),
|
||
Carvanha(318, Generation.Three, [
|
||
Type.Water,
|
||
Type.Dark,
|
||
], SingleEvolution(319, 30)),
|
||
Sharpedo(
|
||
319,
|
||
Generation.Three,
|
||
[Type.Water, Type.Dark],
|
||
null,
|
||
previousPokemon: 318,
|
||
),
|
||
Wailmer(320, Generation.Three, [Type.Water], SingleEvolution(321, 40)),
|
||
Wailord(321, Generation.Three, [Type.Water], null, previousPokemon: 320),
|
||
Numel(322, Generation.Three, [
|
||
Type.Fire,
|
||
Type.Ground,
|
||
], SingleEvolution(323, 33)),
|
||
Camerupt(
|
||
323,
|
||
Generation.Three,
|
||
[Type.Fire, Type.Ground],
|
||
null,
|
||
previousPokemon: 322,
|
||
),
|
||
Torkoal(324, Generation.Three, [Type.Fire], null),
|
||
Spoink(325, Generation.Three, [Type.Psychic], SingleEvolution(326, 32)),
|
||
Grumpig(326, Generation.Three, [Type.Psychic], null, previousPokemon: 325),
|
||
Spinda(327, Generation.Three, [Type.Normal], null),
|
||
Trapinch(328, Generation.Three, [Type.Ground], SingleEvolution(329, 35)),
|
||
Vibrava(
|
||
329,
|
||
Generation.Three,
|
||
[Type.Ground, Type.Dragon],
|
||
SingleEvolution(330, 45),
|
||
previousPokemon: 328,
|
||
),
|
||
Flygon(
|
||
330,
|
||
Generation.Three,
|
||
[Type.Ground, Type.Dragon],
|
||
null,
|
||
previousPokemon: 329,
|
||
),
|
||
Cacnea(331, Generation.Three, [Type.Grass], SingleEvolution(332, 32)),
|
||
Cacturne(
|
||
332,
|
||
Generation.Three,
|
||
[Type.Grass, Type.Dark],
|
||
null,
|
||
previousPokemon: 331,
|
||
),
|
||
Swablu(333, Generation.Three, [
|
||
Type.Normal,
|
||
Type.Flying,
|
||
], SingleEvolution(334, 35)),
|
||
Altaria(
|
||
334,
|
||
Generation.Three,
|
||
[Type.Dragon, Type.Flying],
|
||
null,
|
||
previousPokemon: 333,
|
||
),
|
||
Zangoose(335, Generation.Three, [Type.Normal], null),
|
||
Seviper(336, Generation.Three, [Type.Poison], null),
|
||
Lunatone(337, Generation.Three, [Type.Rock, Type.Psychic], null),
|
||
Solrock(338, Generation.Three, [Type.Rock, Type.Psychic], null),
|
||
Barboach(339, Generation.Three, [
|
||
Type.Water,
|
||
Type.Ground,
|
||
], SingleEvolution(340, 30)),
|
||
Whiscash(
|
||
340,
|
||
Generation.Three,
|
||
[Type.Water, Type.Ground],
|
||
null,
|
||
previousPokemon: 339,
|
||
),
|
||
Corphish(341, Generation.Three, [Type.Water], SingleEvolution(342, 30)),
|
||
Crawdaunt(
|
||
342,
|
||
Generation.Three,
|
||
[Type.Water, Type.Dark],
|
||
null,
|
||
previousPokemon: 341,
|
||
),
|
||
Baltoy(343, Generation.Three, [
|
||
Type.Ground,
|
||
Type.Psychic,
|
||
], SingleEvolution(344, 36)),
|
||
Claydol(
|
||
344,
|
||
Generation.Three,
|
||
[Type.Ground, Type.Psychic],
|
||
null,
|
||
previousPokemon: 343,
|
||
),
|
||
Lileep(345, Generation.Three, [
|
||
Type.Rock,
|
||
Type.Grass,
|
||
], SingleEvolution(346, 40)),
|
||
Cradily(
|
||
346,
|
||
Generation.Three,
|
||
[Type.Rock, Type.Grass],
|
||
null,
|
||
previousPokemon: 345,
|
||
),
|
||
Anorith(347, Generation.Three, [
|
||
Type.Rock,
|
||
Type.Bug,
|
||
], SingleEvolution(348, 40)),
|
||
Armaldo(
|
||
348,
|
||
Generation.Three,
|
||
[Type.Rock, Type.Bug],
|
||
null,
|
||
previousPokemon: 347,
|
||
),
|
||
Feebas(
|
||
349,
|
||
Generation.Three,
|
||
[Type.Water],
|
||
SingleEvolution(
|
||
350,
|
||
-1,
|
||
condition: [
|
||
EvolutionCondition.Trading,
|
||
EvolutionCondition.Holding,
|
||
EvolutionCondition.PrismScale,
|
||
EvolutionCondition.Or,
|
||
EvolutionCondition.MaxBeauty,
|
||
],
|
||
),
|
||
),
|
||
Milotic(350, Generation.Three, [Type.Water], null, previousPokemon: 349),
|
||
Castform(
|
||
351,
|
||
Generation.Three,
|
||
[Type.Normal],
|
||
null,
|
||
extraVariants: ["castform_rainy", "castform_snowy", "castform_sunny"],
|
||
),
|
||
Kecleon(352, Generation.Three, [Type.Normal], null),
|
||
Shuppet(353, Generation.Three, [Type.Ghost], SingleEvolution(354, 37)),
|
||
Banette(354, Generation.Three, [Type.Ghost], null, previousPokemon: 353),
|
||
Duskull(355, Generation.Three, [Type.Ghost], SingleEvolution(356, 37)),
|
||
Dusclops(356, Generation.Three, [Type.Ghost], null, previousPokemon: 355),
|
||
Tropius(357, Generation.Three, [Type.Grass, Type.Flying], null),
|
||
Chimecho(358, Generation.Three, [Type.Psychic], null),
|
||
Absol(359, Generation.Three, [Type.Dark], null),
|
||
Wynaut(360, Generation.Three, [Type.Psychic], SingleEvolution(202, 15)),
|
||
Snorunt(361, Generation.Three, [
|
||
Type.Ice,
|
||
], BranchedEvolution([362], [42], [[]])),
|
||
Glalie(362, Generation.Three, [Type.Ice], null, previousPokemon: 361),
|
||
Spheal(363, Generation.Three, [
|
||
Type.Ice,
|
||
Type.Water,
|
||
], SingleEvolution(364, 32)),
|
||
Sealeo(
|
||
364,
|
||
Generation.Three,
|
||
[Type.Ice, Type.Water],
|
||
SingleEvolution(365, 44),
|
||
previousPokemon: 363,
|
||
),
|
||
Walrein(
|
||
365,
|
||
Generation.Three,
|
||
[Type.Ice, Type.Water],
|
||
null,
|
||
previousPokemon: 364,
|
||
),
|
||
Clamperl(
|
||
366,
|
||
Generation.Three,
|
||
[Type.Water],
|
||
BranchedEvolution([367, 368], [-1, -1], [
|
||
[
|
||
EvolutionCondition.Trading,
|
||
EvolutionCondition.Holding,
|
||
EvolutionCondition.DeepSeaTooth,
|
||
],
|
||
[
|
||
EvolutionCondition.Trading,
|
||
EvolutionCondition.Holding,
|
||
EvolutionCondition.DeepSeaScale,
|
||
],
|
||
]),
|
||
),
|
||
Huntail(367, Generation.Three, [Type.Water], null, previousPokemon: 366),
|
||
Gorebyss(368, Generation.Three, [Type.Water], null, previousPokemon: 366),
|
||
Relicanth(369, Generation.Three, [Type.Water, Type.Rock], null),
|
||
Luvdisc(370, Generation.Three, [Type.Water], null),
|
||
Bagon(371, Generation.Three, [Type.Dragon], SingleEvolution(372, 30)),
|
||
Shelgon(
|
||
372,
|
||
Generation.Three,
|
||
[Type.Dragon],
|
||
SingleEvolution(373, 50),
|
||
previousPokemon: 371,
|
||
),
|
||
Salamence(
|
||
373,
|
||
Generation.Three,
|
||
[Type.Dragon, Type.Flying],
|
||
null,
|
||
previousPokemon: 372,
|
||
),
|
||
Beldum(374, Generation.Three, [
|
||
Type.Steel,
|
||
Type.Psychic,
|
||
], SingleEvolution(375, 20)),
|
||
Metang(
|
||
375,
|
||
Generation.Three,
|
||
[Type.Steel, Type.Psychic],
|
||
SingleEvolution(376, 45),
|
||
previousPokemon: 374,
|
||
),
|
||
Metagross(
|
||
376,
|
||
Generation.Three,
|
||
[Type.Steel, Type.Psychic],
|
||
null,
|
||
previousPokemon: 375,
|
||
),
|
||
Regirock(377, Generation.Three, [Type.Rock], null),
|
||
Regice(378, Generation.Three, [Type.Ice], null),
|
||
Registeel(379, Generation.Three, [Type.Steel], null),
|
||
Latias(380, Generation.Three, [Type.Dragon, Type.Psychic], null),
|
||
Latios(381, Generation.Three, [Type.Dragon, Type.Psychic], null),
|
||
Kyogre(382, Generation.Three, [Type.Water], null),
|
||
Groudon(383, Generation.Three, [Type.Ground], null),
|
||
Rayquaza(384, Generation.Three, [Type.Dragon, Type.Flying], null),
|
||
Jirachi(385, Generation.Three, [Type.Steel, Type.Psychic], null),
|
||
Deoxys(
|
||
386,
|
||
Generation.Three,
|
||
[Type.Psychic],
|
||
null,
|
||
extraVariants: ["deoxys-attack", "deoxys-defense", "deoxys-speed"],
|
||
);
|
||
|
||
final int id;
|
||
final String properName;
|
||
final Generation generation;
|
||
final List<Type> types;
|
||
final Evolution? evolution;
|
||
final int dexID;
|
||
final int previousPokemon;
|
||
final List<String> extraVariants;
|
||
final List<Location> locations;
|
||
final List<DexEntry> dexEntries;
|
||
bool get hasEvolutions => evolution != null;
|
||
const Pokemon(
|
||
this.id,
|
||
this.generation,
|
||
this.types,
|
||
this.evolution, {
|
||
this.dexID = -1,
|
||
this.properName = "",
|
||
this.previousPokemon = -1,
|
||
this.extraVariants = const [],
|
||
this.locations = const [],
|
||
this.dexEntries = const [],
|
||
});
|
||
|
||
String get pokemonName => properName == "" ? name : properName;
|
||
int get pokeDexID => dexID == -1 ? id : dexID;
|
||
|
||
String toDexPath() {
|
||
if (this.id == Pokemon.Unown.id) return SessionData.getRandomUnownSprite();
|
||
return 'assets/sprites/${printName().replaceAll("♀", "-f").replaceAll("♂", "-m").toLowerCase()}.png';
|
||
}
|
||
|
||
String printName({var proper = false}) {
|
||
String sRet;
|
||
|
||
if (!proper) {
|
||
sRet = name.replaceAll("_", " ");
|
||
} else {
|
||
sRet = pokemonName;
|
||
}
|
||
|
||
if (sRet.endsWith("F")) sRet = "${sRet.substring(0, sRet.length - 1)}♀";
|
||
if (sRet.endsWith("M")) sRet = "${sRet.substring(0, sRet.length - 1)}♂";
|
||
|
||
return sRet;
|
||
}
|
||
}
|