1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-14 10:12:59 +02:00
vcmi/config/schemas/terrain.json

165 lines
3.7 KiB
JSON
Raw Normal View History

{
2023-05-19 20:14:01 +02:00
"type" : "object",
"$schema" : "http://json-schema.org/draft-04/schema",
"title" : "VCMI terrain format",
"description" : "Format used to define new terrains in VCMI",
"required" : [ "text", "moveCost", "minimapUnblocked", "minimapBlocked", "music", "tiles", "type", "horseSound", "horseSoundPenalty", "shortIdentifier", "battleFields" ],
"additionalProperties" : false,
2023-05-19 20:14:01 +02:00
"properties" : {
"text" :
{
2023-05-19 20:14:01 +02:00
"type" : "string",
"description" : "Human-readable name of this terrain"
},
2023-05-19 20:14:01 +02:00
"shortIdentifier" :
{
2023-05-19 20:14:01 +02:00
"type" : "string",
"description" : "Two-letters unique indentifier for this terrain. Used for map format"
},
2023-05-19 20:14:01 +02:00
"type" :
{
2023-05-19 20:14:01 +02:00
"type" : "array",
"description" : "Type of this terrain. Can be land, water, subterranean or rock",
"items" :
{
"enum" : ["WATER", "SUB", "ROCK", "SURFACE"],
2023-05-19 20:14:01 +02:00
"type" : "string"
}
},
2023-05-19 20:14:01 +02:00
"moveCost" :
{
2023-05-19 20:14:01 +02:00
"type" : "number",
"description" : "How many movement points needed to move hero"
},
2023-05-19 20:14:01 +02:00
"tiles" :
{
2023-05-19 20:14:01 +02:00
"type" : "string",
"description" : "Name of file with graphicks",
"format" : "animationFile"
},
2023-05-19 20:14:01 +02:00
"rockTerrain" :
{
2023-05-19 20:14:01 +02:00
"type" : "string",
"description" : "The name of rock type terrain which will be used as borders in the underground"
},
2023-05-19 20:14:01 +02:00
"river" :
{
2023-05-19 20:14:01 +02:00
"type" : "string",
"description" : "River type which should be used for that terrain"
},
"paletteAnimation" : {
"type" : "array",
"description" : "If defined, terrain will be animated using palette color cycling effect",
"items" :
{
"type" : "object",
"additionalProperties" : false,
"properties" : {
"start" : {
"type" : "number"
},
"length" : {
"type" : "number"
}
}
}
},
2023-05-19 20:14:01 +02:00
"battleFields" :
{
2023-05-19 20:14:01 +02:00
"type" : "array",
"description" : "List of battleFields that can be used on this terrain",
2023-05-19 20:14:01 +02:00
"items" :
{
2023-05-19 20:14:01 +02:00
"type" : "string"
}
},
2023-05-19 20:14:01 +02:00
"minimapUnblocked" :
{
2023-05-19 20:14:01 +02:00
"type" : "array",
"description" : "Color of terrain on minimap without unpassable objects. RGB triplet, 0-255 range",
2023-05-19 20:14:01 +02:00
"minItems" : 3,
"maxItems" : 3,
"items" :
{
2023-05-19 20:14:01 +02:00
"type" : "number"
}
},
2023-05-19 20:14:01 +02:00
"minimapBlocked" :
{
2023-05-19 20:14:01 +02:00
"type" : "array",
"description" : "Color of terrain on minimap with unpassable objects. RGB triplet, 0-255 range",
2023-05-19 20:14:01 +02:00
"minItems" : 3,
"maxItems" : 3,
"items" :
{
2023-05-19 20:14:01 +02:00
"type" : "number"
}
},
2023-05-19 20:14:01 +02:00
"music" :
{
"description" : "Music filenames to play on this terrain on adventure map",
"type" : "array",
"minItems" : 1,
"items" : {
"type" : "string",
"format" : "musicFile"
}
},
2023-05-19 20:14:01 +02:00
"sounds" :
{
2023-05-19 20:14:01 +02:00
"type" : "object",
"description" : "List of sounds for this terrain",
"additionalProperties" : false,
2023-05-19 20:14:01 +02:00
"properties" :
{
"ambient" :
{
2023-05-19 20:14:01 +02:00
"type" : "array",
"description" : "List of ambient sounds for this terrain",
2023-05-19 20:14:01 +02:00
"items" :
{
2023-05-19 20:14:01 +02:00
"type" : "string",
"format" : "soundFile"
}
}
}
},
2023-05-19 20:14:01 +02:00
"horseSound" :
{
2023-05-19 20:14:01 +02:00
"type" : "string",
"description" : "Hero movement sound for this terrain, version for moving on tiles with road",
"format" : "soundFile"
},
2023-05-19 20:14:01 +02:00
"horseSoundPenalty" :
{
2023-05-19 20:14:01 +02:00
"type" : "string",
"description" : "Hero movement sound for this terrain, version for moving on tiles without road",
"format" : "soundFile"
},
2023-05-19 20:14:01 +02:00
"prohibitTransitions" :
{
2023-05-19 20:14:01 +02:00
"type" : "array",
"description" : "List or terrain names, which is prohibited to make transition from/to",
2023-05-19 20:14:01 +02:00
"items" :
{
2023-05-19 20:14:01 +02:00
"type" : "string"
}
},
2023-05-19 20:14:01 +02:00
"transitionRequired" :
{
2023-05-19 20:14:01 +02:00
"type" : "boolean",
"description" : "If sand/dirt transition required from/to other terrains"
},
2023-05-19 20:14:01 +02:00
"terrainViewPatterns" :
{
2023-05-19 20:14:01 +02:00
"type" : "string",
"description" : "Represents layout of tile orientations in terrain tiles file"
},
"index" :
{
2023-05-19 20:14:01 +02:00
"type" : "number",
"description" : "Internal, do not use"
}
}
}