{ "type":"object", "additionalProperties" : false, "$schema": "http://json-schema.org/draft-04/schema", "title" : "VCMI town building format", "description" : "Format used to define town buildings in VCMI", "required": [ "id" ], "definitions" : { "buildingRequirement" : { "type" : "array", "items" : [ { "description" : "First item that indicates type of following expression", "type" : "string" } ], "additionalItems" : { "description" : "Following items that contain expression elements", "$ref" : "#/definitions/buidingRequirement" } } }, "properties":{ "id": { "type":"number", "description" : "Numeric identifier of this building" }, "mode": { "type":"string", "enum" : [ "normal", "auto", "special", "grail" ], "description" : "Mode in which this building will be built" }, "requires": { "$ref" : "#/definitions/buildingRequirement", "description" : "List of town buildings that must be built before this one" }, "upgrades": { "description" : "If this building is upgrade, identifier of base building", "type":"string" }, "name" : { "description" : "Name of this building", "type" : "string" }, "description" : { "description" : "Full decsription of this building", "type" : "string" }, "cost": { "type":"object", "additionalProperties" : false, "description": "Cost to build this building", "properties":{ "wood": { "type":"number"}, "mercury": { "type":"number"}, "ore": { "type":"number"}, "sulfur": { "type":"number"}, "crystal": { "type":"number"}, "gems": { "type":"number"}, "gold": { "type":"number"} } }, "produce": { "type":"object", "additionalProperties" : false, "description": "Resources this building produce each day", "properties":{ "wood": { "type":"number"}, "mercury": { "type":"number"}, "ore": { "type":"number"}, "sulfur": { "type":"number"}, "crystal": { "type":"number"}, "gems": { "type":"number"}, "gold": { "type":"number"} } } } }