{ "type" : "object", "$schema" : "http://json-schema.org/draft-04/schema", "title" : "VCMI skill format", "description" : "Format used to replace bonuses provided by secondary skills in VCMI", "definitions" : { "skillBonus" : { "type" : "object", "description" : "Set of bonuses provided by skill at given level", "required" : ["description", "effects"], "properties" : { "description" : { "type" : "string", "description" : "localizable description" }, "images" : { "type" : "object", "description" : "Skill icons of varying size", "properties" : { "small" : { "type" : "string", "description" : "32x32 skill icon", "format" : "imageFile" }, "medium" : { "type" : "string", "description" : "44x44 skill icon", "format" : "imageFile" }, "large" : { "type" : "string", "description" : "82x93 skill icon", "format" : "imageFile" } } }, "effects" : { "type" : "object", "additionalProperties" : { "$ref" : "bonus.json" } } } } }, "required" : ["name", "basic", "advanced", "expert"], "properties" : { "name" : { "type" : "string", "description" : "Mandatory, localizable skill name" }, "index" : { "type" : "number", "description" : "Internal, numeric id of skill, required for existing skills" }, "obligatoryMajor" : { "type" : "boolean", "description" : "This skill is major obligatory (like H3 Wisdom)" }, "obligatoryMinor" : { "type" : "boolean", "description" : "This skill is minor obligatory (like H3 Magic school)" }, "gainChance" : { "description" : "Chance for the skill to be offered on level-up (heroClass may override)", "type" : "object", "required" : ["might", "magic"], "properties" : { "might" : { "type" : "number", "description" : "Chance for hero classes with might affinity" }, "magic" : { "type" : "number", "description" : "Chance for hero classes with magic affinity" } } }, "base" : { "type" : "object", "description" : "will be merged with all levels", "additionalProperties" : true }, "basic" : { "$ref" : "#/definitions/skillBonus" }, "advanced" : { "$ref" : "#/definitions/skillBonus" }, "expert" : { "$ref" : "#/definitions/skillBonus" } }, "onlyOnWaterMap" : { "type" : "boolean", "description" : "It true, skill won't be available on a map without water" }, "special" : { "type" : "boolean", "description" : "If true, skill is not available on maps at random" } }