2022-04-26 16:44:25 +00:00
|
|
|
$id: https://hyperboria.babyl.ca/character.json
|
|
|
|
title: Hyperboria character sheet
|
|
|
|
type: object
|
2022-04-26 16:57:57 +00:00
|
|
|
additionalProperties: false
|
|
|
|
required:
|
|
|
|
- name
|
|
|
|
- player
|
2022-04-26 17:50:56 +00:00
|
|
|
- statistics
|
2022-04-26 20:24:37 +00:00
|
|
|
- class
|
2022-04-26 21:43:26 +00:00
|
|
|
- level
|
|
|
|
- health
|
2022-04-26 16:57:57 +00:00
|
|
|
properties:
|
|
|
|
name: &string
|
|
|
|
type: string
|
|
|
|
player: *string
|
2022-04-26 20:24:37 +00:00
|
|
|
class: { $ref: '/classes.json' }
|
2022-04-26 17:50:56 +00:00
|
|
|
statistics:
|
|
|
|
type: object
|
|
|
|
allRequired: true
|
|
|
|
properties:
|
|
|
|
strength: &stat
|
|
|
|
$ref: '#/$defs/statistic'
|
|
|
|
dexterity: *stat
|
|
|
|
constitution: *stat
|
|
|
|
intelligence: *stat
|
|
|
|
wisdom: *stat
|
|
|
|
charisma: *stat
|
2022-04-26 21:43:26 +00:00
|
|
|
level: { type: number, minimum: 1 }
|
|
|
|
health: { $ref: '#/$defs/health' }
|
2022-04-26 17:50:56 +00:00
|
|
|
$defs:
|
|
|
|
statistic:
|
|
|
|
type: number
|
|
|
|
minimum: 1
|
|
|
|
maximum: 20
|
2022-04-26 21:43:26 +00:00
|
|
|
health:
|
|
|
|
type: object
|
|
|
|
required: [ max ]
|
|
|
|
properties:
|
|
|
|
max: { type: number }
|
|
|
|
current: { type: number }
|
|
|
|
log:
|
|
|
|
type: array
|
|
|
|
description: history of health rolls
|
|
|
|
items: { type: number }
|
|
|
|
minItems: { $data: /level }
|
|
|
|
maxItems: { $data: /level }
|
2022-04-26 17:50:56 +00:00
|
|
|
|