Artifacts
Ancestry
Section titled “Ancestry”ID: Ancestry
The ancestry of a character
{  "$schema": "https://json-schema.org/draft/2020-12/schema",  "id": "Ancestry",  "type": "object",  "properties": {    "_type": {      "const": "ancestry"    },    "name": {      "type": "string"    },    "description": {      "type": "string"    },    "primaryFeature": {      "type": "object",      "properties": {        "name": {          "type": "string"        },        "description": {          "type": "string"        }      },      "required": [        "name",        "description"      ],      "additionalProperties": false    },    "secondaryFeature": {      "type": "object",      "properties": {        "name": {          "type": "string"        },        "description": {          "type": "string"        }      },      "required": [        "name",        "description"      ],      "additionalProperties": false    }  },  "required": [    "_type",    "name",    "primaryFeature",    "secondaryFeature"  ],  "additionalProperties": false}Reference to an Ancestry
Section titled “Reference to an Ancestry”ID: ReferenceAncestry
{  "$schema": "https://json-schema.org/draft/2020-12/schema",  "id": "ReferenceAncestry",  "type": "object",  "properties": {    "_type": {      "const": "reference"    },    "_key": {      "const": "heritage/ancestry"    },    "value": {      "type": "string"    }  },  "required": [    "_type",    "_key",    "value"  ],  "additionalProperties": false}Community
Section titled “Community”ID: Community
A community that shaped a characters backstory
{  "$schema": "https://json-schema.org/draft/2020-12/schema",  "id": "Community",  "type": "object",  "properties": {    "_type": {      "const": "community"    },    "name": {      "type": "string"    },    "description": {      "type": "string"    },    "feature": {      "type": "object",      "properties": {        "name": {          "type": "string"        },        "description": {          "type": "string"        }      },      "required": [        "name",        "description"      ],      "additionalProperties": false    }  },  "required": [    "_type",    "name",    "feature"  ],  "additionalProperties": false}Reference to a Community
Section titled “Reference to a Community”ID: ReferenceCommunity
{  "$schema": "https://json-schema.org/draft/2020-12/schema",  "id": "ReferenceCommunity",  "type": "object",  "properties": {    "_type": {      "const": "reference"    },    "_key": {      "const": "heritage/community"    },    "value": {      "type": "string"    }  },  "required": [    "_type",    "_key",    "value"  ],  "additionalProperties": false}Domain
Section titled “Domain”ID: Domain
A domain of a character class
{  "$schema": "https://json-schema.org/draft/2020-12/schema",  "id": "Domain",  "type": "object",  "properties": {    "_type": {      "const": "domain"    },    "name": {      "type": "string"    },    "description": {      "anyOf": [        {          "type": "string"        },        {          "type": "null"        }      ]    }  },  "required": [    "_type",    "name",    "description"  ],  "additionalProperties": false}Reference to a Domain
Section titled “Reference to a Domain”ID: ReferenceDomain
{  "$schema": "https://json-schema.org/draft/2020-12/schema",  "id": "ReferenceDomain",  "type": "object",  "properties": {    "_type": {      "const": "reference"    },    "_key": {      "const": "role/domain"    },    "value": {      "type": "string"    }  },  "required": [    "_type",    "_key",    "value"  ],  "additionalProperties": false}ID: Armor
A set of armor that can be equipped by a character
{  "$schema": "https://json-schema.org/draft/2020-12/schema",  "id": "Armor",  "type": "object",  "properties": {    "_type": {      "default": "inventoryArmor",      "const": "inventoryArmor"    },    "name": {      "type": "string"    },    "description": {      "anyOf": [        {          "type": "string"        },        {          "type": "null"        }      ]    },    "baseThresholds": {      "$ref": "#/$defs/DamageThresholds"    },    "baseScore": {      "type": "integer",      "minimum": 0,      "maximum": 9007199254740991    },    "features": {      "anyOf": [        {          "type": "array",          "items": {            "type": "string"          }        },        {          "type": "null"        }      ]    }  },  "required": [    "_type",    "name",    "description",    "baseThresholds",    "baseScore",    "features"  ],  "additionalProperties": false,  "$defs": {    "DamageThresholds": {      "id": "DamageThresholds",      "title": "Damage Thresholds",      "description": "The damage thresholds of a character",      "type": "object",      "properties": {        "_type": {          "default": "damageThresholds",          "const": "damageThresholds"        },        "major": {          "type": "integer",          "minimum": 0,          "maximum": 100        },        "severe": {          "type": "integer",          "minimum": 0,          "maximum": 100        }      },      "required": [        "_type",        "major",        "severe"      ],      "additionalProperties": false    }  }}Reference to a piece of Armor
Section titled “Reference to a piece of Armor”ID: ReferenceArmor
{  "$schema": "https://json-schema.org/draft/2020-12/schema",  "id": "ReferenceArmor",  "type": "object",  "properties": {    "_type": {      "const": "reference"    },    "_key": {      "const": "item/armor"    },    "value": {      "type": "string"    }  },  "required": [    "_type",    "_key",    "value"  ],  "additionalProperties": false}ID: Thing
A thing that can be added to a character’s inventory
{  "$schema": "https://json-schema.org/draft/2020-12/schema",  "id": "Thing",  "type": "object",  "properties": {    "_type": {      "default": "inventoryThing",      "const": "inventoryThing"    },    "name": {      "type": "string"    },    "description": {      "anyOf": [        {          "type": "string"        },        {          "type": "null"        }      ]    }  },  "required": [    "_type",    "name",    "description"  ],  "additionalProperties": false}Reference to a Thing
Section titled “Reference to a Thing”ID: ReferenceThing
{  "$schema": "https://json-schema.org/draft/2020-12/schema",  "id": "ReferenceThing",  "type": "object",  "properties": {    "_type": {      "const": "reference"    },    "_key": {      "const": "item/thing"    },    "value": {      "type": "string"    }  },  "required": [    "_type",    "_key",    "value"  ],  "additionalProperties": false}Weapon
Section titled “Weapon”ID: Weapon
A weapon that can be equipped by a character
{  "$schema": "https://json-schema.org/draft/2020-12/schema",  "id": "Weapon",  "type": "object",  "properties": {    "_type": {      "default": "inventoryWeapon",      "const": "inventoryWeapon"    },    "name": {      "type": "string"    },    "trait": {      "$ref": "#/$defs/TraitName"    },    "range": {      "$ref": "#/$defs/Range"    },    "damageDice": {      "$ref": "#/$defs/DiceType"    },    "damageType": {      "$ref": "#/$defs/DamageType"    },    "features": {      "anyOf": [        {          "type": "array",          "items": {            "type": "string"          }        },        {          "type": "null"        }      ]    },    "burden": {      "anyOf": [        {          "const": "One-Handed"        },        {          "const": "Two-Handed"        }      ]    }  },  "required": [    "_type",    "name",    "trait",    "range",    "damageDice",    "damageType",    "features",    "burden"  ],  "additionalProperties": false,  "$defs": {    "TraitName": {      "id": "TraitName",      "title": "Trait Name",      "description": "The name of a character trait",      "examples": [        "Agility",        "Strength",        "Finesse",        "Instinct",        "Presence",        "Knowledge"      ],      "anyOf": [        {          "const": "Agility"        },        {          "const": "Strength"        },        {          "const": "Finesse"        },        {          "const": "Instinct"        },        {          "const": "Presence"        },        {          "const": "Knowledge"        }      ]    },    "Range": {      "id": "Range",      "title": "Range",      "description": "The range of a weapon or ability",      "examples": [        "Melee",        "Very Close",        "Close",        "Far",        "Very Far"      ],      "anyOf": [        {          "const": "Melee"        },        {          "const": "Very Close"        },        {          "const": "Close"        },        {          "const": "Far"        },        {          "const": "Very Far"        }      ]    },    "DiceType": {      "id": "DiceType",      "title": "Dice Type",      "description": "The type of dice to roll",      "examples": [        "d4",        "d6",        "d8",        "d10",        "d12",        "d20"      ],      "anyOf": [        {          "const": "d4"        },        {          "const": "d6"        },        {          "const": "d8"        },        {          "const": "d10"        },        {          "const": "d12"        },        {          "const": "d20"        }      ]    },    "DamageType": {      "id": "DamageType",      "title": "Damage Type",      "description": "The type of damage a weapon or ability deals",      "examples": [        "Physical",        "Magical"      ],      "anyOf": [        {          "const": "Physical"        },        {          "const": "Magical"        }      ]    }  }}Reference to a Weapon
Section titled “Reference to a Weapon”ID: ReferenceWeapon
{  "$schema": "https://json-schema.org/draft/2020-12/schema",  "id": "ReferenceWeapon",  "type": "object",  "properties": {    "_type": {      "const": "reference"    },    "_key": {      "const": "item/weapon"    },    "value": {      "type": "string"    }  },  "required": [    "_type",    "_key",    "value"  ],  "additionalProperties": false}ID: Class
A class of a character
{  "$schema": "https://json-schema.org/draft/2020-12/schema",  "id": "Class",  "type": "object",  "properties": {    "_type": {      "const": "class"    },    "name": {      "type": "string"    },    "domain": {      "$ref": "#/$defs/ReferenceDomain"    },    "initialEvasion": {      "type": "integer",      "minimum": 0,      "maximum": 100    },    "initialHitPoints": {      "type": "integer",      "minimum": 0,      "maximum": 9007199254740991    },    "initialInventory": {      "type": "array",      "items": {        "anyOf": [          {            "$ref": "#/$defs/Thing"          },          {            "$ref": "#/$defs/Weapon"          },          {            "$ref": "#/$defs/Armor"          }        ]      }    },    "features": {      "type": "array",      "items": {        "type": "object",        "properties": {          "name": {            "type": "string"          },          "description": {            "type": "string"          }        },        "required": [          "name",          "description"        ],        "additionalProperties": false      }    },    "hopeFeature": {      "type": "object",      "properties": {        "name": {          "type": "string"        },        "description": {          "type": "string"        }      },      "required": [        "name",        "description"      ],      "additionalProperties": false    },    "subclasses": {      "type": "array",      "items": {        "$ref": "#/$defs/ReferenceSubclass"      }    }  },  "required": [    "_type",    "name",    "domain",    "initialEvasion",    "initialHitPoints",    "initialInventory",    "features",    "hopeFeature",    "subclasses"  ],  "additionalProperties": false,  "$defs": {    "ReferenceDomain": {      "id": "ReferenceDomain",      "title": "Reference to a Domain",      "type": "object",      "properties": {        "_type": {          "const": "reference"        },        "_key": {          "const": "role/domain"        },        "value": {          "type": "string"        }      },      "required": [        "_type",        "_key",        "value"      ],      "additionalProperties": false    },    "Thing": {      "id": "Thing",      "title": "Thing",      "description": "A thing that can be added to a character's inventory",      "type": "object",      "properties": {        "_type": {          "default": "inventoryThing",          "const": "inventoryThing"        },        "name": {          "type": "string"        },        "description": {          "anyOf": [            {              "type": "string"            },            {              "type": "null"            }          ]        }      },      "required": [        "_type",        "name",        "description"      ],      "additionalProperties": false    },    "Weapon": {      "id": "Weapon",      "title": "Weapon",      "description": "A weapon that can be equipped by a character",      "type": "object",      "properties": {        "_type": {          "default": "inventoryWeapon",          "const": "inventoryWeapon"        },        "name": {          "type": "string"        },        "trait": {          "$ref": "#/$defs/TraitName"        },        "range": {          "$ref": "#/$defs/Range"        },        "damageDice": {          "$ref": "#/$defs/DiceType"        },        "damageType": {          "$ref": "#/$defs/DamageType"        },        "features": {          "anyOf": [            {              "type": "array",              "items": {                "type": "string"              }            },            {              "type": "null"            }          ]        },        "burden": {          "anyOf": [            {              "const": "One-Handed"            },            {              "const": "Two-Handed"            }          ]        }      },      "required": [        "_type",        "name",        "trait",        "range",        "damageDice",        "damageType",        "features",        "burden"      ],      "additionalProperties": false    },    "TraitName": {      "id": "TraitName",      "title": "Trait Name",      "description": "The name of a character trait",      "examples": [        "Agility",        "Strength",        "Finesse",        "Instinct",        "Presence",        "Knowledge"      ],      "anyOf": [        {          "const": "Agility"        },        {          "const": "Strength"        },        {          "const": "Finesse"        },        {          "const": "Instinct"        },        {          "const": "Presence"        },        {          "const": "Knowledge"        }      ]    },    "Range": {      "id": "Range",      "title": "Range",      "description": "The range of a weapon or ability",      "examples": [        "Melee",        "Very Close",        "Close",        "Far",        "Very Far"      ],      "anyOf": [        {          "const": "Melee"        },        {          "const": "Very Close"        },        {          "const": "Close"        },        {          "const": "Far"        },        {          "const": "Very Far"        }      ]    },    "DiceType": {      "id": "DiceType",      "title": "Dice Type",      "description": "The type of dice to roll",      "examples": [        "d4",        "d6",        "d8",        "d10",        "d12",        "d20"      ],      "anyOf": [        {          "const": "d4"        },        {          "const": "d6"        },        {          "const": "d8"        },        {          "const": "d10"        },        {          "const": "d12"        },        {          "const": "d20"        }      ]    },    "DamageType": {      "id": "DamageType",      "title": "Damage Type",      "description": "The type of damage a weapon or ability deals",      "examples": [        "Physical",        "Magical"      ],      "anyOf": [        {          "const": "Physical"        },        {          "const": "Magical"        }      ]    },    "Armor": {      "id": "Armor",      "title": "Armor",      "description": "A set of armor that can be equipped by a character",      "type": "object",      "properties": {        "_type": {          "default": "inventoryArmor",          "const": "inventoryArmor"        },        "name": {          "type": "string"        },        "description": {          "anyOf": [            {              "type": "string"            },            {              "type": "null"            }          ]        },        "baseThresholds": {          "$ref": "#/$defs/DamageThresholds"        },        "baseScore": {          "type": "integer",          "minimum": 0,          "maximum": 9007199254740991        },        "features": {          "anyOf": [            {              "type": "array",              "items": {                "type": "string"              }            },            {              "type": "null"            }          ]        }      },      "required": [        "_type",        "name",        "description",        "baseThresholds",        "baseScore",        "features"      ],      "additionalProperties": false    },    "DamageThresholds": {      "id": "DamageThresholds",      "title": "Damage Thresholds",      "description": "The damage thresholds of a character",      "type": "object",      "properties": {        "_type": {          "default": "damageThresholds",          "const": "damageThresholds"        },        "major": {          "type": "integer",          "minimum": 0,          "maximum": 100        },        "severe": {          "type": "integer",          "minimum": 0,          "maximum": 100        }      },      "required": [        "_type",        "major",        "severe"      ],      "additionalProperties": false    },    "ReferenceSubclass": {      "id": "ReferenceSubclass",      "title": "Reference to a Subclass",      "type": "object",      "properties": {        "_type": {          "const": "reference"        },        "_key": {          "const": "role/subclass"        },        "value": {          "type": "string"        }      },      "required": [        "_type",        "_key",        "value"      ],      "additionalProperties": false    }  }}Reference to a Class
Section titled “Reference to a Class”ID: ReferenceClass
{  "$schema": "https://json-schema.org/draft/2020-12/schema",  "id": "ReferenceClass",  "type": "object",  "properties": {    "_type": {      "const": "reference"    },    "_key": {      "const": "role/class"    },    "value": {      "type": "string"    }  },  "required": [    "_type",    "_key",    "value"  ],  "additionalProperties": false}Subclass
Section titled “Subclass”ID: Subclass
A subclass of a class
{  "$schema": "https://json-schema.org/draft/2020-12/schema",  "id": "Subclass",  "type": "object",  "properties": {    "_type": {      "const": "subclass"    },    "name": {      "type": "string"    },    "description": {      "type": "string"    },    "spellTrait": {      "default": null,      "anyOf": [        {          "$ref": "#/$defs/TraitName"        },        {          "type": "null"        }      ]    },    "foundationFeatures": {      "type": "array",      "items": {        "$ref": "#/$defs/Feature"      }    },    "specializationFeatures": {      "type": "array",      "items": {        "$ref": "#/$defs/Feature"      }    },    "masteryFeatures": {      "type": "array",      "items": {        "$ref": "#/$defs/Feature"      }    }  },  "required": [    "_type",    "name",    "description",    "spellTrait",    "foundationFeatures",    "specializationFeatures",    "masteryFeatures"  ],  "additionalProperties": false,  "$defs": {    "TraitName": {      "id": "TraitName",      "title": "Trait Name",      "description": "The name of a character trait",      "examples": [        "Agility",        "Strength",        "Finesse",        "Instinct",        "Presence",        "Knowledge"      ],      "anyOf": [        {          "const": "Agility"        },        {          "const": "Strength"        },        {          "const": "Finesse"        },        {          "const": "Instinct"        },        {          "const": "Presence"        },        {          "const": "Knowledge"        }      ]    },    "Feature": {      "id": "Feature",      "title": "Feature",      "description": "A feature for a character to use",      "type": "object",      "properties": {        "_type": {          "const": "feature"        },        "name": {          "type": "string"        },        "description": {          "type": "string"        },        "notes": {          "default": null,          "anyOf": [            {              "type": "array",              "items": {                "type": "string"              }            },            {              "type": "null"            }          ]        },        "modifiers": {          "default": null,          "type": "null"        }      },      "required": [        "_type",        "name",        "description",        "notes",        "modifiers"      ],      "additionalProperties": false    }  }}Reference to a Subclass
Section titled “Reference to a Subclass”ID: ReferenceSubclass
{  "$schema": "https://json-schema.org/draft/2020-12/schema",  "id": "ReferenceSubclass",  "type": "object",  "properties": {    "_type": {      "const": "reference"    },    "_key": {      "const": "role/subclass"    },    "value": {      "type": "string"    }  },  "required": [    "_type",    "_key",    "value"  ],  "additionalProperties": false}