{ "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" : { "text" : { "type" : "string", "description" : "Human-readable name of this terrain" }, "shortIdentifier" : { "type" : "string", "description" : "Two-letters unique indentifier for this terrain. Used for map format" }, "type" : { "type" : "array", "description" : "Type of this terrain. Can be land, water, subterranean or rock", "items" : { "enum" : ["WATER", "SUB", "ROCK", "SURFACE"], "type" : "string" } }, "moveCost" : { "type" : "number", "description" : "How many movement points needed to move hero" }, "tiles" : { "type" : "string", "description" : "Name of file with graphicks", "format" : "animationFile" }, "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" }, "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" } } } }, "battleFields" : { "type" : "array", "description" : "List of battleFields that can be used on this terrain", "items" : { "type" : "string" } }, "minimapUnblocked" : { "type" : "array", "description" : "Color of terrain on minimap without unpassable objects. RGB triplet, 0-255 range", "minItems" : 3, "maxItems" : 3, "items" : { "type" : "number" } }, "minimapBlocked" : { "type" : "array", "description" : "Color of terrain on minimap with unpassable objects. RGB triplet, 0-255 range", "minItems" : 3, "maxItems" : 3, "items" : { "type" : "number" } }, "music" : { "description" : "Music filenames to play on this terrain on adventure map", "type" : "array", "minItems" : 1, "items" : { "type" : "string", "format" : "musicFile" } }, "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", "format" : "soundFile" } } } }, "horseSound" : { "type" : "string", "description" : "Hero movement sound for this terrain, version for moving on tiles with road", "format" : "soundFile" }, "horseSoundPenalty" : { "type" : "string", "description" : "Hero movement sound for this terrain, version for moving on tiles without road", "format" : "soundFile" }, "prohibitTransitions" : { "type" : "array", "description" : "List 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" : "Represents layout of tile orientations in terrain tiles file" }, "index" : { "type" : "number", "description" : "Internal, do not use" } } }