mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-28 23:06:24 +02:00
b91d7418dd
It should be used directly instead of alias, propagation updater also can be useful for any other updaters can be added.
183 lines
3.5 KiB
JSON
183 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":{
|
|
"addInfo": {
|
|
"anyOf" : [
|
|
{ "type" : "string" },
|
|
{ "type" : "number" },
|
|
{
|
|
"type" : "array",
|
|
"items" : {
|
|
"anyof" : [
|
|
{ "type" : "string" },
|
|
{ "type" : "number" }
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"description": "addInfo"
|
|
},
|
|
"description": {
|
|
"type":"string",
|
|
"description": "description"
|
|
},
|
|
"duration": {
|
|
"anyOf" : [
|
|
{ "type": "string"},
|
|
{ "type": "array", "items": {"type": "string"} }
|
|
],
|
|
"description": "duration"
|
|
},
|
|
"effectRange": {
|
|
"type":"string",
|
|
"description": "effectRange"
|
|
},
|
|
"limiters" : {
|
|
"$ref" : "#/definitions/nestedLimiter",
|
|
"description" : "limiter"
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"sourceID": {
|
|
"type":"number",
|
|
"description": "sourceID"
|
|
},
|
|
"sourceType": {
|
|
"type":"string",
|
|
"description": "sourceType"
|
|
},
|
|
"targetSourceType": {
|
|
"type":"string",
|
|
"description": "targetSourceType"
|
|
},
|
|
"stacking" : {
|
|
"type" : "string",
|
|
"description" : "stacking"
|
|
},
|
|
"subtype": {
|
|
"anyOf" : [
|
|
{ "type" : "string" },
|
|
{ "type" : "number" }
|
|
],
|
|
"description": "subtype"
|
|
},
|
|
"turns": {
|
|
"type":"number",
|
|
"description": "turns"
|
|
},
|
|
"type": {
|
|
"type":"string",
|
|
"description": "type"
|
|
},
|
|
"val": {
|
|
"type":"number",
|
|
"description": "val"
|
|
},
|
|
"valueType": {
|
|
"type":"string",
|
|
"description": "valueType"
|
|
}
|
|
}
|
|
}
|