{
	"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"
				}
			}
		},
		"name" : {
			"type" : "string"
		},
		"templates" : {
			"type" : "object",
			"additionalProperties" : {
				"$ref" : "objectTemplate.json"
			}
		},

		"battleground" : {
			"description" : "Battleground that will be used for combats in this object. Overrides terrain this object was placed on",
			"type" : "string"
		},

		"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"
					}
				}
			}
		}
	}
}
