2013-04-02 20:06:43 +03:00
|
|
|
{
|
2023-05-19 20:04:31 +02:00
|
|
|
"type" : "object",
|
|
|
|
"$schema" : "http://json-schema.org/draft-04/schema",
|
2013-04-02 20:06:43 +03:00
|
|
|
"title" : "VCMI artifact format",
|
|
|
|
"description" : "Format used to define new artifacts in VCMI",
|
2023-05-19 20:04:31 +02:00
|
|
|
"required" : [ "type", "class", "value", "text" ],
|
2013-04-11 22:24:14 +03:00
|
|
|
"definitions" : {
|
|
|
|
"growingBonusList" : {
|
|
|
|
"type" : "array",
|
|
|
|
"items" : {
|
|
|
|
"type" : "object",
|
|
|
|
"additionalProperties" : false,
|
|
|
|
"properties" : {
|
|
|
|
"level" : {
|
|
|
|
"type" : "number"
|
|
|
|
},
|
2018-10-30 23:30:56 +02:00
|
|
|
"bonus" : { "$ref" : "bonus.json" }
|
2013-04-11 22:24:14 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"additionalProperties" : false,
|
2023-05-19 20:04:31 +02:00
|
|
|
"properties" : {
|
|
|
|
"warMachine" :
|
|
|
|
{
|
|
|
|
"type" : "string",
|
|
|
|
"description" : "Creature id to use on battle field. If set, this artifact is war machine"
|
|
|
|
},
|
|
|
|
"type" : {
|
|
|
|
"type" : "array",
|
|
|
|
"description" : "Type of this artifact - creature, hero or commander",
|
|
|
|
"items" : {
|
|
|
|
"type" : "string",
|
|
|
|
"enum" : [ "HERO", "CREATURE", "COMMANDER" ]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"slot" : {
|
|
|
|
"description" : "Slot to which this artifact can be put, if applicable",
|
|
|
|
"oneOf" : [
|
|
|
|
{
|
|
|
|
"type" : "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type" : "array",
|
|
|
|
"minItems" : 1,
|
|
|
|
"additionalItems" : { "type" : "string" }
|
|
|
|
}
|
|
|
|
]
|
2013-04-02 20:06:43 +03:00
|
|
|
},
|
2023-05-19 20:04:31 +02:00
|
|
|
"class" : {
|
|
|
|
"type" : "string",
|
2013-04-02 20:06:43 +03:00
|
|
|
"enum" : [ "SPECIAL", "TREASURE", "MINOR", "MAJOR", "RELIC" ],
|
2023-05-19 20:04:31 +02:00
|
|
|
"description" : "Artifact class, treasure, minor, major or relic"
|
2013-04-02 20:06:43 +03:00
|
|
|
},
|
2023-05-19 20:04:31 +02:00
|
|
|
"value" : {
|
2013-04-11 22:24:14 +03:00
|
|
|
"type" : "number",
|
2023-05-19 20:04:31 +02:00
|
|
|
"description" : "Cost of this artifact, in gold"
|
2013-04-11 22:24:14 +03:00
|
|
|
},
|
2023-05-19 20:04:31 +02:00
|
|
|
"components" : {
|
|
|
|
"type" : "array",
|
|
|
|
"description" : "Optional, list of components for combinational artifacts",
|
|
|
|
"items" : { "type" : "string" }
|
2013-04-02 20:06:43 +03:00
|
|
|
},
|
2023-05-19 20:04:31 +02:00
|
|
|
"bonuses" : {
|
|
|
|
"type" : "array",
|
|
|
|
"description" : "Bonuses provided by this artifact using bonus system",
|
|
|
|
"items" : { "$ref" : "bonus.json" }
|
2013-04-02 20:06:43 +03:00
|
|
|
},
|
2013-04-11 22:24:14 +03:00
|
|
|
"growing" : {
|
|
|
|
"type" : "object",
|
|
|
|
"additionalProperties" : false,
|
|
|
|
"properties" : {
|
|
|
|
"bonusesPerLevel" : { "$ref" : "#/definitions/growingBonusList"},
|
|
|
|
"thresholdBonuses" : { "$ref" : "#/definitions/growingBonusList"}
|
|
|
|
}
|
|
|
|
},
|
2023-05-19 20:04:31 +02:00
|
|
|
"graphics" : {
|
|
|
|
"type" : "object",
|
|
|
|
"additionalProperties" : false,
|
|
|
|
"description" : "Graphical files associated with the artifact",
|
|
|
|
"required" : [ "image", "map" ],
|
|
|
|
"properties" : {
|
|
|
|
"image" : {
|
|
|
|
"type" : "string",
|
|
|
|
"description" : "Base image for this artifact, used for example in hero screen",
|
|
|
|
"format" : "imageFile"
|
2013-04-11 22:24:14 +03:00
|
|
|
},
|
2023-05-19 20:04:31 +02:00
|
|
|
"large" : {
|
|
|
|
"type" : "string",
|
|
|
|
"description" : "Large image, used for drag-and-drop and popup messages",
|
|
|
|
"format" : "imageFile"
|
|
|
|
},
|
|
|
|
"map" : {
|
|
|
|
"type" : "string",
|
|
|
|
"description" : ".def file for adventure map",
|
|
|
|
"format" : "defFile"
|
2013-04-11 22:24:14 +03:00
|
|
|
}
|
2023-05-19 20:04:31 +02:00
|
|
|
}
|
2013-04-02 20:06:43 +03:00
|
|
|
},
|
2023-05-19 20:04:31 +02:00
|
|
|
"text" : {
|
|
|
|
"type" : "object",
|
2013-04-11 22:24:14 +03:00
|
|
|
"additionalProperties" : false,
|
2023-05-19 20:04:31 +02:00
|
|
|
"description" : "Texts associated with artifact",
|
2013-04-02 20:06:43 +03:00
|
|
|
"required" : [ "description", "event", "name" ],
|
2023-05-19 20:04:31 +02:00
|
|
|
"properties" : {
|
|
|
|
"name" : {
|
|
|
|
"type" : "string",
|
|
|
|
"description" : "Name of the artifact"
|
2013-04-02 20:06:43 +03:00
|
|
|
},
|
2023-05-19 20:04:31 +02:00
|
|
|
"description" : {
|
|
|
|
"type" : "string",
|
|
|
|
"description" : "Long description of this artifact"
|
2013-04-02 20:06:43 +03:00
|
|
|
},
|
2023-05-19 20:04:31 +02:00
|
|
|
"event" : {
|
|
|
|
"type" : "string",
|
|
|
|
"description" : "Text that visible on picking this artifact on map"
|
2013-04-02 20:06:43 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2023-05-19 20:04:31 +02:00
|
|
|
"index" : {
|
|
|
|
"type" : "number",
|
|
|
|
"description" : "Private field to break things, do not use."
|
2023-07-18 19:24:45 +02:00
|
|
|
},
|
|
|
|
"onlyOnWaterMap" : {
|
|
|
|
"type" : "boolean",
|
2023-09-12 14:52:45 +02:00
|
|
|
"description" : "If set to true, artifact won't spawn on a map without water"
|
2013-04-02 20:06:43 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|