{ "$defs" : { "experience" : { "properties" : { "items" : { "properties" : { "amount" : { "type" : "number" }, "date" : { "type" : "string" }, "notes" : { "type" : "string" } }, "type" : "object" }, "log" : { "type" : "array" }, "total" : { "sumOf" : { "list" : { "$data" : "1/log" }, "map" : "amount" }, "type" : "number" } }, "type" : "object" }, "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" : { "age" : { "type" : "number" }, "alignment" : { "type" : "string" }, "appearance" : { "type" : "string" }, "class" : { "$ref" : "/classes.json" }, "experience" : { "$ref" : "#/$defs/experience" }, "gender" : { "type" : "string" }, "health" : { "$ref" : "#/$defs/health" }, "height" : { "type" : "string" }, "languages" : { "items" : { "$ref" : "/languages.json" }, "minItems" : 1, "type" : "array" }, "level" : { "minimum" : 1, "type" : "number" }, "name" : { "type" : "string" }, "player" : { "type" : "string" }, "race" : { "$ref" : "/races.json" }, "spells" : { "items" : { "$ref" : "/spells.json" }, "maxSpells" : { "class" : { "$data" : "/class" }, "level" : { "$data" : "/level" } }, "type" : "array" }, "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", "experience", "age", "height", "appearance", "alignment" ], "title" : "Hyperboria character sheet", "type" : "object" }