fateforge-tool/.vscode/spells-schemas.json

307 lines
9.8 KiB
JSON
Raw Normal View History

2023-03-09 23:54:45 +00:00
{
2023-03-15 23:48:48 +00:00
"$comment": "TODO: Subdivide the schema to have a common definition for each data (spellss, books, creatures)",
2023-03-09 23:54:45 +00:00
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://example.com/object1678401116.json",
"title": "Root",
"type": "object",
2023-03-15 23:48:48 +00:00
"required": ["spells"],
2023-03-09 23:54:45 +00:00
"properties": {
2023-03-15 23:48:48 +00:00
"spells": {
"$id": "#root/spells",
"title": "spells",
2023-03-09 23:54:45 +00:00
"type": "array",
"default": [],
"items": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items",
2023-03-09 23:54:45 +00:00
"title": "Items",
"type": "object",
"required": [
"recid",
"name",
"source",
"page",
"srd",
"level",
"school",
"time",
"range",
"components",
"duration",
"desc"
],
"properties": {
"recid": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/recid",
2023-03-09 23:54:45 +00:00
"title": "Recid",
"type": "integer",
"examples": [0],
"default": 0,
2023-03-15 23:48:48 +00:00
"description": "unique id for the spells, for localization purpose",
2023-03-09 23:54:45 +00:00
"uniqueItems": true,
"autoIncrement": true
},
"name": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/name",
2023-03-09 23:54:45 +00:00
"title": "Name",
"type": "string",
"default": "",
"examples": ["Acid Arrow"],
"pattern": "^.*$"
},
"source": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/source",
2023-03-09 23:54:45 +00:00
"title": "Source",
"description": "what's the source. Each enum is a book code",
"type": "string",
"default": "GRI01",
"enum": ["GRI01", "ENC01", "CRE01", "GRI02", "ENC02", "CRE02"],
"examples": ["GRI01"],
"pattern": "^.*$"
},
"page": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/page",
2023-03-09 23:54:45 +00:00
"description": "in the book, page source",
"title": "Page",
"type": "integer",
"examples": [110],
"default": 0
},
"srd": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/srd",
2023-03-09 23:54:45 +00:00
"description": "is srd or a creation",
"title": "Srd",
"type": "boolean",
"examples": [true],
"default": true
},
"level": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/level",
2023-03-09 23:54:45 +00:00
"title": "Level",
"type": "integer",
"examples": [2],
"default": 0
},
"school": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/school",
2023-03-09 23:54:45 +00:00
"description": " 'A' : Abjuration,'C' : Conjuration, 'D': Divination, 'E': Enchantment, 'N': Necromancy, 'T' : Transmutation, 'I' : Illusion, 'V' : Evocation",
"enum": ["A", "C", "D", "E", "I", "N", "T", "V"],
"title": "School",
"type": "string",
"examples": ["E"],
"pattern": "^.*$"
},
"time": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/time",
2023-03-09 23:54:45 +00:00
"title": "Time",
"type": "array",
"default": [],
"items": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/time/items",
2023-03-09 23:54:45 +00:00
"title": "Items",
"type": "object",
"required": ["number", "unit"],
"properties": {
"number": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/time/items/number",
2023-03-09 23:54:45 +00:00
"title": "Number",
"type": "integer",
"examples": [1],
"default": 0
},
"unit": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/time/items/unit",
2023-03-09 23:54:45 +00:00
"title": "Unit",
"type": "string",
"default": "",
"examples": ["action"],
"pattern": "^.*$"
}
},
"dependentRequired": {
"number": ["unit"]
}
}
},
"range": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/range",
2023-03-09 23:54:45 +00:00
"title": "Range",
"type": "object",
"required": ["type", "distance"],
"properties": {
"type": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/range/type",
2023-03-09 23:54:45 +00:00
"title": "Type",
"type": "string",
"default": "point",
"examples": ["point"],
"pattern": "^.*$",
"enum": ["point", "cone", "sphere", "cylinder", "special"],
"description": "point by default, but can be cone, sphere, cylinder, special "
},
"distance": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/range/distance",
2023-03-09 23:54:45 +00:00
"title": "Distance",
"type": "object",
"required": ["type", "amount"],
"properties": {
"type": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/range/distance/type",
2023-03-09 23:54:45 +00:00
"title": "Type",
"type": "string",
"default": "",
"examples": ["feet"],
"pattern": "^.*$"
},
"amount": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/range/distance/amount",
2023-03-09 23:54:45 +00:00
"title": "Amount",
"type": "integer",
"examples": [90],
"default": 0
}
}
}
}
},
"components": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/components",
2023-03-09 23:54:45 +00:00
"title": "Components",
"type": "object",
"properties": {
"v": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/components/v",
2023-03-09 23:54:45 +00:00
"title": "V",
"type": "boolean",
"examples": [true],
"default": true
},
"s": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/components/s",
2023-03-09 23:54:45 +00:00
"title": "S",
"type": "boolean",
"examples": [true],
"default": true
},
"m": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/components/m",
2023-03-09 23:54:45 +00:00
"title": "M",
"type": "string",
"default": "",
"examples": ["powdered rhubarb leaf and an adders stomach"],
"pattern": "^.*$"
}
}
},
"duration": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/duration",
2023-03-09 23:54:45 +00:00
"title": "Duration",
"type": "array",
"default": [],
"items": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/duration/items",
2023-03-09 23:54:45 +00:00
"title": "Items",
"type": "object",
"required": ["type"],
"properties": {
"type": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/duration/items/type",
2023-03-09 23:54:45 +00:00
"title": "Type",
"type": "string",
"enum": ["timed", "permanent", "special", "instant"],
"default": "",
"examples": ["instant"],
"pattern": "^.*$"
}
}
}
},
"concentration": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/concentration",
2023-03-09 23:54:45 +00:00
"title": "Concentration",
"type": "boolean",
"default": false
},
"desc": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/desc",
2023-03-09 23:54:45 +00:00
"title": "Desc",
"type": "array",
"default": [],
"items": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/desc/items",
2023-03-09 23:54:45 +00:00
"title": "Items",
"type": "string",
"description": "A description for the entry. Do not copy-paste gameplay infos to prevent copyright",
"default": "",
"examples": [
"A shimmering green arrow streaks toward a target within range and bursts in a spray of acid."
],
"pattern": "^.*$"
}
},
"damageInflict": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/damageInflict",
2023-03-09 23:54:45 +00:00
"title": "Damageinflict",
"type": "array",
"default": [],
"items": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/damageInflict/items",
2023-03-09 23:54:45 +00:00
"title": "Items",
"type": "string",
"default": "",
"examples": ["acid"],
"pattern": "^.*$"
}
},
"savingThrow": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/savingThrow",
2023-03-09 23:54:45 +00:00
"title": "Savingthrow",
"description": "array of saving Throw available",
"type": "array",
"default": [],
"items": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/savingThrow/items",
2023-03-09 23:54:45 +00:00
"title": "Items",
"type": "string",
"default": "",
"enum": ["Dex", "Str", "Sag", "Cha", "Int", "Con"],
"examples": [""],
"pattern": "^.*$",
"minItems": 1,
"uniqueItems": true
}
},
"miscTags": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/miscTags",
2023-03-09 23:54:45 +00:00
"title": "Misctags",
"type": "array",
"default": [],
"items": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/miscTags/items",
2023-03-09 23:54:45 +00:00
"title": "Items",
"type": "string",
"default": "",
"examples": [""],
"pattern": "^.*$"
}
},
"areaTags": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/areaTags",
2023-03-09 23:54:45 +00:00
"title": "Areatags",
"type": "array",
"default": [],
"items": {
2023-03-15 23:48:48 +00:00
"$id": "#root/spells/items/areaTags/items",
2023-03-09 23:54:45 +00:00
"title": "Items",
"type": "string",
"default": "",
"examples": [""],
"pattern": "^.*$"
}
}
}
}
}
}
}