mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-22 22:13:35 +02:00
114 lines
3.1 KiB
JSON
114 lines
3.1 KiB
JSON
{
|
|
"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" : [
|
|
"name", "faction", "affinity", "commander", "animation", "mapObject",
|
|
"primarySkills", "secondarySkills", "lowLevelChance", "highLevelChance",
|
|
"defaultTavern", "tavern"
|
|
],
|
|
"additionalProperties" : false,
|
|
"properties" : {
|
|
"name" : {
|
|
"type" : "string",
|
|
"description" : "Translatable name of hero class"
|
|
},
|
|
"faction" : {
|
|
"type" : "string",
|
|
"description" : "Identifier of faction this 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"
|
|
},
|
|
"animation" : {
|
|
"type" : "object",
|
|
"additionalProperties" : false,
|
|
"description" : "Files related to hero animation",
|
|
"required" : [ "battle" ],
|
|
"properties" : {
|
|
"battle" : {
|
|
"type" : "object",
|
|
"additionalProperties" : false,
|
|
"description" : "Hero animations for battle",
|
|
"required" : [ "female", "male" ],
|
|
"properties" : {
|
|
"female" : {
|
|
"type" : "string",
|
|
"description" : "Female version",
|
|
"format" : "animationFile"
|
|
},
|
|
"male" : {
|
|
"type" : "string",
|
|
"description" : "Male version",
|
|
"format" : "animationFile"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"mapObject" : {
|
|
// TODO: this entry should be merged with corresponding base entry in hero object type and validated as objectType
|
|
// "$ref" : "objectType.json",
|
|
"type" : "object",
|
|
"properties" : {
|
|
"filters" : {
|
|
"type" : "object",
|
|
"additionalProperties" : true
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
}
|
|
},
|
|
"lowLevelChance" : {
|
|
"type" : "object",
|
|
"description" : "Chance to get specific primary skill on level-up, applicable for levels less than 10",
|
|
"additionalProperties" : {
|
|
"type" : "number"
|
|
}
|
|
},
|
|
"highLevelChance" : {
|
|
"type" : "object",
|
|
"description" : "Chance to get specific primary skill on level-up, applicable for levels starting from 10",
|
|
"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
|
|
}
|
|
},
|
|
"index" : {
|
|
"type" : "number",
|
|
"description" : "Private field to break things, do not use."
|
|
}
|
|
}
|
|
}
|