Summary
- Description
- A list of Pokemon Encounters.
- Data path
- resources/data/encounter.csv
- Schema
- https://poketools.gamestuff.info/data/schema/encounter.json
Fields
id
The unique id for this entity. Only entities that have no clear name should use this numeric form.
- type
- integer
- minimum
- 1
version
Version identifier. A machine-usable name for the entity. This is usually a munged version of the entity name. An identifier must consist only of lowercase ASCII characters, 0-9, and/or a hyphen.
i.e. anything unique to the entity matching the regular expression
^[a-z0-9\-]+$ (Test it here)
- type
-
string
- pattern
-
^[a-z0-9\-]+$(Test) - required
location
Location identifier. A machine-usable name for the entity. This is usually a munged version of the entity name. An identifier must consist only of lowercase ASCII characters, 0-9, and/or a hyphen.
i.e. anything unique to the entity matching the regular expression
^[a-z0-9\-]+$ (Test it here)
- type
-
string
- pattern
-
^[a-z0-9\-]+$(Test) - required
area
Identifier for the area in the location above. A machine-usable name for the entity. This is usually a munged version of the entity name. An identifier must consist only of lowercase ASCII characters, 0-9, and/or a hyphen.
i.e. anything unique to the entity matching the regular expression
^[a-z0-9\-]+$ (Test it here)
- type
-
string
- pattern
-
^[a-z0-9\-]+$(Test) - required
method
Encounter method identifier. A machine-usable name for the entity. This is usually a munged version of the entity name. An identifier must consist only of lowercase ASCII characters, 0-9, and/or a hyphen.
i.e. anything unique to the entity matching the regular expression
^[a-z0-9\-]+$ (Test it here)
- type
-
string
- pattern
-
^[a-z0-9\-]+$(Test) - required
species
Pokemon species identifier (e.g. basculin).
A machine-usable name for the entity. This is usually a munged version of the
entity name. An identifier must consist only of lowercase ASCII characters, 0-9,
and/or a hyphen.
i.e. anything unique to the entity matching the regular expression
^[a-z0-9\-]+$ (Test it here)
- type
-
string
- pattern
-
^[a-z0-9\-]+$(Test) - required
pokemon
Identifier for the Pokémon in the species above (e.g. basculin-red-striped).
A machine-usable name for the entity. This is usually a munged version of the
entity name. An identifier must consist only of lowercase ASCII characters, 0-9,
and/or a hyphen.
i.e. anything unique to the entity matching the regular expression
^[a-z0-9\-]+$ (Test it here)
- type
-
string
- pattern
-
^[a-z0-9\-]+$(Test) - required
level
Level range
A range is either a single integer or two integers separated by a hyphen, e.g.
5 or 1-10.
- minimum
- 1
- maximum
- 100
- required
chance
Encounter chance percentage.
If this is a fateful encounter (e.g. from an event or in-game story point), leave this empty.
- type
- integer
- minimum
- 1
- maximum
- 100
conditions
A list of identifiers for conditions that must be met
for this encounter to occur. Format these as condition/condition-state. If
multiple conditions must occur simultaneously, separate them with a single comma.
For example:
-
time/time-day -
time/time-morning,radio/radio-off
- type
- string
- pattern
-
^([a-z0-9\-]+/[a-z0-9\-]+,?)+$(Test)
note
A special note about this encounter. If this is a fateful encounter (i.e.
chance is blank), describe the circumstances here.
Textual content formatted with Markdown. See the CommonMark Spec for details.
- type
- string
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://poketools.gamestuff.info/data/schema/encounter.json",
"title": "Encounter",
"description": "A list of Pokemon Encounters.",
"type": "object",
"properties": {
"id": {
"$ref": "types/id.json"
},
"version": {
"title": "Version identifier",
"allOf": [
{
"$ref": "types/identifier.json"
},
{
"type": "string",
"$filters": "versionIdentifier"
}
]
},
"location": {
"title": "Location identifier",
"allOf": [
{
"$ref": "types/identifier.json"
},
{
"$filters": [
"locationIdentifier",
{
"$func": "locationInVersionGroup",
"$vars": {
"version": {
"$ref": "1/version"
}
}
}
]
}
]
},
"area": {
"title": "Location Area identifier",
"allOf": [
{
"$ref": "types/identifier.json"
},
{
"$filters": [
{
"$func": "locationHasArea",
"$vars": {
"version": {
"$ref": "1/version"
},
"location": {
"$ref": "1/location"
}
}
}
]
}
]
},
"method": {
"title": "Encounter Method identifier",
"allOf": [
{
"$ref": "types/identifier.json"
},
{
"type": "string",
"$filters": "encounterMethodIdentifier"
}
]
},
"species": {
"title": "Pokemon Species identifier",
"description": "This refers to the Species (e.g. `basculin`).",
"allOf": [
{
"$ref": "types/identifier.json"
},
{
"type": "string",
"$filters": [
"speciesIdentifier",
{
"$func": "speciesInVersionGroup",
"$vars": {
"version": {
"$ref": "1/version"
}
}
}
]
}
]
},
"pokemon": {
"title": "Pokemon identifier",
"description": "This refers to the Pokemon under the Species (e.g. `basculin-red-striped`).",
"allOf": [
{
"$ref": "types/identifier.json"
},
{
"type": "string",
"$filters": [
{
"$func": "speciesHasPokemon",
"$vars": {
"version": {
"$ref": "1/version"
},
"species": {
"$ref": "1/species"
}
}
}
]
}
]
},
"level": {
"title": "Level range",
"description": "All values must be in the range 1-100.",
"oneOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 100
},
{
"allOf": [
{
"$ref": "types/range.json"
},
{
"type": "string",
"$filters": {
"$func": "range",
"$vars": {
"min": 1,
"max": 100
}
}
}
]
},
{
"type": "string",
"minLength": 0,
"maxLength": 0
}
]
},
"chance": {
"title": "Encounter chance percentage",
"description": "If this is a fateful encounter (e.g. from an event or in-game story point), leave this empty.",
"oneOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 100
},
{
"type": "string",
"minLength": 0,
"maxLength": 0
},
{
"type": "null"
}
]
},
"conditions": {
"title": "Encounter conditions",
"description": "A list of conditions that must be met for this encounter to occur.Format these as `condition/condition-stage`. If multiple conditions must occur simultaneously, separate them with a single comma.",
"examples": [
"time/time-day",
"time/time-morning,radio/radio-off"
],
"allOf": [
{
"oneOf": [
{
"type": "string",
"pattern": "^([a-z0-9\\-]+/[a-z0-9\\-]+,?)+$"
},
{
"type": "string",
"minLength": 0,
"maxLength": 0
}
]
},
{
"type": "string",
"$filters": "encounterConditionList"
}
],
"default": ""
},
"note": {
"title": "Special note",
"description": "A special note about this encounter. If this is a fateful encounter, describe the conditions here.",
"oneOf": [
{
"$ref": "types/markdown.json"
},
{
"type": "string",
"minLength": 0,
"maxLength": 0
}
],
"default": ""
}
},
"additionalProperties": false,
"required": [
"id",
"version",
"location",
"area",
"method",
"species",
"pokemon",
"level"
]
}