1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-04 09:42:40 +02:00
vcmi/config/schemas/bonus.json

181 lines
3.6 KiB
JSON
Raw Normal View History

{
2023-05-19 20:14:01 +02:00
"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",
2023-05-19 20:14:01 +02:00
"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,
2023-05-19 20:14:01 +02:00
"properties" : {
"type" : {
"type" : "string",
"description" : "type"
},
2023-05-19 20:14:01 +02:00
"subtype" : {
"anyOf" : [
{ "type" : "string" },
{ "type" : "number" }
],
2023-05-19 20:14:01 +02:00
"description" : "subtype"
},
2023-05-19 20:14:01 +02:00
"sourceID" : {
"type" : "number",
"description" : "sourceID"
},
2023-05-19 20:14:01 +02:00
"sourceType" : {
"type" : "string",
"description" : "sourceType"
},
2023-05-19 20:14:01 +02:00
"targetSourceType" : {
"type" : "string",
"description" : "targetSourceType"
},
2023-05-19 20:14:01 +02:00
"propagator" : {
"description" : "propagator",
"anyOf" : [
{
"type" : "string"
},
{
2023-05-19 20:14:01 +02:00
"type" : "array",
"items" : {
"type" : "string",
"description" : "0"
}
}
]
},
2017-09-11 02:36:02 +02:00
"updater" : {
"anyOf" : [
{
"type" : "string"
2017-09-11 02:36:02 +02:00
},
{
"description" : "updater",
"type" : "object",
"required" : ["type", "parameters"],
"additionalProperties" : false,
"properties" : {
"type" : {
"type" : "string",
"description" : "type"
},
2023-05-19 20:14:01 +02:00
"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"
},
2023-05-19 20:14:01 +02:00
"parameters" : {
"type" : "array",
"description" : "parameters",
"additionalItems" : true
}
}
2017-09-11 02:36:02 +02:00
}
]
2017-09-11 02:36:02 +02:00
},
"limiters" : {
"$ref" : "#/definitions/nestedLimiter",
"description" : "limiter"
},
2023-05-19 20:14:01 +02:00
"effectRange" : {
"type" : "string",
"description" : "effectRange"
},
2023-05-19 20:14:01 +02:00
"val" : {
"type" : "number",
"description" : "val"
},
2023-05-19 20:14:01 +02:00
"valueType" : {
"type" : "string",
"description" : "valueType"
},
2023-05-19 20:14:01 +02:00
"addInfo" : {
"anyOf" : [
{ "type" : "string" },
{ "type" : "number" },
{
"type" : "array",
"items" : {
"anyof" : [
{ "type" : "string" },
{ "type" : "number" }
]
}
}
],
2023-05-19 20:14:01 +02:00
"description" : "addInfo"
},
2023-05-19 20:14:01 +02:00
"duration" : {
"anyOf" : [
2023-05-19 20:14:01 +02:00
{ "type" : "string"},
{ "type" : "array", "items" : {"type" : "string"} }
],
2023-05-19 20:14:01 +02:00
"description" : "duration"
},
2023-05-19 20:14:01 +02:00
"turns" : {
"type" : "number",
"description" : "turns"
},
"stacking" : {
"type" : "string",
"description" : "stacking"
},
2023-05-19 20:14:01 +02:00
"description" : {
"type" : "string",
"description" : "description"
}
}
}