162 lines
4.2 KiB
JSON
162 lines
4.2 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"title": "Pokemon",
|
|
"type": "object",
|
|
"required": ["version", "language", "nickname", "personality", "species", "experience", "ivs", "evs", "moves", "trainer"],
|
|
"properties": {
|
|
"version": {
|
|
"description": "The version of this schema that the data is formatted to match",
|
|
"type": "string",
|
|
"const": "1"
|
|
},
|
|
"language": {
|
|
"description": "The language of origin",
|
|
"enum": [
|
|
"Japanese",
|
|
"English",
|
|
"French",
|
|
"Italian",
|
|
"German",
|
|
"Spanish"
|
|
]
|
|
},
|
|
"nickname": {
|
|
"description": "The pokemon's nickname",
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"personality": {
|
|
"description": "The pokemon's 32-bit personality value",
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 4294967295
|
|
},
|
|
"species": {
|
|
"description": "The national dex number of the pokemon species",
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"item": {
|
|
"description": "The id of the item the pokemon is holding according to modern tables",
|
|
"type": "integer"
|
|
},
|
|
"experience": {
|
|
"description": "The current total EXP",
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"ability": {
|
|
"description": "The value of the ability bit (hidden abilities should be a separate bit)",
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 1
|
|
},
|
|
"ivs": {
|
|
"description": "The 6 IVs of the pokemon",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 31
|
|
},
|
|
"minItems": 6,
|
|
"maxItems": 6
|
|
},
|
|
"evs": {
|
|
"description": "The 6 EVs of the pokemon",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 255
|
|
},
|
|
"minItems": 6,
|
|
"maxItems": 6
|
|
},
|
|
"conditions": {
|
|
"description": "The 6 condition (contest) stats of the pokemon",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 255
|
|
},
|
|
"minItems": 6,
|
|
"maxItems": 6
|
|
},
|
|
"pokerus": {
|
|
"description": "The value of the pokerus status byte",
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"game": {
|
|
"description": "The id of the game the pokemon originated in",
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"location_met": {
|
|
"description": "The location id for where the pokemon was met",
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"level_met": {
|
|
"description": "The level the pokemon was met at",
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
"ball": {
|
|
"description": "The type of poke ball the pokemon was caught in",
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"moves": {
|
|
"description": "The move id, PP, and PP Ups used for each move slot",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"prefixItems": [
|
|
{
|
|
"description": "The move's id according to modern tables (use 0 for an empty slot)",
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"description": "The move's max PP",
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
{
|
|
"description": "The number of times a PP Up has been used on this move",
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 3
|
|
}
|
|
],
|
|
"minLength": 4,
|
|
"maxLength": 4
|
|
}
|
|
},
|
|
"trainer": {
|
|
"description": "Original trainer info",
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"description": "The original trainer's name",
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"id": {
|
|
"description": "The original trainer's 32-bit ID (includes secret id as higher order bytes)",
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 4294967295
|
|
},
|
|
"female": {
|
|
"description": "Whether the original trainer is female",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["name", "id"]
|
|
}
|
|
}
|
|
} |