{ "type" : "object", "$schema" : "http://json-schema.org/draft-04/schema", "title" : "VCMI artifact format", "description" : "Format used to define new artifacts in VCMI", "required" : [ "type", "class", "value", "text" ], "definitions" : { "growingBonusList" : { "type" : "array", "items" : { "type" : "object", "additionalProperties" : false, "properties" : { "level" : { "type" : "number" }, "bonus" : { "$ref" : "bonus.json" } } } } }, "additionalProperties" : false, "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" } } ] }, "class" : { "type" : "string", "enum" : [ "SPECIAL", "TREASURE", "MINOR", "MAJOR", "RELIC" ], "description" : "Artifact class, treasure, minor, major or relic" }, "value" : { "type" : "number", "description" : "Cost of this artifact, in gold" }, "components" : { "type" : "array", "description" : "Optional, list of components for combinational artifacts", "items" : { "type" : "string" } }, "fusedComponents" : { "type" : "boolean", "description" : "Used together with components fild. Marks the artifact as fused. Cannot be disassembled." }, "bonuses" : { "type" : "array", "description" : "Bonuses provided by this artifact using bonus system", "items" : { "$ref" : "bonus.json" } }, "growing" : { "type" : "object", "additionalProperties" : false, "properties" : { "bonusesPerLevel" : { "$ref" : "#/definitions/growingBonusList"}, "thresholdBonuses" : { "$ref" : "#/definitions/growingBonusList"} } }, "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" }, "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" : "animationFile" } } }, "text" : { "type" : "object", "additionalProperties" : false, "description" : "Texts associated with artifact", "required" : [ "description", "event", "name" ], "properties" : { "name" : { "type" : "string", "description" : "Name of the artifact" }, "description" : { "type" : "string", "description" : "Long description of this artifact" }, "event" : { "type" : "string", "description" : "Text that visible on picking this artifact on map" } } }, "index" : { "type" : "number", "description" : "Private field to break things, do not use." }, "onlyOnWaterMap" : { "type" : "boolean", "description" : "If set to true, artifact won't spawn on a map without water" } } }