Files
2026-04-11 01:40:21 +01:00

65 lines
1.9 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "BotC Script",
"description": "Blood on the Clocktower script in standard JSON format",
"type": "array",
"minItems": 1,
"prefixItems": [
{
"type": "object",
"description": "Script metadata (_meta block)",
"properties": {
"id": { "type": "string", "const": "_meta" },
"name": { "type": "string", "minLength": 1 }
},
"required": ["id", "name"]
}
],
"items": {
"oneOf": [
{
"type": "string",
"description": "Official character ID reference"
},
{
"type": "object",
"description": "Character entry (official reference or custom definition)",
"properties": {
"id": { "type": "string", "minLength": 1 },
"name": { "type": "string" },
"team": {
"type": "string",
"enum": ["townsfolk", "outsider", "minion", "demon", "traveller", "fabled", "loric"]
},
"ability": { "type": "string" },
"image": {
"oneOf": [
{ "type": "string" },
{ "type": "array", "items": { "type": "string" } }
]
},
"firstNight": { "type": "number" },
"firstNightReminder": { "type": "string" },
"otherNight": { "type": "number" },
"otherNightReminder": { "type": "string" },
"reminders": { "type": "array", "items": { "type": "string" } },
"remindersGlobal": { "type": "array", "items": { "type": "string" } },
"setup": { "type": "boolean" },
"jinxes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string" },
"reason": { "type": "string" }
},
"required": ["id", "reason"]
}
}
},
"required": ["id"]
}
]
}
}