| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- {
- "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" : "bonusInstance.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,
- "items" : { "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" : {
- "description" : "Bonuses provided by this artifact using bonus system",
- "type" : "object",
- "additionalProperties" : {
- "$ref" : "bonusInstance.json"
- }
- },
- "instanceBonuses" : {
- "description" : "Bonuses provided by every instance of this artifact using bonus system",
- "type" : "object",
- "additionalProperties" : {
- "$ref" : "bonusInstance.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", "scenarioBonus" ],
- "properties" : {
- "image" : {
- "type" : "string",
- "description" : "Base image for this artifact, used for example in hero screen",
- "format" : "imageFile"
- },
- "scenarioBonus" : {
- "type" : "string",
- "description" : "Image 58x64 in size, for use as campaign scenario starting bonus selection",
- "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"
- },
- "charged": {
- "type" : "object",
- "additionalProperties" : false,
- "description" : "Determines charged artifact behavior",
- "required" : ["usageType"],
- "properties" : {
- "usageType": {
- "type" : "string",
- "enum" : ["SPELLCAST", "BATTLE", "BUILDING"]
- },
- "removeOnDepletion" : {
- "type" : "boolean"
- },
- "startingCharges" : {
- "type" : "number",
- "description" : "Default starting charge amount"
- }
- }
- }
- }
- }
|