mirror of
https://github.com/vcmi/vcmi.git
synced 2024-11-26 08:41:13 +02:00
110 lines
2.9 KiB
JSON
110 lines
2.9 KiB
JSON
{
|
|
"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",
|
|
|
|
"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"
|
|
},
|
|
"type": {
|
|
"type":"string",
|
|
"description" : "Subtype for some special buildings"
|
|
},
|
|
"height": {
|
|
"type":"string",
|
|
"enum" : [ "skyship", "high", "average", "low"],
|
|
"description" : "Height for lookout towers and some grails"
|
|
},
|
|
"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"}
|
|
}
|
|
},
|
|
"overrides": {
|
|
"type" : "array",
|
|
"items" : [
|
|
{
|
|
"description" : "The buildings which bonuses should be overridden with bonuses of the current building",
|
|
"type" : "string"
|
|
}
|
|
]
|
|
},
|
|
"bonuses": {
|
|
"type":"array",
|
|
"description": "Bonuses, provided by this special building on build using bonus system",
|
|
"items": { "$ref" : "bonus.json" }
|
|
},
|
|
"onVisitBonuses": {
|
|
"type":"array",
|
|
"description": "Bonuses, provided by this special building on hero visit and applied to the visiting hero",
|
|
"items": { "$ref" : "bonus.json" }
|
|
}
|
|
}
|
|
}
|