mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-26 22:57:00 +02:00
181 lines
3.5 KiB
JSON
181 lines
3.5 KiB
JSON
{
|
|
"type" : "object",
|
|
"$schema" : "http://json-schema.org/draft-04/schema",
|
|
"title" : "VCMI bonus system format",
|
|
"description" : "Subsection of several formats, used to add generic bonuses to objects",
|
|
"required" : ["type"],
|
|
"definitions" :
|
|
{
|
|
"nestedLimiter" : {
|
|
"anyOf" : [
|
|
{
|
|
"type" : "string",
|
|
"description" : "parameterless limiter or boolean operator at start of array"
|
|
},
|
|
{
|
|
"type" : "object",
|
|
"additionalProperties" : false,
|
|
"properties" : {
|
|
"type" : {
|
|
"type" : "string",
|
|
"description" : "type"
|
|
},
|
|
"parameters" : {
|
|
"type" : "array",
|
|
"description" : "parameters",
|
|
"additionalItems" : true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type" : "array",
|
|
"additionalItems" : {
|
|
"$ref" : "#/definitions/nestedLimiter",
|
|
"description" : "nested limiters optionally prefixed with boolean operator"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties" : false,
|
|
"properties" : {
|
|
"type" : {
|
|
"type" : "string",
|
|
"description" : "type"
|
|
},
|
|
"subtype" : {
|
|
"anyOf" : [
|
|
{ "type" : "string" },
|
|
{ "type" : "number" }
|
|
],
|
|
"description" : "subtype"
|
|
},
|
|
"sourceID" : {
|
|
"type" : "number",
|
|
"description" : "sourceID"
|
|
},
|
|
"sourceType" : {
|
|
"type" : "string",
|
|
"description" : "sourceType"
|
|
},
|
|
"targetSourceType" : {
|
|
"type" : "string",
|
|
"description" : "targetSourceType"
|
|
},
|
|
"propagator" : {
|
|
"description" : "propagator",
|
|
"anyOf" : [
|
|
{
|
|
"type" : "string"
|
|
},
|
|
{
|
|
"type" : "array",
|
|
"items" : {
|
|
"type" : "string",
|
|
"description" : "0"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"updater" : {
|
|
"anyOf" : [
|
|
{
|
|
"type" : "string"
|
|
},
|
|
{
|
|
"description" : "updater",
|
|
"type" : "object",
|
|
"required" : ["type", "parameters"],
|
|
"additionalProperties" : false,
|
|
"properties" : {
|
|
"type" : {
|
|
"type" : "string",
|
|
"description" : "type"
|
|
},
|
|
"parameters" : {
|
|
"type" : "array",
|
|
"description" : "parameters",
|
|
"additionalItems" : true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"propagationUpdater" : {
|
|
"anyOf" : [
|
|
{
|
|
"type" : "string"
|
|
},
|
|
{
|
|
"description" : "propagationUpdater",
|
|
"type" : "object",
|
|
"required" : ["type", "parameters"],
|
|
"additionalProperties" : false,
|
|
"properties" : {
|
|
"type" : {
|
|
"type" : "string",
|
|
"description" : "type"
|
|
},
|
|
"parameters" : {
|
|
"type" : "array",
|
|
"description" : "parameters",
|
|
"additionalItems" : true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"limiters" : {
|
|
"$ref" : "#/definitions/nestedLimiter",
|
|
"description" : "limiter"
|
|
},
|
|
"effectRange" : {
|
|
"type" : "string",
|
|
"description" : "effectRange"
|
|
},
|
|
"val" : {
|
|
"type" : "number",
|
|
"description" : "val"
|
|
},
|
|
"valueType" : {
|
|
"type" : "string",
|
|
"description" : "valueType"
|
|
},
|
|
"addInfo" : {
|
|
"anyOf" : [
|
|
{ "type" : "string" },
|
|
{ "type" : "number" },
|
|
{
|
|
"type" : "array",
|
|
"items" : {
|
|
"anyof" : [
|
|
{ "type" : "string" },
|
|
{ "type" : "number" }
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"description" : "addInfo"
|
|
},
|
|
"duration" : {
|
|
"anyOf" : [
|
|
{ "type" : "string"},
|
|
{ "type" : "array", "items" : {"type" : "string"} }
|
|
],
|
|
"description" : "duration"
|
|
},
|
|
"turns" : {
|
|
"type" : "number",
|
|
"description" : "turns"
|
|
},
|
|
"stacking" : {
|
|
"type" : "string",
|
|
"description" : "stacking"
|
|
},
|
|
"description" : {
|
|
"type" : "string",
|
|
"description" : "description"
|
|
}
|
|
}
|
|
}
|