mirror of
https://gitlab.com/cable-mc/cobblemon.git
synced 2026-10-20 14:16:26 -04:00
Added data for pokedex and classes that process that data. Utility Scripts also contains two scripts used for generating data. Data not final.
This commit is contained in:
+8
@@ -1,3 +1,11 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.mixin.accessor;
|
||||
|
||||
import net.minecraft.client.gui.widget.EntryListWidget;
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
|
||||
package com.cobblemon.mod.common.api.pokedex
|
||||
|
||||
import com.cobblemon.mod.common.Cobblemon
|
||||
import com.cobblemon.mod.common.api.pokedex.trackeddata.GlobalTrackedData
|
||||
import com.cobblemon.mod.common.api.storage.player.PlayerInstancedDataStoreType
|
||||
import com.cobblemon.mod.common.api.storage.player.client.ClientInstancedPlayerData
|
||||
@@ -42,7 +41,7 @@ class ClientPokedex(
|
||||
}
|
||||
|
||||
fun getKnowledgeCount(pokedexEntryProgress: PokedexEntryProgress, dexData: Collection<DexPokemonData>): Int {
|
||||
return dexData.count{ discoveryLevel(it.name) == pokedexEntryProgress }
|
||||
return dexData.count{ discoveryLevel(it.identifier) == pokedexEntryProgress }
|
||||
}
|
||||
|
||||
fun discoveryLevel(species: Identifier): PokedexEntryProgress {
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.api.pokedex
|
||||
|
||||
import com.cobblemon.mod.common.pokedex.DexPokemonData
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.api.pokedex
|
||||
|
||||
enum class PokedexEntryCategory(name: String) {
|
||||
|
||||
+82
-33
@@ -44,6 +44,68 @@ object PokedexJSONRegistry : JsonDataRegistry<DexData> {
|
||||
val dexes: MutableCollection<DexData>
|
||||
get() = this.dexByIdentifier.values.toMutableList()
|
||||
|
||||
private var _entries: MutableSet<DexPokemonData>? = null
|
||||
val entries: Set<DexPokemonData>
|
||||
get() {
|
||||
if(_entries != null) return _entries as Set<DexPokemonData>
|
||||
|
||||
_entries = mutableSetOf()
|
||||
|
||||
val categoryEntries: MutableMap<PokedexEntryCategory, MutableSet<DexPokemonData>> = mutableMapOf()
|
||||
for (category in PokedexEntryCategory.values()) {
|
||||
categoryEntries[category] = mutableSetOf()
|
||||
}
|
||||
|
||||
//Step 1: Get all dexes without a parent, so we can iterate over them
|
||||
val dexesWithoutParents : MutableList<Identifier> = mutableListOf()
|
||||
dexesWithoutParents.addAll(dexByIdentifier.keys)
|
||||
|
||||
for(identifier in dexByIdentifier.keys) {
|
||||
if(dexByIdentifier[identifier] == null) continue
|
||||
for (childDex in dexByIdentifier[identifier]!!.containedDexes) {
|
||||
dexesWithoutParents.remove(childDex)
|
||||
}
|
||||
}
|
||||
|
||||
//Step 2: Each parent dex adds all of their pokemon and recursively adds the child dexes as well
|
||||
for(dexIdentifier in dexesWithoutParents) {
|
||||
dexByIdentifier[dexIdentifier]?.parseEntries(_entries as MutableSet<DexPokemonData>, categoryEntries)
|
||||
}
|
||||
|
||||
//Step 3: Add all pokemon in the order of their categories
|
||||
for(categories in categoryEntries.values){
|
||||
for(entry in categories) {
|
||||
if (_entries!!.contains(entry)){
|
||||
_entries!!.add(_entries!!.find { it == entry }!!.combine(entry))
|
||||
} else {
|
||||
_entries!!.add(entry)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return _entries as Set<DexPokemonData>
|
||||
}
|
||||
|
||||
private var _skipAutoNumberingIndexes : MutableSet<Int>? = null
|
||||
private val skipAutoNumberingIndexes : Set<Int>
|
||||
get() {
|
||||
if(_skipAutoNumberingIndexes != null) return _skipAutoNumberingIndexes as MutableSet<Int>
|
||||
|
||||
_skipAutoNumberingIndexes = mutableSetOf()
|
||||
|
||||
var index = 0
|
||||
for(entry in entries){
|
||||
if(entry.skipAutoNumbering){
|
||||
_skipAutoNumberingIndexes!!.add(index)
|
||||
}
|
||||
index++
|
||||
}
|
||||
|
||||
return _skipAutoNumberingIndexes!!
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Finds a dex by the pathname of their [Identifier].
|
||||
* This method exists for the convenience of finding Cobble default dexes.
|
||||
@@ -57,7 +119,7 @@ object PokedexJSONRegistry : JsonDataRegistry<DexData> {
|
||||
/**
|
||||
* Finds a [DexData] by its unique [Identifier].
|
||||
*
|
||||
* @param identifier The unique [DexData.resourceIdentifier] of the [DexData].
|
||||
* @param identifier The unique [DexData.identifier] of the [DexData].
|
||||
* @return The [DexData] if existing.
|
||||
*/
|
||||
fun getByIdentifier(identifier: Identifier) = this.dexByIdentifier[identifier]
|
||||
@@ -87,8 +149,8 @@ object PokedexJSONRegistry : JsonDataRegistry<DexData> {
|
||||
val dex = getDexesInNamespace(namespace)
|
||||
val speciesList: MutableList<DexPokemonData> = mutableListOf()
|
||||
dex.forEach {
|
||||
if(it.pokemon_list != null) {
|
||||
it.pokemon_list.forEach { dexPokemonData ->
|
||||
if(it.pokemonList != null) {
|
||||
it.pokemonList.forEach { dexPokemonData ->
|
||||
speciesList.add(dexPokemonData)
|
||||
}
|
||||
}
|
||||
@@ -98,45 +160,32 @@ object PokedexJSONRegistry : JsonDataRegistry<DexData> {
|
||||
}
|
||||
|
||||
fun getSortedDexData(filters: Collection<EntryFilter>): Collection<DexPokemonData> {
|
||||
var entries : MutableSet<DexPokemonData> = mutableSetOf()
|
||||
|
||||
val categoryEntries: MutableMap<PokedexEntryCategory, MutableSet<DexPokemonData>> = mutableMapOf()
|
||||
for (category in PokedexEntryCategory.values()) {
|
||||
categoryEntries[category] = mutableSetOf()
|
||||
}
|
||||
|
||||
//Step 1: Get all dexes without a parent, so we can iterate over them
|
||||
val dexesWithoutParents : MutableList<Identifier> = mutableListOf()
|
||||
dexesWithoutParents.addAll(dexByIdentifier.keys)
|
||||
|
||||
for(identifier in dexByIdentifier.keys) {
|
||||
if(dexByIdentifier[identifier] == null) continue
|
||||
for (childDex in dexByIdentifier[identifier]!!.contained_dexes) {
|
||||
dexesWithoutParents.remove(childDex)
|
||||
}
|
||||
}
|
||||
|
||||
//Step 2: Each parent dex adds all of their pokemon and recursively adds the child dexes as well
|
||||
for(dexIdentifier in dexesWithoutParents) {
|
||||
dexByIdentifier[dexIdentifier]?.parseEntries(entries, categoryEntries)
|
||||
}
|
||||
|
||||
for(categoryEntry in categoryEntries.values){
|
||||
entries.addAll(categoryEntry)
|
||||
}
|
||||
|
||||
entries = entries.filter { pokemon ->
|
||||
return entries.filter { pokemon ->
|
||||
filters.forEach {filter ->
|
||||
if(!filter.filter(pokemon)) return@filter false
|
||||
}
|
||||
return@filter true
|
||||
}.toMutableSet()
|
||||
}.toSet()
|
||||
}
|
||||
|
||||
return entries
|
||||
fun getPokemonVisualDexNumber(dexPokemonData: DexPokemonData): String {
|
||||
if(dexPokemonData.visualNumber != null) return dexPokemonData.visualNumber!!
|
||||
|
||||
val originalIndex = entries.indexOf(dexPokemonData)
|
||||
var dexNumber = originalIndex + 1
|
||||
for(index in skipAutoNumberingIndexes) {
|
||||
if(index < originalIndex){
|
||||
dexNumber--
|
||||
}
|
||||
}
|
||||
|
||||
return dexNumber.toString()
|
||||
}
|
||||
|
||||
override fun reload(data: Map<Identifier, DexData>) {
|
||||
this.dexes.clear()
|
||||
_entries = null
|
||||
_skipAutoNumberingIndexes = null
|
||||
data.forEach { (identifier, dexData) ->
|
||||
if(dexData.enabled){
|
||||
try {
|
||||
|
||||
+13
-9
@@ -1,3 +1,11 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.api.pokedex.adapter
|
||||
|
||||
import com.cobblemon.mod.common.Cobblemon
|
||||
@@ -7,7 +15,7 @@ import com.google.gson.*
|
||||
import net.minecraft.util.Identifier
|
||||
import java.lang.reflect.Type
|
||||
|
||||
object DexDataAdapter: JsonDeserializer<DexData>, JsonSerializer<DexData> {
|
||||
object DexDataAdapter: JsonDeserializer<DexData> {
|
||||
override fun deserialize(jElement: JsonElement, type: Type, context: JsonDeserializationContext): DexData {
|
||||
val json = jElement.asJsonObject
|
||||
val pokemonList: MutableList<DexPokemonData> = mutableListOf()
|
||||
@@ -18,7 +26,7 @@ object DexDataAdapter: JsonDeserializer<DexData>, JsonSerializer<DexData> {
|
||||
if(dexPokemonData.species != null) {
|
||||
pokemonList.add(dexPokemonData)
|
||||
} else {
|
||||
Cobblemon.LOGGER.error("Failed to load Pokedex Entry for {}.", dexPokemonData.name)
|
||||
Cobblemon.LOGGER.error("Failed to load Pokedex Entry for {}.", dexPokemonData.identifier)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -32,13 +40,9 @@ object DexDataAdapter: JsonDeserializer<DexData>, JsonSerializer<DexData> {
|
||||
return DexData(
|
||||
identifier = Identifier(json.get("identifier").asString),
|
||||
enabled = json.getAsJsonPrimitive("enabled")?.asBoolean ?: true,
|
||||
contained_dexes = containedDexes,
|
||||
pokemon_list = pokemonList,
|
||||
override_categories = json.getAsJsonPrimitive("override_categories")?.asBoolean ?: false
|
||||
containedDexes = containedDexes,
|
||||
pokemonList = pokemonList,
|
||||
overrideCategories = json.getAsJsonPrimitive("override_categories")?.asBoolean ?: false
|
||||
)
|
||||
}
|
||||
|
||||
override fun serialize(data: DexData, type: Type, context: JsonSerializationContext): JsonElement {
|
||||
return context.serialize(data).asJsonObject
|
||||
}
|
||||
}
|
||||
+5
-9
@@ -8,15 +8,13 @@
|
||||
|
||||
package com.cobblemon.mod.common.api.pokedex.adapter
|
||||
|
||||
import com.cobblemon.mod.common.Cobblemon
|
||||
import com.cobblemon.mod.common.api.berry.GrowthFactor
|
||||
import com.cobblemon.mod.common.api.pokedex.PokedexEntryCategory
|
||||
import com.cobblemon.mod.common.pokedex.DexPokemonData
|
||||
import com.google.gson.*
|
||||
import net.minecraft.util.Identifier
|
||||
import java.lang.reflect.Type
|
||||
|
||||
object DexPokemonDataAdapter: JsonDeserializer<DexPokemonData>, JsonSerializer<DexPokemonData> {
|
||||
object DexPokemonDataAdapter: JsonDeserializer<DexPokemonData> {
|
||||
override fun deserialize(jElement: JsonElement, type: Type, context: JsonDeserializationContext): DexPokemonData {
|
||||
val json = jElement.asJsonObject
|
||||
val categoryJson = json.get("category")
|
||||
@@ -26,16 +24,14 @@ object DexPokemonDataAdapter: JsonDeserializer<DexPokemonData>, JsonSerializer<D
|
||||
}
|
||||
|
||||
return DexPokemonData(
|
||||
name = Identifier(json.get("name").asString),
|
||||
identifier = Identifier(json.get("identifier").asString),
|
||||
forms = json.getAsJsonArray("forms")?.map { it.asString }?.toMutableList() ?: mutableListOf(),
|
||||
category = category,
|
||||
tags = json.getAsJsonArray("tags")?.map { it.asString }?.toMutableList() ?: mutableListOf(),
|
||||
invisibleUntilFound = json.getAsJsonPrimitive("invisible")?.asBoolean == true
|
||||
invisibleUntilFound = json.getAsJsonPrimitive("invisible")?.asBoolean == true,
|
||||
visualNumber = json.getAsJsonPrimitive("visual_number")?.asString,
|
||||
skipAutoNumbering = json.getAsJsonPrimitive("skip_auto_numbering")?.asBoolean == true
|
||||
)
|
||||
}
|
||||
|
||||
override fun serialize(data: DexPokemonData, type: Type, context: JsonSerializationContext): JsonElement {
|
||||
return context.serialize(data).asJsonObject
|
||||
}
|
||||
|
||||
}
|
||||
+9
-1
@@ -1,3 +1,11 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.api.pokedex.filters
|
||||
|
||||
import com.cobblemon.mod.common.api.pokedex.ClientPokedex
|
||||
@@ -7,6 +15,6 @@ import com.cobblemon.mod.common.pokedex.DexPokemonData
|
||||
|
||||
class InvisibleFilter(val clientPokedex: ClientPokedex) : EntryFilter(clientPokedex) {
|
||||
override fun filter(dexPokemonData: DexPokemonData): Boolean {
|
||||
return clientPokedex.discoveryLevel(dexPokemonData.name) >= PokedexEntryProgress.CAUGHT || !dexPokemonData.invisibleUntilFound
|
||||
return clientPokedex.discoveryLevel(dexPokemonData.identifier) >= PokedexEntryProgress.CAUGHT || !dexPokemonData.invisibleUntilFound
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,20 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.api.pokedex.filters
|
||||
|
||||
import com.cobblemon.mod.common.api.pokedex.ClientPokedex
|
||||
import com.cobblemon.mod.common.api.pokedex.EntryFilter
|
||||
import com.cobblemon.mod.common.api.pokedex.PokedexEntryProgress
|
||||
import com.cobblemon.mod.common.api.text.text
|
||||
import com.cobblemon.mod.common.pokedex.DexPokemonData
|
||||
import net.minecraft.text.Text
|
||||
|
||||
class SearchFilter(val clientPokedex: ClientPokedex, val searchString: String) : EntryFilter(clientPokedex) {
|
||||
override fun filter(dexPokemonData: DexPokemonData): Boolean {
|
||||
return searchString == "" || (clientPokedex.discoveryLevel(dexPokemonData.name) >= PokedexEntryProgress.ENCOUNTERED && dexPokemonData.species?.name?.contains(searchString.trim(), true) == true)
|
||||
return searchString == "" || (clientPokedex.discoveryLevel(dexPokemonData.identifier) >= PokedexEntryProgress.ENCOUNTERED && dexPokemonData.species?.name?.contains(searchString.trim(), true) == true)
|
||||
}
|
||||
}
|
||||
@@ -7,12 +7,10 @@
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.client.gui.pokedex
|
||||
import com.cobblemon.mod.common.Cobblemon.LOGGER
|
||||
import com.cobblemon.mod.common.api.gui.blitk
|
||||
import com.cobblemon.mod.common.api.pokedex.*
|
||||
import com.cobblemon.mod.common.api.pokedex.filters.InvisibleFilter
|
||||
import com.cobblemon.mod.common.api.pokedex.filters.SearchFilter
|
||||
import com.cobblemon.mod.common.api.text.text
|
||||
import com.cobblemon.mod.common.client.gui.pokedex.PokedexGUIConstants.BASE_HEIGHT
|
||||
import com.cobblemon.mod.common.client.gui.pokedex.PokedexGUIConstants.BASE_WIDTH
|
||||
import com.cobblemon.mod.common.client.gui.pokedex.PokedexGUIConstants.HEADER_HEIGHT
|
||||
@@ -30,14 +28,11 @@ import com.cobblemon.mod.common.client.gui.pokedex.PokedexGUIConstants.SPACER
|
||||
import com.cobblemon.mod.common.client.gui.pokedex.widgets.*
|
||||
import com.cobblemon.mod.common.client.render.drawScaledTextJustifiedRight
|
||||
import com.cobblemon.mod.common.pokedex.DexPokemonData
|
||||
import com.cobblemon.mod.common.pokemon.FormData
|
||||
import com.cobblemon.mod.common.pokemon.Species
|
||||
import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import net.minecraft.client.MinecraftClient
|
||||
import net.minecraft.client.gui.DrawContext
|
||||
import net.minecraft.client.gui.screen.Screen
|
||||
import net.minecraft.text.Text
|
||||
import org.spongepowered.asm.mixin.injection.Desc
|
||||
|
||||
/**
|
||||
* Pokedex GUI
|
||||
@@ -200,7 +195,7 @@ class PokedexGUI private constructor(val pokedex: ClientPokedex) : Screen(Text.t
|
||||
|
||||
fun setSelectedPokemon(dexPokemonData : DexPokemonData){
|
||||
selectedPokemon = dexPokemonData
|
||||
val speciesEntry = pokedex.speciesEntries[selectedPokemon!!.name]
|
||||
val speciesEntry = pokedex.speciesEntries[selectedPokemon!!.identifier]
|
||||
pokemonInfoWidget.setPokemon(selectedPokemon!!, speciesEntry)
|
||||
|
||||
val textToShowInDescription = mutableListOf<String>()
|
||||
|
||||
+4
-7
@@ -8,13 +8,11 @@
|
||||
|
||||
package com.cobblemon.mod.common.client.gui.pokedex.widgets
|
||||
|
||||
import com.cobblemon.mod.common.Cobblemon
|
||||
import com.cobblemon.mod.common.api.gui.blitk
|
||||
import com.cobblemon.mod.common.api.gui.drawPortraitPokemon
|
||||
import com.cobblemon.mod.common.api.gui.drawText
|
||||
import com.cobblemon.mod.common.api.pokedex.ClientPokedex
|
||||
import com.cobblemon.mod.common.api.pokedex.PokedexJSONRegistry
|
||||
import com.cobblemon.mod.common.api.pokedex.SpeciesPokedexEntry
|
||||
import com.cobblemon.mod.common.api.pokedex.trackeddata.SpeciesTrackedData
|
||||
import com.cobblemon.mod.common.api.pokemon.PokemonSpecies
|
||||
import com.cobblemon.mod.common.api.text.text
|
||||
import com.cobblemon.mod.common.client.gui.ScrollingWidget
|
||||
@@ -29,7 +27,6 @@ import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import com.cobblemon.mod.common.util.lang
|
||||
import net.minecraft.client.gui.DrawContext
|
||||
import net.minecraft.text.MutableText
|
||||
import net.minecraft.text.Text
|
||||
|
||||
class EntriesScrollingWidget<PokemonScrollSlot : ScrollingWidget.Slot<EntriesScrollingWidget.PokemonScrollSlot>>(val pX: Int, val pY: Int, val setPokedexEntry: (DexPokemonData) -> (Unit)
|
||||
): ScrollingWidget<EntriesScrollingWidget.PokemonScrollSlot>(
|
||||
@@ -41,7 +38,7 @@ class EntriesScrollingWidget<PokemonScrollSlot : ScrollingWidget.Slot<EntriesScr
|
||||
){
|
||||
fun createEntries(filteredPokedex: Collection<DexPokemonData>, clientPokedex: ClientPokedex){
|
||||
filteredPokedex.forEach {
|
||||
val data = clientPokedex.speciesEntries[it.name]
|
||||
val data = clientPokedex.speciesEntries[it.identifier]
|
||||
val newEntry = PokemonScrollSlot (it, data){ selectPokemon(it) }
|
||||
addEntry( newEntry )
|
||||
}
|
||||
@@ -67,7 +64,7 @@ class EntriesScrollingWidget<PokemonScrollSlot : ScrollingWidget.Slot<EntriesScr
|
||||
}
|
||||
|
||||
init {
|
||||
pokemonSpecies = PokemonSpecies.getByIdentifier(dexPokemonData.name)
|
||||
pokemonSpecies = PokemonSpecies.getByIdentifier(dexPokemonData.identifier)
|
||||
//Shouldn't be null due to above line
|
||||
pokemonName = if(speciesPokedexEntry != null){
|
||||
pokemonSpecies!!.translatedName
|
||||
@@ -75,7 +72,7 @@ class EntriesScrollingWidget<PokemonScrollSlot : ScrollingWidget.Slot<EntriesScr
|
||||
lang("ui.pokedex.unknown")
|
||||
}
|
||||
|
||||
pokemonNumber = "${pokemonSpecies!!.nationalPokedexNumber}".text()
|
||||
pokemonNumber = PokedexJSONRegistry.getPokemonVisualDexNumber(dexPokemonData).text()
|
||||
}
|
||||
|
||||
override fun render(
|
||||
|
||||
+8
-1
@@ -1,6 +1,13 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.client.gui.pokedex.widgets
|
||||
|
||||
import com.cobblemon.mod.common.Cobblemon
|
||||
import com.cobblemon.mod.common.api.text.bold
|
||||
import com.cobblemon.mod.common.api.text.text
|
||||
import com.cobblemon.mod.common.client.CobblemonResources
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
|
||||
@@ -17,58 +17,58 @@ import net.minecraft.util.Identifier
|
||||
class DexData (
|
||||
var identifier : Identifier,
|
||||
var enabled : Boolean = true,
|
||||
var contained_dexes : MutableList<Identifier> = mutableListOf(),
|
||||
var pokemon_list : MutableList<DexPokemonData> = mutableListOf(),
|
||||
var override_categories : Boolean = false
|
||||
var containedDexes : MutableList<Identifier> = mutableListOf(),
|
||||
var pokemonList : MutableList<DexPokemonData> = mutableListOf(),
|
||||
var overrideCategories : Boolean = false
|
||||
): ClientDataSynchronizer<DexData> {
|
||||
override fun shouldSynchronize(other: DexData): Boolean {
|
||||
return other.identifier != identifier || other.contained_dexes != contained_dexes || other.pokemon_list != pokemon_list
|
||||
return other.identifier != identifier || other.containedDexes != containedDexes || other.pokemonList != pokemonList
|
||||
}
|
||||
|
||||
fun parseEntries(entries: MutableSet<DexPokemonData>, categoryEntries : MutableMap<PokedexEntryCategory, MutableSet<DexPokemonData>>){
|
||||
if (!enabled) return
|
||||
|
||||
for(pokemon in pokemon_list){
|
||||
if(override_categories){
|
||||
for(pokemon in pokemonList){
|
||||
if(overrideCategories){
|
||||
entries.add(pokemon)
|
||||
} else {
|
||||
categoryEntries[pokemon.category]!!.add(pokemon)
|
||||
}
|
||||
}
|
||||
|
||||
for(childDexIdentifier in contained_dexes){
|
||||
for(childDexIdentifier in containedDexes){
|
||||
PokedexJSONRegistry.dexByIdentifier
|
||||
PokedexJSONRegistry.getByIdentifier(childDexIdentifier)!!.parseEntries(entries, categoryEntries)
|
||||
PokedexJSONRegistry.getByIdentifier(childDexIdentifier)?.parseEntries(entries, categoryEntries)
|
||||
}
|
||||
}
|
||||
|
||||
override fun encode(buffer: PacketByteBuf) {
|
||||
buffer.writeIdentifier(identifier)
|
||||
buffer.writeBoolean(override_categories)
|
||||
buffer.writeBoolean(overrideCategories)
|
||||
buffer.writeBoolean(enabled)
|
||||
buffer.writeInt(contained_dexes.size)
|
||||
contained_dexes.forEach {
|
||||
buffer.writeInt(containedDexes.size)
|
||||
containedDexes.forEach {
|
||||
buffer.writeIdentifier(it)
|
||||
}
|
||||
buffer.writeInt(pokemon_list.size)
|
||||
pokemon_list.forEach {
|
||||
buffer.writeInt(pokemonList.size)
|
||||
pokemonList.forEach {
|
||||
it.encode(buffer)
|
||||
}
|
||||
}
|
||||
|
||||
override fun decode(buffer: PacketByteBuf) {
|
||||
identifier = buffer.readIdentifier()
|
||||
override_categories = buffer.readBoolean()
|
||||
overrideCategories = buffer.readBoolean()
|
||||
enabled = buffer.readBoolean()
|
||||
val subdexesSize = buffer.readInt()
|
||||
for (i in 0 until subdexesSize){
|
||||
contained_dexes.add(buffer.readIdentifier())
|
||||
containedDexes.add(buffer.readIdentifier())
|
||||
}
|
||||
val pokemonSize = buffer.readInt()
|
||||
for (i in 0 until pokemonSize){
|
||||
val decodedPokemon = DexPokemonData()
|
||||
decodedPokemon.decode(buffer)
|
||||
pokemon_list.add(decodedPokemon)
|
||||
pokemonList.add(decodedPokemon)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,40 +18,77 @@ import net.minecraft.network.PacketByteBuf
|
||||
import net.minecraft.util.Identifier
|
||||
|
||||
class DexPokemonData(
|
||||
var name : Identifier = cobblemonResource("dex.pokemon"),
|
||||
var identifier : Identifier = cobblemonResource("dex.pokemon"),
|
||||
var forms : MutableList<String> = mutableListOf(),
|
||||
var category: PokedexEntryCategory = PokedexEntryCategory.STANDARD,
|
||||
var tags: MutableList<String> = mutableListOf(),
|
||||
var invisibleUntilFound : Boolean = false
|
||||
): Decodable, Encodable {
|
||||
var invisibleUntilFound : Boolean = false,
|
||||
var visualNumber : String? = null,
|
||||
var skipAutoNumbering: Boolean = false
|
||||
): Decodable, Encodable, Comparable<DexPokemonData> {
|
||||
|
||||
val species : Species?
|
||||
get() = PokemonSpecies.getByIdentifier(name)
|
||||
get() = PokemonSpecies.getByIdentifier(identifier)
|
||||
|
||||
fun combine(diffDexPokemonData: DexPokemonData): DexPokemonData {
|
||||
fun combine(diff: DexPokemonData): DexPokemonData {
|
||||
val newForms: MutableList<String> = mutableListOf()
|
||||
newForms.addAll(forms)
|
||||
newForms.addAll(diffDexPokemonData.forms)
|
||||
newForms.addAll(diff.forms)
|
||||
|
||||
return DexPokemonData(name, newForms, this.category)
|
||||
val newTags: MutableList<String> = mutableListOf()
|
||||
newTags.addAll(tags)
|
||||
newTags.addAll(diff.tags)
|
||||
|
||||
val newInvisibleUntilFound = invisibleUntilFound || diff.invisibleUntilFound
|
||||
val newSkipAutoNumbering = skipAutoNumbering || diff.invisibleUntilFound
|
||||
|
||||
val newVisualNumber = if (visualNumber != null) visualNumber else if (diff.visualNumber != null) diff.visualNumber else null
|
||||
|
||||
return DexPokemonData(
|
||||
identifier = identifier,
|
||||
forms = newForms,
|
||||
category = category,
|
||||
tags = newTags,
|
||||
invisibleUntilFound = newInvisibleUntilFound,
|
||||
visualNumber = newVisualNumber,
|
||||
skipAutoNumbering = newSkipAutoNumbering
|
||||
)
|
||||
}
|
||||
|
||||
override fun encode(buffer: PacketByteBuf) {
|
||||
buffer.writeIdentifier(name)
|
||||
buffer.writeIdentifier(identifier)
|
||||
buffer.writeInt(forms.size)
|
||||
forms.forEach {
|
||||
buffer.writeString(it)
|
||||
}
|
||||
buffer.writeString(category.name)
|
||||
buffer.writeEnumConstant(category)
|
||||
buffer.writeInt(tags.size)
|
||||
tags.forEach {
|
||||
buffer.writeString(it)
|
||||
}
|
||||
buffer.writeBoolean(invisibleUntilFound)
|
||||
buffer.writeNullable(visualNumber) { _, v -> buffer.writeString(v)}
|
||||
buffer.writeBoolean(skipAutoNumbering)
|
||||
}
|
||||
|
||||
override fun decode(buffer: PacketByteBuf) {
|
||||
name = buffer.readIdentifier()
|
||||
identifier = buffer.readIdentifier()
|
||||
val formsOrderListSize = buffer.readInt()
|
||||
for(i in 0 until formsOrderListSize){
|
||||
forms.add(buffer.readString())
|
||||
}
|
||||
val categoryOrNull = PokedexEntryCategory.from(buffer.readString())
|
||||
category = categoryOrNull ?: PokedexEntryCategory.STANDARD
|
||||
category = buffer.readEnumConstant(PokedexEntryCategory::class.java)
|
||||
val tagListSize = buffer.readInt()
|
||||
for(i in 0 until tagListSize){
|
||||
tags.add(buffer.readString())
|
||||
}
|
||||
invisibleUntilFound = buffer.readBoolean()
|
||||
visualNumber = buffer.readNullable { buffer.readString() }
|
||||
skipAutoNumbering = buffer.readBoolean()
|
||||
}
|
||||
|
||||
//Compares using identifiers.
|
||||
override fun compareTo(other: DexPokemonData): Int {
|
||||
return identifier.compareTo(other.identifier)
|
||||
}
|
||||
}
|
||||
@@ -1,515 +1,152 @@
|
||||
{
|
||||
"identifier": "cobblemon:national_alola",
|
||||
"pokemon_list": [
|
||||
{
|
||||
"name": "cobblemon:rowlet",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dartrix",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:decidueye",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:litten",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:torracat",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:incineroar",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:popplio",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:brionne",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:primarina",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:pikipek",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:trumbeak",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:toucannon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:yungoos",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:gumshoos",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:grubbin",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:charjabug",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:vikavolt",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:crabrawler",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:crabominable",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:oricorio",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:cutiefly",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ribombee",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:rockruff",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:lycanroc",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:wishiwashi",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:mareanie",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:toxapex",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:mudbray",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:mudsdale",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dewpider",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:araquanid",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:fomantis",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:lurantis",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:morelull",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:shiinotic",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:salandit",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:salazzle",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:stufful",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:bewear",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:bounsweet",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:steenee",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tsareena",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:comfey",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:oranguru",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:passimian",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:wimpod",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:golisopod",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:sandygast",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:palossand",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:pyukumuku",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:silvally",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:minior",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:komala",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:turtonator",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:togedemaru",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:mimikyu",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:bruxish",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:drampa",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dhelmise",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:jangmoo",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:hakamoo",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:kommoo",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tapukoko",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tapulele",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tapubulu",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tapufini",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:cosmog",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:cosmoem",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:solgaleo",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:lunala",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:nihilego",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:buzzwole",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:pheromosa",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:xurkitree",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:celesteela",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:kartana",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:guzzlord",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:necrozma",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:magearna",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:marshadow",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:poipole",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:naganadel",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:stakataka",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:blacephalon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:zeraora",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
}
|
||||
]
|
||||
{
|
||||
"identifier": "cobblemon:national_alola",
|
||||
"pokemon_list": [
|
||||
{
|
||||
"identifier": "cobblemon:rowlet",
|
||||
"forms": [
|
||||
"normal",
|
||||
"region-bias-hisui"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:dartrix",
|
||||
"forms": [
|
||||
"normal",
|
||||
"region-bias-hisui"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:decidueye",
|
||||
"forms": [
|
||||
"normal",
|
||||
"hisuian"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:litten"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:torracat"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:incineroar"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:popplio"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:brionne"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:primarina"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:crabrawler"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:crabominable"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:cutiefly"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:ribombee"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:wishiwashi",
|
||||
"forms": [
|
||||
"normal",
|
||||
"schooling"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:mudbray"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:mudsdale"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:fomantis"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:lurantis"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:morelull"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:shiinotic"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:salandit"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:salazzle"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:stufful"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:bewear"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:bounsweet"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:steenee"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:tsareena"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:comfey"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:wimpod"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:golisopod"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:pyukumuku"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:komala",
|
||||
"forms": [
|
||||
"normal",
|
||||
"tree-oak",
|
||||
"tree-spruce",
|
||||
"tree-acacia",
|
||||
"tree-birch",
|
||||
"tree-darkoak",
|
||||
"tree-jungle",
|
||||
"tree-mangrove",
|
||||
"tree-cherry"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:turtonator"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:mimikyu"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:dhelmise"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:jangmoo"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:hakamoo"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:kommoo"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:poipole"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:naganadel"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,539 +1,216 @@
|
||||
{
|
||||
"identifier": "cobblemon:national_galar",
|
||||
"pokemon_list": [
|
||||
{
|
||||
"name": "cobblemon:grookey",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:thwackey",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:rillaboom",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:scorbunny",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:raboot",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:cinderace",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:sobble",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:drizzile",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:inteleon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:skwovet",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:greedent",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:rookidee",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:corvisquire",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:corviknight",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:blipbug",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dottler",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:orbeetle",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:nickit",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:thievul",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:gossifleur",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:eldegoss",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:wooloo",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dubwool",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:chewtle",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:drednaw",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:yamper",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:boltund",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:rolycoly",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:carkol",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:coalossal",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:applin",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:flapple",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:appletun",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:silicobra",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:sandaconda",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:cramorant",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:arrokuda",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:barraskewda",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:toxel",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:toxtricity",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:sizzlipede",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:centiskorch",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:clobbopus",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:grapploct",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:sinistea",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:polteageist",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:hatenna",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:hattrem",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:hatterene",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:impidimp",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:morgrem",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:grimmsnarl",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:obstagoon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:perrserker",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:cursola",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:sirfetchd",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:mr.rime",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:runerigus",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:milcery",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:alcremie",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:falinks",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:pincurchin",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:snom",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:frosmoth",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:stonjourner",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:eiscue",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:indeedee",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:morpeko",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:cufant",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:copperajah",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dracozolt",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:arctozolt",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dracovish",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:arctovish",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:duraludon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dreepy",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:drakloak",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dragapult",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:zacian",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:zamazenta",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:eternatus",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:kubfu",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:urshifu",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:zarude",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:regieleki",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:regidrago",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:glastrier",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:spectrier",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:calyrex",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
}
|
||||
]
|
||||
{
|
||||
"identifier": "cobblemon:national_galar",
|
||||
"pokemon_list": [
|
||||
{
|
||||
"identifier": "cobblemon:grookey"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:thwackey"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:rillaboom"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:scorbunny"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:raboot"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:cinderace"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:sobble"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:drizzile"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:inteleon"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:rookidee"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:corvisquire"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:corviknight"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:nickit"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:thievul"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:gossifleur"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:eldegoss"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:wooloo",
|
||||
"forms": [
|
||||
"normal",
|
||||
"color-black",
|
||||
"color-blue",
|
||||
"color-brown",
|
||||
"color-cyan",
|
||||
"color-gray",
|
||||
"color-green",
|
||||
"color-light_blue",
|
||||
"color-light_gray",
|
||||
"color-lime",
|
||||
"color-magenta",
|
||||
"color-orange",
|
||||
"color-pink",
|
||||
"color-purple",
|
||||
"color-red",
|
||||
"color-white",
|
||||
"color-yellow"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:dubwool",
|
||||
"forms": [
|
||||
"normal",
|
||||
"color-black",
|
||||
"color-blue",
|
||||
"color-brown",
|
||||
"color-cyan",
|
||||
"color-gray",
|
||||
"color-green",
|
||||
"color-light_blue",
|
||||
"color-light_gray",
|
||||
"color-lime",
|
||||
"color-magenta",
|
||||
"color-orange",
|
||||
"color-pink",
|
||||
"color-purple",
|
||||
"color-red",
|
||||
"color-white",
|
||||
"color-yellow"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:yamper"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:boltund"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:arrokuda"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:barraskewda"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:sizzlipede"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:centiskorch"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:impidimp"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:morgrem"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:grimmsnarl"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:obstagoon"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:perrserker"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:sirfetchd"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:milcery"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:alcremie",
|
||||
"forms": [
|
||||
"normal",
|
||||
"decoration-berry",
|
||||
"decoration-strawberry",
|
||||
"decoration-clover",
|
||||
"decoration-flower",
|
||||
"decoration-love",
|
||||
"decoration-ribbon",
|
||||
"decoration-star",
|
||||
"cream-vanilla",
|
||||
"cream-caramel_swirl",
|
||||
"cream-ruby",
|
||||
"cream-matcha",
|
||||
"cream-mint",
|
||||
"cream-lemon",
|
||||
"cream-salted",
|
||||
"cream-ruby_swirl",
|
||||
"cream-rainbow_swirl"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:falinks"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:stonjourner"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:eiscue",
|
||||
"forms": [
|
||||
"normal",
|
||||
"no_ice"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:cufant"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:copperajah"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:dracozolt"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:arctozolt"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:dracovish"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:arctovish"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:dreepy"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:drakloak"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:dragapult"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:wyrdeer"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:kleavor"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:ursaluna"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:basculegion"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:sneasler"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:overqwil"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,605 +1,277 @@
|
||||
{
|
||||
"identifier": "cobblemon:national_johto",
|
||||
"pokemon_list": [
|
||||
{
|
||||
"name": "cobblemon:chikorita",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:bayleef",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:meganium",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:cyndaquil",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:quilava",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:typhlosion",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:totodile",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:croconaw",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:feraligatr",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:sentret",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:furret",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:hoothoot",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:noctowl",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ledyba",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ledian",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:spinarak",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ariados",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:crobat",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:chinchou",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:lanturn",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:pichu",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:cleffa",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:igglybuff",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:togepi",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:togetic",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:natu",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:xatu",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:mareep",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:flaaffy",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ampharos",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:bellossom",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:marill",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:azumarill",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:sudowoodo",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:politoed",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:hoppip",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:skiploom",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:jumpluff",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:aipom",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:sunkern",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:sunflora",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:yanma",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:wooper",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:quagsire",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:espeon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:umbreon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:murkrow",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:slowking",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:misdreavus",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:unown",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:wobbuffet",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:girafarig",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:pineco",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:forretress",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dunsparce",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:gligar",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:steelix",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:snubbull",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:granbull",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:qwilfish",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:scizor",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:shuckle",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:heracross",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:sneasel",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:teddiursa",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ursaring",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:slugma",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:magcargo",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:swinub",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:piloswine",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:corsola",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:remoraid",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:octillery",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:delibird",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:mantine",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:skarmory",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:houndour",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:houndoom",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:kingdra",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:phanpy",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:donphan",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:porygon2",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:stantler",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:smeargle",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tyrogue",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:hitmontop",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:smoochum",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:elekid",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:magby",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:miltank",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:blissey",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:raikou",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:entei",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:suicune",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:larvitar",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:pupitar",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tyranitar",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:lugia",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:hooh",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:celebi",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
}
|
||||
]
|
||||
{
|
||||
"identifier": "cobblemon:national_johto",
|
||||
"pokemon_list": [
|
||||
{
|
||||
"identifier": "cobblemon:chikorita"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:bayleef"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:meganium"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:cyndaquil",
|
||||
"forms": [
|
||||
"normal",
|
||||
"region-bias-hisui"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:quilava",
|
||||
"forms": [
|
||||
"normal",
|
||||
"region-bias-hisui"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:typhlosion",
|
||||
"forms": [
|
||||
"normal",
|
||||
"hisuian"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:totodile"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:croconaw"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:feraligatr"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:sentret"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:furret"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:hoothoot"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:noctowl"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:spinarak"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:ariados"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:crobat"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:chinchou"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:lanturn"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:pichu"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:cleffa"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:igglybuff"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:natu"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:xatu"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:mareep"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:flaaffy"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:ampharos"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:bellossom",
|
||||
"forms": [
|
||||
"normal",
|
||||
"valencian"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:sudowoodo"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:politoed"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:aipom"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:yanma"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:wooper",
|
||||
"forms": [
|
||||
"normal",
|
||||
"paldean"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:quagsire"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:espeon"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:umbreon"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:murkrow"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:slowking"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:misdreavus"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:pineco"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:forretress",
|
||||
"forms": [
|
||||
"normal",
|
||||
"shulker"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:gligar"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:steelix"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:snubbull"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:granbull"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:qwilfish",
|
||||
"forms": [
|
||||
"normal",
|
||||
"hisuian"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:scizor"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:shuckle"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:heracross"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:sneasel",
|
||||
"forms": [
|
||||
"normal",
|
||||
"hisuian"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:teddiursa"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:ursaring"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:slugma"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:magcargo"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:swinub"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:piloswine"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:skarmory"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:kingdra"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:phanpy"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:donphan"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:porygon2"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:stantler"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:smeargle",
|
||||
"forms": [
|
||||
"normal",
|
||||
"color-black",
|
||||
"color-blue",
|
||||
"color-brown",
|
||||
"color-cyan",
|
||||
"color-gray",
|
||||
"color-green",
|
||||
"color-light_blue",
|
||||
"color-light_gray",
|
||||
"color-lime",
|
||||
"color-magenta",
|
||||
"color-orange",
|
||||
"color-pink",
|
||||
"color-purple",
|
||||
"color-red",
|
||||
"color-white",
|
||||
"color-yellow"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:tyrogue"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:hitmontop"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:smoochum"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:elekid"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:magby"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:miltank",
|
||||
"forms": [
|
||||
"normal",
|
||||
"mooshtank-red",
|
||||
"mooshtank-brown"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:blissey"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:larvitar"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:pupitar"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:tyranitar"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,437 +1,196 @@
|
||||
{
|
||||
"identifier": "cobblemon:national_kalos",
|
||||
"pokemon_list": [
|
||||
{
|
||||
"name": "cobblemon:chespin",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:quilladin",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:chesnaught",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:fennekin",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:braixen",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:delphox",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:froakie",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:frogadier",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:greninja",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:bunnelby",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:diggersby",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:fletchling",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:fletchinder",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:talonflame",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:scatterbug",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:spewpa",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:vivillon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:litleo",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:pyroar",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:flabebe",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:floette",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:florges",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:skiddo",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:gogoat",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:pancham",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:pangoro",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:furfrou",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:espurr",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:meowstic",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:honedge",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:doublade",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:aegislash",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:spritzee",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:aromatisse",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:swirlix",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:slurpuff",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:inkay",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:malamar",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:binacle",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:barbaracle",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:skrelp",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dragalge",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:clauncher",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:clawitzer",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:helioptile",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:heliolisk",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tyrunt",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tyrantrum",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:amaura",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:aurorus",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:sylveon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:hawlucha",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dedenne",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:carbink",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:goomy",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:sliggoo",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:goodra",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:klefki",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:phantump",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:trevenant",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:pumpkaboo",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:gourgeist",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:bergmite",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:avalugg",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:noibat",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:noivern",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:xerneas",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:yveltal",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:zygarde",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:diancie",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:hoopa",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:volcanion",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
}
|
||||
]
|
||||
{
|
||||
"identifier": "cobblemon:national_kalos",
|
||||
"pokemon_list": [
|
||||
{
|
||||
"identifier": "cobblemon:chespin"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:quilladin"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:chesnaught"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:fennekin"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:braixen"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:delphox"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:froakie"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:frogadier"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:greninja"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:bunnelby"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:diggersby"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:fletchling"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:fletchinder"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:talonflame"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:scatterbug"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:spewpa"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:vivillon",
|
||||
"forms": [
|
||||
"normal",
|
||||
"vivillon-wings-archipelago",
|
||||
"vivillon-wings-continental",
|
||||
"vivillon-wings-elegant",
|
||||
"vivillon-wings-fancy",
|
||||
"vivillon-wings-garden",
|
||||
"vivillon-wings-high-plains",
|
||||
"vivillon-wings-icy-snow",
|
||||
"vivillon-wings-jungle",
|
||||
"vivillon-wings-marine",
|
||||
"vivillon-wings-meadow",
|
||||
"vivillon-wings-modern",
|
||||
"vivillon-wings-monsoon",
|
||||
"vivillon-wings-ocean",
|
||||
"vivillon-wings-poke-ball",
|
||||
"vivillon-wings-polar",
|
||||
"vivillon-wings-river",
|
||||
"vivillon-wings-sandstorm",
|
||||
"vivillon-wings-savanna",
|
||||
"vivillon-wings-sun",
|
||||
"vivillon-wings-tundra",
|
||||
"vivillon-wings-inferno",
|
||||
"vivillon-wings-void",
|
||||
"vivillon-wings-forsaken"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:flabebe",
|
||||
"forms": [
|
||||
"normal",
|
||||
"flower-blue",
|
||||
"flower-orange",
|
||||
"flower-yellow",
|
||||
"flower-white",
|
||||
"flower-red",
|
||||
"flower-pink"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:floette",
|
||||
"forms": [
|
||||
"normal",
|
||||
"flower-blue",
|
||||
"flower-orange",
|
||||
"flower-yellow",
|
||||
"flower-white",
|
||||
"flower-red",
|
||||
"flower-pink"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:florges",
|
||||
"forms": [
|
||||
"normal",
|
||||
"flower-blue",
|
||||
"flower-orange",
|
||||
"flower-yellow",
|
||||
"flower-white",
|
||||
"flower-red",
|
||||
"flower-pink"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:honedge"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:doublade"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:aegislash"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:skrelp"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:dragalge"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:tyrunt"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:tyrantrum"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:amaura"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:aurorus"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:sylveon"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:carbink"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:goomy",
|
||||
"forms": [
|
||||
"normal",
|
||||
"region-bias-hisui"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:sliggoo",
|
||||
"forms": [
|
||||
"normal",
|
||||
"hisuian"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:goodra",
|
||||
"forms": [
|
||||
"normal",
|
||||
"hisuian"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:klefki"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:phantump"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:trevenant"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:pumpkaboo"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:gourgeist"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:bergmite"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:avalugg"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:xerneas"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,725 +1,174 @@
|
||||
{
|
||||
"identifier": "cobblemon:national_paldea",
|
||||
"pokemon_list": [
|
||||
{
|
||||
"name": "cobblemon:sprigatito",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:floragato",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:meowscarada",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:fuecoco",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:crocalor",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:skeledirge",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:quaxly",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:quaxwell",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:quaquaval",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:lechonk",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:oinkologne",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tarountula",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:spidops",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:nymble",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:lokix",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:pawmi",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:pawmo",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:pawmot",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tandemaus",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:maushold",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:fidough",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dachsbun",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:smoliv",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dolliv",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:arboliva",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:squawkabilly",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:nacli",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:naclstack",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:garganacl",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:charcadet",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:armarouge",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ceruledge",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tadbulb",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:bellibolt",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:wattrel",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:kilowattrel",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:maschiff",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:mabosstiff",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:shroodle",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:grafaiai",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:bramblin",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:brambleghast",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:toedscool",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:toedscruel",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:klawf",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:capsakid",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:scovillain",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:rellor",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:rabsca",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:flittle",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:espathra",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tinkatink",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tinkatuff",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tinkaton",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:wiglett",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:wugtrio",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:bombirdier",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:finizen",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:palafin",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:varoom",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:revavroom",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:cyclizar",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:orthworm",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:glimmet",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:glimmora",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:greavard",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:houndstone",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:flamigo",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:cetoddle",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:cetitan",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:veluza",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dondozo",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tatsugiri",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:annihilape",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:clodsire",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:farigiraf",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dudunsparce",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:kingambit",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:greattusk",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:screamtail",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:brutebonnet",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:fluttermane",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:slitherwing",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:sandyshocks",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:irontreads",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ironbundle",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ironhands",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ironjugulis",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ironmoth",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ironthorns",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:frigibax",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:arctibax",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:baxcalibur",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:gimmighoul",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:gholdengo",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:wochien",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:chienpao",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tinglu",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:chiyu",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:roaringmoon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ironvaliant",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:koraidon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:miraidon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:walkingwake",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ironleaves",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dipplin",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:poltchageist",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:sinistcha",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:okidogi",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:munkidori",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:fezandipiti",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ogerpon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:archaludon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:hydrapple",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:gougingfire",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ragingbolt",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ironboulder",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ironcrown",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:terapagos",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:pecharunt",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
}
|
||||
]
|
||||
{
|
||||
"identifier": "cobblemon:national_paldea",
|
||||
"pokemon_list": [
|
||||
{
|
||||
"identifier": "cobblemon:sprigatito"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:floragato"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:meowscarada"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:fuecoco"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:crocalor"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:skeledirge"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:quaxly"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:quaxwell"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:quaquaval"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:lechonk"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:oinkologne"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:tandemaus"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:maushold",
|
||||
"forms": [
|
||||
"normal",
|
||||
"maushold-family-four"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:fidough"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:dachsbun"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:squawkabilly",
|
||||
"forms": [
|
||||
"normal",
|
||||
"squawkabilly-color-blue",
|
||||
"squawkabilly-color-gray",
|
||||
"squawkabilly-color-green",
|
||||
"squawkabilly-color-yellow"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:nacli"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:naclstack"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:garganacl"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:charcadet"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:armarouge"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:ceruledge"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:maschiff"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:mabosstiff"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:shroodle"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:grafaiai"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:flittle"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:espathra"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:tinkatink"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:tinkatuff"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:tinkaton"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:varoom"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:revavroom"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:glimmet"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:glimmora"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:cetoddle"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:cetitan"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:tatsugiri",
|
||||
"forms": [
|
||||
"normal",
|
||||
"tatsugiri-texture-curly",
|
||||
"tatsugiri-texture-droopy",
|
||||
"tatsugiri-texture-stretchy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:annihilape"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:clodsire"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:gimmighoul",
|
||||
"forms": [
|
||||
"normal",
|
||||
"minecraft",
|
||||
"roaming"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:gholdengo",
|
||||
"forms": [
|
||||
"normal",
|
||||
"netherite-coating-stage1",
|
||||
"netherite-coating-stage2",
|
||||
"netherite-coating-stage3",
|
||||
"netherite-coating-stage4",
|
||||
"netherite-coating-stage5",
|
||||
"netherite-coating-stage6",
|
||||
"netherite-coating-stage7",
|
||||
"netherite-coating-full"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:walkingwake"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:ironleaves",
|
||||
"forms": [
|
||||
"normal",
|
||||
"sleep"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,647 +1,222 @@
|
||||
{
|
||||
"identifier": "cobblemon:national_sinnoh",
|
||||
"pokemon_list": [
|
||||
{
|
||||
"name": "cobblemon:turtwig",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:grotle",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:torterra",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:chimchar",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:monferno",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:infernape",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:piplup",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:prinplup",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:empoleon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:starly",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:staravia",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:staraptor",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:bidoof",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:bibarel",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:kricketot",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:kricketune",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:shinx",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:luxio",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:luxray",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:budew",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:roserade",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:cranidos",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:rampardos",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:shieldon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:bastiodon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:burmy",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:wormadam",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:mothim",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:combee",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:vespiquen",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:pachirisu",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:buizel",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:floatzel",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:cherubi",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:cherrim",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:shellos",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:gastrodon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:ambipom",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:drifloon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:drifblim",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:buneary",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:lopunny",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:mismagius",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:honchkrow",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:glameow",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:purugly",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:chingling",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:stunky",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:skuntank",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:bronzor",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:bronzong",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:bonsly",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:mimejr.",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:happiny",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:chatot",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:spiritomb",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:gible",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:gabite",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:garchomp",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:munchlax",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:riolu",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:lucario",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:hippopotas",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:hippowdon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:skorupi",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:drapion",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:croagunk",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:toxicroak",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:carnivine",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:finneon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:lumineon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:mantyke",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:snover",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:abomasnow",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:weavile",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:magnezone",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:lickilicky",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:rhyperior",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:tangrowth",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:electivire",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:magmortar",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:togekiss",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:yanmega",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:leafeon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:glaceon",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:gliscor",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:mamoswine",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:porygonz",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:gallade",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:probopass",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dusknoir",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:froslass",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:rotom",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:uxie",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:mesprit",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:azelf",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:dialga",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:palkia",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:heatran",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:regigigas",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:giratina",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:cresselia",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:phione",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:manaphy",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:darkrai",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:shaymin",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:arceus",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
}
|
||||
]
|
||||
{
|
||||
"identifier": "cobblemon:national_sinnoh",
|
||||
"pokemon_list": [
|
||||
{
|
||||
"identifier": "cobblemon:turtwig"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:grotle"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:torterra",
|
||||
"forms": [
|
||||
"normal",
|
||||
"tree-cherry",
|
||||
"tree-birch",
|
||||
"tree-darkoak",
|
||||
"tree-oak",
|
||||
"tree-spruce",
|
||||
"tree-jungle",
|
||||
"tree-swamp",
|
||||
"tree-acacia",
|
||||
"tree-azalea",
|
||||
"tree-mangrove"
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:chimchar"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:monferno"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:infernape"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:piplup"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:prinplup"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:empoleon"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:starly"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:staravia"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:staraptor"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:bidoof"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:bibarel"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:kricketot"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:kricketune"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:shinx"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:luxio"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:luxray"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:budew"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:roserade"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:cranidos"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:rampardos"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:shieldon"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:bastiodon"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:combee"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:vespiquen"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:pachirisu"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:buizel"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:floatzel"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:ambipom"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:drifloon"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:drifblim"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:buneary"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:lopunny"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:mismagius"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:honchkrow"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:chingling"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:bonsly"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:mimejr"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:happiny"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:chatot"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:spiritomb"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:gible"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:gabite"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:garchomp"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:munchlax"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:riolu"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:lucario"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:hippopotas"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:hippowdon"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:carnivine"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:weavile"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:magnezone"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:lickilicky"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:rhyperior"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:tangrowth"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:electivire"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:magmortar"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:yanmega"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:leafeon"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:glaceon"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:gliscor"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:mamoswine"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:porygonz"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:gallade"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:probopass"
|
||||
},
|
||||
{
|
||||
"identifier": "cobblemon:dusknoir"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,13 +2,13 @@
|
||||
"identifier": "cobblemon:national_unknown",
|
||||
"pokemon_list": [
|
||||
{
|
||||
"name": "cobblemon:meltan",
|
||||
"identifier": "cobblemon:meltan",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cobblemon:melmetal",
|
||||
"identifier": "cobblemon:melmetal",
|
||||
"forms": [
|
||||
"normal"
|
||||
]
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,92 @@
|
||||
import csv
|
||||
import json
|
||||
|
||||
dexes = {}
|
||||
|
||||
with open('pokedex.csv', newline='') as csvfile:
|
||||
data_reader = csv.reader(csvfile, delimiter=',', quotechar='|')
|
||||
|
||||
for row in data_reader:
|
||||
if(row[0] == 'pokedex'): continue
|
||||
|
||||
dex_name = row[0]
|
||||
if dex_name not in dexes:
|
||||
dexes[dex_name] = {}
|
||||
|
||||
dex = dexes[dex_name]
|
||||
|
||||
identifier = row[1]
|
||||
form = row[2]
|
||||
category = row[3]
|
||||
tags = row[4]
|
||||
invisible_until_found = row[5]
|
||||
visual_number = row[6]
|
||||
skip_auto_numbering = row[7]
|
||||
|
||||
pokemon = {}
|
||||
if identifier in dex:
|
||||
pokemon = dex[identifier]
|
||||
pokemon['identifier'] = identifier
|
||||
|
||||
if 'forms' not in pokemon:
|
||||
pokemon['forms'] = []
|
||||
pokemon['forms'].append(form)
|
||||
|
||||
if 'category' not in pokemon:
|
||||
pokemon['category'] = category
|
||||
|
||||
if 'tags' not in pokemon:
|
||||
pokemon['tags'] = []
|
||||
for tag in tags:
|
||||
pokemon['tags'].append(tag)
|
||||
|
||||
if 'invisible_until_found' not in pokemon:
|
||||
pokemon['invisible_until_found'] = False
|
||||
if invisible_until_found != '' and bool(invisible_until_found):
|
||||
pokemon['invisible_until_found'] = True
|
||||
|
||||
if 'visual_number' not in pokemon:
|
||||
pokemon['visual_number'] = ''
|
||||
if(visual_number != '' and pokemon['visual_number'] == ''):
|
||||
pokemon['visual_number'] = visual_number
|
||||
|
||||
if 'skip_auto_numbering' not in pokemon:
|
||||
pokemon['skip_auto_numbering'] = False
|
||||
if skip_auto_numbering != '' and bool(skip_auto_numbering):
|
||||
pokemon['skip_auto_numbering'] = True
|
||||
|
||||
|
||||
dex[identifier] = pokemon
|
||||
|
||||
for dex_name in dexes.keys():
|
||||
dex = dexes[dex_name]
|
||||
json_dict = {'identifier':f'cobblemon:{dex_name}'}
|
||||
pokemon_list = []
|
||||
for entry in dex.values():
|
||||
|
||||
json_entry = {'identifier':entry['identifier']}
|
||||
|
||||
if not (len(entry['forms']) == 1 and entry['forms'][0] == 'normal'):
|
||||
json_entry['forms'] = entry['forms']
|
||||
|
||||
if entry['category'] != '':
|
||||
json_entry['category'] = entry['category']
|
||||
|
||||
if len(entry['tags']) != 0:
|
||||
json_entry['tags'] = entry['tags']
|
||||
|
||||
if entry['invisible_until_found'] == True:
|
||||
json_entry['invisible_until_found'] = entry['invisible_until_found']
|
||||
|
||||
if entry['visual_number'] != '':
|
||||
json_entry['visual_number'] = entry['visual_number']
|
||||
|
||||
if entry['skip_auto_numbering'] == True:
|
||||
json_entry['skip_auto_numbering'] = entry['skip_auto_numbering']
|
||||
|
||||
pokemon_list.append(json_entry)
|
||||
|
||||
json_dict['pokemon_list'] = pokemon_list
|
||||
|
||||
with open(f'{dex_name}.json', "w") as outfile:
|
||||
outfile.write(json.dumps(json_dict, indent=4))
|
||||
@@ -0,0 +1,72 @@
|
||||
import csv
|
||||
import json
|
||||
import os
|
||||
|
||||
# special thanks to Rosemary for writing this script - JPAK
|
||||
|
||||
# ignore "shiny" and "female" aspects
|
||||
# every pokemon should have a form with an empty string
|
||||
|
||||
# get species, aspects, generation
|
||||
# for each generation grab national dex number
|
||||
# hash map of dex number as key, to generation
|
||||
|
||||
species_directory = 'species'
|
||||
|
||||
generations = {}
|
||||
|
||||
for generation in os.listdir(species_directory):
|
||||
generation_directory = os.path.join(species_directory, generation)
|
||||
if os.path.isdir(generation_directory):
|
||||
for species_filename in os.listdir(generation_directory):
|
||||
species_path = os.path.join(generation_directory, species_filename)
|
||||
species_file = open(species_path, "r", encoding="utf-8")
|
||||
try:
|
||||
species_json = json.loads(species_file.read())
|
||||
nat_dex_num = species_json["nationalPokedexNumber"]
|
||||
generations[nat_dex_num] = generation
|
||||
except:
|
||||
print(species_filename)
|
||||
|
||||
resolvers_directory = 'resolvers'
|
||||
|
||||
def is_valid_aspect(aspect):
|
||||
return not ("female" in aspect or "shiny" in aspect)
|
||||
|
||||
num_digits = 4
|
||||
csv_data = []
|
||||
|
||||
for pokemon_foldername in os.listdir(resolvers_directory):
|
||||
nat_dex_num = int(pokemon_foldername[0:num_digits])
|
||||
if nat_dex_num not in generations:
|
||||
continue
|
||||
generation = generations[nat_dex_num]
|
||||
pokemon_directory = os.path.join(resolvers_directory, pokemon_foldername)
|
||||
if os.path.isdir(pokemon_directory):
|
||||
aspects_set = {}
|
||||
aspects_set["normal"] = False
|
||||
|
||||
for pokemon_filename in os.listdir(pokemon_directory):
|
||||
pokemon_path = os.path.join(pokemon_directory, pokemon_filename)
|
||||
pokemon_file = open(pokemon_path, "r", encoding="utf-8")
|
||||
pokemon_json = json.loads(pokemon_file.read())
|
||||
|
||||
species = pokemon_json["species"]
|
||||
|
||||
variations = pokemon_json["variations"]
|
||||
for variation in variations:
|
||||
aspects = variation["aspects"]
|
||||
for aspect in aspects:
|
||||
if (is_valid_aspect(aspect)):
|
||||
aspects_set[aspect] = False
|
||||
|
||||
for aspect in aspects_set.keys():
|
||||
csv_data.append([generation, species, aspect])
|
||||
|
||||
with open('pokemon_data.csv', 'w', newline='') as csvfile:
|
||||
pokemon_writer = csv.writer(csvfile, delimiter=' ',
|
||||
quotechar='|', quoting=csv.QUOTE_MINIMAL)
|
||||
|
||||
pokemon_writer.writerow(["pokedex", "identifier", "form"])
|
||||
for row in csv_data:
|
||||
pokemon_writer.writerow(row)
|
||||
Reference in New Issue
Block a user