1937 lines
51 KiB
Dart
1937 lines
51 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)),
|
||
Charmeleon(
|
||
5,
|
||
Generation.One,
|
||
[Type.Fire],
|
||
SingleEvolution(6, 36),
|
||
previousPokemon: 4,
|
||
),
|
||
Charizard(
|
||
6,
|
||
Generation.One,
|
||
[Type.Fire, Type.Flying],
|
||
null,
|
||
previousPokemon: 5,
|
||
),
|
||
Squirtle(7, Generation.One, [Type.Water], SingleEvolution(8, 16)),
|
||
Wartortle(
|
||
8,
|
||
Generation.One,
|
||
[Type.Water],
|
||
SingleEvolution(9, 36),
|
||
previousPokemon: 7,
|
||
),
|
||
Blastoise(9, Generation.One, [Type.Water], null, previousPokemon: 8),
|
||
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,
|
||
),
|
||
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;
|
||
}
|
||
}
|