Finish adding all of Generation 1
BIN
assets/sprites/aerodactyl.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
assets/sprites/articuno-galarian.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
assets/sprites/articuno.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
assets/sprites/dragonair.png
Normal file
After Width: | Height: | Size: 9 KiB |
BIN
assets/sprites/dragonite.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
assets/sprites/dratini.png
Normal file
After Width: | Height: | Size: 8.5 KiB |
BIN
assets/sprites/kabuto.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
assets/sprites/kabutops.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
assets/sprites/mew.png
Normal file
After Width: | Height: | Size: 8.5 KiB |
BIN
assets/sprites/mewtwo.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
assets/sprites/moltres-galarian.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
assets/sprites/moltres.png
Normal file
After Width: | Height: | Size: 9.4 KiB |
BIN
assets/sprites/omanyte.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
assets/sprites/omastar.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
assets/sprites/porygon.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
assets/sprites/snorlax.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
assets/sprites/zapdos-galarian.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
assets/sprites/zapdos.png
Normal file
After Width: | Height: | Size: 14 KiB |
|
@ -1,7 +1,7 @@
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
class Constants {
|
class Constants {
|
||||||
static const VERSION = "1.0.032325+1814";
|
static const VERSION = "1.0.032325+1840";
|
||||||
|
|
||||||
static bool get isMobile => Platform.isAndroid || Platform.isIOS;
|
static bool get isMobile => Platform.isAndroid || Platform.isIOS;
|
||||||
}
|
}
|
||||||
|
|
387
lib/pokemon.dart
|
@ -1,3 +1,5 @@
|
||||||
|
// ignore_for_file: constant_identifier_names
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:pokedex/Consts.dart';
|
import 'package:pokedex/Consts.dart';
|
||||||
|
|
||||||
|
@ -51,7 +53,7 @@ enum Type {
|
||||||
Bug(Color.fromARGB(255, 128, 128, 0), Colors.black),
|
Bug(Color.fromARGB(255, 128, 128, 0), Colors.black),
|
||||||
Rock(Color.fromARGB(255, 128, 128, 128), Colors.black),
|
Rock(Color.fromARGB(255, 128, 128, 128), Colors.black),
|
||||||
Ghost(Color.fromARGB(255, 128, 0, 128), Colors.black),
|
Ghost(Color.fromARGB(255, 128, 0, 128), Colors.black),
|
||||||
Dragon(Color.fromARGB(255, 85, 0, 102), Colors.black),
|
Dragon(Color.fromARGB(255, 85, 0, 102), Color.fromARGB(255, 255, 255, 255)),
|
||||||
Dark(Color.fromARGB(255, 51, 51, 51), Colors.black),
|
Dark(Color.fromARGB(255, 51, 51, 51), Colors.black),
|
||||||
Steel(Color.fromARGB(255, 192, 192, 192), Colors.black),
|
Steel(Color.fromARGB(255, 192, 192, 192), Colors.black),
|
||||||
Fairy(Color.fromARGB(255, 255, 102, 255), Colors.black);
|
Fairy(Color.fromARGB(255, 255, 102, 255), Colors.black);
|
||||||
|
@ -269,330 +271,267 @@ enum Move {
|
||||||
}
|
}
|
||||||
|
|
||||||
enum Pokemon {
|
enum Pokemon {
|
||||||
Bulbasaur(1, "Bulbasaur", Generation.One, [
|
Bulbasaur(1, Generation.One, [
|
||||||
Type.Grass,
|
Type.Grass,
|
||||||
Type.Poison,
|
Type.Poison,
|
||||||
], SingleEvolution(2, 16)),
|
], SingleEvolution(2, 16)),
|
||||||
Ivysaur(2, "Ivysaur", Generation.One, [
|
Ivysaur(2, Generation.One, [Type.Grass, Type.Poison], SingleEvolution(3, 32)),
|
||||||
Type.Grass,
|
Venusaur(3, Generation.One, [Type.Grass, Type.Poison], null),
|
||||||
Type.Poison,
|
Charmander(4, Generation.One, [Type.Fire], SingleEvolution(5, 16)),
|
||||||
], SingleEvolution(3, 32)),
|
Charmeleon(5, Generation.One, [Type.Fire], SingleEvolution(6, 36)),
|
||||||
Venusaur(3, "Venusaur", Generation.One, [Type.Grass, Type.Poison], null),
|
Charizard(6, Generation.One, [Type.Fire, Type.Flying], null),
|
||||||
Charmander(4, "Charmander", Generation.One, [
|
Squirtle(7, Generation.One, [Type.Water], SingleEvolution(8, 16)),
|
||||||
Type.Fire,
|
Wartortle(8, Generation.One, [Type.Water], SingleEvolution(9, 36)),
|
||||||
], SingleEvolution(5, 16)),
|
Blastoise(9, Generation.One, [Type.Water], null),
|
||||||
Charmeleon(5, "Charmeleon", Generation.One, [
|
Caterpie(10, Generation.One, [Type.Bug], SingleEvolution(11, 7)),
|
||||||
Type.Fire,
|
Metapod(11, Generation.One, [Type.Bug], SingleEvolution(12, 10)),
|
||||||
], SingleEvolution(6, 36)),
|
Butterfree(12, Generation.One, [Type.Bug, Type.Flying], null),
|
||||||
Charizard(6, "Charizard", Generation.One, [Type.Fire, Type.Flying], null),
|
Weedle(13, Generation.One, [Type.Bug, Type.Poison], SingleEvolution(14, 7)),
|
||||||
Squirtle(7, "Squirtle", Generation.One, [Type.Water], SingleEvolution(8, 16)),
|
Kakuna(14, Generation.One, [Type.Bug, Type.Poison], SingleEvolution(15, 10)),
|
||||||
Wartortle(8, "Wartortle", Generation.One, [
|
Beedrill(15, Generation.One, [Type.Bug, Type.Poison], null),
|
||||||
Type.Water,
|
Pidgey(16, Generation.One, [
|
||||||
], SingleEvolution(9, 36)),
|
|
||||||
Blastoise(9, "Blastoise", Generation.One, [Type.Water], null),
|
|
||||||
Caterpie(10, "Caterpie", Generation.One, [Type.Bug], SingleEvolution(11, 7)),
|
|
||||||
Metapod(11, "Metapod", Generation.One, [Type.Bug], SingleEvolution(12, 10)),
|
|
||||||
Butterfree(12, "Butterfree", Generation.One, [Type.Bug, Type.Flying], null),
|
|
||||||
Weedle(13, "Weedle", Generation.One, [
|
|
||||||
Type.Bug,
|
|
||||||
Type.Poison,
|
|
||||||
], SingleEvolution(14, 7)),
|
|
||||||
Kakuna(14, "Kakuna", Generation.One, [
|
|
||||||
Type.Bug,
|
|
||||||
Type.Poison,
|
|
||||||
], SingleEvolution(15, 10)),
|
|
||||||
Beedrill(15, "Beedrill", Generation.One, [Type.Bug, Type.Poison], null),
|
|
||||||
Pidgey(16, "Pidgey", Generation.One, [
|
|
||||||
Type.Normal,
|
Type.Normal,
|
||||||
Type.Flying,
|
Type.Flying,
|
||||||
], SingleEvolution(17, 18)),
|
], SingleEvolution(17, 18)),
|
||||||
Pidgeotto(17, "Pidgeotto", Generation.One, [
|
Pidgeotto(17, Generation.One, [
|
||||||
Type.Normal,
|
Type.Normal,
|
||||||
Type.Flying,
|
Type.Flying,
|
||||||
], SingleEvolution(18, 36)),
|
], SingleEvolution(18, 36)),
|
||||||
Pidgeot(18, "Pidgeot", Generation.One, [Type.Normal, Type.Flying], null),
|
Pidgeot(18, Generation.One, [Type.Normal, Type.Flying], null),
|
||||||
Rattata(19, "Rattata", Generation.One, [
|
Rattata(19, Generation.One, [Type.Normal], SingleEvolution(20, 20)),
|
||||||
Type.Normal,
|
Raticate(20, Generation.One, [Type.Normal], null),
|
||||||
], SingleEvolution(20, 20)),
|
Spearow(21, Generation.One, [
|
||||||
Raticate(20, "Raticate", Generation.One, [Type.Normal], null),
|
|
||||||
Spearow(21, "Spearow", Generation.One, [
|
|
||||||
Type.Normal,
|
Type.Normal,
|
||||||
Type.Flying,
|
Type.Flying,
|
||||||
], SingleEvolution(22, 20)),
|
], SingleEvolution(22, 20)),
|
||||||
Fearow(22, "Fearow", Generation.One, [Type.Normal, Type.Flying], null),
|
Fearow(22, Generation.One, [Type.Normal, Type.Flying], null),
|
||||||
Pikachu(
|
Pikachu(
|
||||||
25,
|
25,
|
||||||
"Pikachu",
|
|
||||||
Generation.One,
|
Generation.One,
|
||||||
[Type.Electric],
|
[Type.Electric],
|
||||||
SingleEvolution(26, -1, condition: [EvolutionCondition.ThunderStone]),
|
SingleEvolution(26, -1, condition: [EvolutionCondition.ThunderStone]),
|
||||||
),
|
),
|
||||||
Raichu(26, "Raichu", Generation.One, [Type.Electric], null),
|
Raichu(26, Generation.One, [Type.Electric], null),
|
||||||
Sandshrew(27, "Sandshrew", Generation.One, [
|
Sandshrew(27, Generation.One, [Type.Ground], SingleEvolution(28, 22)),
|
||||||
Type.Ground,
|
Sandslash(28, Generation.One, [Type.Ground], null),
|
||||||
], SingleEvolution(28, 22)),
|
NidoranF(29, Generation.One, [Type.Poison], SingleEvolution(30, 16)),
|
||||||
Sandslash(28, "Sandslash", Generation.One, [Type.Ground], null),
|
Nidorina(30, Generation.One, [Type.Poison], SingleEvolution(31, 36)),
|
||||||
NidoranF(29, "NidoranF", Generation.One, [
|
NidoQueen(31, Generation.One, [Type.Poison, Type.Ground], null),
|
||||||
Type.Poison,
|
NidoranM(32, Generation.One, [Type.Poison], SingleEvolution(33, 16)),
|
||||||
], SingleEvolution(30, 16)),
|
Nidorino(33, Generation.One, [Type.Poison], SingleEvolution(34, 36)),
|
||||||
Nidorina(30, "Nidorina", Generation.One, [
|
NidoKing(34, Generation.One, [Type.Poison, Type.Ground], null),
|
||||||
Type.Poison,
|
|
||||||
], SingleEvolution(31, 36)),
|
|
||||||
NidoQueen(31, "NidoQueen", Generation.One, [Type.Poison, Type.Ground], null),
|
|
||||||
NidoranM(32, "NidoranM", Generation.One, [
|
|
||||||
Type.Poison,
|
|
||||||
], SingleEvolution(33, 16)),
|
|
||||||
Nidorino(33, "Nidorino", Generation.One, [
|
|
||||||
Type.Poison,
|
|
||||||
], SingleEvolution(34, 36)),
|
|
||||||
NidoKing(34, "NidoKing", Generation.One, [Type.Poison, Type.Ground], null),
|
|
||||||
Clefairy(
|
Clefairy(
|
||||||
35,
|
35,
|
||||||
"Clefairy",
|
|
||||||
Generation.One,
|
Generation.One,
|
||||||
[Type.Fairy],
|
[Type.Fairy],
|
||||||
SingleEvolution(36, -1, condition: [EvolutionCondition.MoonStone]),
|
SingleEvolution(36, -1, condition: [EvolutionCondition.MoonStone]),
|
||||||
),
|
),
|
||||||
Clefable(36, "Clefable", Generation.One, [Type.Fairy], null),
|
Clefable(36, Generation.One, [Type.Fairy], null),
|
||||||
Vulpix(
|
Vulpix(
|
||||||
37,
|
37,
|
||||||
"Vulpix",
|
|
||||||
Generation.One,
|
Generation.One,
|
||||||
[Type.Fire],
|
[Type.Fire],
|
||||||
SingleEvolution(38, -1, condition: [EvolutionCondition.FireStone]),
|
SingleEvolution(38, -1, condition: [EvolutionCondition.FireStone]),
|
||||||
),
|
),
|
||||||
NineTales(38, "NineTales", Generation.One, [Type.Fire], null),
|
NineTales(38, Generation.One, [Type.Fire], null),
|
||||||
Jigglypuff(
|
Jigglypuff(
|
||||||
39,
|
39,
|
||||||
"Jigglypuff",
|
|
||||||
Generation.One,
|
Generation.One,
|
||||||
[Type.Fairy],
|
[Type.Fairy],
|
||||||
SingleEvolution(40, -1, condition: [EvolutionCondition.MoonStone]),
|
SingleEvolution(40, -1, condition: [EvolutionCondition.MoonStone]),
|
||||||
),
|
),
|
||||||
WigglyTuff(40, "Wigglytuff", Generation.One, [Type.Fairy], null),
|
WigglyTuff(40, Generation.One, [Type.Fairy], null),
|
||||||
Zubat(41, "Zubat", Generation.One, [
|
Zubat(41, Generation.One, [
|
||||||
Type.Poison,
|
Type.Poison,
|
||||||
Type.Flying,
|
Type.Flying,
|
||||||
], SingleEvolution(42, 22)),
|
], SingleEvolution(42, 22)),
|
||||||
Golbat(42, "Golbat", Generation.One, [Type.Poison, Type.Flying], null),
|
Golbat(42, Generation.One, [Type.Poison, Type.Flying], null),
|
||||||
Oddish(43, "Oddish", Generation.One, [
|
Oddish(43, Generation.One, [
|
||||||
Type.Poison,
|
Type.Poison,
|
||||||
Type.Grass,
|
Type.Grass,
|
||||||
], SingleEvolution(44, 21)),
|
], SingleEvolution(44, 21)),
|
||||||
Gloom(
|
Gloom(
|
||||||
44,
|
44,
|
||||||
"Gloom",
|
|
||||||
Generation.One,
|
Generation.One,
|
||||||
[Type.Poison, Type.Grass],
|
[Type.Poison, Type.Grass],
|
||||||
SingleEvolution(45, -1, condition: [EvolutionCondition.LeafStone]),
|
SingleEvolution(45, -1, condition: [EvolutionCondition.LeafStone]),
|
||||||
),
|
),
|
||||||
Vileplume(45, "Vileplume", Generation.One, [Type.Poison, Type.Grass], null),
|
Vileplume(45, Generation.One, [Type.Poison, Type.Grass], null),
|
||||||
Paras(46, "Paras", Generation.One, [
|
Paras(46, Generation.One, [Type.Bug, Type.Grass], SingleEvolution(47, 24)),
|
||||||
Type.Bug,
|
Parasect(47, Generation.One, [Type.Bug, Type.Grass], null),
|
||||||
Type.Grass,
|
Venonat(48, Generation.One, [Type.Bug, Type.Poison], SingleEvolution(49, 31)),
|
||||||
], SingleEvolution(47, 24)),
|
Venomoth(49, Generation.One, [Type.Bug, Type.Poison], null),
|
||||||
Parasect(47, "Parasect", Generation.One, [Type.Bug, Type.Grass], null),
|
Diglett(50, Generation.One, [Type.Ground], SingleEvolution(51, 26)),
|
||||||
Venonat(48, "Venonat", Generation.One, [
|
Dugtrio(51, Generation.One, [Type.Ground], null),
|
||||||
Type.Bug,
|
Meowth(52, Generation.One, [Type.Normal], SingleEvolution(53, 28)),
|
||||||
Type.Poison,
|
Persian(53, Generation.One, [Type.Normal], null),
|
||||||
], SingleEvolution(49, 31)),
|
Psyduck(54, Generation.One, [Type.Water], SingleEvolution(55, 33)),
|
||||||
Venomoth(49, "Venomoth", Generation.One, [Type.Bug, Type.Poison], null),
|
Golduck(55, Generation.One, [Type.Water], null),
|
||||||
Diglett(50, "Diglett", Generation.One, [
|
Mankey(56, Generation.One, [Type.Fighting], SingleEvolution(57, 28)),
|
||||||
Type.Ground,
|
Primeape(57, Generation.One, [Type.Fighting], null),
|
||||||
], SingleEvolution(51, 26)),
|
|
||||||
Dugtrio(51, "Dugtrio", Generation.One, [Type.Ground], null),
|
|
||||||
Meowth(52, "Meowth", Generation.One, [Type.Normal], SingleEvolution(53, 28)),
|
|
||||||
Persian(53, "Persian", Generation.One, [Type.Normal], null),
|
|
||||||
Psyduck(54, "Psyduck", Generation.One, [Type.Water], SingleEvolution(55, 33)),
|
|
||||||
Golduck(55, "Golduck", Generation.One, [Type.Water], null),
|
|
||||||
Mankey(56, "Mankey", Generation.One, [
|
|
||||||
Type.Fighting,
|
|
||||||
], SingleEvolution(57, 28)),
|
|
||||||
Primeape(57, "Primeape", Generation.One, [Type.Fighting], null),
|
|
||||||
Growlithe(
|
Growlithe(
|
||||||
58,
|
58,
|
||||||
"Growlithe",
|
|
||||||
Generation.One,
|
Generation.One,
|
||||||
[Type.Fire],
|
[Type.Fire],
|
||||||
SingleEvolution(59, -1, condition: [EvolutionCondition.FireStone]),
|
SingleEvolution(59, -1, condition: [EvolutionCondition.FireStone]),
|
||||||
),
|
),
|
||||||
Arcanine(59, "Aranine", Generation.One, [Type.Fire], null),
|
Arcanine(59, Generation.One, [Type.Fire], null),
|
||||||
Poliwag(60, "Poliwag", Generation.One, [Type.Water], SingleEvolution(61, 25)),
|
Poliwag(60, Generation.One, [Type.Water], SingleEvolution(61, 25)),
|
||||||
Poliwhirl(
|
Poliwhirl(
|
||||||
61,
|
61,
|
||||||
"Poliwhirl",
|
|
||||||
Generation.One,
|
Generation.One,
|
||||||
[Type.Water],
|
[Type.Water],
|
||||||
SingleEvolution(62, -1, condition: [EvolutionCondition.WaterStone]),
|
SingleEvolution(62, -1, condition: [EvolutionCondition.WaterStone]),
|
||||||
),
|
),
|
||||||
Poliwrath(62, "Poliwrath", Generation.One, [Type.Water], null),
|
Poliwrath(62, Generation.One, [Type.Water], null),
|
||||||
Abra(63, "Abra", Generation.One, [Type.Psychic], SingleEvolution(64, 16)),
|
Abra(63, Generation.One, [Type.Psychic], SingleEvolution(64, 16)),
|
||||||
Kadabra(
|
Kadabra(64, Generation.One, [
|
||||||
64,
|
Type.Psychic,
|
||||||
"Kadabra",
|
], SingleEvolution(65, -1, condition: [EvolutionCondition.Trading])),
|
||||||
Generation.One,
|
Alakazam(65, Generation.One, [Type.Psychic], null),
|
||||||
[Type.Psychic],
|
Machop(66, Generation.One, [Type.Fighting], SingleEvolution(67, 28)),
|
||||||
SingleEvolution(65, -1, condition: [EvolutionCondition.Trading]),
|
Machoke(67, Generation.One, [
|
||||||
),
|
|
||||||
Alakazam(65, "Alakazam", Generation.One, [Type.Psychic], null),
|
|
||||||
Machop(66, "Machop", Generation.One, [
|
|
||||||
Type.Fighting,
|
Type.Fighting,
|
||||||
], SingleEvolution(67, 28)),
|
], SingleEvolution(68, -1, condition: [EvolutionCondition.Trading])),
|
||||||
Machoke(
|
Machamp(68, Generation.One, [Type.Fighting], null),
|
||||||
67,
|
Bellsprout(69, Generation.One, [
|
||||||
"Machoke",
|
|
||||||
Generation.One,
|
|
||||||
[Type.Fighting],
|
|
||||||
SingleEvolution(68, -1, condition: [EvolutionCondition.Trading]),
|
|
||||||
),
|
|
||||||
Machamp(68, "Machamp", Generation.One, [Type.Fighting], null),
|
|
||||||
Bellsprout(69, "Bellsprout", Generation.One, [
|
|
||||||
Type.Grass,
|
Type.Grass,
|
||||||
Type.Poison,
|
Type.Poison,
|
||||||
], SingleEvolution(70, 21)),
|
], SingleEvolution(70, 21)),
|
||||||
Weepinbell(
|
Weepinbell(
|
||||||
70,
|
70,
|
||||||
"Weepinbell",
|
|
||||||
Generation.One,
|
Generation.One,
|
||||||
[Type.Grass, Type.Poison],
|
[Type.Grass, Type.Poison],
|
||||||
SingleEvolution(71, -1, condition: [EvolutionCondition.LeafStone]),
|
SingleEvolution(71, -1, condition: [EvolutionCondition.LeafStone]),
|
||||||
),
|
),
|
||||||
Victreebel(71, "Victreebel", Generation.One, [Type.Grass, Type.Poison], null),
|
Victreebel(71, Generation.One, [Type.Grass, Type.Poison], null),
|
||||||
Tentacool(72, "Tentacool", Generation.One, [
|
Tentacool(72, Generation.One, [
|
||||||
Type.Water,
|
Type.Water,
|
||||||
Type.Poison,
|
Type.Poison,
|
||||||
], SingleEvolution(73, 30)),
|
], SingleEvolution(73, 30)),
|
||||||
Tentacruel(73, "Tentacruel", Generation.One, [Type.Water, Type.Poison], null),
|
Tentacruel(73, Generation.One, [Type.Water, Type.Poison], null),
|
||||||
Geodude(74, "Geodude", Generation.One, [
|
Geodude(74, Generation.One, [
|
||||||
Type.Rock,
|
Type.Rock,
|
||||||
Type.Ground,
|
Type.Ground,
|
||||||
], SingleEvolution(75, 25)),
|
], SingleEvolution(75, 25)),
|
||||||
Graveler(
|
Graveler(75, Generation.One, [
|
||||||
75,
|
Type.Rock,
|
||||||
"Graveler",
|
Type.Ground,
|
||||||
Generation.One,
|
], SingleEvolution(76, -1, condition: [EvolutionCondition.Trading])),
|
||||||
[Type.Rock, Type.Ground],
|
Golem(76, Generation.One, [Type.Rock, Type.Ground], null),
|
||||||
SingleEvolution(76, -1, condition: [EvolutionCondition.Trading]),
|
Ponyta(77, Generation.One, [Type.Fire], SingleEvolution(78, 40)),
|
||||||
),
|
Rapidash(78, Generation.One, [Type.Fire], null),
|
||||||
Golem(76, "Golem", Generation.One, [Type.Rock, Type.Ground], null),
|
Slowpoke(79, Generation.One, [
|
||||||
Ponyta(77, "Ponyta", Generation.One, [Type.Fire], SingleEvolution(78, 40)),
|
|
||||||
Rapidash(78, "Rapidash", Generation.One, [Type.Fire], null),
|
|
||||||
Slowpoke(79, "Slowpoke", Generation.One, [
|
|
||||||
Type.Water,
|
Type.Water,
|
||||||
Type.Psychic,
|
Type.Psychic,
|
||||||
], SingleEvolution(80, 37)),
|
], SingleEvolution(80, 37)),
|
||||||
Slowbro(80, "Slowbro", Generation.One, [Type.Water, Type.Psychic], null),
|
Slowbro(80, Generation.One, [Type.Water, Type.Psychic], null),
|
||||||
Magnemite(81, "Magnemite", Generation.One, [
|
Magnemite(81, Generation.One, [
|
||||||
Type.Electric,
|
Type.Electric,
|
||||||
Type.Steel,
|
Type.Steel,
|
||||||
], SingleEvolution(82, 30)),
|
], SingleEvolution(82, 30)),
|
||||||
Magneton(82, "Magneton", Generation.One, [Type.Electric, Type.Steel], null),
|
Magneton(82, Generation.One, [Type.Electric, Type.Steel], null),
|
||||||
Farfetchd(83, "Farfetch'd", Generation.One, [Type.Fighting], null),
|
Farfetchd(
|
||||||
Doduo(84, "Doduo", Generation.One, [
|
83,
|
||||||
|
Generation.One,
|
||||||
|
[Type.Fighting],
|
||||||
|
null,
|
||||||
|
properName: "Farfetch'd",
|
||||||
|
),
|
||||||
|
Doduo(84, Generation.One, [
|
||||||
Type.Normal,
|
Type.Normal,
|
||||||
Type.Flying,
|
Type.Flying,
|
||||||
], SingleEvolution(85, 31)),
|
], SingleEvolution(85, 31)),
|
||||||
Dodrio(85, "Dodrio", Generation.One, [Type.Normal, Type.Flying], null),
|
Dodrio(85, Generation.One, [Type.Normal, Type.Flying], null),
|
||||||
Seel(86, "Seel", Generation.One, [Type.Water], SingleEvolution(87, 34)),
|
Seel(86, Generation.One, [Type.Water], SingleEvolution(87, 34)),
|
||||||
Dewgong(87, "Dewgong", Generation.One, [Type.Water, Type.Ice], null),
|
Dewgong(87, Generation.One, [Type.Water, Type.Ice], null),
|
||||||
Grimer(88, "Grimer", Generation.One, [Type.Poison], SingleEvolution(89, 38)),
|
Grimer(88, Generation.One, [Type.Poison], SingleEvolution(89, 38)),
|
||||||
Muk(89, "Muk", Generation.One, [Type.Poison], null),
|
Muk(89, Generation.One, [Type.Poison], null),
|
||||||
Shellder(
|
Shellder(
|
||||||
90,
|
90,
|
||||||
"Shellder",
|
|
||||||
Generation.One,
|
Generation.One,
|
||||||
[Type.Water],
|
[Type.Water],
|
||||||
SingleEvolution(91, -1, condition: [EvolutionCondition.WaterStone]),
|
SingleEvolution(91, -1, condition: [EvolutionCondition.WaterStone]),
|
||||||
),
|
),
|
||||||
Cloyster(91, "Cloyster", Generation.One, [Type.Water, Type.Ice], null),
|
Cloyster(91, Generation.One, [Type.Water, Type.Ice], null),
|
||||||
Gastly(92, "Gastly", Generation.One, [
|
Gastly(92, Generation.One, [
|
||||||
Type.Ghost,
|
Type.Ghost,
|
||||||
Type.Poison,
|
Type.Poison,
|
||||||
], SingleEvolution(93, 25)),
|
], SingleEvolution(93, 25)),
|
||||||
Haunter(
|
Haunter(93, Generation.One, [
|
||||||
93,
|
Type.Ghost,
|
||||||
"Haunter",
|
Type.Poison,
|
||||||
Generation.One,
|
], SingleEvolution(94, -1, condition: [EvolutionCondition.Trading])),
|
||||||
[Type.Ghost, Type.Poison],
|
Gengar(94, Generation.One, [Type.Ghost, Type.Poison], null),
|
||||||
SingleEvolution(94, -1, condition: [EvolutionCondition.Trading]),
|
Onix(95, Generation.One, [Type.Rock, Type.Ground], null),
|
||||||
),
|
Drowzee(96, Generation.One, [Type.Psychic], SingleEvolution(97, 26)),
|
||||||
Gengar(94, "Gengar", Generation.One, [Type.Ghost, Type.Poison], null),
|
Hypno(97, Generation.One, [Type.Psychic], null),
|
||||||
Onix(95, "Onix", Generation.One, [Type.Rock, Type.Ground], null),
|
Krabby(98, Generation.One, [Type.Water], SingleEvolution(99, 28)),
|
||||||
Drowzee(96, "Drowzee", Generation.One, [
|
Kingler(99, Generation.One, [Type.Water], null),
|
||||||
Type.Psychic,
|
Voltorb(100, Generation.One, [Type.Electric], SingleEvolution(101, 30)),
|
||||||
], SingleEvolution(97, 26)),
|
Electrode(101, Generation.One, [Type.Electric], null),
|
||||||
Hypno(97, "Hypno", Generation.One, [Type.Psychic], null),
|
|
||||||
Krabby(98, "Krabby", Generation.One, [Type.Water], SingleEvolution(99, 28)),
|
|
||||||
Kingler(99, "Kingler", Generation.One, [Type.Water], null),
|
|
||||||
Voltorb(100, "Voltorb", Generation.One, [
|
|
||||||
Type.Electric,
|
|
||||||
], SingleEvolution(101, 30)),
|
|
||||||
Electrode(101, "Electrode", Generation.One, [Type.Electric], null),
|
|
||||||
Exeggcute(
|
Exeggcute(
|
||||||
102,
|
102,
|
||||||
"Exeggcute",
|
|
||||||
Generation.One,
|
Generation.One,
|
||||||
[Type.Grass, Type.Psychic],
|
[Type.Grass, Type.Psychic],
|
||||||
SingleEvolution(103, -1, condition: [EvolutionCondition.LeafStone]),
|
SingleEvolution(103, -1, condition: [EvolutionCondition.LeafStone]),
|
||||||
),
|
),
|
||||||
Exeggutor(103, "Exeggutor", Generation.One, [Type.Grass, Type.Psychic], null),
|
Exeggutor(103, Generation.One, [Type.Grass, Type.Psychic], null),
|
||||||
Cubone(
|
Cubone(
|
||||||
104,
|
104,
|
||||||
"Cubone",
|
|
||||||
Generation.One,
|
Generation.One,
|
||||||
[Type.Ground],
|
[Type.Ground],
|
||||||
SingleEvolution(105, 28, condition: [EvolutionCondition.OutsideAlola]),
|
SingleEvolution(105, 28, condition: [EvolutionCondition.OutsideAlola]),
|
||||||
),
|
),
|
||||||
Marowak(105, "Marowak", Generation.One, [Type.Ground], null),
|
Marowak(105, Generation.One, [Type.Ground], null),
|
||||||
Hitmonlee(106, "Hitmonlee", Generation.One, [Type.Fighting], null),
|
Hitmonlee(106, Generation.One, [Type.Fighting], null),
|
||||||
Hitmonchan(107, "Hitmonchan", Generation.One, [Type.Fighting], null),
|
Hitmonchan(107, Generation.One, [Type.Fighting], null),
|
||||||
Lickitung(108, "Lickitung", Generation.One, [Type.Normal], null),
|
Lickitung(108, Generation.One, [Type.Normal], null),
|
||||||
Koffing(
|
Koffing(
|
||||||
109,
|
109,
|
||||||
"Koffing",
|
|
||||||
Generation.One,
|
Generation.One,
|
||||||
[Type.Poison],
|
[Type.Poison],
|
||||||
SingleEvolution(110, 35, condition: [EvolutionCondition.OutsideGalar]),
|
SingleEvolution(110, 35, condition: [EvolutionCondition.OutsideGalar]),
|
||||||
),
|
),
|
||||||
Weezing(110, "Weezing", Generation.One, [Type.Poison], null),
|
Weezing(110, Generation.One, [Type.Poison], null),
|
||||||
Rhyhorn(111, "Rhyhorn", Generation.One, [
|
Rhyhorn(111, Generation.One, [
|
||||||
Type.Ground,
|
Type.Ground,
|
||||||
Type.Rock,
|
Type.Rock,
|
||||||
], SingleEvolution(112, 42)),
|
], SingleEvolution(112, 42)),
|
||||||
Rhydon(112, "Rhydon", Generation.One, [Type.Ground, Type.Rock], null),
|
Rhydon(112, Generation.One, [Type.Ground, Type.Rock], null),
|
||||||
Chansey(113, "Chansey", Generation.One, [Type.Normal], null),
|
Chansey(113, Generation.One, [Type.Normal], null),
|
||||||
Tangela(114, "Tangela", Generation.One, [Type.Grass], null),
|
Tangela(114, Generation.One, [Type.Grass], null),
|
||||||
Kangaskhan(115, "Kangaskhan", Generation.One, [Type.Normal], null),
|
Kangaskhan(115, Generation.One, [Type.Normal], null),
|
||||||
Horsea(116, "Horsea", Generation.One, [Type.Water], SingleEvolution(117, 32)),
|
Horsea(116, Generation.One, [Type.Water], SingleEvolution(117, 32)),
|
||||||
Seadra(117, "Seadra", Generation.One, [Type.Water], null),
|
Seadra(117, Generation.One, [Type.Water], null),
|
||||||
Goldeen(118, "Goldeen", Generation.One, [
|
Goldeen(118, Generation.One, [Type.Water], SingleEvolution(119, 33)),
|
||||||
Type.Water,
|
Seaking(119, Generation.One, [Type.Water], null),
|
||||||
], SingleEvolution(119, 33)),
|
|
||||||
Seaking(119, "Seaking", Generation.One, [Type.Water], null),
|
|
||||||
Staryu(
|
Staryu(
|
||||||
120,
|
120,
|
||||||
"Staryu",
|
|
||||||
Generation.One,
|
Generation.One,
|
||||||
[Type.Water],
|
[Type.Water],
|
||||||
SingleEvolution(121, -1, condition: [EvolutionCondition.WaterStone]),
|
SingleEvolution(121, -1, condition: [EvolutionCondition.WaterStone]),
|
||||||
),
|
),
|
||||||
Starmie(121, "Starmie", Generation.One, [Type.Water, Type.Psychic], null),
|
Starmie(121, Generation.One, [Type.Water, Type.Psychic], null),
|
||||||
MrMime(122, "Mr. Mime", Generation.One, [Type.Psychic, Type.Fairy], null),
|
MrMime(
|
||||||
Scyther(123, "Scyther", Generation.One, [Type.Bug, Type.Flying], null),
|
122,
|
||||||
Jynx(124, "Jynx", Generation.One, [Type.Ice, Type.Psychic], null),
|
Generation.One,
|
||||||
Electabuzz(125, "Electabuzz", Generation.One, [Type.Electric], null),
|
[Type.Psychic, Type.Fairy],
|
||||||
Magmar(126, "Magmar", Generation.One, [Type.Fire], null),
|
null,
|
||||||
Pinsir(127, "Pinsir", Generation.One, [Type.Bug], null),
|
properName: "Mr. Mime",
|
||||||
Tauros(128, "Tauros", Generation.One, [Type.Normal], null),
|
),
|
||||||
Magikarp(129, "Magikarp", Generation.One, [
|
Scyther(123, Generation.One, [Type.Bug, Type.Flying], null),
|
||||||
Type.Water,
|
Jynx(124, Generation.One, [Type.Ice, Type.Psychic], null),
|
||||||
], SingleEvolution(130, 20)),
|
Electabuzz(125, Generation.One, [Type.Electric], null),
|
||||||
Gyarados(130, "Gyarados", Generation.One, [Type.Water, Type.Flying], null),
|
Magmar(126, Generation.One, [Type.Fire], null),
|
||||||
Lapras(131, "Lapras", Generation.One, [Type.Water, Type.Ice], null),
|
Pinsir(127, Generation.One, [Type.Bug], null),
|
||||||
Ditto(132, "Ditto", Generation.One, [Type.Normal], 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),
|
||||||
|
Lapras(131, Generation.One, [Type.Water, Type.Ice], null),
|
||||||
|
Ditto(132, Generation.One, [Type.Normal], null),
|
||||||
Eevee(
|
Eevee(
|
||||||
133,
|
133,
|
||||||
"Eevee",
|
|
||||||
Generation.One,
|
Generation.One,
|
||||||
[Type.Normal],
|
[Type.Normal],
|
||||||
BranchedEvolution([134, 135, 136], [-1, -1, -1], [
|
BranchedEvolution([134, 135, 136], [-1, -1, -1], [
|
||||||
|
@ -601,9 +540,30 @@ enum Pokemon {
|
||||||
[EvolutionCondition.FireStone],
|
[EvolutionCondition.FireStone],
|
||||||
]),
|
]),
|
||||||
),
|
),
|
||||||
Vaporeon(134, "Vaporeon", Generation.One, [Type.Water], null),
|
Vaporeon(134, Generation.One, [Type.Water], null),
|
||||||
Jolteon(135, "Jolteon", Generation.One, [Type.Electric], null),
|
Jolteon(135, Generation.One, [Type.Electric], null),
|
||||||
Flareon(136, "Flareon", Generation.One, [Type.Fire], null);
|
Flareon(136, Generation.One, [Type.Fire], null),
|
||||||
|
Porygon(137, Generation.One, [Type.Normal], null),
|
||||||
|
Omanyte(138, Generation.One, [
|
||||||
|
Type.Rock,
|
||||||
|
Type.Water,
|
||||||
|
], SingleEvolution(139, 40)),
|
||||||
|
Omastar(139, Generation.One, [Type.Rock, Type.Water], null),
|
||||||
|
Kabuto(140, Generation.One, [
|
||||||
|
Type.Rock,
|
||||||
|
Type.Water,
|
||||||
|
], SingleEvolution(141, 40)),
|
||||||
|
Kabutops(141, Generation.One, [Type.Rock, Type.Water], null),
|
||||||
|
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)),
|
||||||
|
Dragonite(149, Generation.One, [Type.Dragon, Type.Flying], null),
|
||||||
|
Mewtwo(150, Generation.One, [Type.Psychic], null),
|
||||||
|
Mew(151, Generation.One, [Type.Psychic], null);
|
||||||
|
|
||||||
final int id;
|
final int id;
|
||||||
final String properName;
|
final String properName;
|
||||||
|
@ -614,13 +574,14 @@ enum Pokemon {
|
||||||
bool get hasEvolutions => evolution != null;
|
bool get hasEvolutions => evolution != null;
|
||||||
const Pokemon(
|
const Pokemon(
|
||||||
this.id,
|
this.id,
|
||||||
this.properName,
|
|
||||||
this.generation,
|
this.generation,
|
||||||
this.types,
|
this.types,
|
||||||
this.evolution, {
|
this.evolution, {
|
||||||
this.dexID = -1,
|
this.dexID = -1,
|
||||||
|
this.properName = "",
|
||||||
});
|
});
|
||||||
|
|
||||||
|
String get pokemonName => properName == "" ? name : properName;
|
||||||
int get pokeDexID => dexID == -1 ? id : dexID;
|
int get pokeDexID => dexID == -1 ? id : dexID;
|
||||||
|
|
||||||
String toDexPath() {
|
String toDexPath() {
|
||||||
|
@ -654,7 +615,7 @@ enum Pokemon {
|
||||||
if (!proper) {
|
if (!proper) {
|
||||||
sRet = name.replaceAll("_", " ");
|
sRet = name.replaceAll("_", " ");
|
||||||
} else {
|
} else {
|
||||||
sRet = properName;
|
sRet = pokemonName;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sRet.endsWith("F")) sRet = "${sRet.substring(0, sRet.length - 1)}♀";
|
if (sRet.endsWith("F")) sRet = "${sRet.substring(0, sRet.length - 1)}♀";
|
||||||
|
@ -664,22 +625,22 @@ enum Pokemon {
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Widget> getEvolutions(int subID) {
|
List<Widget> getEvolutions(int subID) {
|
||||||
print("SUBID ${subID}");
|
//print("SUBID ${subID}");
|
||||||
if (!hasEvolutions) return [];
|
if (!hasEvolutions) return [];
|
||||||
|
|
||||||
List<Pokemon> Evs = [];
|
List<Pokemon> Evs = [];
|
||||||
|
|
||||||
print("Processing evolutions for ${properName}");
|
//print("Processing evolutions for ${pokemonName}");
|
||||||
|
|
||||||
if (evolution is SingleEvolution) {
|
if (evolution is SingleEvolution) {
|
||||||
print("Single Evolution identified");
|
//print("Single Evolution identified");
|
||||||
Evs.add(
|
Evs.add(
|
||||||
Pokemon.values
|
Pokemon.values
|
||||||
.where((x) => x.id == (evolution! as SingleEvolution).to)
|
.where((x) => x.id == (evolution! as SingleEvolution).to)
|
||||||
.first,
|
.first,
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
print("Branching Evolution identified");
|
//print("Branching Evolution identified");
|
||||||
// Handle branched evolutions. Refactor below to accomodate a list of pokemon.
|
// Handle branched evolutions. Refactor below to accomodate a list of pokemon.
|
||||||
for (var ev in (evolution! as BranchedEvolution).alternates) {
|
for (var ev in (evolution! as BranchedEvolution).alternates) {
|
||||||
Evs.add(Pokemon.values.where((x) => x.id == ev).first);
|
Evs.add(Pokemon.values.where((x) => x.id == ev).first);
|
||||||
|
@ -699,7 +660,7 @@ enum Pokemon {
|
||||||
);
|
);
|
||||||
sprites.add(getTypeWidgets());
|
sprites.add(getTypeWidgets());
|
||||||
sprites.add(evolution!.getEvolution());
|
sprites.add(evolution!.getEvolution());
|
||||||
print("Main page EV.");
|
//print("Main page EV.");
|
||||||
} else {
|
} else {
|
||||||
sprites.add(evolution!.getEvolution());
|
sprites.add(evolution!.getEvolution());
|
||||||
}
|
}
|
||||||
|
@ -707,7 +668,7 @@ enum Pokemon {
|
||||||
List<Widget> afterEvs = [];
|
List<Widget> afterEvs = [];
|
||||||
for (var ev in Evs) {
|
for (var ev in Evs) {
|
||||||
afterEvs.addAll(ev.getEvolutions(subID + 1));
|
afterEvs.addAll(ev.getEvolutions(subID + 1));
|
||||||
print("Processing evolution: ${ev.properName}");
|
//print("Processing evolution: ${ev.properName}");
|
||||||
}
|
}
|
||||||
|
|
||||||
sprites.add(
|
sprites.add(
|
||||||
|
|
20
pubspec.yaml
|
@ -16,7 +16,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev
|
||||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||||
# In Windows, build-name is used as the major, minor, and patch parts
|
# In Windows, build-name is used as the major, minor, and patch parts
|
||||||
# of the product and file versions while build-number is used as the build suffix.
|
# of the product and file versions while build-number is used as the build suffix.
|
||||||
version: 1.0.032325+1814
|
version: 1.0.032325+1840
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ^3.7.0
|
sdk: ^3.7.0
|
||||||
|
@ -201,6 +201,24 @@ flutter:
|
||||||
- assets/sprites/vaporeon.png
|
- assets/sprites/vaporeon.png
|
||||||
- assets/sprites/jolteon.png
|
- assets/sprites/jolteon.png
|
||||||
- assets/sprites/flareon.png
|
- assets/sprites/flareon.png
|
||||||
|
- assets/sprites/porygon.png
|
||||||
|
- assets/sprites/omanyte.png
|
||||||
|
- assets/sprites/omastar.png
|
||||||
|
- assets/sprites/kabuto.png
|
||||||
|
- assets/sprites/kabutops.png
|
||||||
|
- assets/sprites/aerodactyl.png
|
||||||
|
- assets/sprites/snorlax.png
|
||||||
|
- assets/sprites/articuno.png
|
||||||
|
- assets/sprites/articuno-galarian.png
|
||||||
|
- assets/sprites/zapdos.png
|
||||||
|
- assets/sprites/zapdos-galarian.png
|
||||||
|
- assets/sprites/moltres.png
|
||||||
|
- assets/sprites/moltres-galarian.png
|
||||||
|
- assets/sprites/dratini.png
|
||||||
|
- assets/sprites/dragonair.png
|
||||||
|
- assets/sprites/dragonite.png
|
||||||
|
- assets/sprites/mewtwo.png
|
||||||
|
- assets/sprites/mew.png
|
||||||
|
|
||||||
# An image asset can refer to one or more resolution-specific "variants", see
|
# An image asset can refer to one or more resolution-specific "variants", see
|
||||||
# https://flutter.dev/to/resolution-aware-images
|
# https://flutter.dev/to/resolution-aware-images
|
||||||
|
|