{ "$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" }