unite-lib 1.0.3 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +248 -203
- package/dist/i18n/index.cjs +116 -6
- package/dist/i18n/index.cjs.map +1 -1
- package/dist/i18n/index.d.cts +12 -3
- package/dist/i18n/index.d.ts +12 -3
- package/dist/i18n/index.global.js +114 -6
- package/dist/i18n/index.global.js.map +1 -1
- package/dist/i18n/index.js +114 -6
- package/dist/i18n/index.js.map +1 -1
- package/dist/index.cjs +112 -17
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -3
- package/dist/index.d.ts +12 -3
- package/dist/index.global.js +109 -17
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +109 -17
- package/dist/index.js.map +1 -1
- package/maps/map-groudon/map-groudon@1x.png +0 -0
- package/maps/map-groudon/map-groudon@2x.png +0 -0
- package/maps/map-groudon/map-groudon@4x.png +0 -0
- package/maps/map-kyogre/map-kyogre@1x.png +0 -0
- package/maps/map-kyogre/map-kyogre@2x.png +0 -0
- package/maps/map-kyogre/map-kyogre@4x.png +0 -0
- package/maps/map-rayquaza/map-rayquaza@1x.png +0 -0
- package/maps/map-rayquaza/map-rayquaza@2x.png +0 -0
- package/maps/map-rayquaza/map-rayquaza@4x.png +0 -0
- package/moves/moltres_s11.png +0 -0
- package/moves/moltres_s21.png +0 -0
- package/package.json +66 -47
- package/pokemons/roster-moltres-2x.png +0 -0
- package/pokemons/roster-moltres.png +0 -0
- package/pokemons/stat-moltres.png +0 -0
- package/maps/groudon.png +0 -0
package/dist/i18n/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/constants.ts","../../src/pokemons.ts","../../src/i18n/en.ts","../../src/i18n/pt-BR.ts","../../src/i18n/ja-JP.ts","../../src/i18n/fr.ts","../../src/i18n/es.ts","../../src/i18n/index.ts"],"sourcesContent":["/**\r\n * Battle role in Pokémon Unite (Attacker, Defender, etc.).\r\n * Use as const object for framework-agnostic usage.\r\n */\r\nexport const BattleType = {\r\n ATTACKER: \"attacker\",\r\n DEFENDER: \"defender\",\r\n ALLROUNDER: \"allrounder\",\r\n SPEEDSTER: \"speedster\",\r\n SUPPORTER: \"supporter\",\r\n} as const;\r\n\r\nexport type BattleType = (typeof BattleType)[keyof typeof BattleType];\r\n\r\n/**\r\n * Tags for filtering (role + attack style).\r\n */\r\nexport const Tag = {\r\n ATTACKER: \"attacker\",\r\n DEFENDER: \"defender\",\r\n ALLROUNDER: \"allrounder\",\r\n SPEEDSTER: \"speedster\",\r\n SUPPORTER: \"supporter\",\r\n MELEE: \"melee\",\r\n RANGED: \"ranged\",\r\n} as const;\r\n\r\nexport type Tag = (typeof Tag)[keyof typeof Tag];\r\n","import { BattleType, Tag } from \"./constants\";\r\nimport type { Pokemon } from \"./types\";\r\n\r\nconst pokemons: Array<Pokemon> = [{\r\n \"name\": \"Venusaur\",\r\n \"dex\": 3,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-venusaur.png\",\r\n \"big\": \"pokemons/roster-venusaur-2x.png\",\r\n \"complete\": \"pokemons/stat-venusaur.png\",\r\n \"move_s11\": \"moves/venusaur_s11.png\",\r\n \"move_s12\": \"moves/venusaur_s12.png\",\r\n \"move_s21\": \"moves/venusaur_s21.png\",\r\n \"move_s22\": \"moves/venusaur_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 4.5,\r\n \"endurance\": 2,\r\n \"mobility\": 2,\r\n \"scoring\": 2.5,\r\n \"support\": 1\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Charizard\",\r\n \"dex\": 6,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-charizard.png\",\r\n \"big\": \"pokemons/roster-charizard-2x.png\",\r\n \"complete\": \"pokemons/stat-charizard.png\",\r\n \"move_s11\": \"moves/charizard_s11.png\",\r\n \"move_s12\": \"moves/charizard_s12.png\",\r\n \"move_s21\": \"moves/charizard_s21.png\",\r\n \"move_s22\": \"moves/charizard_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 3.5,\r\n \"endurance\": 3,\r\n \"mobility\": 2.5,\r\n \"scoring\": 3,\r\n \"support\": 0.5\r\n },\r\n \"difficulty\": 1,\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ]\r\n},\r\n{\r\n \"name\": \"Mega Charizard X\",\r\n \"dex\": 6.1,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-mega-charizard-x.png\",\r\n \"big\": \"pokemons/roster-mega-charizard-x-2x.png\",\r\n \"complete\": \"pokemons/stat-mega-charizard-x.png\",\r\n \"move_s11\": \"moves/mega-charizard_s11.png\",\r\n \"move_s21\": \"moves/mega-charizard_s21.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 3.5,\r\n \"mobility\": 2.5,\r\n \"scoring\": 3,\r\n \"support\": 0.5\r\n },\r\n \"difficulty\": 1,\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ]\r\n},\r\n{\r\n \"name\": \"Mega Charizard Y\",\r\n \"dex\": 6.2,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-mega-charizard-y.png\",\r\n \"big\": \"pokemons/roster-mega-charizard-y-2x.png\",\r\n \"complete\": \"pokemons/stat-mega-charizard-y.png\",\r\n \"move_s11\": \"moves/mega-charizard_s12.png\",\r\n \"move_s21\": \"moves/mega-charizard_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 3,\r\n \"mobility\": 4,\r\n \"scoring\": 3,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Blastoise\",\r\n \"dex\": 9,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-blastoise.png\",\r\n \"big\": \"pokemons/roster-blastoise-2x.png\",\r\n \"complete\": \"pokemons/stat-blastoise.png\",\r\n \"move_s11\": \"moves/blastoise_s11.png\",\r\n \"move_s12\": \"moves/blastoise_s12.png\",\r\n \"move_s21\": \"moves/blastoise_s21.png\",\r\n \"move_s22\": \"moves/blastoise_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.DEFENDER,\r\n \"tags\": [\r\n Tag.DEFENDER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2,\r\n \"stats\": {\r\n \"offense\": 2,\r\n \"endurance\": 3.5,\r\n \"mobility\": 2,\r\n \"scoring\": 2,\r\n \"support\": 3\r\n }\r\n},\r\n{\r\n \"name\": \"Pikachu\",\r\n \"dex\": 25,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-pikachu.png\",\r\n \"big\": \"pokemons/roster-pikachu-2x.png\",\r\n \"complete\": \"pokemons/stat-pikachu.png\",\r\n \"move_s11\": \"moves/pikachu_s11.png\",\r\n \"move_s12\": \"moves/pikachu_s12.png\",\r\n \"move_s21\": \"moves/pikachu_s21.png\",\r\n \"move_s22\": \"moves/pikachu_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 4.5,\r\n \"endurance\": 1.5,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2,\r\n \"support\": 1.5\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Alolan Raichu\",\r\n \"dex\": 26,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-alolan-raichu.png\",\r\n \"big\": \"pokemons/roster-alolan-raichu-2x.png\",\r\n \"complete\": \"pokemons/stat-alolan-raichu.png\",\r\n \"move_s11\": \"moves/alolan-raichu_s11.png\",\r\n \"move_s12\": \"moves/alolan-raichu_s12.png\",\r\n \"move_s21\": \"moves/alolan-raichu_s21.png\",\r\n \"move_s22\": \"moves/alolan-raichu_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 1.5,\r\n \"mobility\": 3.5,\r\n \"scoring\": 3,\r\n \"support\": 1\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Clefable\",\r\n \"dex\": 36,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-clefable.png\",\r\n \"big\": \"pokemons/roster-clefable-2x.png\",\r\n \"complete\": \"pokemons/stat-clefable.png\",\r\n \"move_s11\": \"moves/clefable_s11.png\",\r\n \"move_s12\": \"moves/clefable_s12.png\",\r\n \"move_s21\": \"moves/clefable_s21.png\",\r\n \"move_s22\": \"moves/clefable_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SUPPORTER,\r\n \"stats\": {\r\n \"offense\": 2,\r\n \"endurance\": 3,\r\n \"mobility\": 1.5,\r\n \"scoring\": 1.5,\r\n \"support\": 4.5\r\n },\r\n \"tags\": [\r\n Tag.SUPPORTER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Alolan Ninetales\",\r\n \"dex\": 38,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-alolan-ninetales.png\",\r\n \"big\": \"pokemons/roster-alolan-ninetales-2x.png\",\r\n \"complete\": \"pokemons/stat-alolan-ninetales.png\",\r\n \"move_s11\": \"moves/alolan-ninetales_s11.png\",\r\n \"move_s12\": \"moves/alolan-ninetales_s12.png\",\r\n \"move_s21\": \"moves/alolan-ninetales_s21.png\",\r\n \"move_s22\": \"moves/alolan-ninetales_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 1.5,\r\n \"mobility\": 1.5,\r\n \"scoring\": 2.5,\r\n \"support\": 3\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Wigglytuff\",\r\n \"dex\": 40,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-wigglytuff.png\",\r\n \"big\": \"pokemons/roster-wigglytuff-2x.png\",\r\n \"complete\": \"pokemons/stat-wigglytuff.png\",\r\n \"move_s11\": \"moves/wigglytuff_s11.png\",\r\n \"move_s12\": \"moves/wigglytuff_s12.png\",\r\n \"move_s21\": \"moves/wigglytuff_s21.png\",\r\n \"move_s22\": \"moves/wigglytuff_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SUPPORTER,\r\n \"stats\": {\r\n \"offense\": 1,\r\n \"endurance\": 2.5,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2,\r\n \"support\": 4.5\r\n },\r\n \"tags\": [\r\n Tag.SUPPORTER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Meowth\",\r\n \"dex\": 52,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-meowth.png\",\r\n \"big\": \"pokemons/roster-meowth-2x.png\",\r\n \"complete\": \"pokemons/stat-meowth.png\",\r\n \"move_s11\": \"moves/meowth_s11.png\",\r\n \"move_s12\": \"moves/meowth_s12.png\",\r\n \"move_s21\": \"moves/meowth_s21.png\",\r\n \"move_s22\": \"moves/meowth_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SPEEDSTER,\r\n \"stats\": {\r\n \"offense\": 2,\r\n \"endurance\": 2,\r\n \"mobility\": 4,\r\n \"scoring\": 3,\r\n \"support\": 2\r\n },\r\n \"tags\": [\r\n Tag.SPEEDSTER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Psyduck\",\r\n \"dex\": 54,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-psyduck.png\",\r\n \"big\": \"pokemons/roster-psyduck-2x.png\",\r\n \"complete\": \"pokemons/stat-psyduck.png\",\r\n \"move_s11\": \"moves/psyduck_s11.png\",\r\n \"move_s12\": \"moves/psyduck_s12.png\",\r\n \"move_s21\": \"moves/psyduck_s21.png\",\r\n \"move_s22\": \"moves/psyduck_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SUPPORTER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 1,\r\n \"mobility\": 2,\r\n \"scoring\": 1,\r\n \"support\": 3\r\n },\r\n \"tags\": [\r\n Tag.SUPPORTER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Machamp\",\r\n \"dex\": 68,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-machamp.png\",\r\n \"big\": \"pokemons/roster-machamp-2x.png\",\r\n \"complete\": \"pokemons/stat-machamp.png\",\r\n \"move_s11\": \"moves/machamp_s11.png\",\r\n \"move_s12\": \"moves/machamp_s12.png\",\r\n \"move_s21\": \"moves/machamp_s21.png\",\r\n \"move_s22\": \"moves/machamp_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 2.5,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2.5,\r\n \"support\": 1\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Galarian Rapidash\",\r\n \"dex\": 78,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-galarian-rapidash.png\",\r\n \"big\": \"pokemons/roster-galarian-rapidash-2x.png\",\r\n \"complete\": \"pokemons/stat-galarian-rapidash.png\",\r\n \"move_s11\": \"moves/galarian-rapidash_s11.png\",\r\n \"move_s12\": \"moves/galarian-rapidash_s12.png\",\r\n \"move_s21\": \"moves/galarian-rapidash_s21.png\",\r\n \"move_s22\": \"moves/galarian-rapidash_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SPEEDSTER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 4,\r\n \"mobility\": 4,\r\n \"scoring\": 2,\r\n \"support\": 1\r\n },\r\n \"tags\": [\r\n Tag.SPEEDSTER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Slowbro\",\r\n \"dex\": 80,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-slowbro.png\",\r\n \"big\": \"pokemons/roster-slowbro-2x.png\",\r\n \"complete\": \"pokemons/stat-slowbro.png\",\r\n \"move_s11\": \"moves/slowbro_s11.png\",\r\n \"move_s12\": \"moves/slowbro_s12.png\",\r\n \"move_s21\": \"moves/slowbro_s21.png\",\r\n \"move_s22\": \"moves/slowbro_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.DEFENDER,\r\n \"stats\": {\r\n \"offense\": 1.5,\r\n \"endurance\": 4,\r\n \"mobility\": 1.5,\r\n \"scoring\": 1.5,\r\n \"support\": 4\r\n },\r\n \"tags\": [\r\n Tag.DEFENDER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Dodrio\",\r\n \"dex\": 85,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-dodrio.png\",\r\n \"big\": \"pokemons/roster-dodrio-2x.png\",\r\n \"complete\": \"pokemons/stat-dodrio.png\",\r\n \"move_s11\": \"moves/dodrio_s11.png\",\r\n \"move_s12\": \"moves/dodrio_s12.png\",\r\n \"move_s21\": \"moves/dodrio_s21.png\",\r\n \"move_s22\": \"moves/dodrio_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SPEEDSTER,\r\n \"stats\": {\r\n \"offense\": 3,\r\n \"endurance\": 2,\r\n \"mobility\": 4,\r\n \"scoring\": 4,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.SPEEDSTER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Gengar\",\r\n \"dex\": 94,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-gengar.png\",\r\n \"big\": \"pokemons/roster-gengar-2x.png\",\r\n \"complete\": \"pokemons/stat-gengar.png\",\r\n \"move_s11\": \"moves/gengar_s11.png\",\r\n \"move_s12\": \"moves/gengar_s12.png\",\r\n \"move_s21\": \"moves/gengar_s21.png\",\r\n \"move_s22\": \"moves/gengar_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SPEEDSTER,\r\n \"stats\": {\r\n \"offense\": 3.5,\r\n \"endurance\": 2,\r\n \"mobility\": 4,\r\n \"scoring\": 3,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.SPEEDSTER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Blissey\",\r\n \"dex\": 242,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-blissey.png\",\r\n \"big\": \"pokemons/roster-blissey-2x.png\",\r\n \"complete\": \"pokemons/stat-blissey.png\",\r\n \"move_s11\": \"moves/blissey_s11.png\",\r\n \"move_s12\": \"moves/blissey_s12.png\",\r\n \"move_s21\": \"moves/blissey_s21.png\",\r\n \"move_s22\": \"moves/blissey_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SUPPORTER,\r\n \"stats\": {\r\n \"offense\": 1,\r\n \"endurance\": 3.5,\r\n \"mobility\": 1.5,\r\n \"scoring\": 1.5,\r\n \"support\": 4.5\r\n },\r\n \"tags\": [\r\n Tag.SUPPORTER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Mr. Mime\",\r\n \"dex\": 122,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-mr-mime.png\",\r\n \"big\": \"pokemons/roster-mr-mime-2x.png\",\r\n \"complete\": \"pokemons/stat-mr-mime.png\",\r\n \"move_s11\": \"moves/mr-mime_s11.png\",\r\n \"move_s12\": \"moves/mr-mime_s12.png\",\r\n \"move_s21\": \"moves/mr-mime_s21.png\",\r\n \"move_s22\": \"moves/mr-mime_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SUPPORTER,\r\n \"tags\": [Tag.SUPPORTER, Tag.RANGED]\r\n},\r\n{\r\n \"name\": \"Scizor\",\r\n \"dex\": 212,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-scizor.png\",\r\n \"big\": \"pokemons/roster-scizor-2x.png\",\r\n \"complete\": \"pokemons/stat-scizor.png\",\r\n \"move_s11\": \"moves/scizor_s11.png\",\r\n \"move_s12\": \"moves/scizor_s12.png\",\r\n \"move_s21\": \"moves/scizor_s21.png\",\r\n \"move_s22\": \"moves/scizor_s22.png\",\r\n \"move_s23\": \"moves/scizor_s23.png\",\r\n \"move_s24\": \"moves/scizor_s24.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4.5,\r\n \"endurance\": 2.5,\r\n \"mobility\": 4.5,\r\n \"scoring\": 2.5,\r\n \"support\": 1\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Gyarados\",\r\n \"dex\": 130,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-gyarados.png\",\r\n \"big\": \"pokemons/roster-gyarados-2x.png\",\r\n \"complete\": \"pokemons/stat-gyarados.png\",\r\n \"move_s11\": \"moves/gyarados_s11.png\",\r\n \"move_s12\": \"moves/gyarados_s12.png\",\r\n \"move_s21\": \"moves/gyarados_s21.png\",\r\n \"move_s22\": \"moves/gyarados_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4.5,\r\n \"endurance\": 2.5,\r\n \"mobility\": 4.5,\r\n \"scoring\": 2.5,\r\n \"support\": 1\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Mega Gyarados\",\r\n \"dex\": 130.1,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-mega-gyarados.png\",\r\n \"big\": \"pokemons/roster-mega-gyarados-2x.png\",\r\n \"complete\": \"pokemons/stat-mega-gyarados.png\",\r\n \"move_s11\": \"moves/mega-gyarados_s11.png\",\r\n \"move_s21\": \"moves/mega-gyarados_s21.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4.5,\r\n \"endurance\": 3.5,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2,\r\n \"support\": 1.5\r\n },\r\n \"difficulty\": 1,\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ]\r\n},\r\n{\r\n \"name\": \"Lapras\",\r\n \"dex\": 131,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-lapras.png\",\r\n \"big\": \"pokemons/roster-lapras-2x.png\",\r\n \"complete\": \"pokemons/stat-lapras.png\",\r\n \"move_s11\": \"moves/lapras_s11.png\",\r\n \"move_s12\": \"moves/lapras_s12.png\",\r\n \"move_s21\": \"moves/lapras_s21.png\",\r\n \"move_s22\": \"moves/lapras_s22.png\",\r\n },\r\n \"active\": true,\r\n \"tags\": [\r\n Tag.DEFENDER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2,\r\n \"battleType\": BattleType.DEFENDER,\r\n \"stats\": {\r\n \"offense\": 3,\r\n \"endurance\": 3.5,\r\n \"mobility\": 2,\r\n \"scoring\": 2,\r\n \"support\": 3\r\n }\r\n},\r\n{\r\n \"name\": \"Vaporeon\",\r\n \"dex\": 134,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-vaporeon.png\",\r\n \"big\": \"pokemons/roster-vaporeon-2x.png\",\r\n \"complete\": \"pokemons/stat-vaporeon.png\",\r\n \"move_s11\": \"moves/vaporeon_s11.png\",\r\n \"move_s12\": \"moves/vaporeon_s12.png\",\r\n \"move_s21\": \"moves/vaporeon_s21.png\",\r\n \"move_s22\": \"moves/vaporeon_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.DEFENDER,\r\n \"stats\": {\r\n \"offense\": 2,\r\n \"endurance\": 4,\r\n \"mobility\": 3,\r\n \"scoring\": 2,\r\n \"support\": 4\r\n },\r\n \"tags\": [\r\n Tag.DEFENDER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Snorlax\",\r\n \"dex\": 143,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-snorlax.png\",\r\n \"big\": \"pokemons/roster-snorlax-2x.png\",\r\n \"complete\": \"pokemons/stat-snorlax.png\",\r\n \"move_s11\": \"moves/snorlax_s11.png\",\r\n \"move_s12\": \"moves/snorlax_s12.png\",\r\n \"move_s21\": \"moves/snorlax_s21.png\",\r\n \"move_s22\": \"moves/snorlax_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.DEFENDER,\r\n \"stats\": {\r\n \"offense\": 1.5,\r\n \"endurance\": 5,\r\n \"mobility\": 2,\r\n \"scoring\": 1.5,\r\n \"support\": 2.5\r\n },\r\n \"tags\": [\r\n Tag.DEFENDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Zapdos\",\r\n \"dex\": 145,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-zapdos.png\",\r\n \"big\": \"pokemons/roster-zapdos-2x.png\",\r\n \"complete\": \"pokemons/stat-zapdos.png\",\r\n \"move_s11\": \"moves/zapdos_s11.png\",\r\n \"move_s21\": \"moves/zapdos_s21.png\"\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 5,\r\n \"endurance\": 2,\r\n \"mobility\": 1,\r\n \"scoring\": 2,\r\n \"support\": 2\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Dragonite\",\r\n \"dex\": 149,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-dragonite.png\",\r\n \"big\": \"pokemons/roster-dragonite-2x.png\",\r\n \"complete\": \"pokemons/stat-dragonite.png\",\r\n \"move_s11\": \"moves/dragonite_s11.png\",\r\n \"move_s12\": \"moves/dragonite_s12.png\",\r\n \"move_s21\": \"moves/dragonite_s21.png\",\r\n \"move_s22\": \"moves/dragonite_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 2.5,\r\n \"mobility\": 2.5,\r\n \"scoring\": 3,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Mewtwo X\",\r\n \"dex\": 150,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-mewtwox.png\",\r\n \"big\": \"pokemons/roster-mewtwox-2x.png\",\r\n \"complete\": \"pokemons/stat-mewtwox.png\",\r\n \"move_s11\": \"moves/mewtwox_s11.png\",\r\n \"move_s12\": \"moves/mewtwox_s12.png\",\r\n \"move_s21\": \"moves/mewtwox_s21.png\",\r\n \"move_s22\": \"moves/mewtwox_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 4,\r\n \"mobility\": 3,\r\n \"scoring\": 2,\r\n \"support\": 2\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Mewtwo Y\",\r\n \"dex\": 150,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-mewtwoy.png\",\r\n \"big\": \"pokemons/roster-mewtwoy-2x.png\",\r\n \"complete\": \"pokemons/stat-mewtwoy.png\",\r\n \"move_s11\": \"moves/mewtwoy_s11.png\",\r\n \"move_s12\": \"moves/mewtwoy_s12.png\",\r\n \"move_s21\": \"moves/mewtwoy_s21.png\",\r\n \"move_s22\": \"moves/mewtwoy_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 5,\r\n \"endurance\": 3,\r\n \"mobility\": 3.5,\r\n \"scoring\": 2,\r\n \"support\": 2\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Mew\",\r\n \"dex\": 151,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-mew.png\",\r\n \"big\": \"pokemons/roster-mew-2x.png\",\r\n \"complete\": \"pokemons/stat-mew.png\",\r\n \"move_s11\": \"moves/mew_s11.png\",\r\n \"move_s12\": \"moves/mew_s12.png\",\r\n \"move_s13\": \"moves/mew_s13.png\",\r\n \"move_s21\": \"moves/mew_s21.png\",\r\n \"move_s22\": \"moves/mew_s22.png\",\r\n \"move_s23\": \"moves/mew_s23.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 2,\r\n \"mobility\": 3,\r\n \"scoring\": 2,\r\n \"support\": 3,\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Azumarill\",\r\n \"dex\": 184,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-azumarill.png\",\r\n \"big\": \"pokemons/roster-azumarill-2x.png\",\r\n \"complete\": \"pokemons/stat-azumarill.png\",\r\n \"move_s11\": \"moves/azumarill_s11.png\",\r\n \"move_s12\": \"moves/azumarill_s12.png\",\r\n \"move_s21\": \"moves/azumarill_s21.png\",\r\n \"move_s22\": \"moves/azumarill_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 3,\r\n \"endurance\": 3,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2.5,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Espeon\",\r\n \"dex\": 196,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-espeon.png\",\r\n \"big\": \"pokemons/roster-espeon-2x.png\",\r\n \"complete\": \"pokemons/stat-espeon.png\",\r\n \"move_s11\": \"moves/espeon_s11.png\",\r\n \"move_s12\": \"moves/espeon_s12.png\",\r\n \"move_s21\": \"moves/espeon_s21.png\",\r\n \"move_s22\": \"moves/espeon_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 2,\r\n \"mobility\": 1.5,\r\n \"scoring\": 2,\r\n \"support\": 3\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Umbreon\",\r\n \"dex\": 197,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-umbreon.png\",\r\n \"big\": \"pokemons/roster-umbreon-2x.png\",\r\n \"complete\": \"pokemons/stat-umbreon.png\",\r\n \"move_s11\": \"moves/umbreon_s11.png\",\r\n \"move_s12\": \"moves/umbreon_s12.png\",\r\n \"move_s21\": \"moves/umbreon_s21.png\",\r\n \"move_s22\": \"moves/umbreon_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.DEFENDER,\r\n \"tags\": [Tag.DEFENDER, Tag.MELEE]\r\n},\r\n{\r\n \"name\": \"Mamoswine\",\r\n \"dex\": 473,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-mamoswine.png\",\r\n \"big\": \"pokemons/roster-mamoswine-2x.png\",\r\n \"complete\": \"pokemons/stat-mamoswine.png\",\r\n \"move_s11\": \"moves/mamoswine_s11.png\",\r\n \"move_s12\": \"moves/mamoswine_s12.png\",\r\n \"move_s21\": \"moves/mamoswine_s21.png\",\r\n \"move_s22\": \"moves/mamoswine_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.DEFENDER,\r\n \"stats\": {\r\n \"offense\": 2.5,\r\n \"endurance\": 4,\r\n \"mobility\": 2,\r\n \"scoring\": 1.5,\r\n \"support\": 2.5\r\n },\r\n \"tags\": [\r\n Tag.DEFENDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Suicune\",\r\n \"dex\": 245,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-suicune.png\",\r\n \"big\": \"pokemons/roster-suicune-2x.png\",\r\n \"complete\": \"pokemons/stat-suicune.png\",\r\n \"move_s11\": \"moves/suicune_s11.png\",\r\n \"move_s12\": \"moves/suicune_s12.png\",\r\n \"move_s21\": \"moves/suicune_s21.png\",\r\n \"move_s22\": \"moves/suicune_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 5,\r\n \"endurance\": 2.5,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2,\r\n \"support\": 2\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Tyranitar\",\r\n \"dex\": 248,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-tyranitar.png\",\r\n \"big\": \"pokemons/roster-tyranitar-2x.png\",\r\n \"complete\": \"pokemons/stat-tyranitar.png\",\r\n \"move_s11\": \"moves/tyranitar_s11.png\",\r\n \"move_s12\": \"moves/tyranitar_s12.png\",\r\n \"move_s21\": \"moves/tyranitar_s21.png\",\r\n \"move_s22\": \"moves/tyranitar_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 4,\r\n \"mobility\": 2,\r\n \"scoring\": 1.5,\r\n \"support\": 1\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Ho-Oh\",\r\n \"dex\": 250,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-ho-oh.png\",\r\n \"big\": \"pokemons/roster-ho-oh-2x.png\",\r\n \"complete\": \"pokemons/stat-ho-oh.png\",\r\n \"move_s11\": \"moves/ho-oh_s11.png\",\r\n \"move_s12\": \"moves/ho-oh_s12.png\",\r\n \"move_s21\": \"moves/ho-oh_s21.png\",\r\n \"move_s22\": \"moves/ho-oh_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.DEFENDER,\r\n \"stats\": {\r\n \"offense\": 3,\r\n \"endurance\": 4,\r\n \"mobility\": 2,\r\n \"scoring\": 1,\r\n \"support\": 3\r\n },\r\n \"tags\": [\r\n Tag.DEFENDER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Blaziken\",\r\n \"dex\": 257,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-blaziken.png\",\r\n \"big\": \"pokemons/roster-blaziken-2x.png\",\r\n \"complete\": \"pokemons/stat-blaziken.png\",\r\n \"move_s11\": \"moves/blaziken_s11.png\",\r\n \"move_s12\": \"moves/blaziken_s12.png\",\r\n \"move_s21\": \"moves/blaziken_s21.png\",\r\n \"move_s22\": \"moves/blaziken_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 2.5,\r\n \"mobility\": 4,\r\n \"scoring\": 1,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.MELEE,\r\n Tag.ALLROUNDER\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Gardevoir\",\r\n \"dex\": 282,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-gardevoir.png\",\r\n \"big\": \"pokemons/roster-gardevoir-2x.png\",\r\n \"complete\": \"pokemons/stat-gardevoir.png\",\r\n \"move_s11\": \"moves/gardevoir_s11.png\",\r\n \"move_s12\": \"moves/gardevoir_s12.png\",\r\n \"move_s21\": \"moves/gardevoir_s21.png\",\r\n \"move_s22\": \"moves/gardevoir_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 4.5,\r\n \"endurance\": 1.5,\r\n \"mobility\": 1.5,\r\n \"scoring\": 3,\r\n \"support\": 1.5\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Sableye\",\r\n \"dex\": 302,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-sableye.png\",\r\n \"big\": \"pokemons/roster-sableye-2x.png\",\r\n \"complete\": \"pokemons/stat-sableye.png\",\r\n \"move_s11\": \"moves/sableye_s11.png\",\r\n \"move_s12\": \"moves/sableye_s12.png\",\r\n \"move_s21\": \"moves/sableye_s21.png\",\r\n \"move_s22\": \"moves/sableye_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SUPPORTER,\r\n \"stats\": {\r\n \"offense\": 1,\r\n \"endurance\": 2.5,\r\n \"mobility\": 2.5,\r\n \"scoring\": 3.5,\r\n \"support\": 3.5\r\n },\r\n \"tags\": [\r\n Tag.SUPPORTER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Absol\",\r\n \"dex\": 359,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-absol.png\",\r\n \"big\": \"pokemons/roster-absol-2x.png\",\r\n \"complete\": \"pokemons/stat-absol.png\",\r\n \"move_s11\": \"moves/absol_s11.png\",\r\n \"move_s12\": \"moves/absol_s12.png\",\r\n \"move_s21\": \"moves/absol_s21.png\",\r\n \"move_s22\": \"moves/absol_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SPEEDSTER,\r\n \"stats\": {\r\n \"offense\": 3.5,\r\n \"endurance\": 2,\r\n \"mobility\": 4,\r\n \"scoring\": 2.5,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.SPEEDSTER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Metagross\",\r\n \"dex\": 376,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-metagross.png\",\r\n \"big\": \"pokemons/roster-metagross-2x.png\",\r\n \"complete\": \"pokemons/stat-metagross.png\",\r\n \"move_s11\": \"moves/metagross_s11.png\",\r\n \"move_s12\": \"moves/metagross_s12.png\",\r\n \"move_s21\": \"moves/metagross_s21.png\",\r\n \"move_s22\": \"moves/metagross_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 3.5,\r\n \"endurance\": 3,\r\n \"mobility\": 2.5,\r\n \"scoring\": 3,\r\n \"support\": 0.5\r\n },\r\n \"difficulty\": 2,\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ]\r\n},\r\n{\r\n \"name\": \"Latias\",\r\n \"dex\": 380,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-latias.png\",\r\n \"big\": \"pokemons/roster-latias-2x.png\",\r\n \"complete\": \"pokemons/stat-latias.png\",\r\n \"move_s11\": \"moves/latias_s11.png\",\r\n \"move_s12\": \"moves/latias_s12.png\",\r\n \"move_s21\": \"moves/latias_s21.png\",\r\n \"move_s22\": \"moves/latias_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SUPPORTER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 1.5,\r\n \"mobility\": 4,\r\n \"scoring\": 2.5,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.SUPPORTER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Latios\",\r\n \"dex\": 381,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-latios.png\",\r\n \"big\": \"pokemons/roster-latios-2x.png\",\r\n \"complete\": \"pokemons/stat-latios.png\",\r\n \"move_s11\": \"moves/latios_s11.png\",\r\n \"move_s12\": \"moves/latios_s12.png\",\r\n \"move_s21\": \"moves/latios_s21.png\",\r\n \"move_s22\": \"moves/latios_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 1.5,\r\n \"mobility\": 4,\r\n \"scoring\": 2.5,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Empoleon\",\r\n \"dex\": 395,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-empoleon.png\",\r\n \"big\": \"pokemons/roster-empoleon-2x.png\",\r\n \"complete\": \"pokemons/stat-empoleon.png\",\r\n \"move_s11\": \"moves/empoleon_s11.png\",\r\n \"move_s12\": \"moves/empoleon_s12.png\",\r\n \"move_s21\": \"moves/empoleon_s21.png\",\r\n \"move_s22\": \"moves/empoleon_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4.5,\r\n \"endurance\": 3.5,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2.5,\r\n \"support\": 1.5\r\n },\r\n \"difficulty\": 2,\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ]\r\n},\r\n{\r\n \"name\": \"Garchomp\",\r\n \"dex\": 445,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-garchomp.png\",\r\n \"big\": \"pokemons/roster-garchomp-2x.png\",\r\n \"complete\": \"pokemons/stat-garchomp.png\",\r\n \"move_s11\": \"moves/garchomp_s11.png\",\r\n \"move_s12\": \"moves/garchomp_s12.png\",\r\n \"move_s21\": \"moves/garchomp_s21.png\",\r\n \"move_s22\": \"moves/garchomp_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 3.5,\r\n \"endurance\": 3.5,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2.5,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Lucario\",\r\n \"dex\": 448,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-lucario.png\",\r\n \"big\": \"pokemons/roster-lucario-2x.png\",\r\n \"complete\": \"pokemons/stat-lucario.png\",\r\n \"move_s11\": \"moves/lucario_s11.png\",\r\n \"move_s12\": \"moves/lucario_s12.png\",\r\n \"move_s21\": \"moves/lucario_s21.png\",\r\n \"move_s22\": \"moves/lucario_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 3,\r\n \"endurance\": 2.5,\r\n \"mobility\": 3.5,\r\n \"scoring\": 3,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Mega Lucario\",\r\n \"dex\": 448.1,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-mega-lucario.png\",\r\n \"big\": \"pokemons/roster-mega-lucario-2x.png\",\r\n \"complete\": \"pokemons/stat-mega-lucario.png\",\r\n \"move_s11\": \"moves/mega-lucario_s11.png\",\r\n \"move_s21\": \"moves/mega-lucario_s21.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4.5,\r\n \"endurance\": 2,\r\n \"mobility\": 3.5,\r\n \"scoring\": 3,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Leafeon\",\r\n \"dex\": 470,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-leafeon.png\",\r\n \"big\": \"pokemons/roster-leafeon-2x.png\",\r\n \"complete\": \"pokemons/stat-leafeon.png\",\r\n \"move_s11\": \"moves/leafeon_s11.png\",\r\n \"move_s12\": \"moves/leafeon_s12.png\",\r\n \"move_s21\": \"moves/leafeon_s21.png\",\r\n \"move_s22\": \"moves/leafeon_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SPEEDSTER,\r\n \"stats\": {\r\n \"offense\": 3.5,\r\n \"endurance\": 1.5,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2.5,\r\n \"support\": 2.5\r\n },\r\n \"tags\": [\r\n Tag.SPEEDSTER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Glaceon\",\r\n \"dex\": 471,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-glaceon.png\",\r\n \"big\": \"pokemons/roster-glaceon-2x.png\",\r\n \"complete\": \"pokemons/stat-glaceon.png\",\r\n \"move_s11\": \"moves/glaceon_s11.png\",\r\n \"move_s12\": \"moves/glaceon_s12.png\",\r\n \"move_s21\": \"moves/glaceon_s21.png\",\r\n \"move_s22\": \"moves/glaceon_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 2,\r\n \"mobility\": 3,\r\n \"scoring\": 1,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Darkrai\",\r\n \"dex\": 491,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-darkrai.png\",\r\n \"big\": \"pokemons/roster-darkrai-2x.png\",\r\n \"complete\": \"pokemons/stat-darkrai.png\",\r\n \"move_s11\": \"moves/darkrai_s11.png\",\r\n \"move_s12\": \"moves/darkrai_s12.png\",\r\n \"move_s21\": \"moves/darkrai_s21.png\",\r\n \"move_s22\": \"moves/darkrai_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SPEEDSTER,\r\n \"stats\": {\r\n \"offense\": 4.5,\r\n \"endurance\": 1.5,\r\n \"mobility\": 3,\r\n \"scoring\": 2,\r\n \"support\": 2\r\n },\r\n \"tags\": [\r\n Tag.SPEEDSTER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Crustle\",\r\n \"dex\": 558,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-crustle.png\",\r\n \"big\": \"pokemons/roster-crustle-2x.png\",\r\n \"complete\": \"pokemons/stat-crustle.png\",\r\n \"move_s11\": \"moves/crustle_s11.png\",\r\n \"move_s12\": \"moves/crustle_s12.png\",\r\n \"move_s21\": \"moves/crustle_s21.png\",\r\n \"move_s22\": \"moves/crustle_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.DEFENDER,\r\n \"stats\": {\r\n \"offense\": 1.5,\r\n \"endurance\": 4,\r\n \"mobility\": 1.5,\r\n \"scoring\": 2,\r\n \"support\": 3\r\n },\r\n \"tags\": [\r\n Tag.DEFENDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Zoroark\",\r\n \"dex\": 571,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-zoroark.png\",\r\n \"big\": \"pokemons/roster-zoroark-2x.png\",\r\n \"complete\": \"pokemons/stat-zoroark.png\",\r\n \"move_s11\": \"moves/zoroark_s11.png\",\r\n \"move_s12\": \"moves/zoroark_s12.png\",\r\n \"move_s21\": \"moves/zoroark_s21.png\",\r\n \"move_s22\": \"moves/zoroark_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SPEEDSTER,\r\n \"stats\": {\r\n \"offense\": 3.5,\r\n \"endurance\": 1.5,\r\n \"mobility\": 4,\r\n \"scoring\": 2,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.SPEEDSTER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Chandelure\",\r\n \"dex\": 609,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-chandelure.png\",\r\n \"big\": \"pokemons/roster-chandelure-2x.png\",\r\n \"complete\": \"pokemons/stat-chandelure.png\",\r\n \"move_s11\": \"moves/chandelure_s11.png\",\r\n \"move_s12\": \"moves/chandelure_s12.png\",\r\n \"move_s21\": \"moves/chandelure_s21.png\",\r\n \"move_s22\": \"moves/chandelure_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 5,\r\n \"endurance\": 1,\r\n \"mobility\": 1,\r\n \"scoring\": 2,\r\n \"support\": 3\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Delphox\",\r\n \"dex\": 655,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-delphox.png\",\r\n \"big\": \"pokemons/roster-delphox-2x.png\",\r\n \"complete\": \"pokemons/stat-delphox.png\",\r\n \"move_s11\": \"moves/delphox_s11.png\",\r\n \"move_s12\": \"moves/delphox_s12.png\",\r\n \"move_s21\": \"moves/delphox_s21.png\",\r\n \"move_s22\": \"moves/delphox_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 1.5,\r\n \"mobility\": 3,\r\n \"scoring\": 2.5,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Greninja\",\r\n \"dex\": 658,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-greninja.png\",\r\n \"big\": \"pokemons/roster-greninja-2x.png\",\r\n \"complete\": \"pokemons/stat-greninja.png\",\r\n \"move_s11\": \"moves/greninja_s11.png\",\r\n \"move_s12\": \"moves/greninja_s12.png\",\r\n \"move_s21\": \"moves/greninja_s21.png\",\r\n \"move_s22\": \"moves/greninja_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 2,\r\n \"mobility\": 3,\r\n \"scoring\": 3,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Talonflame\",\r\n \"dex\": 663,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-talonflame.png\",\r\n \"big\": \"pokemons/roster-talonflame-2x.png\",\r\n \"complete\": \"pokemons/stat-talonflame.png\",\r\n \"move_s11\": \"moves/talonflame_s11.png\",\r\n \"move_s12\": \"moves/talonflame_s12.png\",\r\n \"move_s21\": \"moves/talonflame_s21.png\",\r\n \"move_s22\": \"moves/talonflame_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SPEEDSTER,\r\n \"stats\": {\r\n \"offense\": 2.5,\r\n \"endurance\": 1.5,\r\n \"mobility\": 5,\r\n \"scoring\": 3.5,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.SPEEDSTER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Aegislash\",\r\n \"dex\": 681,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-aegislash.png\",\r\n \"big\": \"pokemons/roster-aegislash-2x.png\",\r\n \"complete\": \"pokemons/stat-aegislash.png\",\r\n \"move_s11\": \"moves/aegislash_s11.png\",\r\n \"move_s12\": \"moves/aegislash_s12.png\",\r\n \"move_s21\": \"moves/aegislash_s21.png\",\r\n \"move_s22\": \"moves/aegislash_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 3.5,\r\n \"endurance\": 2,\r\n \"mobility\": 4,\r\n \"scoring\": 2.5,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Sylveon\",\r\n \"dex\": 700,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-sylveon.png\",\r\n \"big\": \"pokemons/roster-sylveon-2x.png\",\r\n \"complete\": \"pokemons/stat-sylveon.png\",\r\n \"move_s11\": \"moves/sylveon_s11.png\",\r\n \"move_s12\": \"moves/sylveon_s12.png\",\r\n \"move_s21\": \"moves/sylveon_s21.png\",\r\n \"move_s22\": \"moves/sylveon_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 3.5,\r\n \"endurance\": 1.5,\r\n \"mobility\": 1.5,\r\n \"scoring\": 3.5,\r\n \"support\": 3.5\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Goodra\",\r\n \"dex\": 706,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-goodra.png\",\r\n \"big\": \"pokemons/roster-goodra-2x.png\",\r\n \"complete\": \"pokemons/stat-goodra.png\",\r\n \"move_s11\": \"moves/goodra_s11.png\",\r\n \"move_s12\": \"moves/goodra_s12.png\",\r\n \"move_s21\": \"moves/goodra_s21.png\",\r\n \"move_s22\": \"moves/goodra_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.DEFENDER,\r\n \"stats\": {\r\n \"offense\": 2.5,\r\n \"endurance\": 4,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2.5,\r\n \"support\": 2\r\n },\r\n \"tags\": [\r\n Tag.DEFENDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Trevenant\",\r\n \"dex\": 709,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-trevenant.png\",\r\n \"big\": \"pokemons/roster-trevenant-2x.png\",\r\n \"complete\": \"pokemons/stat-trevenant.png\",\r\n \"move_s11\": \"moves/trevenant_s11.png\",\r\n \"move_s12\": \"moves/trevenant_s12.png\",\r\n \"move_s21\": \"moves/trevenant_s21.png\",\r\n \"move_s22\": \"moves/trevenant_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.DEFENDER,\r\n \"stats\": {\r\n \"offense\": 2,\r\n \"endurance\": 4,\r\n \"mobility\": 2,\r\n \"scoring\": 2.5,\r\n \"support\": 2.5\r\n },\r\n \"tags\": [\r\n Tag.DEFENDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Hoopa\",\r\n \"dex\": 720,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-hoopa.png\",\r\n \"big\": \"pokemons/roster-hoopa-2x.png\",\r\n \"complete\": \"pokemons/stat-hoopa.png\",\r\n \"move_s11\": \"moves/hoopa_s11.png\",\r\n \"move_s12\": \"moves/hoopa_s12.png\",\r\n \"move_s21\": \"moves/hoopa_s21.png\",\r\n \"move_s22\": \"moves/hoopa_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SUPPORTER,\r\n \"stats\": {\r\n \"offense\": 3,\r\n \"endurance\": 2,\r\n \"mobility\": 3,\r\n \"scoring\": 2,\r\n \"support\": 3.5\r\n },\r\n \"tags\": [\r\n Tag.SUPPORTER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Decidueye\",\r\n \"dex\": 724,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-decidueye.png\",\r\n \"big\": \"pokemons/roster-decidueye-2x.png\",\r\n \"complete\": \"pokemons/stat-decidueye.png\",\r\n \"move_s11\": \"moves/decidueye_s11.png\",\r\n \"move_s12\": \"moves/decidueye_s12.png\",\r\n \"move_s21\": \"moves/decidueye_s21.png\",\r\n \"move_s22\": \"moves/decidueye_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 3.5,\r\n \"endurance\": 1.5,\r\n \"mobility\": 1.5,\r\n \"scoring\": 3.5,\r\n \"support\": 3.5\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Tsareena\",\r\n \"dex\": 763,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-tsareena.png\",\r\n \"big\": \"pokemons/roster-tsareena-2x.png\",\r\n \"complete\": \"pokemons/stat-tsareena.png\",\r\n \"move_s11\": \"moves/tsareena_s11.png\",\r\n \"move_s12\": \"moves/tsareena_s12.png\",\r\n \"move_s21\": \"moves/tsareena_s21.png\",\r\n \"move_s22\": \"moves/tsareena_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 3.5,\r\n \"endurance\": 1.5,\r\n \"mobility\": 1.5,\r\n \"scoring\": 3.5,\r\n \"support\": 3.5\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Comfey\",\r\n \"dex\": 764,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-comfey.png\",\r\n \"big\": \"pokemons/roster-comfey-2x.png\",\r\n \"complete\": \"pokemons/stat-comfey.png\",\r\n \"move_s11\": \"moves/comfey_s11.png\",\r\n \"move_s12\": \"moves/comfey_s12.png\",\r\n \"move_s21\": \"moves/comfey_s21.png\",\r\n \"move_s22\": \"moves/comfey_s22.png\",\r\n },\r\n \"active\": true,\r\n \"stats\": {\r\n \"offense\": 2,\r\n \"endurance\": 3,\r\n \"mobility\": 1.5,\r\n \"scoring\": 1.5,\r\n \"support\": 4.5\r\n },\r\n \"difficulty\": 1,\r\n \"tags\": [\r\n Tag.SUPPORTER,\r\n Tag.RANGED\r\n ],\r\n \"battleType\": BattleType.SUPPORTER\r\n},\r\n{\r\n \"name\": \"Mimikyu\",\r\n \"dex\": 778,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-mimikyu.png\",\r\n \"big\": \"pokemons/roster-mimikyu-2x.png\",\r\n \"complete\": \"pokemons/stat-mimikyu.png\",\r\n \"move_s11\": \"moves/mimikyu_s11.png\",\r\n \"move_s12\": \"moves/mimikyu_s12.png\",\r\n \"move_s21\": \"moves/mimikyu_s21.png\",\r\n \"move_s22\": \"moves/mimikyu_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 3,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2,\r\n \"support\": 2\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Dhelmise\",\r\n \"dex\": 781,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-dhelmise.png\",\r\n \"big\": \"pokemons/roster-dhelmise-2x.png\",\r\n \"complete\": \"pokemons/stat-dhelmise.png\",\r\n \"move_s11\": \"moves/dhelmise_s11.png\",\r\n \"move_s12\": \"moves/dhelmise_s12.png\",\r\n \"move_s21\": \"moves/dhelmise_s21.png\", },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4.5,\r\n \"endurance\": 1.5,\r\n \"mobility\": 1,\r\n \"scoring\": 1,\r\n \"support\": 1,\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Buzzwole\",\r\n \"dex\": 794,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-buzzwole.png\",\r\n \"big\": \"pokemons/roster-buzzwole-2x.png\",\r\n \"complete\": \"pokemons/stat-buzzwole.png\",\r\n \"move_s11\": \"moves/buzzwole_s11.png\",\r\n \"move_s12\": \"moves/buzzwole_s12.png\",\r\n \"move_s21\": \"moves/buzzwole_s21.png\",\r\n \"move_s22\": \"moves/buzzwole_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 3,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2,\r\n \"support\": 2\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Zeraora\",\r\n \"dex\": 807,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-zeraora.png\",\r\n \"big\": \"pokemons/roster-zeraora-2x.png\",\r\n \"complete\": \"pokemons/stat-zeraora.png\",\r\n \"move_s11\": \"moves/zeraora_s11.png\",\r\n \"move_s12\": \"moves/zeraora_s12.png\",\r\n \"move_s21\": \"moves/zeraora_s21.png\",\r\n \"move_s22\": \"moves/zeraora_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SPEEDSTER,\r\n \"stats\": {\r\n \"offense\": 3.5,\r\n \"endurance\": 1.5,\r\n \"mobility\": 4,\r\n \"scoring\": 3,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.SPEEDSTER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Cinderace\",\r\n \"dex\": 815,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-cinderace.png\",\r\n \"big\": \"pokemons/roster-cinderace-2x.png\",\r\n \"complete\": \"pokemons/stat-cinderace.png\",\r\n \"move_s11\": \"moves/cinderace_s11.png\",\r\n \"move_s12\": \"moves/cinderace_s12.png\",\r\n \"move_s21\": \"moves/cinderace_s21.png\",\r\n \"move_s22\": \"moves/cinderace_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 1.5,\r\n \"mobility\": 3,\r\n \"scoring\": 2.5,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Inteleon\",\r\n \"dex\": 818,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-inteleon.png\",\r\n \"big\": \"pokemons/roster-inteleon-2x.png\",\r\n \"complete\": \"pokemons/stat-inteleon.png\",\r\n \"move_s11\": \"moves/inteleon_s11.png\",\r\n \"move_s12\": \"moves/inteleon_s12.png\",\r\n \"move_s21\": \"moves/inteleon_s21.png\",\r\n \"move_s22\": \"moves/inteleon_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 4.5,\r\n \"endurance\": 1.5,\r\n \"mobility\": 3.5,\r\n \"scoring\": 1.5,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Greedent\",\r\n \"dex\": 820,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-greedent.png\",\r\n \"big\": \"pokemons/roster-greedent-2x.png\",\r\n \"complete\": \"pokemons/stat-greedent.png\",\r\n \"move_s11\": \"moves/greedent_s11.png\",\r\n \"move_s12\": \"moves/greedent_s12.png\",\r\n \"move_s21\": \"moves/greedent_s21.png\",\r\n \"move_s22\": \"moves/greedent_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.DEFENDER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 1.5,\r\n \"mobility\": 2,\r\n \"scoring\": 1,\r\n \"support\": 1\r\n },\r\n \"tags\": [\r\n Tag.DEFENDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Eldegoss\",\r\n \"dex\": 830,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-eldegoss.png\",\r\n \"big\": \"pokemons/roster-eldegoss-2x.png\",\r\n \"complete\": \"pokemons/stat-eldegoss.png\",\r\n \"move_s11\": \"moves/eldegoss_s11.png\",\r\n \"move_s12\": \"moves/eldegoss_s12.png\",\r\n \"move_s21\": \"moves/eldegoss_s21.png\",\r\n \"move_s22\": \"moves/eldegoss_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SUPPORTER,\r\n \"stats\": {\r\n \"offense\": 1.5,\r\n \"endurance\": 2,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2.5,\r\n \"support\": 4\r\n },\r\n \"tags\": [\r\n Tag.SUPPORTER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Cramorant\",\r\n \"dex\": 845,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-cramorant.png\",\r\n \"big\": \"pokemons/roster-cramorant-2x.png\",\r\n \"complete\": \"pokemons/stat-cramorant.png\",\r\n \"move_s11\": \"moves/cramorant_s11.png\",\r\n \"move_s12\": \"moves/cramorant_s12.png\",\r\n \"move_s21\": \"moves/cramorant_s21.png\",\r\n \"move_s22\": \"moves/cramorant_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 3,\r\n \"mobility\": 3,\r\n \"scoring\": 1.5,\r\n \"support\": 1\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Sirfetch'd\",\r\n \"dex\": 865,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-sirfetchd.png\",\r\n \"big\": \"pokemons/roster-sirfetchd-2x.png\",\r\n \"complete\": \"pokemons/stat-sirfetchd.png\",\r\n \"move_s11\": \"moves/sirfetchd_s11.png\",\r\n \"move_s12\": \"moves/sirfetchd_s12.png\",\r\n \"move_s21\": \"moves/sirfetchd_s21.png\",\r\n \"move_s22\": \"moves/sirfetchd_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 3.5,\r\n \"endurance\": 2.5,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2.5,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Alcremie\",\r\n \"dex\": 869,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-alcremie.png\",\r\n \"big\": \"pokemons/roster-alcremie-2x.png\",\r\n \"complete\": \"pokemons/stat-alcremie.png\",\r\n \"move_s11\": \"moves/alcremie_s11.png\",\r\n \"move_s12\": \"moves/alcremie_s12.png\",\r\n \"move_s21\": \"moves/alcremie_s21.png\",\r\n \"move_s22\": \"moves/alcremie_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SUPPORTER,\r\n \"stats\": {\r\n \"offense\": 1.5,\r\n \"endurance\": 2,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2.5,\r\n \"support\": 4\r\n },\r\n \"tags\": [\r\n Tag.SUPPORTER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Falinks\",\r\n \"dex\": 870,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-falinks.png\",\r\n \"big\": \"pokemons/roster-falinks-2x.png\",\r\n \"complete\": \"pokemons/stat-falinks.png\",\r\n \"move_s11\": \"moves/falinks_s11.png\",\r\n \"move_s12\": \"moves/falinks_s12.png\",\r\n \"move_s21\": \"moves/falinks_s21.png\",\r\n \"move_s22\": \"moves/falinks_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 3.5,\r\n \"endurance\": 4.5,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2,\r\n \"support\": 1\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Duraludon\",\r\n \"dex\": 884,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-duraludon.png\",\r\n \"big\": \"pokemons/roster-duraludon-2x.png\",\r\n \"complete\": \"pokemons/stat-duraludon.png\",\r\n \"move_s11\": \"moves/duraludon_s11.png\",\r\n \"move_s12\": \"moves/duraludon_s12.png\",\r\n \"move_s21\": \"moves/duraludon_s21.png\",\r\n \"move_s22\": \"moves/duraludon_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 3.5,\r\n \"endurance\": 3.5,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2.5,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Dragapult\",\r\n \"dex\": 887,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-dragapult.png\",\r\n \"big\": \"pokemons/roster-dragapult-2x.png\",\r\n \"complete\": \"pokemons/stat-dragapult.png\",\r\n \"move_s11\": \"moves/dragapult_s11.png\",\r\n \"move_s12\": \"moves/dragapult_s12.png\",\r\n \"move_s21\": \"moves/dragapult_s21.png\",\r\n \"move_s22\": \"moves/dragapult_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 2.5,\r\n \"mobility\": 4,\r\n \"scoring\": 1.5,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.ATTACKER,\r\n Tag.RANGED\r\n ],\r\n \"difficulty\": 3\r\n},\r\n{\r\n \"name\": \"Zacian\",\r\n \"dex\": 888,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-zacian.png\",\r\n \"big\": \"pokemons/roster-zacian-2x.png\",\r\n \"complete\": \"pokemons/stat-zacian.png\",\r\n \"move_s11\": \"moves/zacian_s11.png\",\r\n \"move_s12\": \"moves/zacian_s12.png\",\r\n \"move_s21\": \"moves/zacian_s21.png\",\r\n \"move_s22\": \"moves/zacian_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 5,\r\n \"endurance\": 4,\r\n \"mobility\": 3,\r\n \"scoring\": 1,\r\n \"support\": 2\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Urshifu\",\r\n \"dex\": 892,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-urshifu.png\",\r\n \"big\": \"pokemons/roster-urshifu-2x.png\",\r\n \"complete\": \"pokemons/stat-urshifu.png\",\r\n \"move_s11\": \"moves/urshifu_s11.png\",\r\n \"move_s12\": \"moves/urshifu_s12.png\",\r\n \"move_s21\": \"moves/urshifu_s21.png\",\r\n \"move_s22\": \"moves/urshifu_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4.5,\r\n \"endurance\": 3,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2.5,\r\n \"support\": 1\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 2\r\n}, \r\n{\r\n \"name\": \"Meowscarada\",\r\n \"dex\": 908,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-meowscarada.png\",\r\n \"big\": \"pokemons/roster-meowscarada-2x.png\",\r\n \"complete\": \"pokemons/stat-meowscarada.png\",\r\n \"move_s11\": \"moves/meowscarada_s11.png\",\r\n \"move_s12\": \"moves/meowscarada_s12.png\",\r\n \"move_s21\": \"moves/meowscarada_s21.png\",\r\n \"move_s22\": \"moves/meowscarada_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.SPEEDSTER,\r\n \"stats\": {\r\n \"offense\": 4.5,\r\n \"endurance\": 3,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2.5,\r\n \"support\": 1\r\n },\r\n \"tags\": [\r\n Tag.SPEEDSTER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 2\r\n}, \r\n{\r\n \"name\": \"Pawmot\",\r\n \"dex\": 923,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-pawmot.png\",\r\n \"big\": \"pokemons/roster-pawmot-2x.png\",\r\n \"complete\": \"pokemons/stat-pawmot.png\",\r\n \"move_s11\": \"moves/pawmot_s11.png\",\r\n \"move_s12\": \"moves/pawmot_s12.png\",\r\n \"move_s21\": \"moves/pawmot_s21.png\",\r\n \"move_s22\": \"moves/pawmot_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4.5,\r\n \"endurance\": 2,\r\n \"mobility\": 3,\r\n \"scoring\": 2,\r\n \"support\": 2\r\n },\r\n \"tags\": [\r\n Tag.MELEE,\r\n Tag.ALLROUNDER\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Armarouge\",\r\n \"dex\": 936,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-armarouge.png\",\r\n \"big\": \"pokemons/roster-armarouge-2x.png\",\r\n \"complete\": \"pokemons/stat-armarouge.png\",\r\n \"move_s11\": \"moves/armarouge_s11.png\",\r\n \"move_s12\": \"moves/armarouge_s12.png\",\r\n \"move_s21\": \"moves/armarouge_s21.png\",\r\n \"move_s22\": \"moves/armarouge_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 2,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.RANGED,\r\n Tag.ATTACKER\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Ceruledge\",\r\n \"dex\": 937,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-ceruledge.png\",\r\n \"big\": \"pokemons/roster-ceruledge-2x.png\",\r\n \"complete\": \"pokemons/stat-ceruledge.png\",\r\n \"move_s11\": \"moves/ceruledge_s11.png\",\r\n \"move_s12\": \"moves/ceruledge_s12.png\",\r\n \"move_s21\": \"moves/ceruledge_s21.png\",\r\n \"move_s22\": \"moves/ceruledge_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 2.5,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2.5,\r\n \"support\": 0.5\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 2\r\n},\r\n{\r\n \"name\": \"Tinkaton\",\r\n \"dex\": 959,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-tinkaton.png\",\r\n \"big\": \"pokemons/roster-tinkaton-2x.png\",\r\n \"complete\": \"pokemons/stat-tinkaton.png\",\r\n \"move_s11\": \"moves/tinkaton_s11.png\",\r\n \"move_s12\": \"moves/tinkaton_s12.png\",\r\n \"move_s21\": \"moves/tinkaton_s21.png\",\r\n \"move_s22\": \"moves/tinkaton_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ALLROUNDER,\r\n \"stats\": {\r\n \"offense\": 3,\r\n \"endurance\": 3.5,\r\n \"mobility\": 2.5,\r\n \"scoring\": 2,\r\n \"support\": 1\r\n },\r\n \"tags\": [\r\n Tag.ALLROUNDER,\r\n Tag.MELEE\r\n ],\r\n \"difficulty\": 1\r\n},\r\n{\r\n \"name\": \"Miraidon\",\r\n \"dex\": 1008,\r\n \"images\": {\r\n \"main\": \"pokemons/roster-miraidon.png\",\r\n \"big\": \"pokemons/roster-miraidon-2x.png\",\r\n \"complete\": \"pokemons/stat-miraidon.png\",\r\n \"move_s11\": \"moves/miraidon_s11.png\",\r\n \"move_s12\": \"moves/miraidon_s12.png\",\r\n \"move_s21\": \"moves/miraidon_s21.png\",\r\n \"move_s22\": \"moves/miraidon_s22.png\",\r\n },\r\n \"active\": true,\r\n \"battleType\": BattleType.ATTACKER,\r\n \"stats\": {\r\n \"offense\": 4,\r\n \"endurance\": 2,\r\n \"mobility\": 2,\r\n \"scoring\": 2.5,\r\n \"support\": 4\r\n },\r\n \"tags\": [\r\n Tag.RANGED,\r\n Tag.ATTACKER\r\n ],\r\n \"difficulty\": 1\r\n}];\r\n\r\nexport default pokemons;\r\n","import pokemons from \"../pokemons\";\r\n\r\n/** Slug from roster image path: \"pokemons/roster-venusaur.png\" -> \"venusaur\" */\r\nfunction slugFromMain(mainPath: string): string {\r\n return mainPath.replace(/^pokemons\\/roster-/, \"\").replace(/\\.png$/, \"\");\r\n}\r\n\r\nconst names: Record<string, string> = {};\r\nfor (const p of pokemons) {\r\n names[slugFromMain(p.images.main)] = p.name;\r\n}\r\n\r\nexport default names;\r\n","import en from \"./en\";\r\n\r\n/**\r\n * Portuguese (Brazil) names. Falls back to English for unmapped entries.\r\n * Add or override keys as needed.\r\n */\r\nconst ptBR: Record<string, string> = { ...en, zapdos: \"Zapdos\" };\r\n\r\nexport default ptBR;\r\n","/**\r\n * Japanese (Japan) Pokémon names — official localized names.\r\n */\r\nconst jaJP: Record<string, string> = {\r\n venusaur: \"フシギバナ\",\r\n charizard: \"リザードン\",\r\n \"mega-charizard-x\": \"メガリザードンX\",\r\n \"mega-charizard-y\": \"メガリザードンY\",\r\n blastoise: \"カメックス\",\r\n pikachu: \"ピカチュウ\",\r\n \"alolan-raichu\": \"アローラのライチュウ\",\r\n clefable: \"ピクシー\",\r\n \"alolan-ninetales\": \"アローラのキュウコン\",\r\n wigglytuff: \"プクリン\",\r\n meowth: \"ニャース\",\r\n psyduck: \"コダック\",\r\n machamp: \"カイリキー\",\r\n \"galarian-rapidash\": \"ガラルのギャロップ\",\r\n slowbro: \"ヤドラン\",\r\n dodrio: \"ドードリオ\",\r\n gengar: \"ゲンガー\",\r\n blissey: \"ハピナス\",\r\n \"mr-mime\": \"バリヤード\",\r\n scizor: \"ハッサム\",\r\n gyarados: \"ギャラドス\",\r\n \"mega-gyarados\": \"メガギャラドス\",\r\n lapras: \"ラプラス\",\r\n vaporeon: \"シャワーズ\",\r\n snorlax: \"カビゴン\",\r\n zapdos: \"サンダー\",\r\n dragonite: \"カイリュー\",\r\n mewtwox: \"メガミュウツーX\",\r\n mewtwoy: \"メガミュウツーY\",\r\n mew: \"ミュウ\",\r\n azumarill: \"マリルリ\",\r\n espeon: \"エーフィ\",\r\n umbreon: \"ブラッキー\",\r\n mamoswine: \"マンムー\",\r\n suicune: \"スイクン\",\r\n tyranitar: \"バンギラス\",\r\n \"ho-oh\": \"ホウオウ\",\r\n blaziken: \"バシャーモ\",\r\n gardevoir: \"サーナイト\",\r\n sableye: \"ヤミラミ\",\r\n absol: \"アブソル\",\r\n metagross: \"メタグロス\",\r\n latias: \"ラティアス\",\r\n latios: \"ラティオス\",\r\n empoleon: \"エンペルト\",\r\n garchomp: \"ガブリアス\",\r\n lucario: \"ルカリオ\",\r\n \"mega-lucario\": \"メガルカリオ\",\r\n leafeon: \"リーフィア\",\r\n glaceon: \"グレイシア\",\r\n darkrai: \"ダークライ\",\r\n crustle: \"イワパレス\",\r\n zoroark: \"ゾロアーク\",\r\n chandelure: \"シャンデラ\",\r\n delphox: \"マフォクシー\",\r\n greninja: \"ゲッコウガ\",\r\n talonflame: \"ファイアロー\",\r\n aegislash: \"ギルガルド\",\r\n sylveon: \"ニンフィア\",\r\n goodra: \"ヌメルゴン\",\r\n trevenant: \"オーロット\",\r\n hoopa: \"フーパ\",\r\n decidueye: \"ジュナイパー\",\r\n tsareena: \"アマージョ\",\r\n comfey: \"キュワワー\",\r\n mimikyu: \"ミミッキュ\",\r\n dhelmise: \"ダダリン\",\r\n buzzwole: \"マッシブーン\",\r\n zeraora: \"ゼラオラ\",\r\n cinderace: \"エースバーン\",\r\n inteleon: \"インテレオン\",\r\n greedent: \"ヨクバリス\",\r\n eldegoss: \"ワタシラガ\",\r\n cramorant: \"ウッウ\",\r\n sirfetchd: \"ネギガナイト\",\r\n alcremie: \"マホイップ\",\r\n falinks: \"タイレーツ\",\r\n duraludon: \"ジュラルドン\",\r\n dragapult: \"ドラパルト\",\r\n zacian: \"ザシアン\",\r\n urshifu: \"ウーラオス\",\r\n meowscarada: \"マスカーニャ\",\r\n pawmot: \"パーモット\",\r\n armarouge: \"グレンアルマ\",\r\n ceruledge: \"ソウブレイズ\",\r\n tinkaton: \"デカヌチャン\",\r\n miraidon: \"ミライドン\",\r\n};\r\n\r\nexport default jaJP;\r\n","/**\r\n * French (France) Pokémon names — official localized names.\r\n */\r\nconst fr: Record<string, string> = {\r\n venusaur: \"Florizarre\",\r\n charizard: \"Dracaufeu\",\r\n \"mega-charizard-x\": \"Méga-Dracaufeu X\",\r\n \"mega-charizard-y\": \"Méga-Dracaufeu Y\",\r\n blastoise: \"Tortank\",\r\n pikachu: \"Pikachu\",\r\n \"alolan-raichu\": \"Raichu d'Alola\",\r\n clefable: \"Mélodelfe\",\r\n \"alolan-ninetales\": \"Feunard d'Alola\",\r\n wigglytuff: \"Grodoudou\",\r\n meowth: \"Miaouss\",\r\n psyduck: \"Psykokwak\",\r\n machamp: \"Mackogneur\",\r\n \"galarian-rapidash\": \"Galopa de Galar\",\r\n slowbro: \"Flagadoss\",\r\n dodrio: \"Dodrio\",\r\n gengar: \"Ectoplasma\",\r\n blissey: \"Leveinard\",\r\n \"mr-mime\": \"M. Mime\",\r\n scizor: \"Cizayox\",\r\n gyarados: \"Léviator\",\r\n \"mega-gyarados\": \"Méga-Léviator\",\r\n lapras: \"Lokhlass\",\r\n vaporeon: \"Aquali\",\r\n snorlax: \"Ronflex\",\r\n zapdos: \"Électhor\",\r\n dragonite: \"Dracolosse\",\r\n mewtwox: \"Méga-Mewtwo X\",\r\n mewtwoy: \"Méga-Mewtwo Y\",\r\n mew: \"Mew\",\r\n azumarill: \"Azumarill\",\r\n espeon: \"Mentali\",\r\n umbreon: \"Noctali\",\r\n mamoswine: \"Mammochon\",\r\n suicune: \"Suicune\",\r\n tyranitar: \"Tyranocif\",\r\n \"ho-oh\": \"Ho-Oh\",\r\n blaziken: \"Braségali\",\r\n gardevoir: \"Gardevoir\",\r\n sableye: \"Ténéfix\",\r\n absol: \"Absol\",\r\n metagross: \"Métalosse\",\r\n latias: \"Latias\",\r\n latios: \"Latios\",\r\n empoleon: \"Pingoléon\",\r\n garchomp: \"Carchacrok\",\r\n lucario: \"Lucario\",\r\n \"mega-lucario\": \"Méga-Lucario\",\r\n leafeon: \"Phyllali\",\r\n glaceon: \"Givrali\",\r\n darkrai: \"Darkrai\",\r\n crustle: \"Crabaraque\",\r\n zoroark: \"Zoroark\",\r\n chandelure: \"Lugulabre\",\r\n delphox: \"Goupelin\",\r\n greninja: \"Amphinobi\",\r\n talonflame: \"Flambusard\",\r\n aegislash: \"Exagide\",\r\n sylveon: \"Nymphali\",\r\n goodra: \"Muplodocus\",\r\n trevenant: \"Desséliande\",\r\n hoopa: \"Hoopa\",\r\n decidueye: \"Archéduc\",\r\n tsareena: \"Sucreine\",\r\n comfey: \"Guérilande\",\r\n mimikyu: \"Mimiqui\",\r\n dhelmise: \"Sinistrail\",\r\n buzzwole: \"Mouscoto\",\r\n zeraora: \"Zeraora\",\r\n cinderace: \"Pyrobut\",\r\n inteleon: \"Lézargus\",\r\n greedent: \"Rongrigou\",\r\n eldegoss: \"Blancoton\",\r\n cramorant: \"Nigosier\",\r\n sirfetchd: \"Palarticho\",\r\n alcremie: \"Charmilly\",\r\n falinks: \"Hexadron\",\r\n duraludon: \"Duralugon\",\r\n dragapult: \"Drakéfauche\",\r\n zacian: \"Zacian\",\r\n urshifu: \"Shifours\",\r\n meowscarada: \"Matourgeon\",\r\n pawmot: \"Parmot\",\r\n armarouge: \"Carmadura\",\r\n ceruledge: \"Malvalame\",\r\n tinkaton: \"Forgerette\",\r\n miraidon: \"Miraidon\",\r\n};\r\n\r\nexport default fr;\r\n","/**\r\n * Spanish (Spain/LATAM) Pokémon names — official localized names.\r\n */\r\nconst es: Record<string, string> = {\r\n venusaur: \"Venusaur\",\r\n charizard: \"Charizard\",\r\n \"mega-charizard-x\": \"Mega-Charizard X\",\r\n \"mega-charizard-y\": \"Mega-Charizard Y\",\r\n blastoise: \"Blastoise\",\r\n pikachu: \"Pikachu\",\r\n \"alolan-raichu\": \"Raichu de Alola\",\r\n clefable: \"Clefable\",\r\n \"alolan-ninetales\": \"Ninetales de Alola\",\r\n wigglytuff: \"Wigglytuff\",\r\n meowth: \"Meowth\",\r\n psyduck: \"Psyduck\",\r\n machamp: \"Machamp\",\r\n \"galarian-rapidash\": \"Rapidash de Galar\",\r\n slowbro: \"Slowbro\",\r\n dodrio: \"Dodrio\",\r\n gengar: \"Gengar\",\r\n blissey: \"Blissey\",\r\n \"mr-mime\": \"Mr. Mime\",\r\n scizor: \"Scizor\",\r\n gyarados: \"Gyarados\",\r\n \"mega-gyarados\": \"Mega-Gyarados\",\r\n lapras: \"Lapras\",\r\n vaporeon: \"Vaporeon\",\r\n snorlax: \"Snorlax\",\r\n zapdos: \"Zapdos\",\r\n dragonite: \"Dragonite\",\r\n mewtwox: \"Mega-Mewtwo X\",\r\n mewtwoy: \"Mega-Mewtwo Y\",\r\n mew: \"Mew\",\r\n azumarill: \"Azumarill\",\r\n espeon: \"Espeon\",\r\n umbreon: \"Umbreon\",\r\n mamoswine: \"Mamoswine\",\r\n suicune: \"Suicune\",\r\n tyranitar: \"Tyranitar\",\r\n \"ho-oh\": \"Ho-Oh\",\r\n blaziken: \"Blaziken\",\r\n gardevoir: \"Gardevoir\",\r\n sableye: \"Sableye\",\r\n absol: \"Absol\",\r\n metagross: \"Metagross\",\r\n latias: \"Latias\",\r\n latios: \"Latios\",\r\n empoleon: \"Empoleon\",\r\n garchomp: \"Garchomp\",\r\n lucario: \"Lucario\",\r\n \"mega-lucario\": \"Mega-Lucario\",\r\n leafeon: \"Leafeon\",\r\n glaceon: \"Glaceon\",\r\n darkrai: \"Darkrai\",\r\n crustle: \"Crustle\",\r\n zoroark: \"Zoroark\",\r\n chandelure: \"Chandelure\",\r\n delphox: \"Delphox\",\r\n greninja: \"Greninja\",\r\n talonflame: \"Talonflame\",\r\n aegislash: \"Aegislash\",\r\n sylveon: \"Sylveon\",\r\n goodra: \"Goodra\",\r\n trevenant: \"Trevenant\",\r\n hoopa: \"Hoopa\",\r\n decidueye: \"Decidueye\",\r\n tsareena: \"Tsareena\",\r\n comfey: \"Comfey\",\r\n mimikyu: \"Mimikyu\",\r\n dhelmise: \"Dhelmise\",\r\n buzzwole: \"Buzzwole\",\r\n zeraora: \"Zeraora\",\r\n cinderace: \"Cinderace\",\r\n inteleon: \"Inteleon\",\r\n greedent: \"Greedent\",\r\n eldegoss: \"Eldegoss\",\r\n cramorant: \"Cramorant\",\r\n sirfetchd: \"Sirfetch'd\",\r\n alcremie: \"Alcremie\",\r\n falinks: \"Falinks\",\r\n duraludon: \"Duraludon\",\r\n dragapult: \"Dragapult\",\r\n zacian: \"Zacian\",\r\n urshifu: \"Urshifu\",\r\n meowscarada: \"Meowscarada\",\r\n pawmot: \"Pawmot\",\r\n armarouge: \"Armarouge\",\r\n ceruledge: \"Ceruledge\",\r\n tinkaton: \"Tinkaton\",\r\n miraidon: \"Miraidon\",\r\n};\r\n\r\nexport default es;\r\n","import en from \"./en\";\r\nimport ptBR from \"./pt-BR\";\r\nimport jaJP from \"./ja-JP\";\r\nimport fr from \"./fr\";\r\nimport es from \"./es\";\r\n\r\nexport type Locale = \"en\" | \"pt-BR\" | \"ja-JP\" | \"fr\" | \"es\";\r\n\r\nconst locales: Record<Locale, Record<string, string>> = {\r\n en,\r\n \"pt-BR\": ptBR,\r\n \"ja-JP\": jaJP,\r\n fr,\r\n es,\r\n};\r\n\r\n/**\r\n * Returns the display name for a Pokémon by slug/id and locale.\r\n * Falls back to English if the locale is missing the key, then to the id.\r\n */\r\nexport function getPokemonName(id: string, locale: Locale = \"en\"): string {\r\n const map = locales[locale] ?? en;\r\n return map[id] ?? en[id] ?? id;\r\n}\r\n\r\nexport { en, ptBR, jaJP, fr, es };\r\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/constants.ts","../../src/pokemons.ts","../../src/maps.ts","../../src/i18n/en.ts","../../src/i18n/pt-BR.ts","../../src/i18n/ja-JP.ts","../../src/i18n/fr.ts","../../src/i18n/es.ts","../../src/i18n/index.ts"],"sourcesContent":["/**\n * Battle role in Pokémon Unite (Attacker, Defender, etc.).\n * Use as const object for framework-agnostic usage.\n */\nexport const BattleType = {\n ATTACKER: \"attacker\",\n DEFENDER: \"defender\",\n ALLROUNDER: \"allrounder\",\n SPEEDSTER: \"speedster\",\n SUPPORTER: \"supporter\",\n} as const;\n\nexport type BattleType = (typeof BattleType)[keyof typeof BattleType];\n\n/**\n * Tags for filtering (role + attack style).\n */\nexport const Tag = {\n ATTACKER: \"attacker\",\n DEFENDER: \"defender\",\n ALLROUNDER: \"allrounder\",\n SPEEDSTER: \"speedster\",\n SUPPORTER: \"supporter\",\n MELEE: \"melee\",\n RANGED: \"ranged\",\n} as const;\n\nexport type Tag = (typeof Tag)[keyof typeof Tag];\n","import { BattleType, Tag } from \"./constants\";\nimport type { Pokemon } from \"./types\";\n\nconst pokemons: Array<Pokemon> = [{\n \"name\": \"Venusaur\",\n \"dex\": 3,\n \"images\": {\n \"main\": \"pokemons/roster-venusaur.png\",\n \"big\": \"pokemons/roster-venusaur-2x.png\",\n \"complete\": \"pokemons/stat-venusaur.png\",\n \"move_s11\": \"moves/venusaur_s11.png\",\n \"move_s12\": \"moves/venusaur_s12.png\",\n \"move_s21\": \"moves/venusaur_s21.png\",\n \"move_s22\": \"moves/venusaur_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 4.5,\n \"endurance\": 2,\n \"mobility\": 2,\n \"scoring\": 2.5,\n \"support\": 1\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Charizard\",\n \"dex\": 6,\n \"images\": {\n \"main\": \"pokemons/roster-charizard.png\",\n \"big\": \"pokemons/roster-charizard-2x.png\",\n \"complete\": \"pokemons/stat-charizard.png\",\n \"move_s11\": \"moves/charizard_s11.png\",\n \"move_s12\": \"moves/charizard_s12.png\",\n \"move_s21\": \"moves/charizard_s21.png\",\n \"move_s22\": \"moves/charizard_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 3.5,\n \"endurance\": 3,\n \"mobility\": 2.5,\n \"scoring\": 3,\n \"support\": 0.5\n },\n \"difficulty\": 1,\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ]\n},\n{\n \"name\": \"Mega Charizard X\",\n \"dex\": 6.1,\n \"images\": {\n \"main\": \"pokemons/roster-mega-charizard-x.png\",\n \"big\": \"pokemons/roster-mega-charizard-x-2x.png\",\n \"complete\": \"pokemons/stat-mega-charizard-x.png\",\n \"move_s11\": \"moves/mega-charizard_s11.png\",\n \"move_s21\": \"moves/mega-charizard_s21.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 3.5,\n \"mobility\": 2.5,\n \"scoring\": 3,\n \"support\": 0.5\n },\n \"difficulty\": 1,\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ]\n},\n{\n \"name\": \"Mega Charizard Y\",\n \"dex\": 6.2,\n \"images\": {\n \"main\": \"pokemons/roster-mega-charizard-y.png\",\n \"big\": \"pokemons/roster-mega-charizard-y-2x.png\",\n \"complete\": \"pokemons/stat-mega-charizard-y.png\",\n \"move_s11\": \"moves/mega-charizard_s12.png\",\n \"move_s21\": \"moves/mega-charizard_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 3,\n \"mobility\": 4,\n \"scoring\": 3,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.RANGED\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Blastoise\",\n \"dex\": 9,\n \"images\": {\n \"main\": \"pokemons/roster-blastoise.png\",\n \"big\": \"pokemons/roster-blastoise-2x.png\",\n \"complete\": \"pokemons/stat-blastoise.png\",\n \"move_s11\": \"moves/blastoise_s11.png\",\n \"move_s12\": \"moves/blastoise_s12.png\",\n \"move_s21\": \"moves/blastoise_s21.png\",\n \"move_s22\": \"moves/blastoise_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.DEFENDER,\n \"tags\": [\n Tag.DEFENDER,\n Tag.RANGED\n ],\n \"difficulty\": 2,\n \"stats\": {\n \"offense\": 2,\n \"endurance\": 3.5,\n \"mobility\": 2,\n \"scoring\": 2,\n \"support\": 3\n }\n},\n{\n \"name\": \"Pikachu\",\n \"dex\": 25,\n \"images\": {\n \"main\": \"pokemons/roster-pikachu.png\",\n \"big\": \"pokemons/roster-pikachu-2x.png\",\n \"complete\": \"pokemons/stat-pikachu.png\",\n \"move_s11\": \"moves/pikachu_s11.png\",\n \"move_s12\": \"moves/pikachu_s12.png\",\n \"move_s21\": \"moves/pikachu_s21.png\",\n \"move_s22\": \"moves/pikachu_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 4.5,\n \"endurance\": 1.5,\n \"mobility\": 2.5,\n \"scoring\": 2,\n \"support\": 1.5\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Alolan Raichu\",\n \"dex\": 26,\n \"images\": {\n \"main\": \"pokemons/roster-alolan-raichu.png\",\n \"big\": \"pokemons/roster-alolan-raichu-2x.png\",\n \"complete\": \"pokemons/stat-alolan-raichu.png\",\n \"move_s11\": \"moves/alolan-raichu_s11.png\",\n \"move_s12\": \"moves/alolan-raichu_s12.png\",\n \"move_s21\": \"moves/alolan-raichu_s21.png\",\n \"move_s22\": \"moves/alolan-raichu_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 1.5,\n \"mobility\": 3.5,\n \"scoring\": 3,\n \"support\": 1\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Clefable\",\n \"dex\": 36,\n \"images\": {\n \"main\": \"pokemons/roster-clefable.png\",\n \"big\": \"pokemons/roster-clefable-2x.png\",\n \"complete\": \"pokemons/stat-clefable.png\",\n \"move_s11\": \"moves/clefable_s11.png\",\n \"move_s12\": \"moves/clefable_s12.png\",\n \"move_s21\": \"moves/clefable_s21.png\",\n \"move_s22\": \"moves/clefable_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SUPPORTER,\n \"stats\": {\n \"offense\": 2,\n \"endurance\": 3,\n \"mobility\": 1.5,\n \"scoring\": 1.5,\n \"support\": 4.5\n },\n \"tags\": [\n Tag.SUPPORTER,\n Tag.MELEE\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Alolan Ninetales\",\n \"dex\": 38,\n \"images\": {\n \"main\": \"pokemons/roster-alolan-ninetales.png\",\n \"big\": \"pokemons/roster-alolan-ninetales-2x.png\",\n \"complete\": \"pokemons/stat-alolan-ninetales.png\",\n \"move_s11\": \"moves/alolan-ninetales_s11.png\",\n \"move_s12\": \"moves/alolan-ninetales_s12.png\",\n \"move_s21\": \"moves/alolan-ninetales_s21.png\",\n \"move_s22\": \"moves/alolan-ninetales_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 1.5,\n \"mobility\": 1.5,\n \"scoring\": 2.5,\n \"support\": 3\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Wigglytuff\",\n \"dex\": 40,\n \"images\": {\n \"main\": \"pokemons/roster-wigglytuff.png\",\n \"big\": \"pokemons/roster-wigglytuff-2x.png\",\n \"complete\": \"pokemons/stat-wigglytuff.png\",\n \"move_s11\": \"moves/wigglytuff_s11.png\",\n \"move_s12\": \"moves/wigglytuff_s12.png\",\n \"move_s21\": \"moves/wigglytuff_s21.png\",\n \"move_s22\": \"moves/wigglytuff_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SUPPORTER,\n \"stats\": {\n \"offense\": 1,\n \"endurance\": 2.5,\n \"mobility\": 2.5,\n \"scoring\": 2,\n \"support\": 4.5\n },\n \"tags\": [\n Tag.SUPPORTER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Meowth\",\n \"dex\": 52,\n \"images\": {\n \"main\": \"pokemons/roster-meowth.png\",\n \"big\": \"pokemons/roster-meowth-2x.png\",\n \"complete\": \"pokemons/stat-meowth.png\",\n \"move_s11\": \"moves/meowth_s11.png\",\n \"move_s12\": \"moves/meowth_s12.png\",\n \"move_s21\": \"moves/meowth_s21.png\",\n \"move_s22\": \"moves/meowth_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SPEEDSTER,\n \"stats\": {\n \"offense\": 2,\n \"endurance\": 2,\n \"mobility\": 4,\n \"scoring\": 3,\n \"support\": 2\n },\n \"tags\": [\n Tag.SPEEDSTER,\n Tag.MELEE\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Psyduck\",\n \"dex\": 54,\n \"images\": {\n \"main\": \"pokemons/roster-psyduck.png\",\n \"big\": \"pokemons/roster-psyduck-2x.png\",\n \"complete\": \"pokemons/stat-psyduck.png\",\n \"move_s11\": \"moves/psyduck_s11.png\",\n \"move_s12\": \"moves/psyduck_s12.png\",\n \"move_s21\": \"moves/psyduck_s21.png\",\n \"move_s22\": \"moves/psyduck_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SUPPORTER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 1,\n \"mobility\": 2,\n \"scoring\": 1,\n \"support\": 3\n },\n \"tags\": [\n Tag.SUPPORTER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Machamp\",\n \"dex\": 68,\n \"images\": {\n \"main\": \"pokemons/roster-machamp.png\",\n \"big\": \"pokemons/roster-machamp-2x.png\",\n \"complete\": \"pokemons/stat-machamp.png\",\n \"move_s11\": \"moves/machamp_s11.png\",\n \"move_s12\": \"moves/machamp_s12.png\",\n \"move_s21\": \"moves/machamp_s21.png\",\n \"move_s22\": \"moves/machamp_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 2.5,\n \"mobility\": 2.5,\n \"scoring\": 2.5,\n \"support\": 1\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Galarian Rapidash\",\n \"dex\": 78,\n \"images\": {\n \"main\": \"pokemons/roster-galarian-rapidash.png\",\n \"big\": \"pokemons/roster-galarian-rapidash-2x.png\",\n \"complete\": \"pokemons/stat-galarian-rapidash.png\",\n \"move_s11\": \"moves/galarian-rapidash_s11.png\",\n \"move_s12\": \"moves/galarian-rapidash_s12.png\",\n \"move_s21\": \"moves/galarian-rapidash_s21.png\",\n \"move_s22\": \"moves/galarian-rapidash_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SPEEDSTER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 4,\n \"mobility\": 4,\n \"scoring\": 2,\n \"support\": 1\n },\n \"tags\": [\n Tag.SPEEDSTER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Slowbro\",\n \"dex\": 80,\n \"images\": {\n \"main\": \"pokemons/roster-slowbro.png\",\n \"big\": \"pokemons/roster-slowbro-2x.png\",\n \"complete\": \"pokemons/stat-slowbro.png\",\n \"move_s11\": \"moves/slowbro_s11.png\",\n \"move_s12\": \"moves/slowbro_s12.png\",\n \"move_s21\": \"moves/slowbro_s21.png\",\n \"move_s22\": \"moves/slowbro_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.DEFENDER,\n \"stats\": {\n \"offense\": 1.5,\n \"endurance\": 4,\n \"mobility\": 1.5,\n \"scoring\": 1.5,\n \"support\": 4\n },\n \"tags\": [\n Tag.DEFENDER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Dodrio\",\n \"dex\": 85,\n \"images\": {\n \"main\": \"pokemons/roster-dodrio.png\",\n \"big\": \"pokemons/roster-dodrio-2x.png\",\n \"complete\": \"pokemons/stat-dodrio.png\",\n \"move_s11\": \"moves/dodrio_s11.png\",\n \"move_s12\": \"moves/dodrio_s12.png\",\n \"move_s21\": \"moves/dodrio_s21.png\",\n \"move_s22\": \"moves/dodrio_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SPEEDSTER,\n \"stats\": {\n \"offense\": 3,\n \"endurance\": 2,\n \"mobility\": 4,\n \"scoring\": 4,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.SPEEDSTER,\n Tag.MELEE\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Gengar\",\n \"dex\": 94,\n \"images\": {\n \"main\": \"pokemons/roster-gengar.png\",\n \"big\": \"pokemons/roster-gengar-2x.png\",\n \"complete\": \"pokemons/stat-gengar.png\",\n \"move_s11\": \"moves/gengar_s11.png\",\n \"move_s12\": \"moves/gengar_s12.png\",\n \"move_s21\": \"moves/gengar_s21.png\",\n \"move_s22\": \"moves/gengar_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SPEEDSTER,\n \"stats\": {\n \"offense\": 3.5,\n \"endurance\": 2,\n \"mobility\": 4,\n \"scoring\": 3,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.SPEEDSTER,\n Tag.MELEE\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Blissey\",\n \"dex\": 242,\n \"images\": {\n \"main\": \"pokemons/roster-blissey.png\",\n \"big\": \"pokemons/roster-blissey-2x.png\",\n \"complete\": \"pokemons/stat-blissey.png\",\n \"move_s11\": \"moves/blissey_s11.png\",\n \"move_s12\": \"moves/blissey_s12.png\",\n \"move_s21\": \"moves/blissey_s21.png\",\n \"move_s22\": \"moves/blissey_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SUPPORTER,\n \"stats\": {\n \"offense\": 1,\n \"endurance\": 3.5,\n \"mobility\": 1.5,\n \"scoring\": 1.5,\n \"support\": 4.5\n },\n \"tags\": [\n Tag.SUPPORTER,\n Tag.MELEE\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Mr. Mime\",\n \"dex\": 122,\n \"images\": {\n \"main\": \"pokemons/roster-mr-mime.png\",\n \"big\": \"pokemons/roster-mr-mime-2x.png\",\n \"complete\": \"pokemons/stat-mr-mime.png\",\n \"move_s11\": \"moves/mr-mime_s11.png\",\n \"move_s12\": \"moves/mr-mime_s12.png\",\n \"move_s21\": \"moves/mr-mime_s21.png\",\n \"move_s22\": \"moves/mr-mime_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SUPPORTER,\n \"tags\": [Tag.SUPPORTER, Tag.RANGED]\n},\n{\n \"name\": \"Scizor\",\n \"dex\": 212,\n \"images\": {\n \"main\": \"pokemons/roster-scizor.png\",\n \"big\": \"pokemons/roster-scizor-2x.png\",\n \"complete\": \"pokemons/stat-scizor.png\",\n \"move_s11\": \"moves/scizor_s11.png\",\n \"move_s12\": \"moves/scizor_s12.png\",\n \"move_s21\": \"moves/scizor_s21.png\",\n \"move_s22\": \"moves/scizor_s22.png\",\n \"move_s23\": \"moves/scizor_s23.png\",\n \"move_s24\": \"moves/scizor_s24.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4.5,\n \"endurance\": 2.5,\n \"mobility\": 4.5,\n \"scoring\": 2.5,\n \"support\": 1\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Gyarados\",\n \"dex\": 130,\n \"images\": {\n \"main\": \"pokemons/roster-gyarados.png\",\n \"big\": \"pokemons/roster-gyarados-2x.png\",\n \"complete\": \"pokemons/stat-gyarados.png\",\n \"move_s11\": \"moves/gyarados_s11.png\",\n \"move_s12\": \"moves/gyarados_s12.png\",\n \"move_s21\": \"moves/gyarados_s21.png\",\n \"move_s22\": \"moves/gyarados_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4.5,\n \"endurance\": 2.5,\n \"mobility\": 4.5,\n \"scoring\": 2.5,\n \"support\": 1\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Mega Gyarados\",\n \"dex\": 130.1,\n \"images\": {\n \"main\": \"pokemons/roster-mega-gyarados.png\",\n \"big\": \"pokemons/roster-mega-gyarados-2x.png\",\n \"complete\": \"pokemons/stat-mega-gyarados.png\",\n \"move_s11\": \"moves/mega-gyarados_s11.png\",\n \"move_s21\": \"moves/mega-gyarados_s21.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4.5,\n \"endurance\": 3.5,\n \"mobility\": 2.5,\n \"scoring\": 2,\n \"support\": 1.5\n },\n \"difficulty\": 1,\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ]\n},\n{\n \"name\": \"Lapras\",\n \"dex\": 131,\n \"images\": {\n \"main\": \"pokemons/roster-lapras.png\",\n \"big\": \"pokemons/roster-lapras-2x.png\",\n \"complete\": \"pokemons/stat-lapras.png\",\n \"move_s11\": \"moves/lapras_s11.png\",\n \"move_s12\": \"moves/lapras_s12.png\",\n \"move_s21\": \"moves/lapras_s21.png\",\n \"move_s22\": \"moves/lapras_s22.png\",\n },\n \"active\": true,\n \"tags\": [\n Tag.DEFENDER,\n Tag.RANGED\n ],\n \"difficulty\": 2,\n \"battleType\": BattleType.DEFENDER,\n \"stats\": {\n \"offense\": 3,\n \"endurance\": 3.5,\n \"mobility\": 2,\n \"scoring\": 2,\n \"support\": 3\n }\n},\n{\n \"name\": \"Vaporeon\",\n \"dex\": 134,\n \"images\": {\n \"main\": \"pokemons/roster-vaporeon.png\",\n \"big\": \"pokemons/roster-vaporeon-2x.png\",\n \"complete\": \"pokemons/stat-vaporeon.png\",\n \"move_s11\": \"moves/vaporeon_s11.png\",\n \"move_s12\": \"moves/vaporeon_s12.png\",\n \"move_s21\": \"moves/vaporeon_s21.png\",\n \"move_s22\": \"moves/vaporeon_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.DEFENDER,\n \"stats\": {\n \"offense\": 2,\n \"endurance\": 4,\n \"mobility\": 3,\n \"scoring\": 2,\n \"support\": 4\n },\n \"tags\": [\n Tag.DEFENDER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Snorlax\",\n \"dex\": 143,\n \"images\": {\n \"main\": \"pokemons/roster-snorlax.png\",\n \"big\": \"pokemons/roster-snorlax-2x.png\",\n \"complete\": \"pokemons/stat-snorlax.png\",\n \"move_s11\": \"moves/snorlax_s11.png\",\n \"move_s12\": \"moves/snorlax_s12.png\",\n \"move_s21\": \"moves/snorlax_s21.png\",\n \"move_s22\": \"moves/snorlax_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.DEFENDER,\n \"stats\": {\n \"offense\": 1.5,\n \"endurance\": 5,\n \"mobility\": 2,\n \"scoring\": 1.5,\n \"support\": 2.5\n },\n \"tags\": [\n Tag.DEFENDER,\n Tag.MELEE\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Zapdos\",\n \"dex\": 145,\n \"images\": {\n \"main\": \"pokemons/roster-zapdos.png\",\n \"big\": \"pokemons/roster-zapdos-2x.png\",\n \"complete\": \"pokemons/stat-zapdos.png\",\n \"move_s11\": \"moves/zapdos_s11.png\",\n \"move_s21\": \"moves/zapdos_s21.png\"\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 5,\n \"endurance\": 2,\n \"mobility\": 1,\n \"scoring\": 2,\n \"support\": 2\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Moltres\",\n \"dex\": 146,\n \"images\": {\n \"main\": \"pokemons/roster-moltres.png\",\n \"big\": \"pokemons/roster-moltres-2x.png\",\n \"complete\": \"pokemons/stat-moltres.png\",\n \"move_s11\": \"moves/moltres_s11.png\",\n \"move_s21\": \"moves/moltres_s21.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 2.5,\n \"mobility\": 2,\n \"scoring\": 2,\n \"support\": 2\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Dragonite\",\n \"dex\": 149,\n \"images\": {\n \"main\": \"pokemons/roster-dragonite.png\",\n \"big\": \"pokemons/roster-dragonite-2x.png\",\n \"complete\": \"pokemons/stat-dragonite.png\",\n \"move_s11\": \"moves/dragonite_s11.png\",\n \"move_s12\": \"moves/dragonite_s12.png\",\n \"move_s21\": \"moves/dragonite_s21.png\",\n \"move_s22\": \"moves/dragonite_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 2.5,\n \"mobility\": 2.5,\n \"scoring\": 3,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Mega Mewtwo X\",\n \"dex\": 150,\n \"images\": {\n \"main\": \"pokemons/roster-mewtwox.png\",\n \"big\": \"pokemons/roster-mewtwox-2x.png\",\n \"complete\": \"pokemons/stat-mewtwox.png\",\n \"move_s11\": \"moves/mewtwox_s11.png\",\n \"move_s12\": \"moves/mewtwox_s12.png\",\n \"move_s21\": \"moves/mewtwox_s21.png\",\n \"move_s22\": \"moves/mewtwox_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 4,\n \"mobility\": 3,\n \"scoring\": 2,\n \"support\": 2\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Mega Mewtwo Y\",\n \"dex\": 150,\n \"images\": {\n \"main\": \"pokemons/roster-mewtwoy.png\",\n \"big\": \"pokemons/roster-mewtwoy-2x.png\",\n \"complete\": \"pokemons/stat-mewtwoy.png\",\n \"move_s11\": \"moves/mewtwoy_s11.png\",\n \"move_s12\": \"moves/mewtwoy_s12.png\",\n \"move_s21\": \"moves/mewtwoy_s21.png\",\n \"move_s22\": \"moves/mewtwoy_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 5,\n \"endurance\": 3,\n \"mobility\": 3.5,\n \"scoring\": 2,\n \"support\": 2\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Mew\",\n \"dex\": 151,\n \"images\": {\n \"main\": \"pokemons/roster-mew.png\",\n \"big\": \"pokemons/roster-mew-2x.png\",\n \"complete\": \"pokemons/stat-mew.png\",\n \"move_s11\": \"moves/mew_s11.png\",\n \"move_s12\": \"moves/mew_s12.png\",\n \"move_s13\": \"moves/mew_s13.png\",\n \"move_s21\": \"moves/mew_s21.png\",\n \"move_s22\": \"moves/mew_s22.png\",\n \"move_s23\": \"moves/mew_s23.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 2,\n \"mobility\": 3,\n \"scoring\": 2,\n \"support\": 3,\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Azumarill\",\n \"dex\": 184,\n \"images\": {\n \"main\": \"pokemons/roster-azumarill.png\",\n \"big\": \"pokemons/roster-azumarill-2x.png\",\n \"complete\": \"pokemons/stat-azumarill.png\",\n \"move_s11\": \"moves/azumarill_s11.png\",\n \"move_s12\": \"moves/azumarill_s12.png\",\n \"move_s21\": \"moves/azumarill_s21.png\",\n \"move_s22\": \"moves/azumarill_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 3,\n \"endurance\": 3,\n \"mobility\": 2.5,\n \"scoring\": 2.5,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Espeon\",\n \"dex\": 196,\n \"images\": {\n \"main\": \"pokemons/roster-espeon.png\",\n \"big\": \"pokemons/roster-espeon-2x.png\",\n \"complete\": \"pokemons/stat-espeon.png\",\n \"move_s11\": \"moves/espeon_s11.png\",\n \"move_s12\": \"moves/espeon_s12.png\",\n \"move_s21\": \"moves/espeon_s21.png\",\n \"move_s22\": \"moves/espeon_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 2,\n \"mobility\": 1.5,\n \"scoring\": 2,\n \"support\": 3\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Umbreon\",\n \"dex\": 197,\n \"images\": {\n \"main\": \"pokemons/roster-umbreon.png\",\n \"big\": \"pokemons/roster-umbreon-2x.png\",\n \"complete\": \"pokemons/stat-umbreon.png\",\n \"move_s11\": \"moves/umbreon_s11.png\",\n \"move_s12\": \"moves/umbreon_s12.png\",\n \"move_s21\": \"moves/umbreon_s21.png\",\n \"move_s22\": \"moves/umbreon_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.DEFENDER,\n \"tags\": [Tag.DEFENDER, Tag.MELEE]\n},\n{\n \"name\": \"Mamoswine\",\n \"dex\": 473,\n \"images\": {\n \"main\": \"pokemons/roster-mamoswine.png\",\n \"big\": \"pokemons/roster-mamoswine-2x.png\",\n \"complete\": \"pokemons/stat-mamoswine.png\",\n \"move_s11\": \"moves/mamoswine_s11.png\",\n \"move_s12\": \"moves/mamoswine_s12.png\",\n \"move_s21\": \"moves/mamoswine_s21.png\",\n \"move_s22\": \"moves/mamoswine_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.DEFENDER,\n \"stats\": {\n \"offense\": 2.5,\n \"endurance\": 4,\n \"mobility\": 2,\n \"scoring\": 1.5,\n \"support\": 2.5\n },\n \"tags\": [\n Tag.DEFENDER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Suicune\",\n \"dex\": 245,\n \"images\": {\n \"main\": \"pokemons/roster-suicune.png\",\n \"big\": \"pokemons/roster-suicune-2x.png\",\n \"complete\": \"pokemons/stat-suicune.png\",\n \"move_s11\": \"moves/suicune_s11.png\",\n \"move_s12\": \"moves/suicune_s12.png\",\n \"move_s21\": \"moves/suicune_s21.png\",\n \"move_s22\": \"moves/suicune_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 5,\n \"endurance\": 2.5,\n \"mobility\": 2.5,\n \"scoring\": 2,\n \"support\": 2\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Tyranitar\",\n \"dex\": 248,\n \"images\": {\n \"main\": \"pokemons/roster-tyranitar.png\",\n \"big\": \"pokemons/roster-tyranitar-2x.png\",\n \"complete\": \"pokemons/stat-tyranitar.png\",\n \"move_s11\": \"moves/tyranitar_s11.png\",\n \"move_s12\": \"moves/tyranitar_s12.png\",\n \"move_s21\": \"moves/tyranitar_s21.png\",\n \"move_s22\": \"moves/tyranitar_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 4,\n \"mobility\": 2,\n \"scoring\": 1.5,\n \"support\": 1\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Ho-Oh\",\n \"dex\": 250,\n \"images\": {\n \"main\": \"pokemons/roster-ho-oh.png\",\n \"big\": \"pokemons/roster-ho-oh-2x.png\",\n \"complete\": \"pokemons/stat-ho-oh.png\",\n \"move_s11\": \"moves/ho-oh_s11.png\",\n \"move_s12\": \"moves/ho-oh_s12.png\",\n \"move_s21\": \"moves/ho-oh_s21.png\",\n \"move_s22\": \"moves/ho-oh_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.DEFENDER,\n \"stats\": {\n \"offense\": 3,\n \"endurance\": 4,\n \"mobility\": 2,\n \"scoring\": 1,\n \"support\": 3\n },\n \"tags\": [\n Tag.DEFENDER,\n Tag.RANGED\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Blaziken\",\n \"dex\": 257,\n \"images\": {\n \"main\": \"pokemons/roster-blaziken.png\",\n \"big\": \"pokemons/roster-blaziken-2x.png\",\n \"complete\": \"pokemons/stat-blaziken.png\",\n \"move_s11\": \"moves/blaziken_s11.png\",\n \"move_s12\": \"moves/blaziken_s12.png\",\n \"move_s21\": \"moves/blaziken_s21.png\",\n \"move_s22\": \"moves/blaziken_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 2.5,\n \"mobility\": 4,\n \"scoring\": 1,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.MELEE,\n Tag.ALLROUNDER\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Gardevoir\",\n \"dex\": 282,\n \"images\": {\n \"main\": \"pokemons/roster-gardevoir.png\",\n \"big\": \"pokemons/roster-gardevoir-2x.png\",\n \"complete\": \"pokemons/stat-gardevoir.png\",\n \"move_s11\": \"moves/gardevoir_s11.png\",\n \"move_s12\": \"moves/gardevoir_s12.png\",\n \"move_s21\": \"moves/gardevoir_s21.png\",\n \"move_s22\": \"moves/gardevoir_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 4.5,\n \"endurance\": 1.5,\n \"mobility\": 1.5,\n \"scoring\": 3,\n \"support\": 1.5\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Sableye\",\n \"dex\": 302,\n \"images\": {\n \"main\": \"pokemons/roster-sableye.png\",\n \"big\": \"pokemons/roster-sableye-2x.png\",\n \"complete\": \"pokemons/stat-sableye.png\",\n \"move_s11\": \"moves/sableye_s11.png\",\n \"move_s12\": \"moves/sableye_s12.png\",\n \"move_s21\": \"moves/sableye_s21.png\",\n \"move_s22\": \"moves/sableye_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SUPPORTER,\n \"stats\": {\n \"offense\": 1,\n \"endurance\": 2.5,\n \"mobility\": 2.5,\n \"scoring\": 3.5,\n \"support\": 3.5\n },\n \"tags\": [\n Tag.SUPPORTER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Absol\",\n \"dex\": 359,\n \"images\": {\n \"main\": \"pokemons/roster-absol.png\",\n \"big\": \"pokemons/roster-absol-2x.png\",\n \"complete\": \"pokemons/stat-absol.png\",\n \"move_s11\": \"moves/absol_s11.png\",\n \"move_s12\": \"moves/absol_s12.png\",\n \"move_s21\": \"moves/absol_s21.png\",\n \"move_s22\": \"moves/absol_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SPEEDSTER,\n \"stats\": {\n \"offense\": 3.5,\n \"endurance\": 2,\n \"mobility\": 4,\n \"scoring\": 2.5,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.SPEEDSTER,\n Tag.MELEE\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Metagross\",\n \"dex\": 376,\n \"images\": {\n \"main\": \"pokemons/roster-metagross.png\",\n \"big\": \"pokemons/roster-metagross-2x.png\",\n \"complete\": \"pokemons/stat-metagross.png\",\n \"move_s11\": \"moves/metagross_s11.png\",\n \"move_s12\": \"moves/metagross_s12.png\",\n \"move_s21\": \"moves/metagross_s21.png\",\n \"move_s22\": \"moves/metagross_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 3.5,\n \"endurance\": 3,\n \"mobility\": 2.5,\n \"scoring\": 3,\n \"support\": 0.5\n },\n \"difficulty\": 2,\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ]\n},\n{\n \"name\": \"Latias\",\n \"dex\": 380,\n \"images\": {\n \"main\": \"pokemons/roster-latias.png\",\n \"big\": \"pokemons/roster-latias-2x.png\",\n \"complete\": \"pokemons/stat-latias.png\",\n \"move_s11\": \"moves/latias_s11.png\",\n \"move_s12\": \"moves/latias_s12.png\",\n \"move_s21\": \"moves/latias_s21.png\",\n \"move_s22\": \"moves/latias_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SUPPORTER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 1.5,\n \"mobility\": 4,\n \"scoring\": 2.5,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.SUPPORTER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Latios\",\n \"dex\": 381,\n \"images\": {\n \"main\": \"pokemons/roster-latios.png\",\n \"big\": \"pokemons/roster-latios-2x.png\",\n \"complete\": \"pokemons/stat-latios.png\",\n \"move_s11\": \"moves/latios_s11.png\",\n \"move_s12\": \"moves/latios_s12.png\",\n \"move_s21\": \"moves/latios_s21.png\",\n \"move_s22\": \"moves/latios_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 1.5,\n \"mobility\": 4,\n \"scoring\": 2.5,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Empoleon\",\n \"dex\": 395,\n \"images\": {\n \"main\": \"pokemons/roster-empoleon.png\",\n \"big\": \"pokemons/roster-empoleon-2x.png\",\n \"complete\": \"pokemons/stat-empoleon.png\",\n \"move_s11\": \"moves/empoleon_s11.png\",\n \"move_s12\": \"moves/empoleon_s12.png\",\n \"move_s21\": \"moves/empoleon_s21.png\",\n \"move_s22\": \"moves/empoleon_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4.5,\n \"endurance\": 3.5,\n \"mobility\": 2.5,\n \"scoring\": 2.5,\n \"support\": 1.5\n },\n \"difficulty\": 2,\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ]\n},\n{\n \"name\": \"Garchomp\",\n \"dex\": 445,\n \"images\": {\n \"main\": \"pokemons/roster-garchomp.png\",\n \"big\": \"pokemons/roster-garchomp-2x.png\",\n \"complete\": \"pokemons/stat-garchomp.png\",\n \"move_s11\": \"moves/garchomp_s11.png\",\n \"move_s12\": \"moves/garchomp_s12.png\",\n \"move_s21\": \"moves/garchomp_s21.png\",\n \"move_s22\": \"moves/garchomp_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 3.5,\n \"endurance\": 3.5,\n \"mobility\": 2.5,\n \"scoring\": 2.5,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Lucario\",\n \"dex\": 448,\n \"images\": {\n \"main\": \"pokemons/roster-lucario.png\",\n \"big\": \"pokemons/roster-lucario-2x.png\",\n \"complete\": \"pokemons/stat-lucario.png\",\n \"move_s11\": \"moves/lucario_s11.png\",\n \"move_s12\": \"moves/lucario_s12.png\",\n \"move_s21\": \"moves/lucario_s21.png\",\n \"move_s22\": \"moves/lucario_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 3,\n \"endurance\": 2.5,\n \"mobility\": 3.5,\n \"scoring\": 3,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Mega Lucario\",\n \"dex\": 448.1,\n \"images\": {\n \"main\": \"pokemons/roster-mega-lucario.png\",\n \"big\": \"pokemons/roster-mega-lucario-2x.png\",\n \"complete\": \"pokemons/stat-mega-lucario.png\",\n \"move_s11\": \"moves/mega-lucario_s11.png\",\n \"move_s21\": \"moves/mega-lucario_s21.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4.5,\n \"endurance\": 2,\n \"mobility\": 3.5,\n \"scoring\": 3,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Leafeon\",\n \"dex\": 470,\n \"images\": {\n \"main\": \"pokemons/roster-leafeon.png\",\n \"big\": \"pokemons/roster-leafeon-2x.png\",\n \"complete\": \"pokemons/stat-leafeon.png\",\n \"move_s11\": \"moves/leafeon_s11.png\",\n \"move_s12\": \"moves/leafeon_s12.png\",\n \"move_s21\": \"moves/leafeon_s21.png\",\n \"move_s22\": \"moves/leafeon_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SPEEDSTER,\n \"stats\": {\n \"offense\": 3.5,\n \"endurance\": 1.5,\n \"mobility\": 2.5,\n \"scoring\": 2.5,\n \"support\": 2.5\n },\n \"tags\": [\n Tag.SPEEDSTER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Glaceon\",\n \"dex\": 471,\n \"images\": {\n \"main\": \"pokemons/roster-glaceon.png\",\n \"big\": \"pokemons/roster-glaceon-2x.png\",\n \"complete\": \"pokemons/stat-glaceon.png\",\n \"move_s11\": \"moves/glaceon_s11.png\",\n \"move_s12\": \"moves/glaceon_s12.png\",\n \"move_s21\": \"moves/glaceon_s21.png\",\n \"move_s22\": \"moves/glaceon_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 2,\n \"mobility\": 3,\n \"scoring\": 1,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Darkrai\",\n \"dex\": 491,\n \"images\": {\n \"main\": \"pokemons/roster-darkrai.png\",\n \"big\": \"pokemons/roster-darkrai-2x.png\",\n \"complete\": \"pokemons/stat-darkrai.png\",\n \"move_s11\": \"moves/darkrai_s11.png\",\n \"move_s12\": \"moves/darkrai_s12.png\",\n \"move_s21\": \"moves/darkrai_s21.png\",\n \"move_s22\": \"moves/darkrai_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SPEEDSTER,\n \"stats\": {\n \"offense\": 4.5,\n \"endurance\": 1.5,\n \"mobility\": 3,\n \"scoring\": 2,\n \"support\": 2\n },\n \"tags\": [\n Tag.SPEEDSTER,\n Tag.MELEE\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Crustle\",\n \"dex\": 558,\n \"images\": {\n \"main\": \"pokemons/roster-crustle.png\",\n \"big\": \"pokemons/roster-crustle-2x.png\",\n \"complete\": \"pokemons/stat-crustle.png\",\n \"move_s11\": \"moves/crustle_s11.png\",\n \"move_s12\": \"moves/crustle_s12.png\",\n \"move_s21\": \"moves/crustle_s21.png\",\n \"move_s22\": \"moves/crustle_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.DEFENDER,\n \"stats\": {\n \"offense\": 1.5,\n \"endurance\": 4,\n \"mobility\": 1.5,\n \"scoring\": 2,\n \"support\": 3\n },\n \"tags\": [\n Tag.DEFENDER,\n Tag.MELEE\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Zoroark\",\n \"dex\": 571,\n \"images\": {\n \"main\": \"pokemons/roster-zoroark.png\",\n \"big\": \"pokemons/roster-zoroark-2x.png\",\n \"complete\": \"pokemons/stat-zoroark.png\",\n \"move_s11\": \"moves/zoroark_s11.png\",\n \"move_s12\": \"moves/zoroark_s12.png\",\n \"move_s21\": \"moves/zoroark_s21.png\",\n \"move_s22\": \"moves/zoroark_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SPEEDSTER,\n \"stats\": {\n \"offense\": 3.5,\n \"endurance\": 1.5,\n \"mobility\": 4,\n \"scoring\": 2,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.SPEEDSTER,\n Tag.MELEE\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Chandelure\",\n \"dex\": 609,\n \"images\": {\n \"main\": \"pokemons/roster-chandelure.png\",\n \"big\": \"pokemons/roster-chandelure-2x.png\",\n \"complete\": \"pokemons/stat-chandelure.png\",\n \"move_s11\": \"moves/chandelure_s11.png\",\n \"move_s12\": \"moves/chandelure_s12.png\",\n \"move_s21\": \"moves/chandelure_s21.png\",\n \"move_s22\": \"moves/chandelure_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 5,\n \"endurance\": 1,\n \"mobility\": 1,\n \"scoring\": 2,\n \"support\": 3\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Delphox\",\n \"dex\": 655,\n \"images\": {\n \"main\": \"pokemons/roster-delphox.png\",\n \"big\": \"pokemons/roster-delphox-2x.png\",\n \"complete\": \"pokemons/stat-delphox.png\",\n \"move_s11\": \"moves/delphox_s11.png\",\n \"move_s12\": \"moves/delphox_s12.png\",\n \"move_s21\": \"moves/delphox_s21.png\",\n \"move_s22\": \"moves/delphox_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 1.5,\n \"mobility\": 3,\n \"scoring\": 2.5,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Greninja\",\n \"dex\": 658,\n \"images\": {\n \"main\": \"pokemons/roster-greninja.png\",\n \"big\": \"pokemons/roster-greninja-2x.png\",\n \"complete\": \"pokemons/stat-greninja.png\",\n \"move_s11\": \"moves/greninja_s11.png\",\n \"move_s12\": \"moves/greninja_s12.png\",\n \"move_s21\": \"moves/greninja_s21.png\",\n \"move_s22\": \"moves/greninja_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 2,\n \"mobility\": 3,\n \"scoring\": 3,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Talonflame\",\n \"dex\": 663,\n \"images\": {\n \"main\": \"pokemons/roster-talonflame.png\",\n \"big\": \"pokemons/roster-talonflame-2x.png\",\n \"complete\": \"pokemons/stat-talonflame.png\",\n \"move_s11\": \"moves/talonflame_s11.png\",\n \"move_s12\": \"moves/talonflame_s12.png\",\n \"move_s21\": \"moves/talonflame_s21.png\",\n \"move_s22\": \"moves/talonflame_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SPEEDSTER,\n \"stats\": {\n \"offense\": 2.5,\n \"endurance\": 1.5,\n \"mobility\": 5,\n \"scoring\": 3.5,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.SPEEDSTER,\n Tag.MELEE\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Aegislash\",\n \"dex\": 681,\n \"images\": {\n \"main\": \"pokemons/roster-aegislash.png\",\n \"big\": \"pokemons/roster-aegislash-2x.png\",\n \"complete\": \"pokemons/stat-aegislash.png\",\n \"move_s11\": \"moves/aegislash_s11.png\",\n \"move_s12\": \"moves/aegislash_s12.png\",\n \"move_s21\": \"moves/aegislash_s21.png\",\n \"move_s22\": \"moves/aegislash_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 3.5,\n \"endurance\": 2,\n \"mobility\": 4,\n \"scoring\": 2.5,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Sylveon\",\n \"dex\": 700,\n \"images\": {\n \"main\": \"pokemons/roster-sylveon.png\",\n \"big\": \"pokemons/roster-sylveon-2x.png\",\n \"complete\": \"pokemons/stat-sylveon.png\",\n \"move_s11\": \"moves/sylveon_s11.png\",\n \"move_s12\": \"moves/sylveon_s12.png\",\n \"move_s21\": \"moves/sylveon_s21.png\",\n \"move_s22\": \"moves/sylveon_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 3.5,\n \"endurance\": 1.5,\n \"mobility\": 1.5,\n \"scoring\": 3.5,\n \"support\": 3.5\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Goodra\",\n \"dex\": 706,\n \"images\": {\n \"main\": \"pokemons/roster-goodra.png\",\n \"big\": \"pokemons/roster-goodra-2x.png\",\n \"complete\": \"pokemons/stat-goodra.png\",\n \"move_s11\": \"moves/goodra_s11.png\",\n \"move_s12\": \"moves/goodra_s12.png\",\n \"move_s21\": \"moves/goodra_s21.png\",\n \"move_s22\": \"moves/goodra_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.DEFENDER,\n \"stats\": {\n \"offense\": 2.5,\n \"endurance\": 4,\n \"mobility\": 2.5,\n \"scoring\": 2.5,\n \"support\": 2\n },\n \"tags\": [\n Tag.DEFENDER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Trevenant\",\n \"dex\": 709,\n \"images\": {\n \"main\": \"pokemons/roster-trevenant.png\",\n \"big\": \"pokemons/roster-trevenant-2x.png\",\n \"complete\": \"pokemons/stat-trevenant.png\",\n \"move_s11\": \"moves/trevenant_s11.png\",\n \"move_s12\": \"moves/trevenant_s12.png\",\n \"move_s21\": \"moves/trevenant_s21.png\",\n \"move_s22\": \"moves/trevenant_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.DEFENDER,\n \"stats\": {\n \"offense\": 2,\n \"endurance\": 4,\n \"mobility\": 2,\n \"scoring\": 2.5,\n \"support\": 2.5\n },\n \"tags\": [\n Tag.DEFENDER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Hoopa\",\n \"dex\": 720,\n \"images\": {\n \"main\": \"pokemons/roster-hoopa.png\",\n \"big\": \"pokemons/roster-hoopa-2x.png\",\n \"complete\": \"pokemons/stat-hoopa.png\",\n \"move_s11\": \"moves/hoopa_s11.png\",\n \"move_s12\": \"moves/hoopa_s12.png\",\n \"move_s21\": \"moves/hoopa_s21.png\",\n \"move_s22\": \"moves/hoopa_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SUPPORTER,\n \"stats\": {\n \"offense\": 3,\n \"endurance\": 2,\n \"mobility\": 3,\n \"scoring\": 2,\n \"support\": 3.5\n },\n \"tags\": [\n Tag.SUPPORTER,\n Tag.RANGED\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Decidueye\",\n \"dex\": 724,\n \"images\": {\n \"main\": \"pokemons/roster-decidueye.png\",\n \"big\": \"pokemons/roster-decidueye-2x.png\",\n \"complete\": \"pokemons/stat-decidueye.png\",\n \"move_s11\": \"moves/decidueye_s11.png\",\n \"move_s12\": \"moves/decidueye_s12.png\",\n \"move_s21\": \"moves/decidueye_s21.png\",\n \"move_s22\": \"moves/decidueye_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 3.5,\n \"endurance\": 1.5,\n \"mobility\": 1.5,\n \"scoring\": 3.5,\n \"support\": 3.5\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Tsareena\",\n \"dex\": 763,\n \"images\": {\n \"main\": \"pokemons/roster-tsareena.png\",\n \"big\": \"pokemons/roster-tsareena-2x.png\",\n \"complete\": \"pokemons/stat-tsareena.png\",\n \"move_s11\": \"moves/tsareena_s11.png\",\n \"move_s12\": \"moves/tsareena_s12.png\",\n \"move_s21\": \"moves/tsareena_s21.png\",\n \"move_s22\": \"moves/tsareena_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 3.5,\n \"endurance\": 1.5,\n \"mobility\": 1.5,\n \"scoring\": 3.5,\n \"support\": 3.5\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Comfey\",\n \"dex\": 764,\n \"images\": {\n \"main\": \"pokemons/roster-comfey.png\",\n \"big\": \"pokemons/roster-comfey-2x.png\",\n \"complete\": \"pokemons/stat-comfey.png\",\n \"move_s11\": \"moves/comfey_s11.png\",\n \"move_s12\": \"moves/comfey_s12.png\",\n \"move_s21\": \"moves/comfey_s21.png\",\n \"move_s22\": \"moves/comfey_s22.png\",\n },\n \"active\": true,\n \"stats\": {\n \"offense\": 2,\n \"endurance\": 3,\n \"mobility\": 1.5,\n \"scoring\": 1.5,\n \"support\": 4.5\n },\n \"difficulty\": 1,\n \"tags\": [\n Tag.SUPPORTER,\n Tag.RANGED\n ],\n \"battleType\": BattleType.SUPPORTER\n},\n{\n \"name\": \"Mimikyu\",\n \"dex\": 778,\n \"images\": {\n \"main\": \"pokemons/roster-mimikyu.png\",\n \"big\": \"pokemons/roster-mimikyu-2x.png\",\n \"complete\": \"pokemons/stat-mimikyu.png\",\n \"move_s11\": \"moves/mimikyu_s11.png\",\n \"move_s12\": \"moves/mimikyu_s12.png\",\n \"move_s21\": \"moves/mimikyu_s21.png\",\n \"move_s22\": \"moves/mimikyu_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 3,\n \"mobility\": 2.5,\n \"scoring\": 2,\n \"support\": 2\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Dhelmise\",\n \"dex\": 781,\n \"images\": {\n \"main\": \"pokemons/roster-dhelmise.png\",\n \"big\": \"pokemons/roster-dhelmise-2x.png\",\n \"complete\": \"pokemons/stat-dhelmise.png\",\n \"move_s11\": \"moves/dhelmise_s11.png\",\n \"move_s12\": \"moves/dhelmise_s12.png\",\n \"move_s21\": \"moves/dhelmise_s21.png\", },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4.5,\n \"endurance\": 1.5,\n \"mobility\": 1,\n \"scoring\": 1,\n \"support\": 1,\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Buzzwole\",\n \"dex\": 794,\n \"images\": {\n \"main\": \"pokemons/roster-buzzwole.png\",\n \"big\": \"pokemons/roster-buzzwole-2x.png\",\n \"complete\": \"pokemons/stat-buzzwole.png\",\n \"move_s11\": \"moves/buzzwole_s11.png\",\n \"move_s12\": \"moves/buzzwole_s12.png\",\n \"move_s21\": \"moves/buzzwole_s21.png\",\n \"move_s22\": \"moves/buzzwole_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 3,\n \"mobility\": 2.5,\n \"scoring\": 2,\n \"support\": 2\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Zeraora\",\n \"dex\": 807,\n \"images\": {\n \"main\": \"pokemons/roster-zeraora.png\",\n \"big\": \"pokemons/roster-zeraora-2x.png\",\n \"complete\": \"pokemons/stat-zeraora.png\",\n \"move_s11\": \"moves/zeraora_s11.png\",\n \"move_s12\": \"moves/zeraora_s12.png\",\n \"move_s21\": \"moves/zeraora_s21.png\",\n \"move_s22\": \"moves/zeraora_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SPEEDSTER,\n \"stats\": {\n \"offense\": 3.5,\n \"endurance\": 1.5,\n \"mobility\": 4,\n \"scoring\": 3,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.SPEEDSTER,\n Tag.MELEE\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Cinderace\",\n \"dex\": 815,\n \"images\": {\n \"main\": \"pokemons/roster-cinderace.png\",\n \"big\": \"pokemons/roster-cinderace-2x.png\",\n \"complete\": \"pokemons/stat-cinderace.png\",\n \"move_s11\": \"moves/cinderace_s11.png\",\n \"move_s12\": \"moves/cinderace_s12.png\",\n \"move_s21\": \"moves/cinderace_s21.png\",\n \"move_s22\": \"moves/cinderace_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 1.5,\n \"mobility\": 3,\n \"scoring\": 2.5,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Inteleon\",\n \"dex\": 818,\n \"images\": {\n \"main\": \"pokemons/roster-inteleon.png\",\n \"big\": \"pokemons/roster-inteleon-2x.png\",\n \"complete\": \"pokemons/stat-inteleon.png\",\n \"move_s11\": \"moves/inteleon_s11.png\",\n \"move_s12\": \"moves/inteleon_s12.png\",\n \"move_s21\": \"moves/inteleon_s21.png\",\n \"move_s22\": \"moves/inteleon_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 4.5,\n \"endurance\": 1.5,\n \"mobility\": 3.5,\n \"scoring\": 1.5,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Greedent\",\n \"dex\": 820,\n \"images\": {\n \"main\": \"pokemons/roster-greedent.png\",\n \"big\": \"pokemons/roster-greedent-2x.png\",\n \"complete\": \"pokemons/stat-greedent.png\",\n \"move_s11\": \"moves/greedent_s11.png\",\n \"move_s12\": \"moves/greedent_s12.png\",\n \"move_s21\": \"moves/greedent_s21.png\",\n \"move_s22\": \"moves/greedent_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.DEFENDER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 1.5,\n \"mobility\": 2,\n \"scoring\": 1,\n \"support\": 1\n },\n \"tags\": [\n Tag.DEFENDER,\n Tag.MELEE\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Eldegoss\",\n \"dex\": 830,\n \"images\": {\n \"main\": \"pokemons/roster-eldegoss.png\",\n \"big\": \"pokemons/roster-eldegoss-2x.png\",\n \"complete\": \"pokemons/stat-eldegoss.png\",\n \"move_s11\": \"moves/eldegoss_s11.png\",\n \"move_s12\": \"moves/eldegoss_s12.png\",\n \"move_s21\": \"moves/eldegoss_s21.png\",\n \"move_s22\": \"moves/eldegoss_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SUPPORTER,\n \"stats\": {\n \"offense\": 1.5,\n \"endurance\": 2,\n \"mobility\": 2.5,\n \"scoring\": 2.5,\n \"support\": 4\n },\n \"tags\": [\n Tag.SUPPORTER,\n Tag.RANGED\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Cramorant\",\n \"dex\": 845,\n \"images\": {\n \"main\": \"pokemons/roster-cramorant.png\",\n \"big\": \"pokemons/roster-cramorant-2x.png\",\n \"complete\": \"pokemons/stat-cramorant.png\",\n \"move_s11\": \"moves/cramorant_s11.png\",\n \"move_s12\": \"moves/cramorant_s12.png\",\n \"move_s21\": \"moves/cramorant_s21.png\",\n \"move_s22\": \"moves/cramorant_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 3,\n \"mobility\": 3,\n \"scoring\": 1.5,\n \"support\": 1\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Sirfetch'd\",\n \"dex\": 865,\n \"images\": {\n \"main\": \"pokemons/roster-sirfetchd.png\",\n \"big\": \"pokemons/roster-sirfetchd-2x.png\",\n \"complete\": \"pokemons/stat-sirfetchd.png\",\n \"move_s11\": \"moves/sirfetchd_s11.png\",\n \"move_s12\": \"moves/sirfetchd_s12.png\",\n \"move_s21\": \"moves/sirfetchd_s21.png\",\n \"move_s22\": \"moves/sirfetchd_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 3.5,\n \"endurance\": 2.5,\n \"mobility\": 2.5,\n \"scoring\": 2.5,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Alcremie\",\n \"dex\": 869,\n \"images\": {\n \"main\": \"pokemons/roster-alcremie.png\",\n \"big\": \"pokemons/roster-alcremie-2x.png\",\n \"complete\": \"pokemons/stat-alcremie.png\",\n \"move_s11\": \"moves/alcremie_s11.png\",\n \"move_s12\": \"moves/alcremie_s12.png\",\n \"move_s21\": \"moves/alcremie_s21.png\",\n \"move_s22\": \"moves/alcremie_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SUPPORTER,\n \"stats\": {\n \"offense\": 1.5,\n \"endurance\": 2,\n \"mobility\": 2.5,\n \"scoring\": 2.5,\n \"support\": 4\n },\n \"tags\": [\n Tag.SUPPORTER,\n Tag.RANGED\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Falinks\",\n \"dex\": 870,\n \"images\": {\n \"main\": \"pokemons/roster-falinks.png\",\n \"big\": \"pokemons/roster-falinks-2x.png\",\n \"complete\": \"pokemons/stat-falinks.png\",\n \"move_s11\": \"moves/falinks_s11.png\",\n \"move_s12\": \"moves/falinks_s12.png\",\n \"move_s21\": \"moves/falinks_s21.png\",\n \"move_s22\": \"moves/falinks_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 3.5,\n \"endurance\": 4.5,\n \"mobility\": 2.5,\n \"scoring\": 2,\n \"support\": 1\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Duraludon\",\n \"dex\": 884,\n \"images\": {\n \"main\": \"pokemons/roster-duraludon.png\",\n \"big\": \"pokemons/roster-duraludon-2x.png\",\n \"complete\": \"pokemons/stat-duraludon.png\",\n \"move_s11\": \"moves/duraludon_s11.png\",\n \"move_s12\": \"moves/duraludon_s12.png\",\n \"move_s21\": \"moves/duraludon_s21.png\",\n \"move_s22\": \"moves/duraludon_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 3.5,\n \"endurance\": 3.5,\n \"mobility\": 2.5,\n \"scoring\": 2.5,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Dragapult\",\n \"dex\": 887,\n \"images\": {\n \"main\": \"pokemons/roster-dragapult.png\",\n \"big\": \"pokemons/roster-dragapult-2x.png\",\n \"complete\": \"pokemons/stat-dragapult.png\",\n \"move_s11\": \"moves/dragapult_s11.png\",\n \"move_s12\": \"moves/dragapult_s12.png\",\n \"move_s21\": \"moves/dragapult_s21.png\",\n \"move_s22\": \"moves/dragapult_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 2.5,\n \"mobility\": 4,\n \"scoring\": 1.5,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.ATTACKER,\n Tag.RANGED\n ],\n \"difficulty\": 3\n},\n{\n \"name\": \"Zacian\",\n \"dex\": 888,\n \"images\": {\n \"main\": \"pokemons/roster-zacian.png\",\n \"big\": \"pokemons/roster-zacian-2x.png\",\n \"complete\": \"pokemons/stat-zacian.png\",\n \"move_s11\": \"moves/zacian_s11.png\",\n \"move_s12\": \"moves/zacian_s12.png\",\n \"move_s21\": \"moves/zacian_s21.png\",\n \"move_s22\": \"moves/zacian_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 5,\n \"endurance\": 4,\n \"mobility\": 3,\n \"scoring\": 1,\n \"support\": 2\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Urshifu\",\n \"dex\": 892,\n \"images\": {\n \"main\": \"pokemons/roster-urshifu.png\",\n \"big\": \"pokemons/roster-urshifu-2x.png\",\n \"complete\": \"pokemons/stat-urshifu.png\",\n \"move_s11\": \"moves/urshifu_s11.png\",\n \"move_s12\": \"moves/urshifu_s12.png\",\n \"move_s21\": \"moves/urshifu_s21.png\",\n \"move_s22\": \"moves/urshifu_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4.5,\n \"endurance\": 3,\n \"mobility\": 2.5,\n \"scoring\": 2.5,\n \"support\": 1\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n}, \n{\n \"name\": \"Meowscarada\",\n \"dex\": 908,\n \"images\": {\n \"main\": \"pokemons/roster-meowscarada.png\",\n \"big\": \"pokemons/roster-meowscarada-2x.png\",\n \"complete\": \"pokemons/stat-meowscarada.png\",\n \"move_s11\": \"moves/meowscarada_s11.png\",\n \"move_s12\": \"moves/meowscarada_s12.png\",\n \"move_s21\": \"moves/meowscarada_s21.png\",\n \"move_s22\": \"moves/meowscarada_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.SPEEDSTER,\n \"stats\": {\n \"offense\": 4.5,\n \"endurance\": 3,\n \"mobility\": 2.5,\n \"scoring\": 2.5,\n \"support\": 1\n },\n \"tags\": [\n Tag.SPEEDSTER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n}, \n{\n \"name\": \"Pawmot\",\n \"dex\": 923,\n \"images\": {\n \"main\": \"pokemons/roster-pawmot.png\",\n \"big\": \"pokemons/roster-pawmot-2x.png\",\n \"complete\": \"pokemons/stat-pawmot.png\",\n \"move_s11\": \"moves/pawmot_s11.png\",\n \"move_s12\": \"moves/pawmot_s12.png\",\n \"move_s21\": \"moves/pawmot_s21.png\",\n \"move_s22\": \"moves/pawmot_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4.5,\n \"endurance\": 2,\n \"mobility\": 3,\n \"scoring\": 2,\n \"support\": 2\n },\n \"tags\": [\n Tag.MELEE,\n Tag.ALLROUNDER\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Armarouge\",\n \"dex\": 936,\n \"images\": {\n \"main\": \"pokemons/roster-armarouge.png\",\n \"big\": \"pokemons/roster-armarouge-2x.png\",\n \"complete\": \"pokemons/stat-armarouge.png\",\n \"move_s11\": \"moves/armarouge_s11.png\",\n \"move_s12\": \"moves/armarouge_s12.png\",\n \"move_s21\": \"moves/armarouge_s21.png\",\n \"move_s22\": \"moves/armarouge_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 2,\n \"mobility\": 2.5,\n \"scoring\": 2,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.RANGED,\n Tag.ATTACKER\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Ceruledge\",\n \"dex\": 937,\n \"images\": {\n \"main\": \"pokemons/roster-ceruledge.png\",\n \"big\": \"pokemons/roster-ceruledge-2x.png\",\n \"complete\": \"pokemons/stat-ceruledge.png\",\n \"move_s11\": \"moves/ceruledge_s11.png\",\n \"move_s12\": \"moves/ceruledge_s12.png\",\n \"move_s21\": \"moves/ceruledge_s21.png\",\n \"move_s22\": \"moves/ceruledge_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 2.5,\n \"mobility\": 2.5,\n \"scoring\": 2.5,\n \"support\": 0.5\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 2\n},\n{\n \"name\": \"Tinkaton\",\n \"dex\": 959,\n \"images\": {\n \"main\": \"pokemons/roster-tinkaton.png\",\n \"big\": \"pokemons/roster-tinkaton-2x.png\",\n \"complete\": \"pokemons/stat-tinkaton.png\",\n \"move_s11\": \"moves/tinkaton_s11.png\",\n \"move_s12\": \"moves/tinkaton_s12.png\",\n \"move_s21\": \"moves/tinkaton_s21.png\",\n \"move_s22\": \"moves/tinkaton_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ALLROUNDER,\n \"stats\": {\n \"offense\": 3,\n \"endurance\": 3.5,\n \"mobility\": 2.5,\n \"scoring\": 2,\n \"support\": 1\n },\n \"tags\": [\n Tag.ALLROUNDER,\n Tag.MELEE\n ],\n \"difficulty\": 1\n},\n{\n \"name\": \"Miraidon\",\n \"dex\": 1008,\n \"images\": {\n \"main\": \"pokemons/roster-miraidon.png\",\n \"big\": \"pokemons/roster-miraidon-2x.png\",\n \"complete\": \"pokemons/stat-miraidon.png\",\n \"move_s11\": \"moves/miraidon_s11.png\",\n \"move_s12\": \"moves/miraidon_s12.png\",\n \"move_s21\": \"moves/miraidon_s21.png\",\n \"move_s22\": \"moves/miraidon_s22.png\",\n },\n \"active\": true,\n \"battleType\": BattleType.ATTACKER,\n \"stats\": {\n \"offense\": 4,\n \"endurance\": 2,\n \"mobility\": 2,\n \"scoring\": 2.5,\n \"support\": 4\n },\n \"tags\": [\n Tag.RANGED,\n Tag.ATTACKER\n ],\n \"difficulty\": 1\n}];\n\nexport default pokemons;\n","import type { Map } from \"./types\";\n\nconst maps: Map[] = [\n {\n id: \"map-groudon\",\n name: \"Theia Sky Ruins\",\n image: \"maps/map-groudon/map-groudon@4x.png\",\n images: {\n \"1\": \"maps/map-groudon/map-groudon@1x.png\",\n \"2\": \"maps/map-groudon/map-groudon@2x.png\",\n \"4\": \"maps/map-groudon/map-groudon@4x.png\",\n },\n description: \"Map with Groudon.\",\n },\n {\n id: \"map-kyogre\",\n name: \"Theia Sky Ruins\",\n image: \"maps/map-kyogre/map-kyogre@4x.png\",\n images: {\n \"1\": \"maps/map-kyogre/map-kyogre@1x.png\",\n \"2\": \"maps/map-kyogre/map-kyogre@2x.png\",\n \"4\": \"maps/map-kyogre/map-kyogre@4x.png\",\n },\n description: \"Map with Kyogre.\",\n },\n {\n id: \"map-rayquaza\",\n name: \"Theia Sky Ruins\",\n image: \"maps/map-rayquaza/map-rayquaza@4x.png\",\n images: {\n \"1\": \"maps/map-rayquaza/map-rayquaza@1x.png\",\n \"2\": \"maps/map-rayquaza/map-rayquaza@2x.png\",\n \"4\": \"maps/map-rayquaza/map-rayquaza@4x.png\",\n },\n description: \"Map with Rayquaza.\",\n },\n];\n\nexport default maps;\n","import pokemons from \"../pokemons\";\nimport maps from \"../maps\";\n\n/** Slug from roster image path: \"pokemons/roster-venusaur.png\" -> \"venusaur\" */\nfunction slugFromMain(mainPath: string): string {\n return mainPath.replace(/^pokemons\\/roster-/, \"\").replace(/\\.png$/, \"\");\n}\n\nconst names: Record<string, string> = {};\nfor (const p of pokemons) {\n names[slugFromMain(p.images.main)] = p.name;\n}\nfor (const m of maps) {\n names[m.id] = m.name;\n if (m.description) names[`${m.id}.description`] = m.description;\n}\n\nexport default names;\n","import en from \"./en\";\n\n/**\n * Portuguese (Brazil). Same as English for Pokémon names; override here only when pt-BR differs.\n */\nconst ptBR: Record<string, string> = {\n ...en,\n // Maps — names and descriptions\n \"map-groudon\": \"Ruínas Celestes de Theia\",\n \"map-groudon.description\": \"Mapa 5v5 com Groudon.\",\n \"map-kyogre\": \"Ruínas Celestes de Theia\",\n \"map-kyogre.description\": \"Mapa 5v5 com Kyogre.\",\n \"map-rayquaza\": \"Ruínas Celestes de Theia\",\n \"map-rayquaza.description\": \"Mapa 5v5 com Rayquaza.\",\n};\n\nexport default ptBR;\n","/**\n * Japanese (Japan) Pokémon names — official localized names.\n */\nconst jaJP: Record<string, string> = {\n venusaur: \"フシギバナ\",\n charizard: \"リザードン\",\n \"mega-charizard-x\": \"メガリザードンX\",\n \"mega-charizard-y\": \"メガリザードンY\",\n blastoise: \"カメックス\",\n pikachu: \"ピカチュウ\",\n \"alolan-raichu\": \"アローラのライチュウ\",\n clefable: \"ピクシー\",\n \"alolan-ninetales\": \"アローラのキュウコン\",\n wigglytuff: \"プクリン\",\n meowth: \"ニャース\",\n psyduck: \"コダック\",\n machamp: \"カイリキー\",\n \"galarian-rapidash\": \"ガラルのギャロップ\",\n slowbro: \"ヤドラン\",\n dodrio: \"ドードリオ\",\n gengar: \"ゲンガー\",\n blissey: \"ハピナス\",\n \"mr-mime\": \"バリヤード\",\n scizor: \"ハッサム\",\n gyarados: \"ギャラドス\",\n \"mega-gyarados\": \"メガギャラドス\",\n lapras: \"ラプラス\",\n vaporeon: \"シャワーズ\",\n snorlax: \"カビゴン\",\n zapdos: \"サンダー\",\n dragonite: \"カイリュー\",\n mewtwox: \"メガミュウツーX\",\n mewtwoy: \"メガミュウツーY\",\n mew: \"ミュウ\",\n azumarill: \"マリルリ\",\n espeon: \"エーフィ\",\n umbreon: \"ブラッキー\",\n mamoswine: \"マンムー\",\n suicune: \"スイクン\",\n tyranitar: \"バンギラス\",\n \"ho-oh\": \"ホウオウ\",\n blaziken: \"バシャーモ\",\n gardevoir: \"サーナイト\",\n sableye: \"ヤミラミ\",\n absol: \"アブソル\",\n metagross: \"メタグロス\",\n latias: \"ラティアス\",\n latios: \"ラティオス\",\n empoleon: \"エンペルト\",\n garchomp: \"ガブリアス\",\n lucario: \"ルカリオ\",\n \"mega-lucario\": \"メガルカリオ\",\n leafeon: \"リーフィア\",\n glaceon: \"グレイシア\",\n darkrai: \"ダークライ\",\n crustle: \"イワパレス\",\n zoroark: \"ゾロアーク\",\n chandelure: \"シャンデラ\",\n delphox: \"マフォクシー\",\n greninja: \"ゲッコウガ\",\n talonflame: \"ファイアロー\",\n aegislash: \"ギルガルド\",\n sylveon: \"ニンフィア\",\n goodra: \"ヌメルゴン\",\n trevenant: \"オーロット\",\n hoopa: \"フーパ\",\n decidueye: \"ジュナイパー\",\n tsareena: \"アマージョ\",\n comfey: \"キュワワー\",\n mimikyu: \"ミミッキュ\",\n dhelmise: \"ダダリン\",\n buzzwole: \"マッシブーン\",\n zeraora: \"ゼラオラ\",\n cinderace: \"エースバーン\",\n inteleon: \"インテレオン\",\n greedent: \"ヨクバリス\",\n eldegoss: \"ワタシラガ\",\n cramorant: \"ウッウ\",\n sirfetchd: \"ネギガナイト\",\n alcremie: \"マホイップ\",\n falinks: \"タイレーツ\",\n duraludon: \"ジュラルドン\",\n dragapult: \"ドラパルト\",\n zacian: \"ザシアン\",\n urshifu: \"ウーラオス\",\n meowscarada: \"マスカーニャ\",\n pawmot: \"パーモット\",\n armarouge: \"グレンアルマ\",\n ceruledge: \"ソウブレイズ\",\n tinkaton: \"デカヌチャン\",\n miraidon: \"ミライドン\",\n // Maps — names and descriptions\n \"map-groudon\": \"テイアの天空遺跡\",\n \"map-groudon.description\": \"グラードンが登場する5v5マップ。\",\n \"map-kyogre\": \"テイアの天空遺跡\",\n \"map-kyogre.description\": \"カイオーガが登場する5v5マップ。\",\n \"map-rayquaza\": \"テイアの天空遺跡\",\n \"map-rayquaza.description\": \"レックウザが登場する5v5マップ。\",\n};\n\nexport default jaJP;\n","/**\n * French (France) Pokémon names — official localized names.\n */\nconst fr: Record<string, string> = {\n venusaur: \"Florizarre\",\n charizard: \"Dracaufeu\",\n \"mega-charizard-x\": \"Méga-Dracaufeu X\",\n \"mega-charizard-y\": \"Méga-Dracaufeu Y\",\n blastoise: \"Tortank\",\n pikachu: \"Pikachu\",\n \"alolan-raichu\": \"Raichu d'Alola\",\n clefable: \"Mélodelfe\",\n \"alolan-ninetales\": \"Feunard d'Alola\",\n wigglytuff: \"Grodoudou\",\n meowth: \"Miaouss\",\n psyduck: \"Psykokwak\",\n machamp: \"Mackogneur\",\n \"galarian-rapidash\": \"Galopa de Galar\",\n slowbro: \"Flagadoss\",\n dodrio: \"Dodrio\",\n gengar: \"Ectoplasma\",\n blissey: \"Leveinard\",\n \"mr-mime\": \"M. Mime\",\n scizor: \"Cizayox\",\n gyarados: \"Léviator\",\n \"mega-gyarados\": \"Méga-Léviator\",\n lapras: \"Lokhlass\",\n vaporeon: \"Aquali\",\n snorlax: \"Ronflex\",\n zapdos: \"Électhor\",\n dragonite: \"Dracolosse\",\n mewtwox: \"Méga-Mewtwo X\",\n mewtwoy: \"Méga-Mewtwo Y\",\n mew: \"Mew\",\n azumarill: \"Azumarill\",\n espeon: \"Mentali\",\n umbreon: \"Noctali\",\n mamoswine: \"Mammochon\",\n suicune: \"Suicune\",\n tyranitar: \"Tyranocif\",\n \"ho-oh\": \"Ho-Oh\",\n blaziken: \"Braségali\",\n gardevoir: \"Gardevoir\",\n sableye: \"Ténéfix\",\n absol: \"Absol\",\n metagross: \"Métalosse\",\n latias: \"Latias\",\n latios: \"Latios\",\n empoleon: \"Pingoléon\",\n garchomp: \"Carchacrok\",\n lucario: \"Lucario\",\n \"mega-lucario\": \"Méga-Lucario\",\n leafeon: \"Phyllali\",\n glaceon: \"Givrali\",\n darkrai: \"Darkrai\",\n crustle: \"Crabaraque\",\n zoroark: \"Zoroark\",\n chandelure: \"Lugulabre\",\n delphox: \"Goupelin\",\n greninja: \"Amphinobi\",\n talonflame: \"Flambusard\",\n aegislash: \"Exagide\",\n sylveon: \"Nymphali\",\n goodra: \"Muplodocus\",\n trevenant: \"Desséliande\",\n hoopa: \"Hoopa\",\n decidueye: \"Archéduc\",\n tsareena: \"Sucreine\",\n comfey: \"Guérilande\",\n mimikyu: \"Mimiqui\",\n dhelmise: \"Sinistrail\",\n buzzwole: \"Mouscoto\",\n zeraora: \"Zeraora\",\n cinderace: \"Pyrobut\",\n inteleon: \"Lézargus\",\n greedent: \"Rongrigou\",\n eldegoss: \"Blancoton\",\n cramorant: \"Nigosier\",\n sirfetchd: \"Palarticho\",\n alcremie: \"Charmilly\",\n falinks: \"Hexadron\",\n duraludon: \"Duralugon\",\n dragapult: \"Drakéfauche\",\n zacian: \"Zacian\",\n urshifu: \"Shifours\",\n meowscarada: \"Matourgeon\",\n pawmot: \"Parmot\",\n armarouge: \"Carmadura\",\n ceruledge: \"Malvalame\",\n tinkaton: \"Forgerette\",\n miraidon: \"Miraidon\",\n // Maps — names and descriptions\n \"map-groudon\": \"Ruines Célestes de Theia\",\n \"map-groudon.description\": \"Carte 5v5 avec Groudon.\",\n \"map-kyogre\": \"Ruines Célestes de Theia\",\n \"map-kyogre.description\": \"Carte 5v5 avec Kyogre.\",\n \"map-rayquaza\": \"Ruines Célestes de Theia\",\n \"map-rayquaza.description\": \"Carte 5v5 avec Rayquaza.\",\n};\n\nexport default fr;\n","/**\n * Spanish (Spain/LATAM) Pokémon names — official localized names.\n */\nconst es: Record<string, string> = {\n venusaur: \"Venusaur\",\n charizard: \"Charizard\",\n \"mega-charizard-x\": \"Mega-Charizard X\",\n \"mega-charizard-y\": \"Mega-Charizard Y\",\n blastoise: \"Blastoise\",\n pikachu: \"Pikachu\",\n \"alolan-raichu\": \"Raichu de Alola\",\n clefable: \"Clefable\",\n \"alolan-ninetales\": \"Ninetales de Alola\",\n wigglytuff: \"Wigglytuff\",\n meowth: \"Meowth\",\n psyduck: \"Psyduck\",\n machamp: \"Machamp\",\n \"galarian-rapidash\": \"Rapidash de Galar\",\n slowbro: \"Slowbro\",\n dodrio: \"Dodrio\",\n gengar: \"Gengar\",\n blissey: \"Blissey\",\n \"mr-mime\": \"Mr. Mime\",\n scizor: \"Scizor\",\n gyarados: \"Gyarados\",\n \"mega-gyarados\": \"Mega-Gyarados\",\n lapras: \"Lapras\",\n vaporeon: \"Vaporeon\",\n snorlax: \"Snorlax\",\n zapdos: \"Zapdos\",\n dragonite: \"Dragonite\",\n mewtwox: \"Mega-Mewtwo X\",\n mewtwoy: \"Mega-Mewtwo Y\",\n mew: \"Mew\",\n azumarill: \"Azumarill\",\n espeon: \"Espeon\",\n umbreon: \"Umbreon\",\n mamoswine: \"Mamoswine\",\n suicune: \"Suicune\",\n tyranitar: \"Tyranitar\",\n \"ho-oh\": \"Ho-Oh\",\n blaziken: \"Blaziken\",\n gardevoir: \"Gardevoir\",\n sableye: \"Sableye\",\n absol: \"Absol\",\n metagross: \"Metagross\",\n latias: \"Latias\",\n latios: \"Latios\",\n empoleon: \"Empoleon\",\n garchomp: \"Garchomp\",\n lucario: \"Lucario\",\n \"mega-lucario\": \"Mega-Lucario\",\n leafeon: \"Leafeon\",\n glaceon: \"Glaceon\",\n darkrai: \"Darkrai\",\n crustle: \"Crustle\",\n zoroark: \"Zoroark\",\n chandelure: \"Chandelure\",\n delphox: \"Delphox\",\n greninja: \"Greninja\",\n talonflame: \"Talonflame\",\n aegislash: \"Aegislash\",\n sylveon: \"Sylveon\",\n goodra: \"Goodra\",\n trevenant: \"Trevenant\",\n hoopa: \"Hoopa\",\n decidueye: \"Decidueye\",\n tsareena: \"Tsareena\",\n comfey: \"Comfey\",\n mimikyu: \"Mimikyu\",\n dhelmise: \"Dhelmise\",\n buzzwole: \"Buzzwole\",\n zeraora: \"Zeraora\",\n cinderace: \"Cinderace\",\n inteleon: \"Inteleon\",\n greedent: \"Greedent\",\n eldegoss: \"Eldegoss\",\n cramorant: \"Cramorant\",\n sirfetchd: \"Sirfetch'd\",\n alcremie: \"Alcremie\",\n falinks: \"Falinks\",\n duraludon: \"Duraludon\",\n dragapult: \"Dragapult\",\n zacian: \"Zacian\",\n urshifu: \"Urshifu\",\n meowscarada: \"Meowscarada\",\n pawmot: \"Pawmot\",\n armarouge: \"Armarouge\",\n ceruledge: \"Ceruledge\",\n tinkaton: \"Tinkaton\",\n miraidon: \"Miraidon\",\n // Maps — names and descriptions\n \"map-groudon\": \"Ruinas Celestiales de Theia\",\n \"map-groudon.description\": \"Mapa 5v5 con Groudon.\",\n \"map-kyogre\": \"Ruinas Celestiales de Theia\",\n \"map-kyogre.description\": \"Mapa 5v5 con Kyogre.\",\n \"map-rayquaza\": \"Ruinas Celestiales de Theia\",\n \"map-rayquaza.description\": \"Mapa 5v5 con Rayquaza.\",\n};\n\nexport default es;\n","import en from \"./en\";\nimport ptBR from \"./pt-BR\";\nimport jaJP from \"./ja-JP\";\nimport fr from \"./fr\";\nimport es from \"./es\";\n\nexport type Locale = \"en\" | \"pt-BR\" | \"ja-JP\" | \"fr\" | \"es\";\n\nconst locales: Record<Locale, Record<string, string>> = {\n en,\n \"pt-BR\": ptBR,\n \"ja-JP\": jaJP,\n fr,\n es,\n};\n\n/**\n * Returns the display name for a Pokémon by slug/id and locale.\n * Falls back to English if the locale is missing the key, then to the id.\n */\nexport function getPokemonName(id: string, locale: Locale = \"en\"): string {\n const map = locales[locale] ?? en;\n return map[id] ?? en[id] ?? id;\n}\n\n/**\n * Returns the localized name for a map by id and locale.\n * Falls back to English, then to the id.\n */\nexport function getMapName(mapId: string, locale: Locale = \"en\"): string {\n const map = locales[locale] ?? en;\n return map[mapId] ?? en[mapId] ?? mapId;\n}\n\n/**\n * Returns the localized description for a map by id and locale.\n * Falls back to English, then to empty string.\n */\nexport function getMapDescription(\n mapId: string,\n locale: Locale = \"en\"\n): string {\n const key = `${mapId}.description`;\n const map = locales[locale] ?? en;\n return map[key] ?? en[key] ?? \"\";\n}\n\nexport { en, ptBR, jaJP, fr, es };\n"],"mappings":"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","names":[]}
|