1922 lines
46 KiB
Dart
1922 lines
46 KiB
Dart
// ignore_for_file: constant_identifier_names
|
|
|
|
import 'package:pokedex/Session.dart';
|
|
import 'package:pokedex/dexMisc.dart';
|
|
import 'package:pokedex/generations/Gen1Data.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: Gen1Locations.Bulbasaur,
|
|
dexEntries: Gen1DexData.Bulbasaur,
|
|
dexID:
|
|
1, // Temporarily added to prevent dexID from being cleaned up by dart fix.
|
|
),
|
|
Ivysaur(
|
|
2,
|
|
Generation.One,
|
|
[Type.Grass, Type.Poison],
|
|
SingleEvolution(3, 32),
|
|
previousPokemon: 1,
|
|
|
|
locations: Gen1Locations.Ivysaur,
|
|
dexEntries: Gen1DexData.Ivysaur,
|
|
),
|
|
Venusaur(
|
|
3,
|
|
Generation.One,
|
|
[Type.Grass, Type.Poison],
|
|
null,
|
|
previousPokemon: 2,
|
|
locations: Gen1Locations.Venusaur,
|
|
dexEntries: Gen1DexData.Venusaur,
|
|
),
|
|
Charmander(
|
|
4,
|
|
Generation.One,
|
|
[Type.Fire],
|
|
SingleEvolution(5, 16),
|
|
locations: Gen1Locations.Charmander,
|
|
dexEntries: Gen1DexData.Charmander,
|
|
),
|
|
Charmeleon(
|
|
5,
|
|
Generation.One,
|
|
[Type.Fire],
|
|
SingleEvolution(6, 36),
|
|
previousPokemon: 4,
|
|
locations: Gen1Locations.Charmeleon,
|
|
dexEntries: Gen1DexData.Charmeleon,
|
|
),
|
|
Charizard(
|
|
6,
|
|
Generation.One,
|
|
[Type.Fire, Type.Flying],
|
|
null,
|
|
previousPokemon: 5,
|
|
locations: Gen1Locations.Charizard,
|
|
dexEntries: Gen1DexData.Charizard,
|
|
),
|
|
Squirtle(
|
|
7,
|
|
Generation.One,
|
|
[Type.Water],
|
|
SingleEvolution(8, 16),
|
|
locations: Gen1Locations.Squirtle,
|
|
dexEntries: Gen1DexData.Squirtle,
|
|
),
|
|
Wartortle(
|
|
8,
|
|
Generation.One,
|
|
[Type.Water],
|
|
SingleEvolution(9, 36),
|
|
previousPokemon: 7,
|
|
locations: Gen1Locations.Wartortle,
|
|
dexEntries: Gen1DexData.Wartortle,
|
|
),
|
|
Blastoise(
|
|
9,
|
|
Generation.One,
|
|
[Type.Water],
|
|
null,
|
|
previousPokemon: 8,
|
|
locations: Gen1Locations.Blastoise,
|
|
dexEntries: Gen1DexData.Blastoise,
|
|
),
|
|
Caterpie(
|
|
10,
|
|
Generation.One,
|
|
[Type.Bug],
|
|
SingleEvolution(11, 7),
|
|
locations: Gen1Locations.Caterpie,
|
|
dexEntries: Gen1DexData.Caterpie,
|
|
),
|
|
Metapod(
|
|
11,
|
|
Generation.One,
|
|
[Type.Bug],
|
|
SingleEvolution(12, 10),
|
|
previousPokemon: 10,
|
|
locations: Gen1Locations.Metapod,
|
|
dexEntries: Gen1DexData.Metapod,
|
|
),
|
|
Butterfree(
|
|
12,
|
|
Generation.One,
|
|
[Type.Bug, Type.Flying],
|
|
null,
|
|
previousPokemon: 11,
|
|
locations: Gen1Locations.Butterfree,
|
|
dexEntries: Gen1DexData.Butterfree,
|
|
),
|
|
Weedle(
|
|
13,
|
|
Generation.One,
|
|
[Type.Bug, Type.Poison],
|
|
SingleEvolution(14, 7),
|
|
locations: Gen1Locations.Weedle,
|
|
dexEntries: Gen1DexData.Weedle,
|
|
),
|
|
Kakuna(
|
|
14,
|
|
Generation.One,
|
|
[Type.Bug, Type.Poison],
|
|
SingleEvolution(15, 10),
|
|
previousPokemon: 13,
|
|
locations: Gen1Locations.Kakuna,
|
|
dexEntries: Gen1DexData.Kakuna,
|
|
),
|
|
Beedrill(
|
|
15,
|
|
Generation.One,
|
|
[Type.Bug, Type.Poison],
|
|
null,
|
|
previousPokemon: 14,
|
|
locations: Gen1Locations.Beedrill,
|
|
dexEntries: Gen1DexData.Beedrill,
|
|
),
|
|
Pidgey(
|
|
16,
|
|
Generation.One,
|
|
[Type.Normal, Type.Flying],
|
|
SingleEvolution(17, 18),
|
|
locations: Gen1Locations.Pidgey,
|
|
dexEntries: Gen1DexData.Pidgey,
|
|
),
|
|
Pidgeotto(
|
|
17,
|
|
Generation.One,
|
|
[Type.Normal, Type.Flying],
|
|
SingleEvolution(18, 36),
|
|
previousPokemon: 16,
|
|
locations: Gen1Locations.Pidgeotto,
|
|
dexEntries: Gen1DexData.Pidgeotto,
|
|
),
|
|
Pidgeot(
|
|
18,
|
|
Generation.One,
|
|
[Type.Normal, Type.Flying],
|
|
null,
|
|
previousPokemon: 17,
|
|
locations: Gen1Locations.Pidgeot,
|
|
dexEntries: Gen1DexData.Pidgeot,
|
|
),
|
|
Rattata(
|
|
19,
|
|
Generation.One,
|
|
[Type.Normal],
|
|
SingleEvolution(20, 20),
|
|
locations: Gen1Locations.Rattata,
|
|
dexEntries: Gen1DexData.Rattata,
|
|
),
|
|
Raticate(
|
|
20,
|
|
Generation.One,
|
|
[Type.Normal],
|
|
null,
|
|
previousPokemon: 19,
|
|
locations: Gen1Locations.Raticate,
|
|
dexEntries: Gen1DexData.Raticate,
|
|
),
|
|
Spearow(
|
|
21,
|
|
Generation.One,
|
|
[Type.Normal, Type.Flying],
|
|
SingleEvolution(22, 20),
|
|
locations: Gen1Locations.Spearow,
|
|
dexEntries: Gen1DexData.Spearow,
|
|
),
|
|
Fearow(
|
|
22,
|
|
Generation.One,
|
|
[Type.Normal, Type.Flying],
|
|
null,
|
|
previousPokemon: 21,
|
|
locations: Gen1Locations.Fearow,
|
|
dexEntries: Gen1DexData.Fearow,
|
|
),
|
|
Ekans(
|
|
23,
|
|
Generation.One,
|
|
[Type.Poison],
|
|
SingleEvolution(24, 22),
|
|
locations: Gen1Locations.Ekans,
|
|
dexEntries: Gen1DexData.Ekans,
|
|
),
|
|
Arbok(
|
|
24,
|
|
Generation.One,
|
|
[Type.Poison],
|
|
null,
|
|
previousPokemon: 23,
|
|
locations: Gen1Locations.Arbok,
|
|
dexEntries: Gen1DexData.Arbok,
|
|
),
|
|
Pikachu(
|
|
25,
|
|
Generation.One,
|
|
[Type.Electric],
|
|
SingleEvolution(26, -1, condition: [EvolutionCondition.ThunderStone]),
|
|
previousPokemon: 172,
|
|
locations: Gen1Locations.Pikachu,
|
|
dexEntries: Gen1DexData.Pikachu,
|
|
),
|
|
Raichu(
|
|
26,
|
|
Generation.One,
|
|
[Type.Electric],
|
|
null,
|
|
previousPokemon: 25,
|
|
locations: Gen1Locations.Raichu,
|
|
dexEntries: Gen1DexData.Raichu,
|
|
),
|
|
Sandshrew(
|
|
27,
|
|
Generation.One,
|
|
[Type.Ground],
|
|
SingleEvolution(28, 22),
|
|
locations: Gen1Locations.Sandshrew,
|
|
dexEntries: Gen1DexData.Sandshrew,
|
|
),
|
|
Sandslash(
|
|
28,
|
|
Generation.One,
|
|
[Type.Ground],
|
|
null,
|
|
previousPokemon: 27,
|
|
locations: Gen1Locations.Sandslash,
|
|
dexEntries: Gen1DexData.Sandslash,
|
|
),
|
|
NidoranF(
|
|
29,
|
|
Generation.One,
|
|
[Type.Poison],
|
|
SingleEvolution(30, 16),
|
|
locations: Gen1Locations.NidoranF,
|
|
dexEntries: Gen1DexData.NidoranF,
|
|
),
|
|
Nidorina(
|
|
30,
|
|
Generation.One,
|
|
[Type.Poison],
|
|
SingleEvolution(31, 36),
|
|
previousPokemon: 29,
|
|
locations: Gen1Locations.Nidorina,
|
|
dexEntries: Gen1DexData.Nidorina,
|
|
),
|
|
NidoQueen(
|
|
31,
|
|
Generation.One,
|
|
[Type.Poison, Type.Ground],
|
|
null,
|
|
previousPokemon: 30,
|
|
locations: Gen1Locations.Nidoqueen,
|
|
dexEntries: Gen1DexData.Nidoqueen,
|
|
),
|
|
NidoranM(
|
|
32,
|
|
Generation.One,
|
|
[Type.Poison],
|
|
SingleEvolution(33, 16),
|
|
locations: Gen1Locations.NidoranM,
|
|
dexEntries: Gen1DexData.NidoranM,
|
|
),
|
|
Nidorino(
|
|
33,
|
|
Generation.One,
|
|
[Type.Poison],
|
|
SingleEvolution(34, 36),
|
|
previousPokemon: 32,
|
|
locations: Gen1Locations.Nidorino,
|
|
dexEntries: Gen1DexData.Nidorino,
|
|
),
|
|
NidoKing(
|
|
34,
|
|
Generation.One,
|
|
[Type.Poison, Type.Ground],
|
|
null,
|
|
previousPokemon: 33,
|
|
locations: Gen1Locations.Nidoking,
|
|
dexEntries: Gen1DexData.Nidoking,
|
|
),
|
|
Clefairy(
|
|
35,
|
|
Generation.One,
|
|
[Type.Fairy],
|
|
SingleEvolution(36, -1, condition: [EvolutionCondition.MoonStone]),
|
|
previousPokemon: 173,
|
|
locations: Gen1Locations.Clefairy,
|
|
dexEntries: Gen1DexData.Clefairy,
|
|
),
|
|
Clefable(
|
|
36,
|
|
Generation.One,
|
|
[Type.Fairy],
|
|
null,
|
|
previousPokemon: 35,
|
|
locations: Gen1Locations.Clefable,
|
|
dexEntries: Gen1DexData.Clefable,
|
|
),
|
|
Vulpix(
|
|
37,
|
|
Generation.One,
|
|
[Type.Fire],
|
|
SingleEvolution(38, -1, condition: [EvolutionCondition.FireStone]),
|
|
locations: Gen1Locations.Vulpix,
|
|
dexEntries: Gen1DexData.Vulpix,
|
|
),
|
|
NineTales(
|
|
38,
|
|
Generation.One,
|
|
[Type.Fire],
|
|
null,
|
|
previousPokemon: 37,
|
|
locations: Gen1Locations.Ninetales,
|
|
dexEntries: Gen1DexData.Ninetales,
|
|
),
|
|
Jigglypuff(
|
|
39,
|
|
Generation.One,
|
|
[Type.Fairy],
|
|
SingleEvolution(40, -1, condition: [EvolutionCondition.MoonStone]),
|
|
previousPokemon: 174,
|
|
locations: Gen1Locations.Jigglypuff,
|
|
dexEntries: Gen1DexData.Jigglypuff,
|
|
),
|
|
WigglyTuff(
|
|
40,
|
|
Generation.One,
|
|
[Type.Fairy],
|
|
null,
|
|
previousPokemon: 39,
|
|
locations: Gen1Locations.Wigglytuff,
|
|
dexEntries: Gen1DexData.Wigglytuff,
|
|
),
|
|
Zubat(
|
|
41,
|
|
Generation.One,
|
|
[Type.Poison, Type.Flying],
|
|
SingleEvolution(42, 22),
|
|
locations: Gen1Locations.Zubat,
|
|
dexEntries: Gen1DexData.Zubat,
|
|
),
|
|
Golbat(
|
|
42,
|
|
Generation.One,
|
|
[Type.Poison, Type.Flying],
|
|
SingleEvolution(169, -1, condition: [EvolutionCondition.HighFriendship]),
|
|
previousPokemon: 41,
|
|
locations: Gen1Locations.Golbat,
|
|
dexEntries: Gen1DexData.Golbat,
|
|
),
|
|
Oddish(
|
|
43,
|
|
Generation.One,
|
|
[Type.Poison, Type.Grass],
|
|
SingleEvolution(44, 21),
|
|
locations: Gen1Locations.Oddish,
|
|
dexEntries: Gen1DexData.Oddish,
|
|
),
|
|
Gloom(
|
|
44,
|
|
Generation.One,
|
|
[Type.Poison, Type.Grass],
|
|
BranchedEvolution([45, 182], [-1, -1], [
|
|
[EvolutionCondition.LeafStone],
|
|
[EvolutionCondition.SunStone],
|
|
]),
|
|
previousPokemon: 43,
|
|
locations: Gen1Locations.Gloom,
|
|
dexEntries: Gen1DexData.Gloom,
|
|
),
|
|
Vileplume(
|
|
45,
|
|
Generation.One,
|
|
[Type.Poison, Type.Grass],
|
|
null,
|
|
previousPokemon: 44,
|
|
locations: Gen1Locations.Vileplume,
|
|
dexEntries: Gen1DexData.Vileplume,
|
|
),
|
|
Paras(
|
|
46,
|
|
Generation.One,
|
|
[Type.Bug, Type.Grass],
|
|
SingleEvolution(47, 24),
|
|
locations: Gen1Locations.Paras,
|
|
dexEntries: Gen1DexData.Paras,
|
|
),
|
|
Parasect(
|
|
47,
|
|
Generation.One,
|
|
[Type.Bug, Type.Grass],
|
|
null,
|
|
previousPokemon: 46,
|
|
locations: Gen1Locations.Parasect,
|
|
dexEntries: Gen1DexData.Parasect,
|
|
),
|
|
Venonat(
|
|
48,
|
|
Generation.One,
|
|
[Type.Bug, Type.Poison],
|
|
SingleEvolution(49, 31),
|
|
locations: Gen1Locations.Venonat,
|
|
dexEntries: Gen1DexData.Venonat,
|
|
),
|
|
Venomoth(
|
|
49,
|
|
Generation.One,
|
|
[Type.Bug, Type.Poison],
|
|
null,
|
|
previousPokemon: 48,
|
|
locations: Gen1Locations.Venomoth,
|
|
dexEntries: Gen1DexData.Venomoth,
|
|
),
|
|
Diglett(
|
|
50,
|
|
Generation.One,
|
|
[Type.Ground],
|
|
SingleEvolution(51, 26),
|
|
locations: Gen1Locations.Diglett,
|
|
dexEntries: Gen1DexData.Diglett,
|
|
),
|
|
Dugtrio(
|
|
51,
|
|
Generation.One,
|
|
[Type.Ground],
|
|
null,
|
|
previousPokemon: 50,
|
|
locations: Gen1Locations.Dugtrio,
|
|
dexEntries: Gen1DexData.Dugtrio,
|
|
),
|
|
Meowth(
|
|
52,
|
|
Generation.One,
|
|
[Type.Normal],
|
|
SingleEvolution(53, 28),
|
|
locations: Gen1Locations.Meowth,
|
|
dexEntries: Gen1DexData.Meowth,
|
|
),
|
|
Persian(
|
|
53,
|
|
Generation.One,
|
|
[Type.Normal],
|
|
null,
|
|
previousPokemon: 52,
|
|
locations: Gen1Locations.Persian,
|
|
dexEntries: Gen1DexData.Persian,
|
|
),
|
|
Psyduck(
|
|
54,
|
|
Generation.One,
|
|
[Type.Water],
|
|
SingleEvolution(55, 33),
|
|
locations: Gen1Locations.Psyduck,
|
|
dexEntries: Gen1DexData.Psyduck,
|
|
),
|
|
Golduck(
|
|
55,
|
|
Generation.One,
|
|
[Type.Water],
|
|
null,
|
|
previousPokemon: 54,
|
|
locations: Gen1Locations.Golduck,
|
|
dexEntries: Gen1DexData.Golduck,
|
|
),
|
|
Mankey(
|
|
56,
|
|
Generation.One,
|
|
[Type.Fighting],
|
|
SingleEvolution(57, 28),
|
|
locations: Gen1Locations.Mankey,
|
|
dexEntries: Gen1DexData.Mankey,
|
|
),
|
|
Primeape(
|
|
57,
|
|
Generation.One,
|
|
[Type.Fighting],
|
|
null,
|
|
previousPokemon: 56,
|
|
locations: Gen1Locations.Primeape,
|
|
dexEntries: Gen1DexData.Primeape,
|
|
),
|
|
Growlithe(
|
|
58,
|
|
Generation.One,
|
|
[Type.Fire],
|
|
SingleEvolution(59, -1, condition: [EvolutionCondition.FireStone]),
|
|
locations: Gen1Locations.Growlithe,
|
|
dexEntries: Gen1DexData.Growlithe,
|
|
),
|
|
Arcanine(
|
|
59,
|
|
Generation.One,
|
|
[Type.Fire],
|
|
null,
|
|
previousPokemon: 58,
|
|
locations: Gen1Locations.Arcanine,
|
|
dexEntries: Gen1DexData.Arcanine,
|
|
),
|
|
Poliwag(
|
|
60,
|
|
Generation.One,
|
|
[Type.Water],
|
|
SingleEvolution(61, 25),
|
|
locations: Gen1Locations.Poliwag,
|
|
dexEntries: Gen1DexData.Poliwag,
|
|
),
|
|
Poliwhirl(
|
|
61,
|
|
Generation.One,
|
|
[Type.Water],
|
|
BranchedEvolution([62, 186], [-1, -1], [
|
|
[EvolutionCondition.WaterStone],
|
|
[
|
|
EvolutionCondition.Trading,
|
|
EvolutionCondition.Holding,
|
|
EvolutionCondition.KingsRock,
|
|
],
|
|
]),
|
|
previousPokemon: 60,
|
|
locations: Gen1Locations.Poliwhirl,
|
|
dexEntries: Gen1DexData.Poliwhirl,
|
|
),
|
|
Poliwrath(
|
|
62,
|
|
Generation.One,
|
|
[Type.Water],
|
|
null,
|
|
previousPokemon: 61,
|
|
locations: Gen1Locations.Poliwrath,
|
|
dexEntries: Gen1DexData.Poliwrath,
|
|
),
|
|
Abra(
|
|
63,
|
|
Generation.One,
|
|
[Type.Psychic],
|
|
SingleEvolution(64, 16),
|
|
locations: Gen1Locations.Abra,
|
|
dexEntries: Gen1DexData.Abra,
|
|
),
|
|
Kadabra(
|
|
64,
|
|
Generation.One,
|
|
[Type.Psychic],
|
|
SingleEvolution(65, -1, condition: [EvolutionCondition.Trading]),
|
|
previousPokemon: 63,
|
|
locations: Gen1Locations.Kadabra,
|
|
dexEntries: Gen1DexData.Kadabra,
|
|
),
|
|
Alakazam(
|
|
65,
|
|
Generation.One,
|
|
[Type.Psychic],
|
|
null,
|
|
previousPokemon: 64,
|
|
locations: Gen1Locations.Alakazam,
|
|
dexEntries: Gen1DexData.Alakazam,
|
|
),
|
|
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.properName = "",
|
|
this.previousPokemon = -1,
|
|
this.extraVariants = const [],
|
|
this.locations = const [],
|
|
this.dexEntries = const [],
|
|
this.dexID = -1,
|
|
});
|
|
|
|
String get pokemonName => properName == "" ? name : properName;
|
|
int get pokeDexID => dexID == -1 ? id : dexID;
|
|
|
|
String toDexPath() {
|
|
if (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;
|
|
}
|
|
}
|