{ "type":"object", "$schema": "http://json-schema.org/draft-04/schema", "title" : "VCMI hero class format", "description" : "Format used to define classes of heroes in VCMI", "required" : [ "animation", "faction", "highLevelChance", "lowLevelChance", "name", "primarySkills", "secondarySkills", "tavern", "defaultTavern", "affinity", "commander" ], "additionalProperties" : false, "properties":{ "animation": { "type":"object", "additionalProperties" : false, "description": "Files related to hero animation", "required": [ "battle", "map" ], "properties":{ "battle": { "type":"object", "additionalProperties" : false, "description": "Hero animations for battle", "required": [ "female", "male" ], "properties":{ "female": { "type":"string", "description": "Female version", "format" : "defFile" }, "male": { "type":"string", "description": "Male version", "format" : "defFile" } } }, "map": { "type":"object", "additionalProperties" : false, "description": "Hero animations for adventure map", "required": [ "female", "male" ], "properties":{ "female": { "type":"string", "description": "Female version. Warning: not implemented!", "format" : "defFile" }, "male": { "type":"string", "description": "Male version", "format" : "defFile" } } } } }, "index" : { "type" : "number", "description" : "Private field to break things, do not use." }, "faction": { "type":"string", "description": "Faction this hero class belongs to" }, "affinity" : { "type" : "string", "description" : "Affinity of hero class, might or magic", "enum" : [ "might", "magic"] }, "commander": { "type":"string", "description": "Identifier of creature that is used as commander by heroes" }, "highLevelChance": { "type":"object", "description": "Chance to get specific primary skill on level-up, applicable for levels starting from 10", "additionalProperties":{ "type":"number" } }, "lowLevelChance": { "type":"object", "description": "Chance to get specific primary skill on level-up, applicable for levels less than 10", "additionalProperties":{ "type":"number" } }, "name": { "type":"string", "description": "Translatable name of hero class" }, "primarySkills": { "type":"object", "description": "Initial primary skills of heroes", "additionalProperties":{ "type":"number" } }, "secondarySkills": { "type":"object", "description": "Chance to get specific secondary skill on level-up. All missing skills are considered to be banned", "additionalProperties":{ "type":"number" } }, "defaultTavern" : { "type" : "number", "description" : "Default chance for hero to appear in tavern, used only when value vas not set in tavern field", "minimum" : 0 }, "tavern": { "type":"object", "description": "Chance for this hero to appear in tavern of this factions. Reversed version of field \"tavern\" from town format", "additionalProperties":{ "type":"number", "minimum" : 0 } } } }