1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-16 10:19:47 +02:00
vcmi/config/schemas/townBuilding.json
2024-08-19 11:47:13 +00:00

103 lines
3.3 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/buildingRequirement"
}
}
},
"properties" : {
"id" : {
"type" : "number",
"description" : "Numeric identifier of this building"
},
"name" : {
"description" : "Localizable name of this building",
"type" : "string"
},
"description" : {
"description" : "Localizable description of this building",
"type" : "string"
},
"type" : {
"type" : "string",
"enum" : [ "mysticPond", "artifactMerchant", "freelancersGuild", "magicUniversity", "castleGate", "creatureTransformer", "portalOfSummoning", "ballistaYard", "library", "escapeTunnel", "treasury", "thievesGuild", "bank" ],
"description" : "Subtype for some special buildings"
},
"mode" : {
"type" : "string",
"enum" : [ "normal", "auto", "special", "grail" ],
"description" : "Mode in which this building will be built"
},
"height" : {
"type" : "string",
"enum" : [ "skyship", "high", "average", "low"],
"description" : "Height for lookout towers and some grails"
},
"requires" : {
"$ref" : "#/definitions/buildingRequirement",
"description" : "List of town buildings that must be built before this one"
},
"upgrades" : {
"description" : "Optional, indicates that this building upgrades another base building",
"type" : "string"
},
"upgradeReplacesBonuses" : {
"description" : "If set to true, this building will replace all bonuses from base building, leaving only bonuses defined by this building",
"type" : "boolean"
},
"configuration" : {
"description" : "Optional, configuration of building that can be activated by visiting hero",
"$ref" : "rewardable.json"
},
"cost" : {
"type" : "object",
"additionalProperties" : false,
"description" : "Resources needed to build building",
"properties" : {
"gold" : { "type" : "number"},
"wood" : { "type" : "number"},
"ore" : { "type" : "number"},
"mercury" : { "type" : "number"},
"sulfur" : { "type" : "number"},
"crystal" : { "type" : "number"},
"gems" : { "type" : "number"}
}
},
"produce" : {
"type" : "object",
"additionalProperties" : false,
"description" : "Resources produced each day by this building",
"properties" : {
"gold" : { "type" : "number"},
"wood" : { "type" : "number"},
"ore" : { "type" : "number"},
"mercury" : { "type" : "number"},
"sulfur" : { "type" : "number"},
"crystal" : { "type" : "number"},
"gems" : { "type" : "number"}
}
},
"bonuses" : {
"type" : "array",
"description" : "Bonuses that are provided by this building in any town where this building has been built. Only affects town itself (including siege), to propagate effect to player or team please use bonus propagators",
"items" : { "$ref" : "bonus.json" }
}
}
}