{ "type" : "object", "$schema" : "http://json-schema.org/draft-04/schema", "title" : "VCMI map object type format", "description" : "Description of map object type, used only as sub-schema of object", "required" : [ ], "additionalProperties" : true, // may have type-dependant properties "properties" : { "index" : { "type" : "number" }, "aiValue" : { "type" : "number" }, "base" : { "additionalProperties" : true, // Not validated on its own - instead data copied to main object and validated as part of it "type" : "object" }, "rmg" : { "additionalProperties" : false, "type" : "object", "properties" : { "value" : { "type" : "number" }, "mapLimit" : { "type" : "number" }, "zoneLimit" : { "type" : "number" }, "rarity" : { "type" : "number" } } }, "templates" : { "type" : "object", "additionalProperties" : { "$ref" : "objectTemplate.json" } }, "sounds" : { "type" : "object", "additionalProperties" : false, "description" : "Sounds used by this object", "properties" : { "ambient" : { "type" : "array", "description" : "Background sound of an object", "items" : { "type" : "string", "format" : "soundFile" } }, "visit" : { "type" : "array", "description" : "Sound that played on object visit", "items" : { "type" : "string", "format" : "soundFile" } }, "removal" : { "type" : "array", "description" : "Sound that played on object removal", "items" : { "type" : "string", "format" : "soundFile" } } } } } }