{ "type":"object", "$schema": "", "title" : "VCMI random map template format", "description" : "Format used to define random map templates in VCMI", "definitions" : { "zone":{ "type": "object", "required" : ["type", "monsters", "size"], "properties":{ "type":{"$ref" : "#/definitions/type"}, "size":{"$ref" : "#/definitions/size"}, "playerTowns":{"$ref" : "#/definitions/playerTowns"}, "neuralTowns":{"$ref" : "#/definitions/neuralTowns"}, "townsAreSameType":{"$ref" : "#/definitions/townsAreSameType"}, "monsters":{"$ref" : "#/definitions/monsters"}, "mines":{"$ref" : "#/definitions/mines"}, "treasure":{ "type":"array", "items":{ "type": "object", "properties":{ "min": {"type":"number", "minimum" : 0}, "max": {"type":"number", "minimum" : 0}, "density": {"type":"number", "minimum" : 1} }, "additionalProperties" : false } } } }, "type" :{ "enum": ["playerStart", "cpuStart", "treasure", "junction"], "additionalProperties" : false, "type":"string" }, "size":{ "type": "number", "minimum": 1, "additionalProperties" : false, }, "connection": { "required": ["a", "b", "guard"], "properties":{ "a":{ "type" : "string" }, "b":{ "type" : "string" }, "guard": { "type": "number", "minimum" : 0 } } } }, "properties": { "zones":{ "type": "object", "additionalProperties":{"$ref" : "#/definitions/zone" } }, "connections":{ "type": "array", "items":{"$ref" : "#/definitions/connection"} }, "required" : ["zones", "connections"], "additionalProperties" : false } }