9035125f77
Validation du contenu / validate (push) Has been cancelled
- documente l'ajout d'images sous licence libre ou avec autorisation de l'éditeur (assets/assets.json) et ajoute son schéma ; - les images sont traitées comme des fichiers binaires ; - couleurs d'Azul et d'Harmonies, et couleurs propres à l'extension Crescendo, reprises des pochettes ; - schéma des extensions régénéré (champ colors). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
430 lines
12 KiB
JSON
430 lines
12 KiB
JSON
{
|
|
"type": "object",
|
|
"properties": {
|
|
"$schema": {
|
|
"type": "string"
|
|
},
|
|
"schemaVersion": {
|
|
"type": "number",
|
|
"const": 1
|
|
},
|
|
"bggId": {
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 60
|
|
},
|
|
"officialRulesUrl": {
|
|
"type": "string",
|
|
"format": "uri",
|
|
"pattern": "^https\\:\\/\\/"
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"pattern": "^#[0-9a-fA-F]{6}$"
|
|
},
|
|
"secondary": {
|
|
"type": "string",
|
|
"pattern": "^#[0-9a-fA-F]{6}$"
|
|
}
|
|
},
|
|
"required": [
|
|
"primary"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"adds": {
|
|
"type": "object",
|
|
"properties": {
|
|
"options": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "boolean"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 60,
|
|
"pattern": "^[a-z0-9][a-z0-9_-]*$"
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 80
|
|
},
|
|
"default": {
|
|
"type": "boolean"
|
|
},
|
|
"visibleWhen": {
|
|
"type": "object",
|
|
"properties": {
|
|
"optionId": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 60,
|
|
"pattern": "^[a-z0-9][a-z0-9_-]*$"
|
|
},
|
|
"equals": {
|
|
"type": [
|
|
"boolean",
|
|
"number",
|
|
"string"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"optionId",
|
|
"equals"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"id",
|
|
"label",
|
|
"default"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "number"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 60,
|
|
"pattern": "^[a-z0-9][a-z0-9_-]*$"
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 80
|
|
},
|
|
"default": {
|
|
"type": "number"
|
|
},
|
|
"min": {
|
|
"type": "number"
|
|
},
|
|
"max": {
|
|
"type": "number"
|
|
},
|
|
"visibleWhen": {
|
|
"type": "object",
|
|
"properties": {
|
|
"optionId": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 60,
|
|
"pattern": "^[a-z0-9][a-z0-9_-]*$"
|
|
},
|
|
"equals": {
|
|
"type": [
|
|
"boolean",
|
|
"number",
|
|
"string"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"optionId",
|
|
"equals"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"id",
|
|
"label",
|
|
"default"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "select"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 60,
|
|
"pattern": "^[a-z0-9][a-z0-9_-]*$"
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 80
|
|
},
|
|
"default": {
|
|
"type": "string"
|
|
},
|
|
"choices": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string"
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 80
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"label"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"minItems": 1
|
|
},
|
|
"visibleWhen": {
|
|
"type": "object",
|
|
"properties": {
|
|
"optionId": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 60,
|
|
"pattern": "^[a-z0-9][a-z0-9_-]*$"
|
|
},
|
|
"equals": {
|
|
"type": [
|
|
"boolean",
|
|
"number",
|
|
"string"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"optionId",
|
|
"equals"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"id",
|
|
"label",
|
|
"default",
|
|
"choices"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
},
|
|
"default": []
|
|
},
|
|
"choices": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"optionId": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 60,
|
|
"pattern": "^[a-z0-9][a-z0-9_-]*$"
|
|
},
|
|
"values": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string"
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 80
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"label"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"minItems": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"optionId",
|
|
"values"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"default": []
|
|
},
|
|
"categories": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 60,
|
|
"pattern": "^[a-z0-9][a-z0-9_-]*$"
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 80
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"maxLength": 40
|
|
},
|
|
"color": {
|
|
"type": "string",
|
|
"pattern": "^#[0-9a-fA-F]{6}$"
|
|
},
|
|
"requiresOption": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 60,
|
|
"pattern": "^[a-z0-9][a-z0-9_-]*$"
|
|
},
|
|
"after": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 60,
|
|
"pattern": "^[a-z0-9][a-z0-9_-]*$"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"label"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"default": []
|
|
},
|
|
"players": {
|
|
"type": "object",
|
|
"properties": {
|
|
"min": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 30
|
|
},
|
|
"max": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 30
|
|
}
|
|
},
|
|
"required": [
|
|
"min",
|
|
"max"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"end": {
|
|
"type": "object",
|
|
"properties": {
|
|
"target": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "fixed"
|
|
},
|
|
"value": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"value"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "option"
|
|
},
|
|
"optionId": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 60,
|
|
"pattern": "^[a-z0-9][a-z0-9_-]*$"
|
|
},
|
|
"customValue": {
|
|
"type": "string"
|
|
},
|
|
"customOptionId": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 60,
|
|
"pattern": "^[a-z0-9][a-z0-9_-]*$"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"optionId"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
},
|
|
"targetCondition": {
|
|
"type": "string",
|
|
"enum": [
|
|
"reaches",
|
|
"exceeds"
|
|
],
|
|
"default": "reaches"
|
|
},
|
|
"rounds": {
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"default": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"schemaVersion",
|
|
"bggId",
|
|
"name"
|
|
],
|
|
"additionalProperties": false,
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "Extension Skori (expansion.json)"
|
|
}
|