{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "data/spells.schema.json", "title": "Spell Sheet", "description": "A collection of Fabula Ultima spells and arcana entries.", "type": "object", "properties": { "spells": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the spell or arcana." }, "cost": { "type": "string", "minimum": 0, "description": "MP cost to cast the spell." }, "targets": { "type": "string", "description": "Who or what the spell affects (e.g. \"One creature\", \"All enemies\")." }, "duration": { "type": "string", "description": "How long the spell's effect lasts (e.g. \"Instantaneous\", \"Scene\")." }, "description": { "type": "string", "description": "Full effect description and any special rules for the spell." }, "class": { "type": "string", "enum": ["arcanist", "chimerist", "elementalist", "entropist", "spiritist"], "description": "The magic-using class this spell belongs to." }, "offensive": { "type": "boolean", "description": "Whether the spell is offensive in nature." } }, "required": ["name", "cost", "targets", "duration", "description", "class"], "additionalProperties": false } } }, "required": ["spells"] }