hyperborea-character-sheet/schemas-json/character.json

96 lines
2.1 KiB
JSON

{
"$defs" : {
"health" : {
"properties" : {
"current" : {
"type" : "number"
},
"log" : {
"description" : "history of health rolls",
"items" : {
"type" : "number"
},
"maxItems" : {
"$data" : "/level"
},
"minItems" : {
"$data" : "/level"
},
"type" : "array"
},
"max" : {
"sumOf" : {
"list" : {
"$data" : "1/log"
}
},
"type" : "number"
}
},
"required" : [
"max"
],
"type" : "object"
},
"statistic" : {
"maximum" : 20,
"minimum" : 1,
"type" : "number"
}
},
"$id" : "https://hyperboria.babyl.ca/character.json",
"additionalProperties" : false,
"properties" : {
"class" : {
"$ref" : "/classes.json"
},
"health" : {
"$ref" : "#/$defs/health"
},
"level" : {
"minimum" : 1,
"type" : "number"
},
"name" : {
"type" : "string"
},
"player" : {
"type" : "string"
},
"statistics" : {
"allRequired" : true,
"properties" : {
"charisma" : {
"$ref" : "#/$defs/statistic"
},
"constitution" : {
"$ref" : "#/$defs/statistic"
},
"dexterity" : {
"$ref" : "#/$defs/statistic"
},
"intelligence" : {
"$ref" : "#/$defs/statistic"
},
"strength" : {
"$ref" : "#/$defs/statistic"
},
"wisdom" : {
"$ref" : "#/$defs/statistic"
}
},
"type" : "object"
}
},
"required" : [
"name",
"player",
"statistics",
"class",
"level",
"health"
],
"title" : "Hyperboria character sheet",
"type" : "object"
}