132 lines
2.4 KiB
JSON
132 lines
2.4 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"title": "Persona",
|
|
"type": "object",
|
|
"properties": {
|
|
"header": {
|
|
"$ref": "#/$defs/ResourceHeader"
|
|
},
|
|
"identity": {
|
|
"type": "string"
|
|
},
|
|
"initial_items": {
|
|
"type": "array",
|
|
"default": [],
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"skills": {
|
|
"type": "array",
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/$defs/SkillValue"
|
|
}
|
|
},
|
|
"traits": {
|
|
"type": "array",
|
|
"default": [],
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"header",
|
|
"name",
|
|
"identity"
|
|
],
|
|
"$defs": {
|
|
"ResourceHeader": {
|
|
"type": "object",
|
|
"properties": {
|
|
"content_hash": {
|
|
"type": "string"
|
|
},
|
|
"dependencies": {
|
|
"type": "array",
|
|
"default": [],
|
|
"items": {
|
|
"$ref": "#/$defs/ResourceRef"
|
|
}
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"$ref": "#/$defs/ResourceKind"
|
|
},
|
|
"revision": {
|
|
"type": "string"
|
|
},
|
|
"schema_version": {
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"kind",
|
|
"schema_version",
|
|
"revision",
|
|
"content_hash"
|
|
]
|
|
},
|
|
"ResourceKind": {
|
|
"type": "string",
|
|
"enum": [
|
|
"character",
|
|
"world_book",
|
|
"persona",
|
|
"plot_module",
|
|
"item_spec"
|
|
]
|
|
},
|
|
"ResourceRef": {
|
|
"type": "object",
|
|
"properties": {
|
|
"content_hash": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"$ref": "#/$defs/ResourceKind"
|
|
},
|
|
"revision": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"kind",
|
|
"revision",
|
|
"content_hash"
|
|
]
|
|
},
|
|
"SkillValue": {
|
|
"type": "object",
|
|
"properties": {
|
|
"skill": {
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"type": "integer",
|
|
"format": "uint8",
|
|
"maximum": 255,
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"skill",
|
|
"value"
|
|
]
|
|
}
|
|
}
|
|
}
|