1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-24 08:32:34 +02:00
vcmi/config/schemas/terrain.json
2023-01-17 23:02:25 +02:00

141 lines
3.1 KiB
JSON

{
"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,
"properties":{
"index" :
{
"type": "number",
"description": "Internal, do not use"
},
"text":
{
"type": "string",
"description": "Human-readable name of this terrain"
},
"moveCost":
{
"type": "number",
"description": "How many movement points needed to move hero"
},
"minimapUnblocked":
{
"type": "array",
"description": "Color of terrain on minimap without unpassable objects",
"minItems": 3,
"maxItems": 3,
"items":
{
"type": "number"
}
},
"minimapBlocked":
{
"type": "array",
"description": "Color of terrain on minimap with unpassable objects",
"minItems": 3,
"maxItems": 3,
"items":
{
"type": "number"
}
},
"music":
{
"type": "string",
"description": "Music filename to play on this terrain on adventure map"
},
"tiles":
{
"type": "string",
"description": "Name of file with graphicks",
"format": "defFile"
},
"type":
{
"type": "array",
"description": "Type of this terrain. Can be land, water, subterranean or rock",
"items":
{
"enum": ["LAND", "WATER", "SUB", "ROCK", "SURFACE"],
"type": "string"
}
},
"rockTerrain":
{
"type": "string",
"description": "The name of rock type terrain which will be used as borders in the underground"
},
"river":
{
"type": "string",
"description": "River type which should be used for that terrain"
},
"horseSound":
{
"type": "string",
"description": "Hero movement sound for this terrain, version for moving on tiles with road"
},
"horseSoundPenalty":
{
"type": "string",
"description": "Hero movement sound for this terrain, version for moving on tiles without road"
},
"shortIdentifier":
{
"type": "string",
"description": "Two-letters unique indentifier for this terrain. Used for map format"
},
"battleFields":
{
"type": "array",
"description": "array of battleFields for this terrain",
"items":
{
"type": "string"
}
},
"sounds":
{
"type": "object",
"description": "list of sounds for this terrain",
"additionalProperties" : false,
"properties":
{
"ambient" :
{
"type": "array",
"description": "list of ambient sounds for this terrain",
"items":
{
"type": "string"
}
}
}
},
"prohibitTransitions":
{
"type": "array",
"description": "array or terrain names, which is prohibited to make transition from/to",
"items":
{
"type": "string"
}
},
"transitionRequired":
{
"type": "boolean",
"description": "If sand/dirt transition required from/to other terrains"
},
"terrainViewPatterns":
{
"type": "string",
"description": "Can be normal, dirt, water, rock"
}
}
}