refactor!: remove json schema files

This commit is contained in:
Lukas Obermann
2025-09-03 11:59:43 +02:00
parent be5a18725a
commit 588c0d6818
214 changed files with 0 additions and 41539 deletions
-108
View File
@@ -1,108 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Advantage.schema.json",
"$ref": "#/$defs/Advantage",
"$defs": {
"Advantage": {
"title": "Advantage",
"type": "object",
"properties": {
"id": {
"$ref": "./_Activatable.schema.json#/$defs/Id"
},
"levels": {
"$ref": "./_Activatable.schema.json#/$defs/Levels"
},
"select_options": {
"$ref": "./_Activatable.schema.json#/$defs/SelectOptions"
},
"skill_applications": {
"$ref": "./_Activatable.schema.json#/$defs/SkillApplications"
},
"skill_uses": {
"$ref": "./_Activatable.schema.json#/$defs/SkillUses"
},
"maximum": {
"$ref": "./_Activatable.schema.json#/$defs/Maximum"
},
"prerequisites": {
"$ref": "./_Prerequisite.schema.json#/$defs/AdvantageDisadvantagePrerequisites"
},
"ap_value": {
"$ref": "./_Activatable.schema.json#/$defs/AdventurePointsValue"
},
"has_maximum_spent_influence": {
"description": "Does this advantage count towards the maximum of AP to be spent on advantages?",
"type": "boolean",
"default": true
},
"is_exclusive_to_arcane_spellworks": {
"description": "Does this advantage exclusively applies to arcane spellworks and not to magical actions and magical applications?",
"type": "boolean",
"default": false
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/AdvantageTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"ap_value",
"has_maximum_spent_influence",
"is_exclusive_to_arcane_spellworks",
"src",
"translations"
],
"additionalProperties": false
},
"AdvantageTranslation": {
"type": "object",
"properties": {
"name": {
"$ref": "./_Activatable.schema.json#/$defs/Name"
},
"name_in_library": {
"$ref": "./_Activatable.schema.json#/$defs/NameInLibrary"
},
"input": {
"description": "A string that is used as a label for an input field.",
"$ref": "./_Activatable.schema.json#/$defs/Input"
},
"rules": {
"$ref": "./_Activatable.schema.json#/$defs/Rules"
},
"range": {
"description": "The range.",
"type": "string",
"minLength": 1
},
"ap_value": {
"$ref": "./_Activatable.schema.json#/$defs/AdventurePointsValueReplacement"
},
"ap_value_append": {
"description": "A string that gets appended to the default AP Value text with a preceding space. This always happens if present, even if the generated AP Value text is replaced.",
"$ref": "./_Activatable.schema.json#/$defs/AdventurePointsValueAppend"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"rules"
],
"additionalProperties": false
}
}
}
-74
View File
@@ -1,74 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/AnimalDisease.schema.json",
"$ref": "#/$defs/AnimalDisease",
"$defs": {
"AnimalDisease": {
"title": "Animal Disease",
"type": "object",
"properties": {
"id": {
"description": "The animal disease's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"level": {
"description": "The animal disease's level.",
"type": "integer",
"minimum": 1
},
"resistance": {
"description": "Depending on the disease, apply Spirit or Toughness as a penalty to the disease roll. It may also happen that the lower of both is applied as a penalty.",
"$ref": "./_DiseasePoison.schema.json#/$defs/Resistance"
},
"cause": {
"description": "What causes the disease? The GM rolls 1D20 to see if a character gets infected. If the infection check succeeds, the GM makes a disease check to determine the severity of the infection.",
"type": "array",
"items": {
"$ref": "./_DiseasePoison.schema.json#/$defs/Cause"
},
"minItems": 1
},
"animal_types": {
"description": "The animal types this disease applies to.\n\nIf no animal types are given, the animal disease applies to all animal types.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/AnimalTypeReference"
}
},
"communicability_to_intelligent_creatures": {
"description": "If and at which chance the disease can be communicated to intelligent creatures.\n\nIf no causes are given, the disease is not communicable to intelligent creatures.",
"type": "array",
"items": {
"$ref": "./_DiseasePoison.schema.json#/$defs/Cause"
}
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "./_DiseasePoison.schema.json#/$defs/DiseaseTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"level",
"resistance",
"cause",
"animal_types",
"communicability_to_intelligent_creatures",
"src",
"translations"
],
"additionalProperties": false
}
}
}
-47
View File
@@ -1,47 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/AnimalType.schema.json",
"$ref": "#/$defs/AnimalType",
"$defs": {
"AnimalType": {
"title": "Animal Type",
"type": "object",
"properties": {
"id": {
"description": "The animal type's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/AnimalTypeTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"translations"
],
"additionalProperties": false
},
"AnimalTypeTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The animal type name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-11
View File
@@ -1,11 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/ArcaneBardTradition.schema.json",
"$ref": "#/$defs/ArcaneBardTradition",
"$defs": {
"ArcaneBardTradition": {
"title": "Arcane Bard Tradition",
"$ref": "./_ArcaneTradition.schema.json#/$defs/ArcaneTradition"
}
}
}
-11
View File
@@ -1,11 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/ArcaneDancerTradition.schema.json",
"$ref": "#/$defs/ArcaneDancerTradition",
"$defs": {
"ArcaneDancerTradition": {
"title": "Arcane Dancer Tradition",
"$ref": "./_ArcaneTradition.schema.json#/$defs/ArcaneTradition"
}
}
}
-51
View File
@@ -1,51 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Aspect.schema.json",
"$ref": "#/$defs/Aspect",
"$defs": {
"Aspect": {
"title": "Aspect",
"type": "object",
"properties": {
"id": {
"description": "The aspect's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/AspectTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"translations"
],
"additionalProperties": false
},
"AspectTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The aspect name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"master_of_aspect_suffix": {
"description": "The aspect's name appended to the simple name (not `name_in_library`) of the special ability *Master of (Aspect)*.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-57
View File
@@ -1,57 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Attribute.schema.json",
"$ref": "#/$defs/Attribute",
"$defs": {
"Attribute": {
"title": "Attribute",
"type": "object",
"properties": {
"id": {
"description": "The attribute's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/AttributeTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"translations"
],
"additionalProperties": false
},
"AttributeTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The attribute's name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"abbreviation": {
"description": "The abbreviation of the attribute's name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"description": {
"description": "The description of the attribute.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name",
"abbreviation",
"description"
],
"additionalProperties": false
}
}
}
-265
View File
@@ -1,265 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Blessing.schema.json",
"$ref": "#/$defs/Blessing",
"$defs": {
"Blessing": {
"title": "Blessing",
"type": "object",
"properties": {
"id": {
"description": "The blessing's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"parameters": {
"description": "Measurable parameters of a blessing.",
"$ref": "#/$defs/BlessingPerformanceParameters"
},
"target": {
"description": "The target category the kind of creature or object the skill affects.",
"$ref": "./_ActivatableSkillTargetCategory.schema.json#/$defs/AffectedTargetCategories"
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/BlessingTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"parameters",
"target",
"src",
"translations"
],
"additionalProperties": false
},
"BlessingTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the blessing.",
"type": "string",
"minLength": 1
},
"effect": {
"description": "The effect description.",
"type": "string",
"minLength": 1
},
"range": {
"type": "string"
},
"duration": {
"type": "string"
},
"target": {
"type": "string"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"effect",
"range",
"duration",
"target"
],
"additionalProperties": false
},
"BlessingPerformanceParameters": {
"description": "Measurable parameters of a blessing.",
"type": "object",
"properties": {
"range": {
"$ref": "#/$defs/BlessingRange"
},
"duration": {
"$ref": "#/$defs/BlessingDuration"
}
},
"required": [
"range",
"duration"
],
"additionalProperties": false
},
"BlessingRange": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Self"
},
"self": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"self"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Touch"
},
"touch": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"touch"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Fixed"
},
"fixed": {
"$ref": "./_ActivatableSkillRange.schema.json#/$defs/FixedRange"
}
},
"required": [
"tag",
"fixed"
],
"additionalProperties": false
}
]
},
"BlessingDuration": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Immediate"
},
"immediate": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"immediate"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Fixed"
},
"fixed": {
"$ref": "#/$defs/FixedBlessingDuration"
}
},
"required": [
"tag",
"fixed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Indefinite"
},
"indefinite": {
"$ref": "#/$defs/IndefiniteBlessingDuration"
}
},
"required": [
"tag",
"indefinite"
],
"additionalProperties": false
}
]
},
"FixedBlessingDuration": {
"type": "object",
"properties": {
"value": {
"description": "The (unitless) duration.",
"type": "integer",
"minimum": 1
},
"unit": {
"description": "The duration unit.",
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnit"
}
},
"required": [
"value",
"unit"
],
"additionalProperties": false
},
"IndefiniteBlessingDuration": {
"type": "object",
"properties": {
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/IndefiniteBlessingDurationTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"translations"
],
"additionalProperties": false
},
"IndefiniteBlessingDurationTranslation": {
"type": "object",
"properties": {
"description": {
"description": "A description of the duration.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveText"
}
},
"required": [
"description"
],
"additionalProperties": false
}
}
}
-443
View File
@@ -1,443 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Cantrip.schema.json",
"$ref": "#/$defs/Cantrip",
"$defs": {
"Cantrip": {
"title": "Cantrip",
"type": "object",
"properties": {
"id": {
"description": "The cantrip's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"parameters": {
"description": "Measurable parameters of a cantrip.",
"$ref": "#/$defs/CantripPerformanceParameters"
},
"target": {
"description": "The target category the kind of creature or object the skill affects.",
"$ref": "./_ActivatableSkillTargetCategory.schema.json#/$defs/AffectedTargetCategories"
},
"property": {
"description": "The associated property.",
"$ref": "./_SimpleReferences.schema.json#/$defs/PropertyReference"
},
"note": {
"description": "A note specifying the dissemination of the cantrip in different traditions. Sometimes a cantrip is exclusively available to one or more specific traditions, but usually one the academies and traditions are listed the cantrip is most commonly teached in.",
"$ref": "#/$defs/CantripNote"
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/CantripTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
},
"enhancements": {
"$ref": "./_Enhancements.schema.json#/$defs/Enhancements"
}
},
"required": [
"id",
"parameters",
"target",
"property",
"src",
"translations"
],
"additionalProperties": false
},
"CantripNote": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Exclusive"
},
"exclusive": {
"$ref": "#/$defs/ExclusiveCantripNote"
}
},
"required": [
"tag",
"exclusive"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Common"
},
"common": {
"$ref": "#/$defs/CommonCantripNotes"
}
},
"required": [
"tag",
"common"
],
"additionalProperties": false
}
]
},
"ExclusiveCantripNote": {
"type": "object",
"properties": {
"traditions": {
"description": "The traditions the cantrip is exclusively available to.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/MagicalTraditionReference"
},
"minItems": 1,
"uniqueItems": true
}
},
"required": [
"traditions"
],
"additionalProperties": false
},
"CommonCantripNotes": {
"type": "object",
"properties": {
"list": {
"description": "The academies and traditions the cantrip is commonly teached in.",
"type": "array",
"items": {
"$ref": "#/$defs/CommonCantripNote"
},
"minItems": 1,
"uniqueItems": true
}
},
"required": [
"list"
],
"additionalProperties": false
},
"CommonCantripNote": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Academy"
},
"academy": {
"$ref": "./_SimpleReferences.schema.json#/$defs/CurriculumReference"
}
},
"required": [
"tag",
"academy"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Tradition"
},
"tradition": {
"$ref": "#/$defs/CommonCantripTraditionNote"
}
},
"required": [
"tag",
"tradition"
],
"additionalProperties": false
}
]
},
"CommonCantripTraditionNote": {
"type": "object",
"properties": {
"id": {
"description": "The magical tradition's identifier.",
"$ref": "./_Identifier.schema.json#/$defs/MagicalTraditionIdentifier"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/CommonCantripTraditionNoteTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id"
],
"additionalProperties": false
},
"CommonCantripTraditionNoteTranslation": {
"type": "object",
"properties": {
"note": {
"description": "A note, appended to the generated string in parenthesis.",
"type": "string",
"minLength": 1
}
},
"required": [
"note"
],
"additionalProperties": false
},
"CantripTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the spell.",
"type": "string",
"minLength": 1
},
"effect": {
"description": "The effect description.",
"type": "string",
"minLength": 1
},
"range": {
"type": "string"
},
"duration": {
"type": "string"
},
"target": {
"type": "string"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"effect",
"range",
"duration",
"target"
],
"additionalProperties": false
},
"CantripPerformanceParameters": {
"description": "Measurable parameters of a blessing.",
"type": "object",
"properties": {
"range": {
"$ref": "#/$defs/CantripRange"
},
"duration": {
"$ref": "#/$defs/CantripDuration"
}
},
"required": [
"range",
"duration"
],
"additionalProperties": false
},
"CantripRange": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Self"
},
"self": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"self"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Touch"
},
"touch": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"touch"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Fixed"
},
"fixed": {
"$ref": "./_ActivatableSkillRange.schema.json#/$defs/FixedRange"
}
},
"required": [
"tag",
"fixed"
],
"additionalProperties": false
}
]
},
"CantripDuration": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Immediate"
},
"immediate": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"immediate"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Fixed"
},
"fixed": {
"$ref": "#/$defs/FixedCantripDuration"
}
},
"required": [
"tag",
"fixed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "DuringLovemaking"
},
"during_lovemaking": {
"$ref": "./_ActivatableSkillCastingTime.schema.json#/$defs/CastingTimeDuringLovemaking"
}
},
"required": [
"tag",
"during_lovemaking"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Indefinite"
},
"indefinite": {
"$ref": "#/$defs/IndefiniteCantripDuration"
}
},
"required": [
"tag",
"indefinite"
],
"additionalProperties": false
}
]
},
"FixedCantripDuration": {
"type": "object",
"properties": {
"is_maximum": {
"description": "If `true`, the duration is a maximum duration.",
"const": true
},
"value": {
"description": "The (unitless) duration.",
"type": "integer",
"minimum": 1
},
"unit": {
"description": "The duration unit.",
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnit"
}
},
"required": [
"value",
"unit"
],
"additionalProperties": false
},
"IndefiniteCantripDuration": {
"type": "object",
"properties": {
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/IndefiniteCantripDurationTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"translations"
],
"additionalProperties": false
},
"IndefiniteCantripDurationTranslation": {
"type": "object",
"properties": {
"description": {
"description": "A description of the duration.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveText"
}
},
"required": [
"description"
],
"additionalProperties": false
}
}
}
-122
View File
@@ -1,122 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Ceremony.schema.json",
"$ref": "#/$defs/Ceremony",
"$defs": {
"Ceremony": {
"title": "Ceremony",
"type": "object",
"properties": {
"id": {
"description": "The ceremony's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"check": {
"description": "Lists the linked three attributes used to make a skill check.",
"$ref": "./_SkillCheck.schema.json#/$defs/SkillCheck"
},
"check_penalty": {
"description": "In some cases, the target's Spirit or Toughness is applied as a penalty.",
"$ref": "./_SkillCheck.schema.json#/$defs/SkillCheckPenalty"
},
"parameters": {
"description": "Measurable parameters of a ceremony.",
"$ref": "./_ActivatableSkill.schema.json#/$defs/SlowPerformanceParameters"
},
"target": {
"description": "The target category the kind of creature or object the skill affects.",
"$ref": "./_ActivatableSkillTargetCategory.schema.json#/$defs/AffectedTargetCategories"
},
"traditions": {
"description": "The tradition(s) the ceremony is available for. Note that general aspects do not have an associated tradition and thus need to be defined in a special way.",
"type": "array",
"items": {
"$ref": "./_Blessed.schema.json#/$defs/SkillTradition"
},
"minItems": 1
},
"improvement_cost": {
"description": "States which column is used to improve the skill.",
"$ref": "./_ImprovementCost.schema.json#/$defs/ImprovementCost"
},
"prerequisites": {
"$ref": "./_Prerequisite.schema.json#/$defs/LiturgyPrerequisites"
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/CeremonyTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
},
"enhancements": {
"$ref": "./_Enhancements.schema.json#/$defs/Enhancements"
}
},
"required": [
"id",
"check",
"parameters",
"target",
"traditions",
"improvement_cost",
"src",
"translations"
],
"additionalProperties": false
},
"CeremonyTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the ceremony.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"name_compressed": {
"description": "A compressed name of the ceremony for use in small areas (e.g. on character sheet). Should only be defined if the `name` does not fit on character sheet.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"effect": {
"description": "The effect description may be either a plain text or a text that is divided by a list of effects for each quality level. It may also be a list for each two quality levels.",
"$ref": "./_ActivatableSkillEffect.schema.json#/$defs/ActivatableSkillEffect"
},
"casting_time": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"cost": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"range": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"duration": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"target": {
"type": "string"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"effect",
"casting_time",
"cost",
"range",
"duration",
"target"
],
"additionalProperties": false
}
}
}
-116
View File
@@ -1,116 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/CombatTechnique_Close.schema.json",
"$ref": "#/$defs/CloseCombatTechnique",
"$defs": {
"CloseCombatTechnique": {
"title": "Close Combat Technique",
"type": "object",
"properties": {
"id": {
"description": "The close combat technique's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"special": {
"description": "Special rules for the combat technique that apply to all weapons in this category.",
"$ref": "#/$defs/CloseCombatTechniqueSpecialRules"
},
"primary_attribute": {
"description": "The primary attribute(s).",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/AttributeReference"
},
"minItems": 1,
"maxItems": 2,
"uniqueItems": true
},
"breaking_point_rating": {
"description": "The *Breaking Point Rating* of the respective combat technique.",
"type": "integer",
"minimum": 1
},
"improvement_cost": {
"$ref": "./_ImprovementCost.schema.json#/$defs/ImprovementCost"
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/CloseCombatTechniqueTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"special",
"primary_attribute",
"breaking_point_rating",
"improvement_cost",
"src",
"translations"
],
"additionalProperties": false
},
"CloseCombatTechniqueSpecialRules": {
"description": "Special rules for the combat technique that apply to all weapons in this category.",
"type": "object",
"properties": {
"can_parry": {
"description": "Is parrying possible with this combat technique?",
"type": "boolean"
},
"has_damage_threshold": {
"type": "boolean"
},
"has_reach": {
"type": "boolean"
},
"has_length": {
"type": "boolean"
},
"has_shield_size": {
"type": "boolean"
}
},
"required": [
"can_parry",
"has_damage_threshold",
"has_reach",
"has_length",
"has_shield_size"
],
"additionalProperties": false
},
"CloseCombatTechniqueTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the condition.",
"type": "string",
"minLength": 1
},
"special": {
"description": "Additional rules for the condition, if applicable.",
"type": "string",
"minLength": 1
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-99
View File
@@ -1,99 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/CombatTechnique_Ranged.schema.json",
"$ref": "#/$defs/RangedCombatTechnique",
"$defs": {
"RangedCombatTechnique": {
"title": "Ranged Combat Technique",
"type": "object",
"properties": {
"id": {
"description": "The ranged combat technique's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"special": {
"description": "Special rules for the combat technique that apply to all weapons in this category.",
"$ref": "#/$defs/RangedCombatTechniqueSpecialRules"
},
"primary_attribute": {
"description": "The primary attribute(s).",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/AttributeReference"
},
"minItems": 1,
"maxItems": 2,
"uniqueItems": true
},
"breaking_point_rating": {
"description": "The *Breaking Point Rating* of the respective combat technique.",
"type": "integer",
"minimum": 1
},
"improvement_cost": {
"$ref": "./_ImprovementCost.schema.json#/$defs/ImprovementCost"
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/RangedCombatTechniqueTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"special",
"primary_attribute",
"breaking_point_rating",
"improvement_cost",
"src",
"translations"
],
"additionalProperties": false
},
"RangedCombatTechniqueSpecialRules": {
"description": "Special rules for the combat technique that apply to all weapons in this category.",
"type": "object",
"properties": {
"has_ammunition": {
"type": "boolean"
}
},
"required": [
"has_ammunition"
],
"additionalProperties": false
},
"RangedCombatTechniqueTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the condition.",
"type": "string",
"minLength": 1
},
"special": {
"description": "Additional rules for the condition, if applicable.",
"type": "string",
"minLength": 1
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-68
View File
@@ -1,68 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Condition.schema.json",
"$ref": "#/$defs/Condition",
"$defs": {
"Condition": {
"title": "Condition",
"type": "object",
"properties": {
"id": {
"description": "The condition's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/ConditionTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"src",
"translations"
],
"additionalProperties": false
},
"ConditionTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The condition's name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"rules": {
"description": "Additional rules for the condition, if applicable.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"effects": {
"description": "The effects for level 1 to 4.",
"type": "array",
"items": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"minItems": 4,
"maxItems": 4
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"effects"
],
"additionalProperties": false
}
}
}
-49
View File
@@ -1,49 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Continent.schema.json",
"$ref": "#/$defs/Continent",
"$defs": {
"Continent": {
"title": "Continent",
"description": "Continents are mostly referenced to in languages and scripts that occur on a specific continent.",
"type": "object",
"properties": {
"id": {
"description": "The continent's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/ContinentTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"translations"
],
"additionalProperties": false
},
"ContinentTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The continent name.",
"type": "string",
"minLength": 1
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-781
View File
@@ -1,781 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Culture.schema.json",
"$ref": "#/$defs/Culture",
"$defs": {
"Culture": {
"title": "Culture",
"type": "object",
"properties": {
"id": {
"description": "An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"language": {
"description": "A list of native languages (usually it is only one).",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/LanguageReference"
},
"minItems": 1
},
"script": {
"description": "A list of native scripts (usually it is only one). If the culture does not use any script, leave this field empty.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/ScriptReference"
},
"minItems": 1
},
"area_knowledge": {
"description": "If the area knowledge has a fixed value or can be adjusted.",
"$ref": "#/$defs/AreaKnowledge"
},
"social_status": {
"description": "A list of possible social status in the respective culture.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/SocialStatusReference"
},
"minItems": 1
},
"common_professions": {
"description": "A list of professions that are typical for the culture, as well as professions that are rarely practiced or encountered in the culture. The list is either defined by group (as multiple lists) or plain (as a single list).",
"$ref": "#/$defs/CommonProfessions"
},
"common_advantages": {
"description": "A list of common advantages.",
"type": "array",
"items": {
"title": "Commonness-rated Advantage/Disadvantage",
"description": "Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.",
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/AdvantageIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"minItems": 1
},
"common_disadvantages": {
"description": "A list of common disadvantages.",
"type": "array",
"items": {
"title": "Commonness-rated Advantage/Disadvantage",
"description": "Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.",
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/DisadvantageIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"minItems": 1
},
"uncommon_advantages": {
"description": "A list of uncommon advantages.",
"type": "array",
"items": {
"title": "Commonness-rated Advantage/Disadvantage",
"description": "Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.",
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/AdvantageIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"minItems": 1
},
"uncommon_disadvantages": {
"description": "A list of uncommon disadvantages.",
"type": "array",
"items": {
"title": "Commonness-rated Advantage/Disadvantage",
"description": "Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.",
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/DisadvantageIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"minItems": 1
},
"common_skills": {
"description": "A list of common skills.",
"type": "array",
"items": {
"$ref": "#/$defs/CommonnessRatedSkill"
},
"minItems": 1
},
"uncommon_skills": {
"description": "A list of uncommon skills.",
"type": "array",
"items": {
"$ref": "#/$defs/CommonnessRatedSkill"
},
"minItems": 1
},
"cultural_package": {
"description": "The skill points you get for buying the culture package.",
"type": "array",
"items": {
"$ref": "#/$defs/CulturalPackageItem"
},
"minItems": 1
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/CultureTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"language",
"area_knowledge",
"social_status",
"common_professions",
"common_skills",
"cultural_package",
"src",
"translations"
],
"additionalProperties": false
},
"AreaKnowledge": {
"description": "If the area knowledge has a fixed value or can be adjusted.",
"type": "object",
"properties": {
"is_fixed": {
"description": "`true` if the area knowledge has a fixed value, `false` if it can be\nadjusted.",
"type": "boolean"
}
},
"required": [
"is_fixed"
],
"additionalProperties": false
},
"CommonnessWeight": {
"description": "The \"weight\" difference compared to other professions or profession variants. Some professions or profession variants are simply more common (Mostly), but sometimes only specific elements are used (Only).",
"oneOf": [
{
"const": "Mostly"
},
{
"const": "Only"
}
]
},
"CommonProfessionConstraintsOperation": {
"description": "This defines how the list of constraints should be offset against the list of all mundane professions: Either only the professions are kept that intersect with the constraints (include) or only the professions are kept that are different from the constraints (exclude).",
"oneOf": [
{
"const": "Intersection"
},
{
"const": "Difference"
}
]
},
"Rarity": {
"description": "Some professions may be found in a culture, but are not that common.",
"oneOf": [
{
"const": "Rare"
},
{
"const": "VeryRare"
}
]
},
"ProfessionConstraint": {
"type": "object",
"properties": {
"id": {
"description": "The profession's identifier.",
"$ref": "./_Identifier.schema.json#/$defs/ProfessionIdentifier"
},
"weighted_variants": {
"description": "Some professions or profession variants are more common than others. There may be cultures where some professions or profession variants are not represented at all.",
"type": "object",
"properties": {
"elements": {
"description": "The list of more common professions or profession variants.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/ProfessionVariantReference"
},
"minItems": 1
},
"weight": {
"description": "The \"weight\" difference compared to other professions or profession variants. Some professions or profession variants are simply more common\n(Mostly), but sometimes only specific elements are used (Only).",
"$ref": "#/$defs/CommonnessWeight"
}
},
"required": [
"elements",
"weight"
],
"additionalProperties": false
},
"rarity": {
"description": "Some professions may be found in a culture, but are not that common.",
"$ref": "#/$defs/Rarity"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"MundaneProfessionSubgroupConstraint": {
"description": "Some professions may be found in a culture, but are not that common.",
"oneOf": [
{
"const": "Profane"
},
{
"const": "Fighter"
},
{
"const": "Religious"
}
]
},
"MagicalTraditionConstraint": {
"type": "object",
"properties": {
"id": {
"description": "The magical tradition's identifier.",
"$ref": "./_Identifier.schema.json#/$defs/MagicalTraditionIdentifier"
},
"weighted_professions": {
"description": "Some professions or profession variants are more common than others. There may be cultures where some professions or profession variants are not represented at all.",
"type": "object",
"properties": {
"elements": {
"description": "The list of more common professions or profession variants.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/ProfessionReference"
},
"minItems": 1
},
"weight": {
"description": "The \"weight\" difference compared to other professions or profession variants. Some professions or profession variants are simply more common\n(Mostly), but sometimes only specific elements are used (Only).",
"$ref": "#/$defs/CommonnessWeight"
}
},
"required": [
"elements",
"weight"
],
"additionalProperties": false
},
"rarity": {
"description": "Some traditions may be found in a culture, but are not that common.",
"$ref": "#/$defs/Rarity"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"BlessedTraditionConstraint": {
"type": "object",
"properties": {
"id": {
"description": "The magical tradition's identifier.",
"$ref": "./_Identifier.schema.json#/$defs/BlessedTraditionIdentifier"
},
"weighted_professions": {
"description": "Some professions or profession variants are more common than others. There may be cultures where some professions or profession variants are not represented at all.",
"type": "object",
"properties": {
"elements": {
"description": "The list of more common professions or profession variants.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/ProfessionReference"
},
"minItems": 1
},
"weight": {
"description": "The \"weight\" difference compared to other professions or profession variants. Some professions or profession variants are simply more common\n(Mostly), but sometimes only specific elements are used (Only).",
"$ref": "#/$defs/CommonnessWeight"
}
},
"required": [
"elements",
"weight"
],
"additionalProperties": false
},
"rarity": {
"description": "Some traditions may be found in a culture, but are not that common.",
"$ref": "#/$defs/Rarity"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"MundaneCommonProfessionConstraint": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Profession"
},
"profession": {
"$ref": "#/$defs/ProfessionConstraint"
}
},
"required": [
"tag",
"profession"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "ProfessionSubgroup"
},
"profession_subgroup": {
"$ref": "#/$defs/MundaneProfessionSubgroupConstraint"
}
},
"required": [
"tag",
"profession_subgroup"
],
"additionalProperties": false
}
]
},
"MagicCommonProfessionConstraint": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Tradition"
},
"tradition": {
"$ref": "#/$defs/MagicalTraditionConstraint"
}
},
"required": [
"tag",
"tradition"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "MagicDilettante"
},
"magic_dilettante": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"magic_dilettante"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Profession"
},
"profession": {
"$ref": "#/$defs/ProfessionConstraint"
}
},
"required": [
"tag",
"profession"
],
"additionalProperties": false
}
]
},
"BlessedCommonProfessionConstraint": {
"type": "object",
"properties": {
"tag": {
"const": "Tradition"
},
"tradition": {
"$ref": "#/$defs/BlessedTraditionConstraint"
}
},
"required": [
"tag",
"tradition"
],
"additionalProperties": false
},
"PlainCommonProfessions": {
"description": "A list of professions. The filter specifies how the list is applied to all mundane professions.",
"type": "object",
"properties": {
"constraints": {
"description": "The list of constraints.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/ProfessionReference"
},
"minItems": 1
},
"operation": {
"description": "This defines how the list of constraints should be offset against the list of all mundane professions: Either only the professions are kept that intersect with the constraints (include) or only the professions are kept that are different from the constraints (exclude).",
"$ref": "#/$defs/CommonProfessionConstraintsOperation"
}
},
"required": [
"constraints",
"operation"
],
"additionalProperties": false
},
"GroupedCommonProfessions": {
"description": "Lists of professions by group.",
"type": "object",
"properties": {
"mundane": {
"description": "A list of professions. The filter specifies how the list is applied to all mundane professions.",
"type": "object",
"properties": {
"constraints": {
"description": "The list of constraints.",
"type": "array",
"items": {
"$ref": "#/$defs/MundaneCommonProfessionConstraint"
},
"minItems": 1
},
"operation": {
"description": "This defines how the list of constraints should be offset against the list of all mundane professions: Either only the professions are kept that intersect with the constraints (include) or only the professions are kept that are different from the constraints (exclude).",
"$ref": "#/$defs/CommonProfessionConstraintsOperation"
}
},
"required": [
"constraints",
"operation"
],
"additionalProperties": false
},
"magic": {
"description": "A list of professions. The filter specifies how the list is applied to all mundane professions.",
"type": "object",
"properties": {
"constraints": {
"description": "The list of constraints.",
"type": "array",
"items": {
"$ref": "#/$defs/MagicCommonProfessionConstraint"
},
"minItems": 1
},
"operation": {
"description": "This defines how the list of constraints should be offset against the list of all mundane professions: Either only the professions are kept that intersect with the constraints (include) or only the professions are kept that are different from the constraints (exclude).",
"$ref": "#/$defs/CommonProfessionConstraintsOperation"
}
},
"required": [
"constraints",
"operation"
],
"additionalProperties": false
},
"blessed": {
"description": "A list of professions. The filter specifies how the list is applied to all mundane professions.",
"type": "object",
"properties": {
"constraints": {
"description": "The list of constraints.",
"type": "array",
"items": {
"$ref": "#/$defs/BlessedCommonProfessionConstraint"
},
"minItems": 1
},
"operation": {
"description": "This defines how the list of constraints should be offset against the list of all mundane professions: Either only the professions are kept that intersect with the constraints (include) or only the professions are kept that are different from the constraints (exclude).",
"$ref": "#/$defs/CommonProfessionConstraintsOperation"
}
},
"required": [
"constraints",
"operation"
],
"additionalProperties": false
}
},
"required": [],
"minProperties": 1,
"additionalProperties": false
},
"CommonProfessions": {
"description": "A list of professions that are typical for the culture, as well as professions that are rarely practiced or encountered in the culture. The list is either defined by group (as multiple lists) or plain (as a single list).",
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Plain"
},
"plain": {
"$ref": "#/$defs/PlainCommonProfessions"
}
},
"required": [
"tag",
"plain"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Grouped"
},
"grouped": {
"$ref": "#/$defs/GroupedCommonProfessions"
}
},
"required": [
"tag",
"grouped"
],
"additionalProperties": false
}
]
},
"CommonnessRatedSkill": {
"$ref": "./_SimpleReferences.schema.json#/$defs/SkillReference"
},
"CulturalPackageItem": {
"type": "object",
"properties": {
"id": {
"description": "The skill's identifier.",
"$ref": "./_Identifier.schema.json#/$defs/SkillIdentifier"
},
"points": {
"description": "The skill points for the respective skill you get for buying the cultural package.",
"type": "integer",
"maximum": 2,
"minimum": 1
}
},
"required": [
"id",
"points"
],
"additionalProperties": false
},
"CultureTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the state.",
"type": "string",
"minLength": 1
},
"area_knowledge": {
"description": "The description of the area knowledge.",
"$ref": "#/$defs/AreaKnowledgeTranslation"
},
"common_advantages": {
"description": "The respective common advantages text from the source book.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"common_disadvantages": {
"description": "The respective common disadvantages text from the source book.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"uncommon_advantages": {
"description": "The respective uncommon advantages text from the source book.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"uncommon_disadvantages": {
"description": "The respective uncommon disadvantages text from the source book.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"common_names": {
"description": "Structured description of common names.",
"$ref": "#/$defs/CommonNames"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"area_knowledge",
"common_names"
],
"additionalProperties": false
},
"AreaKnowledgeTranslation": {
"description": "Description and examples of the area knowledge.",
"type": "object",
"properties": {
"description": {
"description": "The full description without examples in parenthesis.",
"type": "string",
"minLength": 1
},
"abbreviated": {
"description": "A shorter version of the description, used in input fields and other UI elements where the space might be to small to use the full description.",
"type": "string",
"minLength": 1
},
"examples": {
"description": "Examples of areas, if applicable.",
"type": "array",
"items": {
"$ref": "#/$defs/AreaKnowledgeExample"
},
"minItems": 1
}
},
"required": [
"description",
"abbreviated"
],
"additionalProperties": false
},
"AreaKnowledgeExample": {
"type": "object",
"properties": {
"area": {
"type": "string",
"minLength": 1
}
},
"required": [
"area"
],
"additionalProperties": false
},
"CommonNames": {
"description": "Structured description of common names.",
"type": "object",
"properties": {
"first_name_groups": {
"description": "First names can be gender-neutral, but they can also be for a specific binary sex. They are sorted into groups.",
"type": "array",
"items": {
"$ref": "#/$defs/CommonNameGroup"
},
"minItems": 1
},
"last_name_groups": {
"description": "Last names can be gender-neutral, like family names, but they can also be for a specific binary sex. They are sorted into groups.",
"type": "array",
"items": {
"$ref": "#/$defs/CommonNameGroup"
},
"minItems": 1
},
"naming_rules": {
"description": "Special naming rules.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [],
"minProperties": 1,
"additionalProperties": false
},
"CommonNameGroup": {
"type": "object",
"properties": {
"label": {
"description": "The group label.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"sex": {
"description": "The binary sex if the group is only for a certain binary sex.",
"$ref": "./_Sex.schema.json#/$defs/BinarySex"
},
"names": {
"description": "The names from the group.",
"type": "array",
"items": {
"$ref": "#/$defs/CommonName"
},
"minItems": 1
}
},
"required": [
"label",
"names"
],
"additionalProperties": false
},
"CommonName": {
"type": "object",
"properties": {
"name": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"note": {
"description": "Additional information about the name, appended in parenthesis.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-90
View File
@@ -1,90 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/DerivedCharacteristic.schema.json",
"$ref": "#/$defs/DerivedCharacteristic",
"$defs": {
"DerivedCharacteristic": {
"title": "Derived Characteristic",
"type": "object",
"properties": {
"id": {
"description": "An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"prerequisites": {
"$ref": "./_Prerequisite.schema.json#/$defs/DerivedCharacteristicPrerequisites"
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/DerivedCharacteristicTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"src",
"translations"
],
"additionalProperties": false
},
"DerivedCharacteristicTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The characteristic's name.",
"type": "string",
"minLength": 1
},
"abbreviation": {
"description": "The characteristic's abbreviation.",
"type": "string",
"minLength": 1
},
"calculation": {
"description": "Possible calculation strings for the final value.",
"$ref": "#/$defs/CalculationTranslation"
}
},
"required": [
"name",
"abbreviation"
],
"additionalProperties": false
},
"CalculationTranslation": {
"description": "Possible calculation strings for the final value.",
"type": "object",
"properties": {
"default": {
"description": "The default calculation string.",
"type": "string",
"minLength": 1
},
"half_primary": {
"description": "The calculation string if only half of the primary attribute is used.",
"type": "string",
"minLength": 1
},
"no_primary": {
"description": "The calculation string if no primary attribute is used.",
"type": "string",
"minLength": 1
}
},
"required": [
"default"
],
"additionalProperties": false
}
}
}
-97
View File
@@ -1,97 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Disadvantage.schema.json",
"$ref": "#/$defs/Disadvantage",
"$defs": {
"Disadvantage": {
"title": "Disadvantage",
"type": "object",
"properties": {
"id": {
"$ref": "./_Activatable.schema.json#/$defs/Id"
},
"levels": {
"$ref": "./_Activatable.schema.json#/$defs/Levels"
},
"select_options": {
"$ref": "./_Activatable.schema.json#/$defs/SelectOptions"
},
"maximum": {
"$ref": "./_Activatable.schema.json#/$defs/Maximum"
},
"prerequisites": {
"$ref": "./_Prerequisite.schema.json#/$defs/AdvantageDisadvantagePrerequisites"
},
"ap_value": {
"$ref": "./_Activatable.schema.json#/$defs/AdventurePointsValue"
},
"has_maximum_spent_influence": {
"description": "Does this disadvantage count towards the maximum of AP to be spent on disadvantages?",
"type": "boolean"
},
"is_exclusive_to_arcane_spellworks": {
"description": "Does this disadvantage exclusively applies to arcane spellworks and not to magical actions and magical applications?",
"type": "boolean"
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/DisadvantageTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"ap_value",
"has_maximum_spent_influence",
"is_exclusive_to_arcane_spellworks",
"src",
"translations"
],
"additionalProperties": false
},
"DisadvantageTranslation": {
"type": "object",
"properties": {
"name": {
"$ref": "./_Activatable.schema.json#/$defs/Name"
},
"name_in_library": {
"$ref": "./_Activatable.schema.json#/$defs/NameInLibrary"
},
"input": {
"description": "A string that is used as a label for an input field.",
"$ref": "./_Activatable.schema.json#/$defs/Input"
},
"rules": {
"$ref": "./_Activatable.schema.json#/$defs/Rules"
},
"range": {
"description": "The range.",
"type": "string",
"minLength": 1
},
"ap_value_append": {
"description": "A string that gets appended to the default AP Value text with a preceding space. This always happens if present, even if the generated AP Value text is replaced.",
"$ref": "./_Activatable.schema.json#/$defs/AdventurePointsValueAppend"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"rules"
],
"additionalProperties": false
}
}
}
-58
View File
@@ -1,58 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Disease.schema.json",
"$ref": "#/$defs/Disease",
"$defs": {
"Disease": {
"title": "Disease",
"type": "object",
"properties": {
"id": {
"description": "The disease's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"level": {
"description": "The disease's level.",
"type": "integer",
"minimum": 1
},
"resistance": {
"description": "Depending on the disease, apply Spirit or Toughness as a penalty to the disease roll. It may also happen that the lower of both is applied as a penalty.",
"$ref": "./_DiseasePoison.schema.json#/$defs/Resistance"
},
"cause": {
"description": "What causes the disease? The GM rolls 1D20 to see if a character gets infected. If the infection check succeeds, the GM makes a disease check to determine the severity of the infection.",
"type": "array",
"items": {
"$ref": "./_DiseasePoison.schema.json#/$defs/Cause"
},
"minItems": 1
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "./_DiseasePoison.schema.json#/$defs/DiseaseTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"level",
"resistance",
"cause",
"src",
"translations"
],
"additionalProperties": false
}
}
}
-48
View File
@@ -1,48 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Element.schema.json",
"$ref": "#/$defs/Element",
"$defs": {
"Element": {
"title": "Element",
"type": "object",
"properties": {
"id": {
"description": "The element's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/ElementTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"translations"
],
"additionalProperties": false
},
"ElementTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The element's name.",
"type": "string",
"minLength": 1
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-84
View File
@@ -1,84 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/ExperienceLevel.schema.json",
"$ref": "#/$defs/ExperienceLevel",
"$defs": {
"ExperienceLevel": {
"title": "Experience Level",
"description": "Adventure Points and maximum values at hero creation.",
"type": "object",
"properties": {
"id": {
"description": "An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"adventure_points": {
"description": "The AP value you get.",
"type": "integer"
},
"max_attribute_value": {
"description": "The highest possible attribute value.",
"type": "integer"
},
"max_skill_rating": {
"description": "The highest possible skill rating.",
"type": "integer"
},
"max_combat_technique_rating": {
"description": "The highest possible combat technique rating.",
"type": "integer"
},
"max_attribute_total": {
"description": "The limit for the sum of all attribute values.",
"type": "integer"
},
"max_number_of_spells_liturgical_chants": {
"description": "The maximum of spells/chants you can activate.",
"type": "integer"
},
"max_number_of_unfamiliar_spells": {
"description": "The maximum of spells of an unfamiliar tradition you can activate.",
"type": "integer"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/ExperienceLevelTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"adventure_points",
"max_attribute_value",
"max_skill_rating",
"max_combat_technique_rating",
"max_attribute_total",
"max_number_of_spells_liturgical_chants",
"max_number_of_unfamiliar_spells",
"translations"
],
"additionalProperties": false
},
"ExperienceLevelTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the experience level.",
"type": "string",
"minLength": 1
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-47
View File
@@ -1,47 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/EyeColor.schema.json",
"$ref": "#/$defs/EyeColor",
"$defs": {
"EyeColor": {
"title": "Eye Color",
"type": "object",
"properties": {
"id": {
"description": "The eye color's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/EyeColorTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"translations"
],
"additionalProperties": false
},
"EyeColorTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The eye color.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-576
View File
@@ -1,576 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/FamiliarsTrick.schema.json",
"$ref": "#/$defs/FamiliarsTrick",
"$defs": {
"FamiliarsTrick": {
"title": "Familiar's Trick",
"type": "object",
"properties": {
"id": {
"description": "The familiar's trick's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"animal_types": {
"description": "The animal types this trick is available to. Either it is available to all or only a list of specific animal types.\n\nIf no animal types are given, the animal disease applies to all animal types.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/AnimalTypeReference"
}
},
"parameters": {
"description": "Measurable parameters of a familiar's trick.",
"$ref": "#/$defs/FamiliarsTrickPerformanceParameters"
},
"property": {
"description": "The property of the trick.",
"$ref": "#/$defs/FamiliarsTrickProperty"
},
"ap_value": {
"description": "The AP value the familiar has to pay for. It may also be that a specific is known by all familiar by default. In the latter case the field is not set.",
"type": "integer",
"minimum": 1
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/FamiliarsTrickTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"animal_types",
"parameters",
"property",
"src",
"translations"
],
"additionalProperties": false
},
"FamiliarsTrickProperty": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Fixed"
},
"fixed": {
"$ref": "./_SimpleReferences.schema.json#/$defs/PropertyReference"
}
},
"required": [
"tag",
"fixed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Indefinite"
},
"indefinite": {
"$ref": "#/$defs/IndefiniteFamiliarsTrickProperty"
}
},
"required": [
"tag",
"indefinite"
],
"additionalProperties": false
}
]
},
"IndefiniteFamiliarsTrickProperty": {
"type": "object",
"properties": {
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/IndefiniteFamiliarsTrickPropertyTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"translations"
],
"additionalProperties": false
},
"IndefiniteFamiliarsTrickPropertyTranslation": {
"type": "object",
"properties": {
"description": {
"description": "A description of the property.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveText"
}
},
"required": [
"description"
],
"additionalProperties": false
},
"FamiliarsTrickTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the familiar's trick.",
"type": "string",
"minLength": 1
},
"effect": {
"description": "The effect description.",
"type": "string",
"minLength": 1
},
"cost": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"duration": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"effect",
"cost",
"duration"
],
"additionalProperties": false
},
"FamiliarsTrickPerformanceParameters": {
"description": "Measurable parameters of a familiar's trick.",
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "OneTime"
},
"one_time": {
"$ref": "#/$defs/FamiliarsTrickOneTimePerformanceParameters"
}
},
"required": [
"tag",
"one_time"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "OneTimeInterval"
},
"one_time_interval": {
"$ref": "#/$defs/FamiliarsTrickOneTimeIntervalPerformanceParameters"
}
},
"required": [
"tag",
"one_time_interval"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Sustained"
},
"sustained": {
"$ref": "#/$defs/FamiliarsTrickSustainedPerformanceParameters"
}
},
"required": [
"tag",
"sustained"
],
"additionalProperties": false
}
]
},
"FamiliarsTrickOneTimePerformanceParameters": {
"type": "object",
"properties": {
"cost": {
"$ref": "#/$defs/FamiliarsTrickOneTimeCost"
},
"duration": {
"$ref": "#/$defs/FamiliarsTrickOneTimeDuration"
}
},
"required": [
"cost",
"duration"
],
"additionalProperties": false
},
"FamiliarsTrickOneTimeCost": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Fixed"
},
"fixed": {
"$ref": "#/$defs/FamiliarsTrickFixedOneTimeCost"
}
},
"required": [
"tag",
"fixed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "All"
},
"all": {
"$ref": "#/$defs/FamiliarsTrickAllOneTimeCost"
}
},
"required": [
"tag",
"all"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Indefinite"
},
"indefinite": {
"$ref": "#/$defs/FamiliarsTrickIndefiniteOneTimeCost"
}
},
"required": [
"tag",
"indefinite"
],
"additionalProperties": false
}
]
},
"FamiliarsTrickFixedOneTimeCost": {
"type": "object",
"properties": {
"ae_value": {
"description": "The AE cost value.",
"type": "integer",
"minimum": 1
},
"lp_value": {
"description": "The LP cost value.",
"type": "integer",
"minimum": 1
},
"interval": {
"description": "The interval in which you have to pay the AE cost again.",
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnitValue"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/FamiliarsTrickFixedOneTimeCostTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"ae_value"
],
"additionalProperties": false
},
"FamiliarsTrickFixedOneTimeCostTranslation": {
"type": "object",
"properties": {
"per": {
"description": "The cost have to be per a specific countable entity, e.g. `8 KP per person`.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextOptional"
}
},
"required": [],
"additionalProperties": false
},
"FamiliarsTrickAllOneTimeCost": {
"type": "object",
"properties": {
"minimum": {
"description": "The minimum AE the familiar has to have.",
"type": "integer",
"minimum": 1
}
},
"required": [],
"additionalProperties": false
},
"FamiliarsTrickIndefiniteOneTimeCost": {
"type": "object",
"properties": {
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/FamiliarsTrickIndefiniteOneTimeCostTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"translations"
],
"additionalProperties": false
},
"FamiliarsTrickIndefiniteOneTimeCostTranslation": {
"type": "object",
"properties": {
"description": {
"description": "A description of the AE cost.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveText"
}
},
"required": [
"description"
],
"additionalProperties": false
},
"FamiliarsTrickOneTimeDuration": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Immediate"
},
"immediate": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"immediate"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Fixed"
},
"fixed": {
"$ref": "#/$defs/FamiliarsTrickFixedOneTimeDuration"
}
},
"required": [
"tag",
"fixed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Indefinite"
},
"indefinite": {
"$ref": "#/$defs/FamiliarsTrickIndefiniteOneTimeDuration"
}
},
"required": [
"tag",
"indefinite"
],
"additionalProperties": false
}
]
},
"FamiliarsTrickFixedOneTimeDuration": {
"type": "object",
"properties": {
"is_maximum": {
"description": "If the duration is the maximum duration, so it may end earlier.",
"type": "boolean"
},
"value": {
"description": "The (unitless) duration.",
"type": "integer",
"minimum": 1
},
"unit": {
"description": "The duration unit.",
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnit"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/FamiliarsTrickFixedOneTimeDurationTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"value",
"unit"
],
"additionalProperties": false
},
"FamiliarsTrickFixedOneTimeDurationTranslation": {
"type": "object",
"properties": {
"replacement": {
"description": "A replacement string.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextReplace"
}
},
"required": [],
"additionalProperties": false
},
"FamiliarsTrickIndefiniteOneTimeDuration": {
"type": "object",
"properties": {
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/FamiliarsTrickIndefiniteOneTimeDurationTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"translations"
],
"additionalProperties": false
},
"FamiliarsTrickIndefiniteOneTimeDurationTranslation": {
"type": "object",
"properties": {
"description": {
"description": "A description of the duration.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveText"
}
},
"required": [
"description"
],
"additionalProperties": false
},
"FamiliarsTrickOneTimeIntervalPerformanceParameters": {
"type": "object",
"properties": {
"cost": {
"$ref": "#/$defs/FamiliarsTrickOneTimeIntervalCost"
}
},
"required": [
"cost"
],
"additionalProperties": false
},
"FamiliarsTrickOneTimeIntervalCost": {
"type": "object",
"properties": {
"ae_value": {
"description": "The AE cost value.",
"type": "integer",
"minimum": 1
},
"lp_value": {
"description": "The LP cost value.",
"type": "integer",
"minimum": 1
},
"interval": {
"description": "The duration granted/added by paying the given AE cost.",
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnitValue"
}
},
"required": [
"ae_value",
"interval"
],
"additionalProperties": false
},
"FamiliarsTrickSustainedPerformanceParameters": {
"type": "object",
"properties": {
"cost": {
"$ref": "#/$defs/FamiliarsTrickSustainedCost"
}
},
"required": [
"cost"
],
"additionalProperties": false
},
"FamiliarsTrickSustainedCost": {
"type": "object",
"properties": {
"ae_value": {
"description": "The AE cost value.",
"type": "integer",
"minimum": 1
},
"lp_value": {
"description": "The LP cost value.",
"type": "integer",
"minimum": 1
},
"interval": {
"description": "The interval in which you have to pay the AE cost again, if any.",
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnitValue"
}
},
"required": [
"ae_value"
],
"additionalProperties": false
}
}
}
-47
View File
@@ -1,47 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/HairColor.schema.json",
"$ref": "#/$defs/HairColor",
"$defs": {
"HairColor": {
"title": "Hair Color",
"type": "object",
"properties": {
"id": {
"description": "The hair color's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/HairColorTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"translations"
],
"additionalProperties": false
},
"HairColorTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The hair color.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-11
View File
@@ -1,11 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Kirchenpraegung.schema.json",
"$ref": "#/$defs/Kirchenpraegung",
"$defs": {
"Kirchenpraegung": {
"title": "Kirchenprägung",
"$ref": "./_Influence.schema.json#/$defs/Influence"
}
}
}
-499
View File
@@ -1,499 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Lessons_Curriculum.schema.json",
"$ref": "#/$defs/Curriculum",
"$defs": {
"Curriculum": {
"title": "Curriculum",
"description": "This is a curriculum of a specified academy, containing the guideline, elective and restricted spellworks as well as the lesson packages of that academy.",
"type": "object",
"properties": {
"id": {
"description": "The curriculum's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"guideline": {
"description": "The institution's guideline.",
"$ref": "./_SimpleReferences.schema.json#/$defs/GuidelineReference"
},
"elective_spellworks": {
"description": "The academy's elective spellworks package.",
"$ref": "#/$defs/ElectiveSpellworks"
},
"restricted_spellworks": {
"description": "The academy's restricted spellworks package.",
"$ref": "#/$defs/RestrictedSpellworks"
},
"lesson_packages": {
"description": "A list of available lesson packages.",
"$ref": "#/$defs/LessonPackages"
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/CurriculumTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"guideline",
"lesson_packages",
"src",
"translations"
],
"additionalProperties": false
},
"CurriculumTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the academy.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name"
],
"additionalProperties": false
},
"ElectiveSpellworks": {
"description": "The academy's elective spellworks package.",
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "DefinedByGameMaster"
},
"defined_by_game_master": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"defined_by_game_master"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Specific"
},
"specific": {
"$ref": "#/$defs/SpecificElectiveSpellworks"
}
},
"required": [
"tag",
"specific"
],
"additionalProperties": false
}
]
},
"SpecificElectiveSpellworks": {
"type": "object",
"properties": {
"list": {
"type": "array",
"items": {
"$ref": "#/$defs/ElectiveSpellwork"
},
"minItems": 1
}
},
"required": [
"list"
],
"additionalProperties": false
},
"ElectiveSpellwork": {
"type": "object",
"properties": {
"id": {
"$ref": "./_IdentifierGroup.schema.json#/$defs/SpellworkIdentifier"
},
"restriction": {
"description": "The elective spellwork may only take effect if a certain condition is met. The condition may be related to professions or profession variants, but it is designed so that it can work without a specific profession, as multiple may belong to an institute, but with referencing other entities instead.",
"$ref": "#/$defs/ElectiveSpellworkRestriction"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"ElectiveSpellworkRestriction": {
"description": "The elective spellwork may only take effect if a certain condition is met. The condition may be related to professions or profession variants, but it is designed so that it can work without a specific profession, as multiple may belong to an institute, but with referencing other entities instead.",
"type": "object",
"properties": {
"tag": {
"const": "Element"
},
"element": {
"$ref": "#/$defs/ElectiveSpellworkElementRestriction"
}
},
"required": [
"tag",
"element"
],
"additionalProperties": false
},
"ElectiveSpellworkElementRestriction": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/ElementIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"RestrictedSpellworks": {
"description": "The academy's restricted spellworks package.",
"type": "array",
"items": {
"$ref": "#/$defs/RestrictedSpellwork"
},
"minItems": 1
},
"RestrictedSpellwork": {
"description": "The academy's restricted spellworks package.",
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Property"
},
"property": {
"$ref": "#/$defs/RestrictedProperty"
}
},
"required": [
"tag",
"property"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Spellwork"
},
"spellwork": {
"$ref": "./_IdentifierGroup.schema.json#/$defs/SpellworkIdentifier"
}
},
"required": [
"tag",
"spellwork"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "DemonSummoning"
},
"demon_summoning": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"demon_summoning"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Borbaradian"
},
"borbaradian": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"borbaradian"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "DamageIntelligent"
},
"damage_intelligent": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"damage_intelligent"
],
"additionalProperties": false
}
]
},
"RestrictedProperty": {
"type": "object",
"properties": {
"id": {
"description": "The identifier of the property that spellworks are disallowed from.",
"$ref": "./_Identifier.schema.json#/$defs/PropertyIdentifier"
},
"exclude": {
"description": "Exclude specific spellworks from the restriction.",
"type": "array",
"items": {
"$ref": "./_IdentifierGroup.schema.json#/$defs/SpellworkIdentifier"
},
"minItems": 1
},
"maximum": {
"description": "Spellworks from this property up to a certain number are allowed. Spellworks excluded from this restriction definition using `exclude` do not contribute to the maximum.",
"type": "number"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"LessonPackages": {
"description": "A list of available lesson packages.",
"type": "array",
"items": {
"$ref": "#/$defs/LessonPackage"
},
"minItems": 2,
"maxItems": 2
},
"LessonPackage": {
"title": "Lesson Package",
"type": "object",
"properties": {
"id": {
"description": "The lesson package's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"spellwork_changes": {
"description": "The spell values difference of the lesson package. This field reflects the changes (difference) to the field of the same name in the profession package. If a spell gets to SR 0 because of this, it will be removed completely.",
"type": "array",
"items": {
"$ref": "#/$defs/SpellworkChange"
},
"minItems": 1
},
"skills": {
"type": "array",
"items": {
"$ref": "#/$defs/AbilityAdjustment"
}
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/LessonPackageTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"translations"
],
"minProperties": 3,
"additionalProperties": false
},
"SpellworkChange": {
"type": "object",
"properties": {
"base": {
"$ref": "#/$defs/SpellworkAdjustment"
},
"replacement": {
"$ref": "#/$defs/SpellworkAdjustment"
}
},
"required": [
"base",
"replacement"
],
"additionalProperties": false
},
"LessonPackageTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the lesson package.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"spellwork_changes": {
"description": "The spell values difference of the lesson package. Use this field to specify a text that is displayed instead of the generated\n`spellwork_changes` list. The field is displayed even if no list is\npresent.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
},
"AbilityAdjustment": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "CombatTechnique"
},
"combat_technique": {
"$ref": "#/$defs/CombatTechniqueAdjustment"
}
},
"required": [
"tag",
"combat_technique"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Skill"
},
"skill": {
"$ref": "#/$defs/SkillAdjustment"
}
},
"required": [
"tag",
"skill"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Spellwork"
},
"spellwork": {
"$ref": "#/$defs/SpellworkAdjustment"
}
},
"required": [
"tag",
"spellwork"
],
"additionalProperties": false
}
]
},
"CombatTechniqueAdjustment": {
"type": "object",
"properties": {
"id": {
"$ref": "./_IdentifierGroup.schema.json#/$defs/CombatTechniqueIdentifier"
},
"points": {
"description": "The combat technique points that will be added to the current combat technique rating.",
"type": "integer",
"maximum": 6,
"minimum": -6
}
},
"required": [
"id",
"points"
],
"additionalProperties": false
},
"SkillAdjustment": {
"type": "object",
"properties": {
"id": {
"description": "The skill's identifier.",
"$ref": "./_Identifier.schema.json#/$defs/SkillIdentifier"
},
"points": {
"description": "The skill points that will be added to the current skill rating.",
"type": "integer",
"maximum": 8,
"minimum": -8
}
},
"required": [
"id",
"points"
],
"additionalProperties": false
},
"SpellworkAdjustment": {
"type": "object",
"properties": {
"id": {
"$ref": "./_IdentifierGroup.schema.json#/$defs/SpellworkIdentifier"
},
"points": {
"description": "The skill points that will be added to the current skill rating. If a spell gets to a skill rating of 0 because of this, it will be removed completely.",
"type": "integer",
"maximum": 10,
"minimum": -10
},
"tradition": {
"description": "The target tradition. If the target spell is not from the Guild Mage tradition, specify the tradition identifier here.",
"$ref": "./_Identifier.schema.json#/$defs/MagicalTraditionIdentifier"
}
},
"required": [
"id",
"points"
],
"additionalProperties": false
}
}
}
-53
View File
@@ -1,53 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Lessons_Guideline.schema.json",
"$ref": "#/$defs/Guideline",
"$defs": {
"Guideline": {
"title": "Guideline",
"type": "object",
"properties": {
"id": {
"description": "The guideline's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"spellwork_changes_allowed": {
"description": "Maximum number of spells that can be exchanged.",
"type": "integer",
"minimum": 0
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/GuidelineTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"spellwork_changes_allowed",
"translations"
],
"additionalProperties": false
},
"GuidelineTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The guideline name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-122
View File
@@ -1,122 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/LiturgicalChant.schema.json",
"$ref": "#/$defs/LiturgicalChant",
"$defs": {
"LiturgicalChant": {
"title": "Liturgical Chant",
"type": "object",
"properties": {
"id": {
"description": "The liturgical chant's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"check": {
"description": "Lists the linked three attributes used to make a skill check.",
"$ref": "./_SkillCheck.schema.json#/$defs/SkillCheck"
},
"check_penalty": {
"description": "In some cases, the target's Spirit or Toughness is applied as a penalty.",
"$ref": "./_SkillCheck.schema.json#/$defs/SkillCheckPenalty"
},
"parameters": {
"description": "Measurable parameters of a liturgical chant.",
"$ref": "./_ActivatableSkill.schema.json#/$defs/FastPerformanceParameters"
},
"target": {
"description": "The target category the kind of creature or object the skill affects.",
"$ref": "./_ActivatableSkillTargetCategory.schema.json#/$defs/AffectedTargetCategories"
},
"traditions": {
"description": "The tradition(s) the liturgical chant is available for. Note that general aspects do not have an associated tradition and thus need to be defined in a special way.",
"type": "array",
"items": {
"$ref": "./_Blessed.schema.json#/$defs/SkillTradition"
},
"minItems": 1
},
"improvement_cost": {
"description": "States which column is used to improve the skill.",
"$ref": "./_ImprovementCost.schema.json#/$defs/ImprovementCost"
},
"prerequisites": {
"$ref": "./_Prerequisite.schema.json#/$defs/LiturgyPrerequisites"
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/LiturgicalChantTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
},
"enhancements": {
"$ref": "./_Enhancements.schema.json#/$defs/Enhancements"
}
},
"required": [
"id",
"check",
"parameters",
"target",
"traditions",
"improvement_cost",
"src",
"translations"
],
"additionalProperties": false
},
"LiturgicalChantTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the liturgical chant.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"name_compressed": {
"description": "A compressed name of the liturgical chant for use in small areas (e.g. on character sheet). Should only be defined if the `name` does not fit on character sheet.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"effect": {
"description": "The effect description may be either a plain text or a text that is divided by a list of effects for each quality level. It may also be a list for each two quality levels.",
"$ref": "./_ActivatableSkillEffect.schema.json#/$defs/ActivatableSkillEffect"
},
"casting_time": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"cost": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"range": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"duration": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"target": {
"type": "string"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"effect",
"casting_time",
"cost",
"range",
"duration",
"target"
],
"additionalProperties": false
}
}
}
-38
View File
@@ -1,38 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Locale.schema.json",
"$ref": "#/$defs/Locale",
"$defs": {
"Locale": {
"title": "Supported locale",
"type": "object",
"properties": {
"id": {
"description": "The locale's identifier. An IETF language tag (BCP47).",
"type": "string",
"pattern": "^[a-z]{2}-[A-Z]{2}$"
},
"name": {
"description": "Name of the language in it's language.",
"type": "string",
"minLength": 1
},
"region": {
"description": "Region in which the language is spoken in it's language.",
"type": "string",
"minLength": 1
},
"is_missing_implementation": {
"description": "The language is not (fully) implemented and thus needs to be excluded from stable releases.",
"const": true
}
},
"required": [
"id",
"name",
"region"
],
"additionalProperties": false
}
}
}
-69
View File
@@ -1,69 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/MetaCondition.schema.json",
"$ref": "#/$defs/MetaCondition",
"$defs": {
"MetaCondition": {
"title": "Meta Condition",
"description": "Meta Conditions are rule elements that work like conditions in the sense that they have four levels with different effects, but which are not explicitly listed as conditions.",
"type": "object",
"properties": {
"id": {
"description": "The meta condition's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/MetaConditionTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"src",
"translations"
],
"additionalProperties": false
},
"MetaConditionTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The meta condition's name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"rules": {
"description": "Additional rules for the meta condition, if applicable.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"effects": {
"description": "The effects for level 1 to 4.",
"type": "array",
"items": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"minItems": 4,
"maxItems": 4
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"effects"
],
"additionalProperties": false
}
}
}
-150
View File
@@ -1,150 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/PactCategory.schema.json",
"$ref": "#/$defs/PactCategory",
"$defs": {
"PactCategory": {
"title": "Pact Category",
"type": "object",
"properties": {
"id": {
"description": "The pact category's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"types": {
"description": "Types of creatures in this category.",
"type": "array",
"items": {
"$ref": "#/$defs/PactType"
},
"minItems": 1
},
"domains": {
"description": "Domains in this category.",
"type": "array",
"items": {
"$ref": "#/$defs/PactDomain"
},
"minItems": 1
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/PactCategoryTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"types",
"domains",
"src",
"translations"
],
"additionalProperties": false
},
"PactCategoryTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the pact category.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name"
],
"additionalProperties": false
},
"PactType": {
"type": "object",
"properties": {
"id": {
"description": "The type's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/PactTypeTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"translations"
],
"additionalProperties": false
},
"PactTypeTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the type.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
},
"PactDomain": {
"type": "object",
"properties": {
"id": {
"description": "The domain's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/PactDomainTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"translations"
],
"additionalProperties": false
},
"PactDomainTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the domain.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-352
View File
@@ -1,352 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Patron.schema.json",
"$ref": "#/$defs/Patron",
"$defs": {
"Patron": {
"title": "Patron",
"type": "object",
"properties": {
"id": {
"description": "The patron's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"category": {
"description": "The patron's category.",
"$ref": "./_SimpleReferences.schema.json#/$defs/PatronCategoryReference"
},
"skills": {
"description": "The patron-specific skills.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/SkillReference"
},
"minItems": 3,
"maxItems": 3
},
"culture": {
"description": "The patron is only available to a certain set of cultures. It may be available to all, it may be available to only specific ones (intersection) and it may be available to all except specific ones to the listed cultures\n(difference).",
"$ref": "#/$defs/PatronCulture"
},
"primary_patron_cultures": {
"description": "The list of cultures where patrons from this category can be the primary patron of.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/CultureReference"
},
"uniqueItems": true
},
"powers": {
"description": "The patron-specific powers. Used by animist power Animal Powers IIII and should only be present on animal patrons.",
"$ref": "#/$defs/AnimalPowers"
},
"ae_cost": {
"description": "The patron-specific AE cost. Used by several animist forces for animal patrons.",
"type": "integer",
"minimum": 2,
"multipleOf": 2
},
"improvement_cost": {
"description": "The patron-specific improvement cost. Used by several animist forces for animal patrons.",
"$ref": "./_ImprovementCost.schema.json#/$defs/ImprovementCost"
},
"common_advantages": {
"description": "The patron may grant common advantages that are taken into account during character creation.\n\n*Source:* Geisterwald & Knochenklippen, p. 6-7",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/AdvantageReference"
}
},
"common_disadvantages": {
"description": "The patron may grant common disadvantages that are taken into account during character creation.\n\n*Source:* Geisterwald & Knochenklippen, p. 6-7",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/DisadvantageReference"
}
},
"common_spellworks": {
"description": "The animist may learn spellworks common for this patron.\n\n*Source:* Geisterwald & Knochenklippen, p. 6-7",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/SpellworkReference"
}
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/PatronTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"category",
"skills",
"culture",
"translations"
],
"additionalProperties": false
},
"PatronTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the patron.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
},
"PatronCulture": {
"description": "The patron cultures the patron is or is not part of. If the patron is part of all patron cultures, the set should be empty and the operation should be difference.",
"type": "object",
"properties": {
"set": {
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/CultureReference"
}
},
"operation": {
"$ref": "#/$defs/PatronCultureOperation"
}
},
"required": [
"set",
"operation"
],
"additionalProperties": false
},
"PatronCultureOperation": {
"description": "The set operation to combine the set of all patron cultures with the specified set of patron cultures: If they should intersect, the patron is only part of the given cultures. If they should differ, the patron is only part of the cultures that are not given.",
"oneOf": [
{
"const": "Intersection"
},
{
"const": "Difference"
}
]
},
"AnimalPowers": {
"type": "object",
"properties": {
"level1": {
"$ref": "#/$defs/AnimalPowersLevel1"
},
"level2": {
"$ref": "#/$defs/AnimalPowersLevel2"
},
"level3": {
"$ref": "#/$defs/AnimalPowersLevel3"
}
},
"required": [
"level1",
"level2",
"level3"
],
"additionalProperties": false
},
"AdvantageAnimalPower": {
"type": "object",
"properties": {
"id": {
"description": "The advantage's identifier.",
"$ref": "./_Identifier.schema.json#/$defs/AdvantageIdentifier"
},
"level": {
"description": "It grants a higher level of the advantage.",
"type": "integer",
"minimum": 2
},
"option": {
"description": "It grants a specific general option of the advantage.",
"type": "integer",
"minimum": 1
}
},
"required": [
"id"
],
"additionalProperties": false
},
"SkillAnimalPower": {
"type": "object",
"properties": {
"id": {
"description": "The skill's identifier.",
"$ref": "./_Identifier.schema.json#/$defs/SkillIdentifier"
},
"points": {
"description": "The points that gets added to the skill's rating.",
"type": "integer",
"minimum": 1
}
},
"required": [
"id",
"points"
],
"additionalProperties": false
},
"AnimalPowerLevel1": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Advantage"
},
"advantage": {
"$ref": "#/$defs/AdvantageAnimalPower"
}
},
"required": [
"tag",
"advantage"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Skill"
},
"skill": {
"$ref": "#/$defs/SkillAnimalPower"
}
},
"required": [
"tag",
"skill"
],
"additionalProperties": false
}
]
},
"AnimalPowersLevel1": {
"type": "array",
"items": {
"$ref": "#/$defs/AnimalPowerLevel1"
},
"minItems": 1
},
"CombatAnimalPower": {
"type": "object",
"properties": {
"id": {
"description": "The combat value.",
"$ref": "#/$defs/CombatAnimalPowerType"
},
"value": {
"description": "The value that gets added to the combat value.",
"type": "integer",
"minimum": 1
}
},
"required": [
"id",
"value"
],
"additionalProperties": false
},
"CombatAnimalPowerType": {
"oneOf": [
{
"const": "Attack"
},
{
"const": "Parry"
},
{
"const": "RangedCombat"
},
{
"const": "Dodge"
},
{
"const": "DamagePoints"
},
{
"const": "Protection"
}
]
},
"AnimalPowerLevel2": {
"type": "object",
"properties": {
"tag": {
"const": "Combat"
},
"combat": {
"$ref": "#/$defs/CombatAnimalPower"
}
},
"required": [
"tag",
"combat"
],
"additionalProperties": false
},
"AnimalPowersLevel2": {
"type": "array",
"items": {
"$ref": "#/$defs/AnimalPowerLevel2"
},
"minItems": 1
},
"AttributeAnimalPower": {
"type": "object",
"properties": {
"id": {
"description": "The attribute's identifier.",
"$ref": "./_Identifier.schema.json#/$defs/AttributeIdentifier"
},
"value": {
"description": "The value that gets added to the attribute.",
"type": "integer",
"minimum": 1
}
},
"required": [
"id",
"value"
],
"additionalProperties": false
},
"AnimalPowerLevel3": {
"type": "object",
"properties": {
"tag": {
"const": "Attribute"
},
"attribute": {
"$ref": "#/$defs/AttributeAnimalPower"
}
},
"required": [
"tag",
"attribute"
],
"additionalProperties": false
},
"AnimalPowersLevel3": {
"type": "array",
"items": {
"$ref": "#/$defs/AnimalPowerLevel3"
},
"minItems": 1
}
}
}
-57
View File
@@ -1,57 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/PatronCategory.schema.json",
"$ref": "#/$defs/PatronCategory",
"$defs": {
"PatronCategory": {
"title": "Patron Category",
"type": "object",
"properties": {
"id": {
"description": "The patron category's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"primary_patron_cultures": {
"description": "The list of cultures where patrons from this category can be the primary patron of.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/CultureReference"
},
"minItems": 1,
"uniqueItems": true
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/PatronCategoryTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"primary_patron_cultures",
"translations"
],
"additionalProperties": false
},
"PatronCategoryTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the patron category.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-100
View File
@@ -1,100 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/PersonalityTrait.schema.json",
"$ref": "#/$defs/PersonalityTrait",
"$defs": {
"PersonalityTrait": {
"title": "Personality Trait",
"description": "A personality trait describes character aspects of a person from a certain region. Higher trait levels only cover a part of the region covered by lower-level traits.",
"type": "object",
"properties": {
"id": {
"description": "The personality trait's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"level": {
"description": "The personality trait's level.",
"type": "integer",
"maximum": 3,
"minimum": 1
},
"prerequisites": {
"$ref": "./_Prerequisite.schema.json#/$defs/PersonalityTraitPrerequisites"
},
"combination_options": {
"description": "The lower-level personality trait(s) this trait can be combined with.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/PersonalityTraitReference"
},
"minItems": 1,
"uniqueItems": true
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/PersonalityTraitTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"level",
"src",
"translations"
],
"additionalProperties": false
},
"PersonalityTraitTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the personality trait.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"effects": {
"description": "The effects of the personality trait. They should be sorted like they are in the book.",
"type": "array",
"items": {
"$ref": "#/$defs/PersonalityTraitEffect"
},
"minItems": 1
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"effects"
],
"additionalProperties": false
},
"PersonalityTraitEffect": {
"type": "object",
"properties": {
"label": {
"description": "A label that is displayed and placed before the actual text.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"text": {
"description": "The effect text.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"text"
],
"additionalProperties": false
}
}
}
File diff suppressed because it is too large Load Diff
-51
View File
@@ -1,51 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Property.schema.json",
"$ref": "#/$defs/Property",
"$defs": {
"Property": {
"title": "Property",
"type": "object",
"properties": {
"id": {
"description": "The property's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"check": {
"description": "The property check's attributes. Only the properties from the Core Rules have defined property checks.",
"$ref": "./_SkillCheck.schema.json#/$defs/SkillCheck"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/PropertyTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"translations"
],
"additionalProperties": false
},
"PropertyTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The property's name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-534
View File
@@ -1,534 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Race.schema.json",
"$ref": "#/$defs/Race",
"$defs": {
"Race": {
"title": "Race",
"description": "A playable race with stats and skills.",
"type": "object",
"properties": {
"id": {
"description": "The race's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"ap_value": {
"description": "How many Adventure Points does the race cost during character creation?",
"type": "integer",
"minimum": 0
},
"base_values": {
"description": "The races base values.",
"$ref": "#/$defs/BaseValues"
},
"attribute_adjustments": {
"description": "Describes how to raise or lower maximum attribute values during character creation.",
"$ref": "#/$defs/AttributeAdjustments"
},
"automatic_advantages": {
"description": "A list of automatically applied advantages. This does only work for advantages with no further configuration such as level or special selection.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/AdvantageReference"
},
"minItems": 1
},
"strongly_recommended_advantages": {
"description": "A list of strongly recommended advantages.",
"type": "array",
"items": {
"title": "Commonness-rated Advantage/Disadvantage",
"description": "Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.",
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/AdvantageIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"minItems": 1
},
"strongly_recommended_disadvantages": {
"description": "A list of strongly recommended disadvantages.",
"type": "array",
"items": {
"title": "Commonness-rated Advantage/Disadvantage",
"description": "Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.",
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/DisadvantageIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"minItems": 1
},
"weight": {
"description": "Configuration for random weight generation.",
"$ref": "#/$defs/RandomWeightGeneration"
},
"starting_age": {
"description": "Defines the starting ages for the race. It depends on the selected experience level.",
"type": "array",
"items": {
"$ref": "#/$defs/StartingAgeConfigForExperienceLevel"
},
"minItems": 7,
"maxItems": 7
},
"variants": {
"description": "A list of available race variants where one has to be selected. If no variants are to be selected, a single variant with no name has to be provided which will be used as the missing values for the base race.",
"$ref": "#/$defs/RaceVariants"
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/RaceTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"ap_value",
"base_values",
"attribute_adjustments",
"weight",
"starting_age",
"variants",
"src",
"translations"
],
"additionalProperties": false
},
"BaseValues": {
"description": "The races base values.",
"type": "object",
"properties": {
"life_points": {
"description": "The races life point base value.",
"type": "integer"
},
"spirit": {
"description": "The races Spirit base value.",
"type": "integer"
},
"toughness": {
"description": "The races Toughness base value.",
"type": "integer"
},
"movement": {
"description": "The races tactical movement rate.",
"type": "integer",
"minimum": 1
}
},
"required": [
"life_points",
"spirit",
"toughness",
"movement"
],
"additionalProperties": false
},
"AttributeAdjustments": {
"description": "Describes how to raise or lower maximum attribute values during character creation.",
"type": "object",
"properties": {
"fixed": {
"description": "The values by which the maximum of the respective attribute is modified.",
"type": "array",
"items": {
"$ref": "#/$defs/FixedAttributeAdjustment"
},
"minItems": 1
},
"selectable": {
"description": "An array of attribute maximum modifiers, where the attribute they apply to is selected from a list of options.\n\nThe array only permits a single entry because no race specified more than one selectable attribute adjustment so far. But the schema allows for multiple entries to be future-proof.",
"type": "array",
"items": {
"$ref": "#/$defs/SelectableAttributeAdjustment"
},
"minItems": 1,
"maxItems": 1
}
},
"required": [],
"minProperties": 1,
"additionalProperties": false
},
"FixedAttributeAdjustment": {
"description": "A value by which the maximum of the respective attribute is modified.",
"type": "object",
"properties": {
"id": {
"description": "The attribute the modifier applies to.",
"$ref": "./_Identifier.schema.json#/$defs/AttributeIdentifier"
},
"value": {
"description": "The value by which the specified attribute's maximum is modified\n(negative values will lower the maximum).",
"type": "integer"
}
},
"required": [
"id",
"value"
],
"additionalProperties": false
},
"SelectableAttributeAdjustment": {
"description": "A value that will be added to the current maximum of the selected attribute that has been chosen from the listed attributes (negative values will lower the maximum).",
"type": "object",
"properties": {
"list": {
"description": "A list of attributes the player has to choose from.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/AttributeReference"
},
"minItems": 2
},
"value": {
"description": "The value by which the selected attribute's maximum is modified\n(negative values will lower the maximum).",
"type": "integer"
}
},
"required": [
"list",
"value"
],
"additionalProperties": false
},
"RandomWeightGeneration": {
"description": "Configuration for random weight generation.",
"type": "object",
"properties": {
"base": {
"description": "The base value used for random weight. The height subtrahend; in case of\n`Height - 110 + 2D6` it is `110`.",
"type": "integer",
"minimum": 1
},
"random": {
"description": "The dice used for random weight.",
"type": "array",
"items": {
"$ref": "#/$defs/WeightDice"
},
"minItems": 1
}
},
"required": [
"base",
"random"
],
"additionalProperties": false
},
"WeightDice": {
"type": "object",
"properties": {
"number": {
"description": "Number of dice of the same type. Example: 2 in 2D6.",
"type": "integer",
"minimum": 1
},
"sides": {
"description": "Number of sides on every die. Example: 6 in 2D6.",
"$ref": "./_Dice.schema.json#/$defs/DieType"
},
"offset_strategy": {
"description": "The strategy how to offset the randomly generated values against the base value. Either they are all added or subtracted or even results are added and odd results are subtracted.",
"$ref": "#/$defs/WeightDiceOffsetStrategy"
}
},
"required": [
"number",
"sides",
"offset_strategy"
],
"additionalProperties": false
},
"WeightDiceOffsetStrategy": {
"description": "The strategy how to offset the randomly generated values against the base value. Either they are all added or subtracted or even results are added and odd results are subtracted.",
"oneOf": [
{
"const": "Add"
},
{
"const": "Subtract"
},
{
"const": "AddEvenSubtractOdd"
}
]
},
"StartingAgeConfigForExperienceLevel": {
"type": "object",
"properties": {
"id": {
"description": "The selected experience level's identifier.",
"$ref": "./_Identifier.schema.json#/$defs/ExperienceLevelIdentifier"
},
"base": {
"description": "The base value for the selected experience level.",
"type": "integer",
"minimum": 1
},
"random": {
"description": "The random value for the selected experience level. It is going to be added to the base value.",
"$ref": "./_Dice.schema.json#/$defs/Dice"
}
},
"required": [
"id",
"base",
"random"
],
"additionalProperties": false
},
"RaceVariants": {
"description": "A list of available race variants where one has to be selected. If no variants are to be selected, a single variant with no name has to be provided which will be used as the missing values for the base race.",
"type": "array",
"items": {
"$ref": "#/$defs/RaceVariant"
},
"minItems": 1
},
"RaceVariant": {
"title": "Race Variant",
"type": "object",
"properties": {
"id": {
"description": "An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"common_cultures": {
"description": "The list of common cultures.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/CultureReference"
},
"minItems": 1
},
"common_advantages": {
"description": "A list of common advantages.",
"type": "array",
"items": {
"title": "Commonness-rated Advantage/Disadvantage",
"description": "Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.",
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/AdvantageIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"minItems": 1
},
"common_disadvantages": {
"description": "A list of common disadvantages.",
"type": "array",
"items": {
"title": "Commonness-rated Advantage/Disadvantage",
"description": "Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.",
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/DisadvantageIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"minItems": 1
},
"uncommon_advantages": {
"description": "A list of uncommon advantages.",
"type": "array",
"items": {
"title": "Commonness-rated Advantage/Disadvantage",
"description": "Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.",
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/AdvantageIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"minItems": 1
},
"uncommon_disadvantages": {
"description": "A list of uncommon disadvantages.",
"type": "array",
"items": {
"title": "Commonness-rated Advantage/Disadvantage",
"description": "Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.",
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/DisadvantageIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"minItems": 1
},
"hair_color": {
"description": "An array containing 20 (numeric) hair color identifiers. The array also represents the 20-sided die for a random hair color.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/HairColorReference"
},
"minItems": 20,
"maxItems": 20
},
"eye_color": {
"description": "An array containing 20 (numeric) eye color identifiers. The array also represents the 20-sided die for a random eye color.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/EyeColorReference"
},
"minItems": 20,
"maxItems": 20
},
"height": {
"description": "Configuration for random height generation.",
"$ref": "#/$defs/Height"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/RaceVariantTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"common_cultures",
"hair_color",
"eye_color",
"height",
"translations"
],
"additionalProperties": false
},
"Height": {
"description": "Configuration for random height generation.",
"type": "object",
"properties": {
"base": {
"description": "The base value used for random height.",
"type": "integer",
"minimum": 1
},
"random": {
"description": "The dice used for random height.",
"type": "array",
"items": {
"$ref": "./_Dice.schema.json#/$defs/Dice"
},
"minItems": 1
}
},
"required": [
"base",
"random"
],
"additionalProperties": false
},
"RaceVariantTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The race variant's name. If left empty, it defaults to the base race name. This can be used if the race has no (visible) variants so that a single variant has to be provided.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"common_advantages": {
"description": "The respective common advantages text from the source book.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"common_disadvantages": {
"description": "The respective common disadvantages text from the source book.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"uncommon_advantages": {
"description": "The respective uncommon advantages text from the source book.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"uncommon_disadvantages": {
"description": "The respective uncommon disadvantages text from the source book.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [],
"additionalProperties": false
},
"RaceTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The race's name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"attribute_adjustments": {
"description": "The respective attribute adjustments text from the source book.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"automatic_advantages": {
"description": "The respective automatic advantages text from the source book.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"strongly_recommended_advantages": {
"description": "The respective strongly recommended advantages text from the source book.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"strongly_recommended_disadvantages": {
"description": "The respective strongly recommended disadvantages text from the source book.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"attribute_adjustments"
],
"additionalProperties": false
}
}
}
-47
View File
@@ -1,47 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Region.schema.json",
"$ref": "#/$defs/Region",
"$defs": {
"Region": {
"title": "Region",
"type": "object",
"properties": {
"id": {
"description": "The region's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/RegionTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"translations"
],
"additionalProperties": false
},
"RegionTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The region name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-120
View File
@@ -1,120 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Ritual.schema.json",
"$ref": "#/$defs/Ritual",
"$defs": {
"Ritual": {
"title": "Ritual",
"type": "object",
"properties": {
"id": {
"description": "The ritual's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"check": {
"description": "Lists the linked three attributes used to make a skill check.",
"$ref": "./_SkillCheck.schema.json#/$defs/SkillCheck"
},
"check_penalty": {
"description": "In some cases, the target's Spirit or Toughness is applied as a penalty.",
"$ref": "./_SkillCheck.schema.json#/$defs/SkillCheckPenalty"
},
"parameters": {
"description": "Measurable parameters of a ritual.",
"$ref": "./_ActivatableSkill.schema.json#/$defs/SlowPerformanceParameters"
},
"target": {
"description": "The target category the kind of creature or object the skill affects.",
"$ref": "./_ActivatableSkillTargetCategory.schema.json#/$defs/AffectedTargetCategories"
},
"property": {
"description": "The associated property.",
"$ref": "./_SimpleReferences.schema.json#/$defs/PropertyReference"
},
"traditions": {
"description": "The tradition(s) the ritual is available for. It may be *generally* available to all traditions or it may be only familiar in specific traditions.",
"$ref": "./_Spellwork.schema.json#/$defs/Traditions"
},
"improvement_cost": {
"description": "States which column is used to improve the skill.",
"$ref": "./_ImprovementCost.schema.json#/$defs/ImprovementCost"
},
"prerequisites": {
"$ref": "./_Prerequisite.schema.json#/$defs/SpellworkPrerequisites"
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/RitualTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
},
"enhancements": {
"$ref": "./_Enhancements.schema.json#/$defs/Enhancements"
}
},
"required": [
"id",
"check",
"parameters",
"target",
"property",
"traditions",
"improvement_cost",
"src",
"translations"
],
"additionalProperties": false
},
"RitualTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the ritual.",
"type": "string",
"minLength": 1
},
"effect": {
"description": "The effect description may be either a plain text or a text that is divided by a list of effects for each quality level. It may also be a list for each two quality levels.",
"$ref": "./_ActivatableSkillEffect.schema.json#/$defs/ActivatableSkillEffect"
},
"casting_time": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"cost": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"range": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"duration": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"target": {
"type": "string"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"effect",
"casting_time",
"cost",
"range",
"duration",
"target"
],
"additionalProperties": false
}
}
}
-79
View File
@@ -1,79 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Service.schema.json",
"$ref": "#/$defs/Service",
"$defs": {
"Service": {
"title": "Service of Summoned Creatures and Monstrosities",
"type": "object",
"properties": {
"id": {
"description": "The service's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"availability": {
"description": "Defines for which creature type(s) the service is available.",
"type": "array",
"items": {
"$ref": "#/$defs/ServiceAvailability"
},
"minItems": 1,
"uniqueItems": true
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/ServiceTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"availability",
"src",
"translations"
],
"additionalProperties": false
},
"ServiceAvailability": {
"oneOf": [
{
"const": "SummonedCreatures"
},
{
"const": "Monstrosities"
}
]
},
"ServiceTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the service.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"description": {
"description": "The description of the service.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"description"
],
"additionalProperties": false
}
}
}
-70
View File
@@ -1,70 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/SexPractice.schema.json",
"$ref": "#/$defs/SexPractice",
"$defs": {
"SexPractice": {
"title": "Sex Practice",
"type": "object",
"properties": {
"id": {
"description": "The sex practice's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/SexPracticeTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"src",
"translations"
],
"additionalProperties": false
},
"SexPracticeTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The sex practice's name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"rules": {
"description": "The rules of the sex practice.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"duration": {
"description": "How long a round of this sex practice takes.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"prerequisites": {
"description": "Prerequisites of participants and environment. Do not specify if the sex practice has no prerequisites.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"failed": {
"description": "Effects of a failed *Seduction* check.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name",
"rules",
"duration",
"failed"
],
"additionalProperties": false
}
}
}
-223
View File
@@ -1,223 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Skill.schema.json",
"$ref": "#/$defs/Skill",
"$defs": {
"Skill": {
"title": "Skill",
"type": "object",
"properties": {
"id": {
"description": "The skill's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"check": {
"description": "Lists the linked three attributes used to make a skill check.",
"$ref": "./_SkillCheck.schema.json#/$defs/SkillCheck"
},
"applications": {
"description": "Lists applications for the skill, if any. This does not necessarily include all possible applications. There may also be new applications that could be purchased via certain advantages or special abilities.",
"$ref": "#/$defs/Applications"
},
"encumbrance": {
"description": "Indicates whether encumbrance gives a penalty for checks with the skill.",
"$ref": "#/$defs/EncumbranceInfluence"
},
"improvement_cost": {
"description": "States which column is used to improve the skill.",
"$ref": "./_ImprovementCost.schema.json#/$defs/ImprovementCost"
},
"group": {
"description": "The skill group this skill belongs to.",
"$ref": "./_SimpleReferences.schema.json#/$defs/SkillGroupReference"
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/SkillTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"check",
"applications",
"encumbrance",
"improvement_cost",
"group",
"src",
"translations"
],
"additionalProperties": false
},
"SkillTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the skill.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"applications_input_label": {
"description": "If there are options available that can not be put into a selection list (like different cults), provide the label text for the input element here. Otherwise leave empty.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"encumbrance_description": {
"description": "The text listing the certain circumstances in which the encumbrance may count. This text must be used if `encumbrance` is set to `\"Maybe\"`, otherwise it is ignored if defined.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"tools": {
"description": "Mentions any tools from the equipment list that are necessary to employ the skill.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"quality": {
"description": "Gives examples of the effects that various QL might provide.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"failed": {
"description": "Lists examples of results for a failed check.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"critical": {
"description": "Lists examples of results for a critical success.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"botch": {
"description": "Lists examples of results for botches.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"quality",
"failed",
"critical",
"botch"
],
"additionalProperties": false
},
"ApplicationCategory": {
"description": "A category. All available entries from the specified category will be included as separate applications.",
"oneOf": [
{
"const": "BlessedTraditions"
},
{
"const": "Diseases"
},
{
"const": "Regions"
}
]
},
"Applications": {
"description": "The skill's applications.",
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Derived"
},
"derived": {
"$ref": "#/$defs/ApplicationCategory"
}
},
"required": [
"tag",
"derived"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Explicit"
},
"explicit": {
"$ref": "#/$defs/SpecificApplications"
}
},
"required": [
"tag",
"explicit"
],
"additionalProperties": false
}
]
},
"SpecificApplications": {
"description": "A list of explicit applications.",
"type": "array",
"items": {
"$ref": "#/$defs/Application"
}
},
"Application": {
"description": "An explicit skill application.",
"type": "object",
"properties": {
"id": {
"description": "The skill application's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/ApplicationTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"translations"
],
"additionalProperties": false
},
"ApplicationTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The skill application's name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
},
"EncumbranceInfluence": {
"description": "Indicates whether encumbrance gives a penalty for checks with the skill.",
"oneOf": [
{
"const": "True"
},
{
"const": "False"
},
{
"const": "Maybe"
}
]
}
}
}
-57
View File
@@ -1,57 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/SkillGroup.schema.json",
"$ref": "#/$defs/SkillGroup",
"$defs": {
"SkillGroup": {
"title": "Skill Group",
"type": "object",
"properties": {
"id": {
"description": "The skill group's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"check": {
"description": "The skill group check's attributes.",
"$ref": "./_SkillCheck.schema.json#/$defs/SkillCheck"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/SkillGroupTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"check",
"translations"
],
"additionalProperties": false
},
"SkillGroupTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The skill group's name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"long_name": {
"description": "The skill group's long name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name",
"long_name"
],
"additionalProperties": false
}
}
}
-153
View File
@@ -1,153 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/SkillModificationLevel.schema.json",
"$ref": "#/$defs/SkillModificationLevel",
"$defs": {
"SkillModificationLevel": {
"title": "Skill Modification Level",
"type": "object",
"properties": {
"id": {
"description": "The skill modification level's identifier.",
"type": "integer",
"maximum": 6,
"minimum": 1
},
"fast": {
"description": "Configuration for this level for fast skills (spells, liturgical chants).",
"$ref": "#/$defs/FastSkillModificationLevelConfig"
},
"slow": {
"description": "Configuration for this level for slow skills (rituals, ceremonies).",
"$ref": "#/$defs/SlowSkillModificationLevelConfig"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/SkillModificationLevelTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"fast",
"slow"
],
"additionalProperties": false
},
"FastSkillModificationLevelConfig": {
"type": "object",
"properties": {
"casting_time": {
"description": "The casting time in actions.",
"type": "integer",
"minimum": 1
},
"range": {
"description": "The range in meters.",
"type": "integer",
"minimum": 1
},
"cost": {
"description": "The cost in AE/KP.",
"type": "integer",
"minimum": 1
}
},
"required": [
"casting_time",
"range",
"cost"
],
"additionalProperties": false
},
"SlowSkillModificationLevelConfig": {
"type": "object",
"properties": {
"casting_time": {
"description": "The casting time.",
"$ref": "#/$defs/SlowSkillCastingTime"
},
"range": {
"description": "The range in meters.",
"type": "integer",
"minimum": 1
},
"cost": {
"description": "The cost in AE/KP.",
"type": "integer",
"minimum": 1
}
},
"required": [
"casting_time",
"range",
"cost"
],
"additionalProperties": false
},
"SlowSkillCastingTime": {
"type": "object",
"properties": {
"value": {
"description": "The (unitless) casting time.",
"type": "integer",
"minimum": 1
},
"unit": {
"description": "The unit for the `value`.",
"$ref": "#/$defs/SlowSkillCastingTimeUnit"
}
},
"required": [
"value",
"unit"
],
"additionalProperties": false
},
"SlowSkillCastingTimeUnit": {
"oneOf": [
{
"const": "Minutes"
},
{
"const": "Hours"
}
]
},
"SkillModificationLevelTranslation": {
"type": "object",
"properties": {
"fast": {
"description": "Configuration for this level for fast skills (spells, liturgical chants). Values set here override the default generated text.",
"$ref": "#/$defs/LevelTypeConfigTranslation"
},
"slow": {
"description": "Configuration for this level for slow skills (rituals, ceremonies). Values set here override the default generated text.",
"$ref": "#/$defs/LevelTypeConfigTranslation"
}
},
"required": [],
"minProperties": 1,
"additionalProperties": false
},
"LevelTypeConfigTranslation": {
"description": "Configuration translation of a type for a level. Values set here override the default generated text.",
"type": "object",
"properties": {
"range": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"range"
],
"additionalProperties": false
}
}
}
-47
View File
@@ -1,47 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/SocialStatus.schema.json",
"$ref": "#/$defs/SocialStatus",
"$defs": {
"SocialStatus": {
"title": "Social Status",
"type": "object",
"properties": {
"id": {
"description": "The social status' identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/SocialStatusTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"translations"
],
"additionalProperties": false
},
"SocialStatusTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The social status name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-119
View File
@@ -1,119 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Spell.schema.json",
"$ref": "#/$defs/Spell",
"$defs": {
"Spell": {
"title": "Spell",
"type": "object",
"properties": {
"id": {
"description": "The spell's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"check": {
"description": "Lists the linked three attributes used to make a skill check.",
"$ref": "./_SkillCheck.schema.json#/$defs/SkillCheck"
},
"check_penalty": {
"description": "In some cases, the target's Spirit or Toughness is applied as a penalty.",
"$ref": "./_SkillCheck.schema.json#/$defs/SkillCheckPenalty"
},
"parameters": {
"description": "Measurable parameters of a spell.",
"$ref": "./_ActivatableSkill.schema.json#/$defs/FastPerformanceParameters"
},
"target": {
"description": "The target category the kind of creature or object the skill affects.",
"$ref": "./_ActivatableSkillTargetCategory.schema.json#/$defs/AffectedTargetCategories"
},
"property": {
"description": "The associated property.",
"$ref": "./_SimpleReferences.schema.json#/$defs/PropertyReference"
},
"traditions": {
"description": "The tradition(s) the spell is available for. It may be *generally* available to all traditions or it may be only familiar in specific traditions.",
"$ref": "./_Spellwork.schema.json#/$defs/Traditions"
},
"improvement_cost": {
"description": "States which column is used to improve the skill.",
"$ref": "./_ImprovementCost.schema.json#/$defs/ImprovementCost"
},
"prerequisites": {
"$ref": "./_Prerequisite.schema.json#/$defs/SpellworkPrerequisites"
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/SpellTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
},
"enhancements": {
"$ref": "./_Enhancements.schema.json#/$defs/Enhancements"
}
},
"required": [
"id",
"check",
"parameters",
"target",
"property",
"traditions",
"improvement_cost",
"src",
"translations"
],
"additionalProperties": false
},
"SpellTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the spell.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"effect": {
"description": "The effect description may be either a plain text or a text that is divided by a list of effects for each quality level. It may also be a list for each two quality levels.",
"$ref": "./_ActivatableSkillEffect.schema.json#/$defs/ActivatableSkillEffect"
},
"casting_time": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"cost": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"range": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"duration": {
"$ref": "./_ActivatableSkill.schema.json#/$defs/OldParameter"
},
"target": {
"type": "string"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"effect",
"casting_time",
"cost",
"range",
"duration",
"target"
],
"additionalProperties": false
}
}
}
-59
View File
@@ -1,59 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/State.schema.json",
"$ref": "#/$defs/State",
"$defs": {
"State": {
"title": "State",
"type": "object",
"properties": {
"id": {
"description": "The state's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/StateTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"src",
"translations"
],
"additionalProperties": false
},
"StateTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the state.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"description": {
"description": "The description of the state.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"description"
],
"additionalProperties": false
}
}
}
-120
View File
@@ -1,120 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/Talisman.schema.json",
"$ref": "#/$defs/Talisman",
"$defs": {
"Talisman": {
"title": "Talisman",
"type": "object",
"properties": {
"id": {
"description": "The talisman's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"tradition": {
"description": "The tradition(s) the talisman belongs to.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/BlessedTraditionReference"
},
"minItems": 1
},
"type": {
"description": "The talisman type, if any.",
"$ref": "#/$defs/TalismanType"
},
"ap_value": {
"description": "The AP value for the required trade secret, if possible.",
"type": "integer",
"minimum": 5,
"multipleOf": 5
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/TalismanTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"tradition",
"src",
"translations"
],
"additionalProperties": false
},
"TalismanType": {
"oneOf": [
{
"const": "MainTalisman"
},
{
"const": "Talisman"
},
{
"const": "MinorTalisman"
},
{
"const": "Regalia"
},
{
"const": "PowerfulTalisman"
}
]
},
"TalismanTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the talisman.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"effect": {
"description": "The effect description.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"activation": {
"description": "The activation parameters.",
"$ref": "#/$defs/TalismanActivationTranslation"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"effect"
],
"additionalProperties": false
},
"TalismanActivationTranslation": {
"type": "object",
"properties": {
"cost": {
"description": "The KP cost.",
"type": "integer",
"minimum": 0
},
"duration": {
"description": "The duration.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"cost",
"duration"
],
"additionalProperties": false
}
}
}
-65
View File
@@ -1,65 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/TargetCategory.schema.json",
"$ref": "#/$defs/TargetCategory",
"$defs": {
"TargetCategory": {
"title": "Target Category",
"type": "object",
"properties": {
"id": {
"description": "The target category's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"parent": {
"description": "A superordinate target category, if present.",
"$ref": "#/$defs/TargetCategoryParent"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/TargetCategoryTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"translations"
],
"additionalProperties": false
},
"TargetCategoryParent": {
"description": "A superordinate target category, if present.",
"type": "object",
"properties": {
"id": {
"description": "The identifier of the superordinate target category.",
"$ref": "./_Identifier.schema.json#/$defs/TargetCategoryIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"TargetCategoryTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The target category name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-188
View File
@@ -1,188 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_ActivatableSkill.schema.json",
"$defs": {
"FastPerformanceParameters": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "OneTime"
},
"one_time": {
"$ref": "#/$defs/FastOneTimePerformanceParameters"
}
},
"required": [
"tag",
"one_time"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Sustained"
},
"sustained": {
"$ref": "#/$defs/FastSustainedPerformanceParameters"
}
},
"required": [
"tag",
"sustained"
],
"additionalProperties": false
}
]
},
"FastOneTimePerformanceParameters": {
"type": "object",
"properties": {
"casting_time": {
"$ref": "./_ActivatableSkillCastingTime.schema.json#/$defs/FastCastingTime"
},
"cost": {
"$ref": "./_ActivatableSkillCost.schema.json#/$defs/OneTimeCost"
},
"range": {
"$ref": "./_ActivatableSkillRange.schema.json#/$defs/Range"
},
"duration": {
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationForOneTime"
}
},
"required": [
"casting_time",
"cost",
"range",
"duration"
],
"additionalProperties": false
},
"FastSustainedPerformanceParameters": {
"type": "object",
"properties": {
"casting_time": {
"$ref": "./_ActivatableSkillCastingTime.schema.json#/$defs/FastCastingTime"
},
"cost": {
"$ref": "./_ActivatableSkillCost.schema.json#/$defs/SustainedCost"
},
"range": {
"$ref": "./_ActivatableSkillRange.schema.json#/$defs/Range"
},
"duration": {
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationForSustained"
}
},
"required": [
"casting_time",
"cost",
"range"
],
"additionalProperties": false
},
"SlowPerformanceParameters": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "OneTime"
},
"one_time": {
"$ref": "#/$defs/SlowOneTimePerformanceParameters"
}
},
"required": [
"tag",
"one_time"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Sustained"
},
"sustained": {
"$ref": "#/$defs/SlowSustainedPerformanceParameters"
}
},
"required": [
"tag",
"sustained"
],
"additionalProperties": false
}
]
},
"SlowOneTimePerformanceParameters": {
"type": "object",
"properties": {
"casting_time": {
"$ref": "./_ActivatableSkillCastingTime.schema.json#/$defs/SlowCastingTime"
},
"cost": {
"$ref": "./_ActivatableSkillCost.schema.json#/$defs/OneTimeCost"
},
"range": {
"$ref": "./_ActivatableSkillRange.schema.json#/$defs/Range"
},
"duration": {
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationForOneTime"
}
},
"required": [
"casting_time",
"cost",
"range",
"duration"
],
"additionalProperties": false
},
"SlowSustainedPerformanceParameters": {
"type": "object",
"properties": {
"casting_time": {
"$ref": "./_ActivatableSkillCastingTime.schema.json#/$defs/SlowCastingTime"
},
"cost": {
"$ref": "./_ActivatableSkillCost.schema.json#/$defs/SustainedCost"
},
"range": {
"$ref": "./_ActivatableSkillRange.schema.json#/$defs/Range"
},
"duration": {
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationForSustained"
}
},
"required": [
"casting_time",
"cost",
"range"
],
"additionalProperties": false
},
"OldParameter": {
"type": "object",
"properties": {
"full": {
"type": "string"
},
"abbr": {
"type": "string"
}
},
"required": [
"full",
"abbr"
],
"additionalProperties": false
}
}
}
@@ -1,181 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_ActivatableSkillCastingTime.schema.json",
"$defs": {
"ModifiableCastingTime": {
"type": "object",
"properties": {
"initial_modification_level": {
"description": "The initial skill modification identifier/level.",
"type": "integer",
"maximum": 6,
"minimum": 1
}
},
"required": [
"initial_modification_level"
],
"additionalProperties": false
},
"CastingTimeDuringLovemaking": {
"description": "The casting time during lovemaking. In Aventurian Intimacy, you may only use an activatable skill during lovemaking if it has a casting time used during lovemaking.",
"type": "object",
"properties": {
"value": {
"description": "The (unitless) casting time value.",
"type": "integer",
"minimum": 1
},
"unit": {
"description": "The unit of the `value`.",
"$ref": "#/$defs/CastingTimeDuringLovemakingUnit"
}
},
"required": [
"value",
"unit"
],
"additionalProperties": false
},
"CastingTimeDuringLovemakingUnit": {
"oneOf": [
{
"const": "SeductionActions"
},
{
"const": "Rounds"
}
]
},
"FastSkillNonModifiableCastingTime": {
"type": "object",
"properties": {
"actions": {
"description": "The casting time value in actions.",
"type": "integer",
"minimum": 1
}
},
"required": [
"actions"
],
"additionalProperties": false
},
"SlowSkillNonModifiableCastingTime": {
"type": "object",
"properties": {
"value": {
"description": "The (unitless) casting time value.",
"type": "integer",
"minimum": 1
},
"unit": {
"$ref": "./SkillModificationLevel.schema.json#/$defs/SlowSkillCastingTimeUnit"
}
},
"required": [
"value",
"unit"
],
"additionalProperties": false
},
"FastCastingTime": {
"description": "The casting time may have two different values: One for use in “normal” time, i. e. actions, combat rounds and others, and one for use during lovemaking, which is a rule set from Aventurian Intimacy.\n\nThere must always be at least one casting time value.",
"type": "object",
"properties": {
"default": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Modifiable"
},
"modifiable": {
"$ref": "#/$defs/ModifiableCastingTime"
}
},
"required": [
"tag",
"modifiable"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "NonModifiable"
},
"non_modifiable": {
"$ref": "#/$defs/FastSkillNonModifiableCastingTime"
}
},
"required": [
"tag",
"non_modifiable"
],
"additionalProperties": false
}
]
},
"during_lovemaking": {
"description": "The casting time during lovemaking. In Aventurian Intimacy, you may only use an activatable skill during lovemaking if it has a casting time used during lovemaking.",
"$ref": "#/$defs/CastingTimeDuringLovemaking"
}
},
"required": [],
"minProperties": 1,
"additionalProperties": false
},
"SlowCastingTime": {
"description": "The casting time may have two different values: One for use in “normal” time, i. e. actions, combat rounds and others, and one for use during lovemaking, which is a rule set from Aventurian Intimacy.\n\nThere must always be at least one casting time value.",
"type": "object",
"properties": {
"default": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Modifiable"
},
"modifiable": {
"$ref": "#/$defs/ModifiableCastingTime"
}
},
"required": [
"tag",
"modifiable"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "NonModifiable"
},
"non_modifiable": {
"$ref": "#/$defs/SlowSkillNonModifiableCastingTime"
}
},
"required": [
"tag",
"non_modifiable"
],
"additionalProperties": false
}
]
},
"during_lovemaking": {
"description": "The casting time during lovemaking. In Aventurian Intimacy, you may only use an activatable skill during lovemaking if it has a casting time used during lovemaking.",
"$ref": "#/$defs/CastingTimeDuringLovemaking"
}
},
"required": [],
"minProperties": 1,
"additionalProperties": false
}
}
}
@@ -1,65 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_ActivatableSkillCheckResultBased.schema.json",
"$defs": {
"CheckResultValue": {
"description": "Defines the derived (unitless) value.",
"oneOf": [
{
"const": "QualityLevels"
},
{
"const": "SkillPoints"
}
]
},
"CheckResultArithmetic": {
"description": "Defines how the the `value` is set off against the check result.",
"oneOf": [
{
"const": "Multiply"
},
{
"const": "Divide"
}
]
},
"CheckResultBasedModifier": {
"type": "object",
"properties": {
"arithmetic": {
"description": "The arithmetic how to apply the `value` to the `base`.",
"$ref": "#/$defs/CheckResultArithmetic"
},
"value": {
"description": "The value that is applied to the `base` using the defined `arithmetic`.",
"type": "integer",
"minimum": 2
}
},
"required": [
"arithmetic",
"value"
],
"additionalProperties": false
},
"CheckResultBased": {
"description": "Defines a parameter being based on a check result.",
"type": "object",
"properties": {
"base": {
"description": "The base value that is derived from the check result.",
"$ref": "#/$defs/CheckResultValue"
},
"modifier": {
"description": "If defined, it modifies the base value.",
"$ref": "#/$defs/CheckResultBasedModifier"
}
},
"required": [
"base"
],
"additionalProperties": false
}
}
}
-513
View File
@@ -1,513 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_ActivatableSkillCost.schema.json",
"$defs": {
"OneTimeCost": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Single"
},
"single": {
"$ref": "#/$defs/SingleOneTimeCost"
}
},
"required": [
"tag",
"single"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Conjunction"
},
"conjunction": {
"$ref": "#/$defs/MultipleOneTimeCosts"
}
},
"required": [
"tag",
"conjunction"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Disjunction"
},
"disjunction": {
"$ref": "#/$defs/MultipleOneTimeCosts"
}
},
"required": [
"tag",
"disjunction"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Map"
},
"map": {
"$ref": "#/$defs/CostMap"
}
},
"required": [
"tag",
"map"
],
"additionalProperties": false
}
]
},
"SingleOneTimeCost": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Modifiable"
},
"modifiable": {
"$ref": "#/$defs/ModifiableOneTimeCost"
}
},
"required": [
"tag",
"modifiable"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "NonModifiable"
},
"non_modifiable": {
"$ref": "#/$defs/NonModifiableOneTimeCost"
}
},
"required": [
"tag",
"non_modifiable"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Indefinite"
},
"indefinite": {
"$ref": "#/$defs/IndefiniteOneTimeCost"
}
},
"required": [
"tag",
"indefinite"
],
"additionalProperties": false
}
]
},
"MultipleOneTimeCosts": {
"type": "array",
"items": {
"$ref": "#/$defs/SingleOneTimeCost"
},
"minItems": 2
},
"ModifiableOneTimeCost": {
"type": "object",
"properties": {
"initial_modification_level": {
"description": "The initial skill modification identifier/level.",
"type": "integer",
"maximum": 6,
"minimum": 1
},
"permanent_value": {
"description": "The part of the cost value that has to be spent permanently.",
"type": "integer",
"minimum": 1
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/ModifiableOneTimeCostTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"initial_modification_level"
],
"additionalProperties": false
},
"ModifiableOneTimeCostTranslation": {
"type": "object",
"properties": {
"replacement": {
"description": "A replacement string.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextReplace"
}
},
"required": [
"replacement"
],
"additionalProperties": false
},
"NonModifiableOneTimeCost": {
"type": "object",
"properties": {
"is_minimum": {
"description": "If `true`, the non-modifiable value is a minimum value.",
"type": "boolean"
},
"value": {
"description": "The AE cost value.",
"type": "integer",
"minimum": 1
},
"permanent_value": {
"description": "The part of the cost value that has to be spent permanently.",
"type": "integer",
"minimum": 1
},
"per": {
"description": "The cost have to be per a specific countable entity, e.g. `8 KP per person`.",
"$ref": "#/$defs/NonModifiableOneTimeCostPerCountable"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/NonModifiableOneTimeCostTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"value"
],
"additionalProperties": false
},
"NonModifiableOneTimeCostPerCountable": {
"type": "object",
"properties": {
"minimum_total": {
"description": "If defined, the minimum total AE that have to be spent casting the skill.",
"type": "number"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/NonModifiableOneTimeCostPerCountableTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"translations"
],
"additionalProperties": false
},
"NonModifiableOneTimeCostPerCountableTranslation": {
"type": "object",
"properties": {
"countable": {
"description": "The countable entity name.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveText"
}
},
"required": [
"countable"
],
"additionalProperties": false
},
"NonModifiableOneTimeCostTranslation": {
"type": "object",
"properties": {
"note": {
"description": "A note, appended to the generated string in parenthesis.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextOptional"
}
},
"required": [
"note"
],
"additionalProperties": false
},
"IndefiniteOneTimeCost": {
"type": "object",
"properties": {
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/IndefiniteOneTimeCostTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"translations"
],
"additionalProperties": false
},
"IndefiniteOneTimeCostTranslation": {
"type": "object",
"properties": {
"description": {
"description": "A description of where the cost come from.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveText"
}
},
"required": [
"description"
],
"additionalProperties": false
},
"CostMap": {
"description": "A content that is `2/4/8/16 AE for an item the size of a cup/chest/door/castle gate` may be respresented as the following map:\n\n```yaml\noptions:\n - value: 2\n label: \"cup\"\n - value: 4\n label: \"chest\"\n - value: 8\n label: \"door\"\n - value: 16\n label: \"castle gate\"\nfor_append: \"an item the size of a\"\n```\n\nThis will generate the exact same string as seen above given it is set for a spellwork and thus `AE` is used.",
"type": "object",
"properties": {
"options": {
"description": "The possible costs and associated labels.",
"type": "array",
"items": {
"$ref": "#/$defs/CostMapOption"
},
"minItems": 2
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/CostMapTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"options"
],
"additionalProperties": false
},
"CostMapOption": {
"type": "object",
"properties": {
"value": {
"description": "The full cost value for this option.",
"type": "integer",
"minimum": 1
},
"permanent_value": {
"description": "The part of the `value` that has to be paid permanently.",
"type": "integer",
"minimum": 0
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/CostMapOptionTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"value"
],
"additionalProperties": false
},
"CostMapOptionTranslation": {
"type": "object",
"properties": {
"label": {
"description": "The description of the option for cost string generation.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"label_standalone": {
"description": "The description of the option if used standalone. Only used if different from `label`.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"label"
],
"additionalProperties": false
},
"CostMapTranslation": {
"type": "object",
"properties": {
"list_prepend": {
"description": "Place a string between the `for` and the grouped map option labels.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"list_append": {
"description": "Place a string after the grouped map option labels.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"replacement": {
"description": "If the string from the book cannot be generated using the default generation technique, use this string. All options still need to be inserted propertly, since it may be used by in-game tools to provide a selection to players.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [],
"additionalProperties": false
},
"SustainedCost": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Modifiable"
},
"modifiable": {
"$ref": "#/$defs/ModifiableSustainedCost"
}
},
"required": [
"tag",
"modifiable"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "NonModifiable"
},
"non_modifiable": {
"$ref": "#/$defs/NonModifiableSustainedCost"
}
},
"required": [
"tag",
"non_modifiable"
],
"additionalProperties": false
}
]
},
"ModifiableSustainedCost": {
"type": "object",
"properties": {
"initial_modification_level": {
"description": "The initial skill modification identifier/level.",
"type": "integer",
"maximum": 6,
"minimum": 1
},
"interval": {
"description": "The sustain interval.",
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnitValue"
}
},
"required": [
"initial_modification_level",
"interval"
],
"additionalProperties": false
},
"NonModifiableSustainedCost": {
"type": "object",
"properties": {
"is_minimum": {
"description": "If `true`, the non-modifiable value is a minimum value.",
"type": "boolean"
},
"value": {
"description": "The AE cost value.",
"type": "integer",
"minimum": 1
},
"per": {
"description": "The cost have to be per a specific countable entity, e.g. `8 KP per person per 5 minutes`.",
"$ref": "#/$defs/NonModifiableSustainedCostPerCountable"
},
"interval": {
"description": "The sustain interval.",
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnitValue"
}
},
"required": [
"value",
"interval"
],
"additionalProperties": false
},
"NonModifiableSustainedCostPerCountable": {
"type": "object",
"properties": {
"minimum_total": {
"description": "If defined, the minimum total AE that have to be spent casting the skill.",
"type": "number"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/NonModifiableSustainedCostPerCountableTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"translations"
],
"additionalProperties": false
},
"NonModifiableSustainedCostPerCountableTranslation": {
"type": "object",
"properties": {
"countable": {
"description": "The countable entity name.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveText"
}
},
"required": [
"countable"
],
"additionalProperties": false
}
}
}
@@ -1,353 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_ActivatableSkillDuration.schema.json",
"$defs": {
"DurationForOneTime": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Immediate"
},
"immediate": {
"$ref": "#/$defs/Immediate"
}
},
"required": [
"tag",
"immediate"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Permanent"
},
"permanent": {
"$ref": "#/$defs/PermanentDuration"
}
},
"required": [
"tag",
"permanent"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Fixed"
},
"fixed": {
"$ref": "#/$defs/FixedDuration"
}
},
"required": [
"tag",
"fixed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "CheckResultBased"
},
"check_result_based": {
"$ref": "#/$defs/CheckResultBasedDuration"
}
},
"required": [
"tag",
"check_result_based"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Indefinite"
},
"indefinite": {
"$ref": "#/$defs/IndefiniteDuration"
}
},
"required": [
"tag",
"indefinite"
],
"additionalProperties": false
}
]
},
"Immediate": {
"type": "object",
"properties": {
"maximum": {
"description": "Specified if the duration has a maximum time span.",
"$ref": "#/$defs/DurationUnitValue"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/ImmediateTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [],
"additionalProperties": false
},
"ImmediateTranslation": {
"type": "object",
"properties": {
"replacement": {
"description": "A replacement string.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextReplace"
}
},
"required": [
"replacement"
],
"additionalProperties": false
},
"PermanentDuration": {
"type": "object",
"properties": {
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/PermanentDurationTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [],
"additionalProperties": false
},
"PermanentDurationTranslation": {
"type": "object",
"properties": {
"replacement": {
"description": "A replacement string.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextReplace"
}
},
"required": [
"replacement"
],
"additionalProperties": false
},
"FixedDuration": {
"type": "object",
"properties": {
"is_maximum": {
"description": "If the duration is the maximum duration, so it may end earlier.",
"const": true
},
"value": {
"description": "The (unitless) duration.",
"type": "integer",
"minimum": 1
},
"unit": {
"description": "The duration unit.",
"$ref": "#/$defs/DurationUnit"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/FixedDurationTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"value",
"unit"
],
"additionalProperties": false
},
"FixedDurationTranslation": {
"type": "object",
"properties": {
"replacement": {
"description": "A replacement string.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextReplace"
}
},
"required": [
"replacement"
],
"additionalProperties": false
},
"CheckResultBasedDuration": {
"description": "Defines the duration being based on a check result.",
"type": "object",
"properties": {
"is_maximum": {
"description": "If the duration is the maximum duration, so it may end earlier.",
"const": true
},
"base": {
"description": "The base value that is derived from the check result.",
"$ref": "./_ActivatableSkillCheckResultBased.schema.json#/$defs/CheckResultValue"
},
"modifier": {
"description": "If defined, it modifies the base value.",
"$ref": "./_ActivatableSkillCheckResultBased.schema.json#/$defs/CheckResultBasedModifier"
},
"unit": {
"description": "The duration unit.",
"$ref": "#/$defs/DurationUnit"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/CheckResultBasedDurationTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"base",
"unit"
],
"additionalProperties": false
},
"CheckResultBasedDurationTranslation": {
"type": "object",
"properties": {
"replacement": {
"description": "A replacement string.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextReplace"
}
},
"required": [
"replacement"
],
"additionalProperties": false
},
"IndefiniteDuration": {
"type": "object",
"properties": {
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/IndefiniteDurationTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"translations"
],
"additionalProperties": false
},
"IndefiniteDurationTranslation": {
"type": "object",
"properties": {
"description": {
"description": "A description of the duration.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveText"
}
},
"required": [
"description"
],
"additionalProperties": false
},
"DurationForSustained": {
"type": "object",
"properties": {
"maximum": {
"description": "The sustained skill can be active a maximum amount of time.",
"$ref": "#/$defs/DurationUnitValue"
}
},
"required": [
"maximum"
],
"additionalProperties": false
},
"DurationUnit": {
"oneOf": [
{
"const": "Seconds"
},
{
"const": "Minutes"
},
{
"const": "Hours"
},
{
"const": "Days"
},
{
"const": "Weeks"
},
{
"const": "Months"
},
{
"const": "Years"
},
{
"const": "Centuries"
},
{
"const": "Actions"
},
{
"const": "CombatRounds"
}
]
},
"DurationUnitValue": {
"type": "object",
"properties": {
"value": {
"description": "The (unitless) duration value.",
"type": "integer",
"minimum": 1
},
"unit": {
"description": "The unit of the `value`.",
"$ref": "#/$defs/DurationUnit"
}
},
"required": [
"value",
"unit"
],
"additionalProperties": false
}
}
}
-122
View File
@@ -1,122 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_ActivatableSkillEffect.schema.json",
"$defs": {
"ActivatableSkillEffect": {
"description": "The effect description may be either a plain text or a text that is divided by a list of effects for each quality level. It may also be a list for each two quality levels.",
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Plain"
},
"plain": {
"$ref": "#/$defs/ActivatableSkillPlainEffect"
}
},
"required": [
"tag",
"plain"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "ForEachQualityLevel"
},
"for_each_quality_level": {
"$ref": "#/$defs/ActivatableSkillEffectForEachQualityLevel"
}
},
"required": [
"tag",
"for_each_quality_level"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "ForEachTwoQualityLevels"
},
"for_each_two_quality_levels": {
"$ref": "#/$defs/ActivatableSkillEffectForEachTwoQualityLevels"
}
},
"required": [
"tag",
"for_each_two_quality_levels"
],
"additionalProperties": false
}
]
},
"ActivatableSkillPlainEffect": {
"type": "object",
"properties": {
"text": {
"description": "The effect description.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
}
},
"required": [
"text"
],
"additionalProperties": false
},
"ActivatableSkillEffectForEachQualityLevel": {
"type": "object",
"properties": {
"text_before": {
"description": "The effect description before the list of effects for each quality level.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"quality_levels": {
"description": "The list of effects for each quality level. The first element represents QL 1, the second element QL 2, and so on.",
"type": "array",
"items": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
}
},
"text_after": {
"description": "The effect description after the list of effects for each quality level.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
}
},
"required": [
"text_before",
"quality_levels"
],
"additionalProperties": false
},
"ActivatableSkillEffectForEachTwoQualityLevels": {
"type": "object",
"properties": {
"text_before": {
"description": "The effect description before the list of effects for each quality level.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"quality_levels": {
"description": "The list of effects for each two quality levels. The first element represents QL 12, the second element QL 34 and the third element QL 56.",
"type": "array",
"items": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
}
},
"text_after": {
"description": "The effect description after the list of effects for each quality level.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
}
},
"required": [
"text_before",
"quality_levels"
],
"additionalProperties": false
}
}
}
-264
View File
@@ -1,264 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_ActivatableSkillRange.schema.json",
"$defs": {
"Range": {
"type": "object",
"properties": {
"value": {
"$ref": "#/$defs/RangeValue"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/RangeTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"value"
],
"additionalProperties": false
},
"RangeValue": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Modifiable"
},
"modifiable": {
"$ref": "#/$defs/ModifiableRange"
}
},
"required": [
"tag",
"modifiable"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Sight"
},
"sight": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"sight"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Self"
},
"self": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"self"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Global"
},
"global": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"global"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Touch"
},
"touch": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"touch"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Fixed"
},
"fixed": {
"$ref": "#/$defs/FixedRange"
}
},
"required": [
"tag",
"fixed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "CheckResultBased"
},
"check_result_based": {
"$ref": "#/$defs/CheckResultBasedRange"
}
},
"required": [
"tag",
"check_result_based"
],
"additionalProperties": false
}
]
},
"ModifiableRange": {
"type": "object",
"properties": {
"is_maximum": {
"description": "If `true`, the range is a maximum range.",
"const": true
},
"initial_modification_level": {
"description": "The initial skill modification identifier/level.",
"type": "integer",
"maximum": 6,
"minimum": 1
},
"is_radius": {
"description": "If `true`, the range is a radius.",
"const": true
}
},
"required": [
"initial_modification_level"
],
"additionalProperties": false
},
"FixedRange": {
"type": "object",
"properties": {
"is_maximum": {
"description": "If `true`, the range is a maximum range.",
"const": true
},
"value": {
"description": "The (unitless) range value.",
"type": "integer",
"minimum": 1
},
"unit": {
"description": "The unit of the `value`.",
"$ref": "#/$defs/RangeUnit"
},
"is_radius": {
"description": "If `true`, the range is a radius.",
"const": true
}
},
"required": [
"value",
"unit"
],
"additionalProperties": false
},
"CheckResultBasedRange": {
"description": "Defines the range being based on a check result.",
"type": "object",
"properties": {
"is_maximum": {
"description": "If the range is the maximum range.",
"const": true
},
"base": {
"description": "The base value that is derived from the check result.",
"$ref": "./_ActivatableSkillCheckResultBased.schema.json#/$defs/CheckResultValue"
},
"modifier": {
"description": "If defined, it modifies the base value.",
"$ref": "./_ActivatableSkillCheckResultBased.schema.json#/$defs/CheckResultBasedModifier"
},
"unit": {
"description": "The duration unit.",
"$ref": "#/$defs/RangeUnit"
},
"is_radius": {
"description": "If `true`, the range is a radius.",
"const": true
}
},
"required": [
"base",
"unit"
],
"additionalProperties": false
},
"RangeTranslation": {
"type": "object",
"properties": {
"note": {
"description": "A note, appended to the generated string in parenthesis. If the generated is modified using `replacement`, the note is appended to the modifier string.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextOptional"
},
"replacement": {
"description": "A replacement string. If `note` is provided, it is appended to the replaced string.",
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextReplace"
}
},
"required": [],
"minProperties": 1,
"additionalProperties": false
},
"RangeUnit": {
"oneOf": [
{
"const": "Steps"
},
{
"const": "Miles"
}
]
}
}
}
@@ -1,145 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_ActivatableSkillTargetCategory.schema.json",
"$defs": {
"AffectedTargetCategories": {
"description": "The target category the kind of creature or object the skill affects.\n\nIf no target categories are given, the skill applies to all target categories.",
"type": "array",
"items": {
"$ref": "#/$defs/SpecificAffectedTargetCategory"
}
},
"SpecificAffectedTargetCategory": {
"type": "object",
"properties": {
"id": {
"$ref": "#/$defs/SpecificAffectedTargetCategoryIdentifier"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/SpecificAffectedTargetCategoryTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id"
],
"additionalProperties": false
},
"SpecificAffectedTargetCategoryTranslation": {
"type": "object",
"properties": {
"note": {
"description": "A note, appended to the generated string in parenthesis.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"note"
],
"additionalProperties": false
},
"SpecificAffectedTargetCategoryIdentifier": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Self"
},
"self": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"self"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Zone"
},
"zone": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"zone"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "LiturgicalChantsAndCeremonies"
},
"liturgical_chants_and_ceremonies": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"liturgical_chants_and_ceremonies"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Cantrips"
},
"cantrips": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"cantrips"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Predefined"
},
"predefined": {
"$ref": "./_SimpleReferences.schema.json#/$defs/TargetCategoryReference"
}
},
"required": [
"tag",
"predefined"
],
"additionalProperties": false
}
]
}
}
}
-23
View File
@@ -1,23 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_AlternativeNames.schema.json",
"$defs": {
"AlternativeName": {
"type": "object",
"properties": {
"name": {
"description": "An alternative name of the disease.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"region": {
"description": "The region where this alternative name is used.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-51
View File
@@ -1,51 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_ArcaneTradition.schema.json",
"$ref": "#/$defs/ArcaneTradition",
"$defs": {
"ArcaneTradition": {
"title": "Arcane Tradition",
"type": "object",
"properties": {
"id": {
"description": "The arcane tradition's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"prerequisites": {
"$ref": "./_Prerequisite.schema.json#/$defs/ArcaneTraditionPrerequisites"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/ArcaneTraditionTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"prerequisites",
"translations"
],
"additionalProperties": false
},
"ArcaneTraditionTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The arcane tradition's name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-64
View File
@@ -1,64 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_Blessed.schema.json",
"$defs": {
"SkillTradition": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "GeneralAspect"
},
"general_aspect": {
"$ref": "./_SimpleReferences.schema.json#/$defs/AspectReference"
}
},
"required": [
"tag",
"general_aspect"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Tradition"
},
"tradition": {
"$ref": "#/$defs/SkillTraditionWithAspects"
}
},
"required": [
"tag",
"tradition"
],
"additionalProperties": false
}
]
},
"SkillTraditionWithAspects": {
"type": "object",
"properties": {
"tradition": {
"description": "The blessed tradition.",
"$ref": "./_SimpleReferences.schema.json#/$defs/BlessedTraditionReference"
},
"aspects": {
"description": "The aspect(s) from the tradition the ceremony belongs to. Note that not all traditions have aspects. Traditions with aspects must have at least one aspect specified.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/AspectReference"
},
"minItems": 1,
"maxItems": 2
}
},
"required": [
"tradition"
],
"additionalProperties": false
}
}
}
-40
View File
@@ -1,40 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_Dice.schema.json",
"$defs": {
"Dice": {
"title": "Dice",
"type": "object",
"properties": {
"number": {
"description": "Number of dice of the same type. Example: 2 in 2D6.",
"type": "integer",
"minimum": 1
},
"sides": {
"description": "Number of sides on every die. Example: 6 in 2D6.",
"$ref": "#/$defs/DieType"
}
},
"required": [
"number",
"sides"
],
"additionalProperties": false
},
"DieType": {
"description": "Number of sides on every dice. Example: 6 in 2D6.",
"oneOf": [
{
"const": 3
},
{
"const": 6
},
{
"const": 20
}
]
}
}
}
-152
View File
@@ -1,152 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_DiseasePoison.schema.json",
"$defs": {
"Resistance": {
"description": "Depending on the disease, apply Spirit or Toughness as a penalty to the disease roll. It may also happen that the lower of both is applied as a penalty.",
"oneOf": [
{
"const": "Spirit"
},
{
"const": "Toughness"
},
{
"const": "LowerOfSpiritAndToughness"
}
]
},
"Cause": {
"description": "What causes the disease? The GM rolls 1D20 to see if a character gets infected. If the infection check succeeds, the GM makes a disease check to determine the severity of the infection.",
"type": "object",
"properties": {
"chance": {
"description": "The chance to get infected by this cause, in percent.",
"type": "integer",
"maximum": 100,
"minimum": 5,
"multipleOf": 5
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/CauseTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"translations"
],
"additionalProperties": false
},
"CauseTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the cause.",
"type": "string",
"minLength": 1
},
"chance": {
"description": "The chance to get infected by this cause. If present for this language, this overrides the universal `chance` field; they cannot be used at the same time.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"note": {
"description": "An additional note about this cause.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
},
"DiseaseTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the disease.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"alternative_names": {
"description": "A list of alternative names.",
"type": "array",
"items": {
"$ref": "./_AlternativeNames.schema.json#/$defs/AlternativeName"
},
"minItems": 1
},
"progress": {
"description": "The diseases progress, in detail.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"incubation_time": {
"description": "After infection, how much time passes before symptoms appear?",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"damage": {
"description": "An effect or other parameter that may be reduced by a failed disease check for lessening or a degraded poison.\n\nThis streamlines the wording for diseases and poison by using a unified wording for *lessened* (disease) and *degraded* (poison).",
"type": "object",
"properties": {
"default": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"reduced": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
}
},
"required": [
"default"
],
"additionalProperties": false
},
"duration": {
"description": "An effect or other parameter that may be reduced by a failed disease check for lessening or a degraded poison.\n\nThis streamlines the wording for diseases and poison by using a unified wording for *lessened* (disease) and *degraded* (poison).",
"type": "object",
"properties": {
"default": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"reduced": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
}
},
"required": [
"default"
],
"additionalProperties": false
},
"special": {
"description": "Special information about the disease.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"treatment": {
"description": "Methods known to lessen the diseases progress or relieve symptoms.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"cure": {
"description": "Known remedies for the disease.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"progress",
"incubation_time",
"damage",
"duration",
"treatment",
"cure"
],
"additionalProperties": false
}
}
}
-85
View File
@@ -1,85 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_Enhancements.schema.json",
"$defs": {
"Enhancements": {
"description": "A list of enhancements.",
"type": "array",
"items": {
"$ref": "#/$defs/Enhancement"
},
"minItems": 3,
"maxItems": 5
},
"Enhancement": {
"title": "Enhancement",
"type": "object",
"properties": {
"id": {
"description": "The enhancement's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"skill_rating": {
"description": "The skill rating required to learn this enhancement.",
"type": "integer",
"maximum": 16,
"minimum": 8
},
"adventure_points_modifier": {
"description": "The value to multiply with the numeric representation of the associated skill's improvement cost to form the final AP cost of this enhancement.",
"type": "integer",
"minimum": 1
},
"prerequisites": {
"$ref": "./_Prerequisite.schema.json#/$defs/EnhancementPrerequisites"
},
"src": {
"description": "Only defined if different than the associated skill.",
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/EnhancementTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"skill_rating",
"adventure_points_modifier",
"translations"
],
"additionalProperties": false
},
"EnhancementTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the enhancement.",
"type": "string",
"minLength": 1
},
"effect": {
"description": "The effect description.",
"type": "string",
"minLength": 1
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"effect"
],
"additionalProperties": false
}
}
}
-55
View File
@@ -1,55 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_I18n.schema.json",
"$defs": {
"PluralizationCategories": {
"description": "The item can be present in multiple pluralization categories; this object unifies handling of them. Not all of the options must be present, however, every possible category for that language should be defined. This means, that different languages may have a different amount of properties defined here. More information on pluralization and the Intl.PluralRules API on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/PluralRules, https://unicode-org.github.io/cldr/ldml/tr35-numbers.html#Language_Plural_Rules and http://cldr.unicode.org/index/cldr-spec/plural-rules.\n\nFrom the third link:\n\n> The minimal pairs are those that are required for correct grammar. So\n> because 0 and 1 don't have to form a minimal pair (it is ok—even though\n> often not optimal—to say '0 people') , 0 doesn't establish a separate\n> category. However, implementations are encouraged to provide the ability to\n> have special plural messages for 0 in particular, so that more natural\n> language can be used:\n>\n> — None of your friends are online.\n>\n> rather than\n>\n> — You have 0 friends online.",
"type": "object",
"properties": {
"zero": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"one": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"two": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"few": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"many": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"other": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"other"
],
"additionalProperties": false
},
"VaryBySystem": {
"description": "The item can be different for each operating system.",
"type": "object",
"properties": {
"mac": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"windows": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"linux": {
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"mac",
"windows",
"linux"
],
"additionalProperties": false
}
}
}
File diff suppressed because it is too large Load Diff
-753
View File
@@ -1,753 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_IdentifierGroup.schema.json",
"$defs": {
"ActivatableIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/AdvantageIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/DisadvantageIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AdvancedCombatSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AdvancedKarmaSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AdvancedMagicalSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AdvancedSkillSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AncestorGlyphIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ArcaneOrbEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AttireEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/BlessedTraditionIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/BowlEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/BrawlingSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CauldronEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CeremonialItemSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ChronicleEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CombatSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CombatStyleSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CommandSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/DaggerRitualIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/FamiliarSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/FatePointSexSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/FatePointSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/FoolsHatEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/GeneralSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/InstrumentEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/KarmaSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/KrallenkettenzauberIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/LiturgicalStyleSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/LycantropicGiftIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/MagicalSignIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/MagicalSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/MagicalTraditionIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/MagicStyleSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/OrbEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/PactGiftIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ProtectiveWardingCircleSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/RingEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SermonIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SexSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SickleRitualIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SikaryanDrainSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SkillStyleSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SpellSwordEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/StaffEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ToyEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/TrinkhornzauberIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/VampiricGiftIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/VisionIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/WandEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/WeaponEnchantmentIdentifier"
}
]
},
"SpecialAbilityIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/AdvancedCombatSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AdvancedKarmaSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AdvancedMagicalSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AdvancedSkillSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AncestorGlyphIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ArcaneOrbEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AttireEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/BlessedTraditionIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/BowlEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/BrawlingSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CauldronEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CeremonialItemSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ChronicleEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CombatSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CombatStyleSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CommandSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/DaggerRitualIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/FamiliarSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/FatePointSexSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/FatePointSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/FoolsHatEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/GeneralSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/InstrumentEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/KarmaSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/KrallenkettenzauberIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/LiturgicalStyleSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/LycantropicGiftIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/MagicalSignIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/MagicalSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/MagicalTraditionIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/MagicStyleSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/OrbEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/PactGiftIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ProtectiveWardingCircleSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/RingEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SermonIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SexSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SickleRitualIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SikaryanDrainSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SkillStyleSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SpellSwordEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/StaffEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ToyEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/TrinkhornzauberIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/VampiricGiftIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/VisionIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/WandEnchantmentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/WeaponEnchantmentIdentifier"
}
]
},
"CombatRelatedSpecialAbilityIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/CombatSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CombatStyleSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AdvancedCombatSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CommandSpecialAbilityIdentifier"
}
]
},
"TraditionIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/MagicalTraditionIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/BlessedTraditionIdentifier"
}
]
},
"RatedIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/AttributeIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SkillIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CloseCombatTechniqueIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/RangedCombatTechniqueIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SpellIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/RitualIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/LiturgicalChantIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CeremonyIdentifier"
}
]
},
"SkillishIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/SkillIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SpellIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/RitualIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/LiturgicalChantIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CeremonyIdentifier"
}
]
},
"AdvancedSpecialAbilityRestrictedOptionIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/GeneralIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SkillIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ElementIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AspectIdentifier"
}
]
},
"VolumePointsOptionReferenceIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/GeneralIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AnimalShapeSizeIdentifier"
}
]
},
"CombatTechniqueIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/CloseCombatTechniqueIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/RangedCombatTechniqueIdentifier"
}
]
},
"ExtensionRuleIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/FocusRuleIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/OptionalRuleIdentifier"
}
]
},
"SkillWithEnhancementsIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/SpellIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/RitualIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/LiturgicalChantIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CeremonyIdentifier"
}
]
},
"SpellworkIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/SpellIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/RitualIdentifier"
}
]
},
"LiturgyIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/LiturgicalChantIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CeremonyIdentifier"
}
]
},
"MagicalActionIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/CurseIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ElvenMagicalSongIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/DominationRitualIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/MagicalMelodyIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/MagicalDanceIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/JesterTrickIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AnimistPowerIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/GeodeRitualIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ZibiljaRitualIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/MagicalRuneIdentifier"
}
]
},
"SelectOptionIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/GeneralIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/BlessingIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CantripIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/TradeSecretIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ScriptIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AnimalShapeIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ArcaneBardTraditionIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ArcaneDancerTraditionIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SexPracticeIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/RaceIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CultureIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/BlessedTraditionIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ElementIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/PropertyIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AspectIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/DiseaseIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/PoisonIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/LanguageIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SkillIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SkillApplicationIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CloseCombatTechniqueIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/RangedCombatTechniqueIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/LiturgicalChantIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CeremonyIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SpellIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/RitualIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/TargetCategoryIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/PatronIdentifier"
}
]
},
"RequirableSelectOptionIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/GeneralIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SkillIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CloseCombatTechniqueIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/RangedCombatTechniqueIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/PropertyIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AspectIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/LanguageIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AnimalShapeIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/LiturgicalChantIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CeremonyIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/SpellIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/RitualIdentifier"
}
]
},
"CoreRuleDerivableContentIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/MagicalTraditionIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/FamiliarSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/MagicalSpecialAbilityIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/BlessedTraditionIdentifier"
}
]
},
"EquipmentIdentifier": {
"oneOf": [
{
"$ref": "./_Identifier.schema.json#/$defs/AmmunitionIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AnimalIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/AnimalCareIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ArmorIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/BandageOrRemedyIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/BookIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/CeremonialItemIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ClothesIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ContainerIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ElixirIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/EquipmentOfBlessedOnesIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/GemOrPreciousStoneIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/IlluminationLightSourceIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/IlluminationRefillsOrSuppliesIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/JewelryIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/LiebesspielzeugIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/LuxuryGoodIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/MagicalArtifactIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/MusicalInstrumentIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/OrienteeringAidIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/PoisonIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/RopeOrChainIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/StationaryIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ThievesToolIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/ToolOfTheTradeIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/TravelGearOrToolIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/VehicleIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/WeaponIdentifier"
},
{
"$ref": "./_Identifier.schema.json#/$defs/WeaponAccessoryIdentifier"
}
]
},
"OneOrManyNumericIdentifiers": {
"oneOf": [
{
"$ref": "#/$defs/OneNumericIdentifier"
},
{
"$ref": "#/$defs/ManyNumericIdentifiers"
}
]
},
"OneNumericIdentifier": {
"type": "number",
"minimum": 1
},
"ManyNumericIdentifiers": {
"type": "array",
"items": {
"$ref": "#/$defs/OneNumericIdentifier"
},
"minItems": 2
}
}
}
-23
View File
@@ -1,23 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_ImprovementCost.schema.json",
"$defs": {
"ImprovementCost": {
"title": "Improvement Cost",
"oneOf": [
{
"const": "A"
},
{
"const": "B"
},
{
"const": "C"
},
{
"const": "D"
}
]
}
}
}
-84
View File
@@ -1,84 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_Influence.schema.json",
"$ref": "#/$defs/Influence",
"$defs": {
"Influence": {
"title": "Influence",
"type": "object",
"properties": {
"id": {
"description": "The influence's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"prerequisites": {
"$ref": "./_Prerequisite.schema.json#/$defs/InfluencePrerequisites"
},
"src": {
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/InfluenceTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"prerequisites",
"src",
"translations"
],
"additionalProperties": false
},
"InfluenceTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The influence name.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"effects": {
"description": "The effects of the influence. They should be sorted like they are in the book.",
"type": "array",
"items": {
"$ref": "#/$defs/InfluenceEffect"
},
"minItems": 1
},
"errata": {
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"effects"
],
"additionalProperties": false
},
"InfluenceEffect": {
"type": "object",
"properties": {
"label": {
"description": "An optional label that is displayed and placed before the actual text.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"text": {
"description": "The effect text.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"text"
],
"additionalProperties": false
}
}
}
-14
View File
@@ -1,14 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_NonEmptyString.schema.json",
"$defs": {
"NonEmptyString": {
"type": "string",
"minLength": 1
},
"NonEmptyMarkdown": {
"type": "string",
"minLength": 1
}
}
}
File diff suppressed because it is too large Load Diff
-66
View File
@@ -1,66 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_ResponsiveText.schema.json",
"$defs": {
"ResponsiveText": {
"description": "A text from the source that can be also displayed in small areas using a compressed version.",
"type": "object",
"properties": {
"full": {
"description": "The full text from the source.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"compressed": {
"description": "A compressed text for use in small areas (e.g. on character sheet).",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"full",
"compressed"
],
"additionalProperties": false
},
"ResponsiveTextReplace": {
"description": "A text from the source that can be also displayed in small areas using a compressed version. It is used as a replacement for a generated text while the generated text is still provided and should be used.",
"type": "object",
"properties": {
"full": {
"description": "The full replacement string. It must contain `$1`, which is going to be replaced with the generated string, so additional information can be provided without duplicating concrete numeric values.",
"type": "string",
"minLength": 1,
"pattern": "\\$1"
},
"compressed": {
"description": "A compressed replacement string for use in small areas (e.g. on character sheet). It must contain `$1`, which is going to be replaced with the generated string, so additional information can be provided without duplicating concrete numeric values.",
"type": "string",
"minLength": 1,
"pattern": "\\$1"
}
},
"required": [
"full",
"compressed"
],
"additionalProperties": false
},
"ResponsiveTextOptional": {
"description": "A text from the source that can be also displayed in small areas using a compressed version, if available.",
"type": "object",
"properties": {
"full": {
"description": "The full text from the source.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"compressed": {
"description": "A compressed text for use in small areas (e.g. on character sheet). If this is not present, it should not appear in those areas.",
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"full"
],
"additionalProperties": false
}
}
}
-18
View File
@@ -1,18 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_Sex.schema.json",
"$ref": "#/$defs/BinarySex",
"$defs": {
"BinarySex": {
"title": "Binary Sex",
"oneOf": [
{
"const": "Male"
},
{
"const": "Female"
}
]
}
}
}
-522
View File
@@ -1,522 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_SimpleReferences.schema.json",
"$defs": {
"FocusRuleSubjectReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/SubjectIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"RaceReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/RaceIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"CultureReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/CultureIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"ProfessionReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/ProfessionIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"ProfessionVariantReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/ProfessionVariantIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"AttributeReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/AttributeIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"SkillReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/SkillIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"SkillGroupReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/SkillGroupIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"CombatTechniqueReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_IdentifierGroup.schema.json#/$defs/CombatTechniqueIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"CloseCombatTechniqueReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/CloseCombatTechniqueIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"RangedCombatTechniqueReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/RangedCombatTechniqueIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"MagicalTraditionReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/MagicalTraditionIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"CantripReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/CantripIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"SpellReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/SpellIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"RitualReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/RitualIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"SpellworkReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_IdentifierGroup.schema.json#/$defs/SpellworkIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"PropertyReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/PropertyIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"BlessedTraditionReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/BlessedTraditionIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"BlessingReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/BlessingIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"LiturgicalChantReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/LiturgicalChantIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"CeremonyReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/CeremonyIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"AspectReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/AspectIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"AdvantageReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/AdvantageIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"DisadvantageReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/DisadvantageIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"LanguageReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/LanguageIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"ScriptReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/ScriptIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"SocialStatusReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/SocialStatusIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"CurriculumReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/CurriculumIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"GuidelineReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/GuidelineIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"AnimalTypeReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/AnimalTypeIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"TargetCategoryReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/TargetCategoryIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"PatronCategoryReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/PatronCategoryIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"PersonalityTraitReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/PersonalityTraitIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"HairColorReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/HairColorIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"EyeColorReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/EyeColorIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"PactCategoryReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/PactCategoryIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"PactDomainReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/PactDomainIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"PatronReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/PatronIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"AnimistTribeReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/AnimistTribeIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"ElementReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/ElementIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"WeaponReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/WeaponIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"ArmorReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_Identifier.schema.json#/$defs/ArmorIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"TraditionReference": {
"type": "object",
"properties": {
"id": {
"$ref": "./_IdentifierGroup.schema.json#/$defs/TraditionIdentifier"
}
},
"required": [
"id"
],
"additionalProperties": false
}
}
}
-38
View File
@@ -1,38 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_SkillCheck.schema.json",
"$defs": {
"SkillCheck": {
"title": "Skill Check",
"description": "The attributes' identifiers of the skill check.",
"type": "array",
"items": {
"$ref": "./_SimpleReferences.schema.json#/$defs/AttributeReference"
}
},
"SkillCheckPenalty": {
"title": "Skill Check Penalty",
"description": "A specific value that represents a penalty for the associated skill check.",
"oneOf": [
{
"const": "Spirit"
},
{
"const": "HalfOfSpirit"
},
{
"const": "Toughness"
},
{
"const": "HigherOfSpiritAndToughness"
},
{
"const": "SummoningDifficulty"
},
{
"const": "CreationDifficulty"
}
]
}
}
}
-54
View File
@@ -1,54 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/_Spellwork.schema.json",
"$defs": {
"Traditions": {
"description": "The tradition(s) the ritual is available for. It may be *generally* available to all traditions or it may be only familiar in specific traditions.",
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "General"
},
"general": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"general"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Specific"
},
"specific": {
"$ref": "#/$defs/SpecificTraditions"
}
},
"required": [
"tag",
"specific"
],
"additionalProperties": false
}
]
},
"SpecificTraditions": {
"description": "A list of specific traditions.",
"type": "array",
"items": {
"$ref": "./_Identifier.schema.json#/$defs/MagicalTraditionIdentifier"
},
"minItems": 1
}
}
}
@@ -1,79 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/EquipmentPackage.schema.json",
"$ref": "#/$defs/EquipmentPackage",
"$defs": {
"EquipmentPackage": {
"title": "Equipment Package",
"type": "object",
"properties": {
"id": {
"description": "The equipment package's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"items": {
"description": "All items in the package. You have to provide the item (template) identifier and you can optionally provide the number of how often an item is included in the package.",
"type": "array",
"items": {
"$ref": "#/$defs/EquipmentPackageItem"
},
"minItems": 2
},
"src": {
"$ref": "../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/EquipmentPackageTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"items",
"src",
"translations"
],
"additionalProperties": false
},
"EquipmentPackageItem": {
"type": "object",
"properties": {
"id": {
"description": "The item's identifier.",
"$ref": "../_IdentifierGroup.schema.json#/$defs/EquipmentIdentifier"
},
"number": {
"description": "The number of how often the item is included in the package.",
"type": "integer",
"default": 1,
"minimum": 2
}
},
"required": [
"id"
],
"additionalProperties": false
},
"EquipmentPackageTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the equipment package.",
"$ref": "../_NonEmptyString.schema.json#/$defs/NonEmptyString"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
@@ -1,56 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/Ammunition.schema.json",
"$ref": "#/$defs/Ammunition",
"$defs": {
"Ammunition": {
"type": "object",
"properties": {
"cost": {
"description": "The cost in silverthalers.",
"$ref": "./_Item.schema.json#/$defs/Cost"
},
"src": {
"$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/AmmunitionTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"cost",
"src",
"translations"
],
"additionalProperties": false
},
"AmmunitionTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the item.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"secondary_name": {
"description": "An auxiliary name or label of the item, if available.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"errata": {
"$ref": "../../source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
-36
View File
@@ -1,36 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/Animal.schema.json",
"$ref": "#/$defs/Animal",
"$defs": {
"Animal": {
"type": "object",
"properties": {
"cost": {
"description": "The cost in silverthalers.",
"$ref": "./_Item.schema.json#/$defs/Cost"
},
"src": {
"$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "./_Item.schema.json#/$defs/DefaultItemTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"cost",
"src",
"translations"
],
"additionalProperties": false
}
}
}
@@ -1,124 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/AnimalCare.schema.json",
"$ref": "#/$defs/AnimalCare",
"$defs": {
"AnimalCare": {
"type": "object",
"properties": {
"type": {
"description": "Values depending on whether the animal care is feed.",
"$ref": "#/$defs/AnimalCareType"
},
"src": {
"$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "./_Item.schema.json#/$defs/DefaultItemTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"type",
"src",
"translations"
],
"additionalProperties": false
},
"AnimalCareType": {
"description": "Values depending on whether the animal care is feed.",
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "General"
},
"general": {
"$ref": "#/$defs/GeneralAnimalCare"
}
},
"required": [
"tag",
"general"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Feed"
},
"feed": {
"$ref": "#/$defs/AnimalFeed"
}
},
"required": [
"tag",
"feed"
],
"additionalProperties": false
}
]
},
"GeneralAnimalCare": {
"type": "object",
"properties": {
"cost": {
"description": "The cost in silverthalers.",
"$ref": "./_Item.schema.json#/$defs/Cost"
},
"weight": {
"description": "The weight in kg.",
"$ref": "./_Item.schema.json#/$defs/Weight"
}
},
"required": [
"cost",
"weight"
],
"additionalProperties": false
},
"AnimalFeed": {
"type": "object",
"properties": {
"cost": {
"description": "The cost in silverthalers.",
"$ref": "#/$defs/AnimalFeedCost"
}
},
"required": [
"cost"
],
"additionalProperties": false
},
"AnimalFeedCost": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "PerWeek"
},
"per_week": {
"$ref": "./_Item.schema.json#/$defs/FixedCost"
}
},
"required": [
"tag",
"per_week"
],
"additionalProperties": false
}
]
}
}
}
-309
View File
@@ -1,309 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/Armor.schema.json",
"$ref": "#/$defs/Armor",
"$defs": {
"Armor": {
"type": "object",
"properties": {
"cost": {
"description": "The cost in silverthalers.",
"$ref": "./_Item.schema.json#/$defs/Cost"
},
"weight": {
"description": "The weight in kg.",
"$ref": "./_Item.schema.json#/$defs/Weight"
},
"complexity": {
"description": "The complexity of crafting the item.",
"$ref": "./_Item.schema.json#/$defs/Complexity"
},
"protection": {
"description": "The PRO value.",
"$ref": "#/$defs/Protection"
},
"encumbrance": {
"description": "The ENC value.",
"$ref": "#/$defs/Encumbrance"
},
"has_additional_penalties": {
"description": "Does the armor have additional penalties (MOV -1, INI -1)?",
"$ref": "#/$defs/HasAdditionalPenalties"
},
"armor_type": {
"description": "The armor type.",
"$ref": "#/$defs/ArmorTypeReference"
},
"hit_zone": {
"description": "Specify if armor is only available for a specific hit zone.",
"$ref": "#/$defs/HitZone"
},
"src": {
"$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/ArmorTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"cost",
"weight",
"complexity",
"protection",
"encumbrance",
"has_additional_penalties",
"armor_type",
"src",
"translations"
],
"additionalProperties": false
},
"ArmorTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the item.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"secondary_name": {
"description": "An auxiliary name or label of the item, if available.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"note": {
"description": "Note text.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"rules": {
"description": "Special rules text.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"advantage": {
"description": "The armor advantage text.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"disadvantage": {
"description": "The armor disadvantage text.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"errata": {
"$ref": "../../source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name"
],
"minProperties": 1,
"additionalProperties": false
},
"SecondaryArmor": {
"type": "object",
"properties": {
"protection": {
"description": "The PRO value.",
"$ref": "#/$defs/Protection"
},
"encumbrance": {
"description": "The ENC value.",
"$ref": "#/$defs/Encumbrance"
},
"has_additional_penalties": {
"description": "Does the armor have additional penalties (MOV -1, INI -1)?",
"$ref": "#/$defs/HasAdditionalPenalties"
},
"armor_type": {
"description": "The armor type.",
"$ref": "#/$defs/ArmorTypeReference"
},
"hit_zone": {
"description": "Specify if armor is only available for a specific hit zone.",
"$ref": "#/$defs/HitZone"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/SecondaryArmorTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"protection",
"encumbrance",
"has_additional_penalties",
"armor_type"
],
"additionalProperties": false
},
"SecondaryArmorTranslation": {
"type": "object",
"properties": {
"advantage": {
"description": "The armor advantage text.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"disadvantage": {
"description": "The armor disadvantage text.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
}
},
"required": [],
"minProperties": 1,
"additionalProperties": false
},
"Protection": {
"description": "The PRO value.",
"type": "integer",
"minimum": 0
},
"Encumbrance": {
"description": "The ENC value.",
"type": "integer",
"minimum": 0
},
"HasAdditionalPenalties": {
"description": "Does the armor have additional penalties (MOV -1, INI -1)?",
"type": "boolean"
},
"ArmorTypeReference": {
"title": "Armor Type",
"description": "The armor type.",
"type": "object",
"properties": {
"id": {
"description": "The armor type's identifier.",
"type": "integer",
"maximum": 10,
"minimum": 1
}
},
"required": [
"id"
],
"additionalProperties": false
},
"HitZone": {
"title": "Hit Zone",
"description": "Specify if armor is only available for a specific hit zone.",
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Head"
},
"head": {
"$ref": "#/$defs/HeadHitZone"
}
},
"required": [
"tag",
"head"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Torso"
},
"torso": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"torso"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Arms"
},
"arms": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"arms"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Legs"
},
"legs": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"legs"
],
"additionalProperties": false
}
]
},
"HeadHitZone": {
"type": "object",
"properties": {
"combination_possibilities": {
"description": "In some cases, multiple armors for the same hit zone can be combined. They're listed at the item that can be combined with others.",
"$ref": "#/$defs/HeadHitZoneCombinationPossibilities"
}
},
"required": [],
"additionalProperties": false
},
"HeadHitZoneCombinationPossibilities": {
"type": "object",
"properties": {
"armors": {
"description": "A list of armors that can be combined with this armor.",
"type": "array",
"items": {
"$ref": "../../_SimpleReferences.schema.json#/$defs/ArmorReference"
},
"minItems": 1
},
"protection": {
"description": "The PRO value that is added to the PRO value of the other armor instead of adding the normale PRO value.",
"type": "integer",
"minimum": 0
}
},
"required": [
"armors"
],
"additionalProperties": false
}
}
}
@@ -1,53 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/BandageOrRemedy.schema.json",
"$ref": "#/$defs/BandageOrRemedy",
"$defs": {
"BandageOrRemedy": {
"type": "object",
"properties": {
"cost": {
"description": "The cost in silverthalers.",
"$ref": "./_Item.schema.json#/$defs/Cost"
},
"weight": {
"description": "The weight in kg.",
"$ref": "./_Item.schema.json#/$defs/Weight"
},
"complexity": {
"description": "The complexity of crafting the item.",
"$ref": "./_Item.schema.json#/$defs/Complexity"
},
"structure_points": {
"description": "The structure points of the item. Use an array if the item consists of multiple components that have individual structure points.",
"$ref": "./_Item.schema.json#/$defs/StructurePoints"
},
"combat_use": {
"description": "The item can also be used either as an improvised weapon or as an armor, although this is not the primary use case of the item.",
"$ref": "./_Item.schema.json#/$defs/CombatUse"
},
"src": {
"$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "./_Item.schema.json#/$defs/DefaultItemTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"cost",
"weight",
"src",
"translations"
],
"additionalProperties": false
}
}
}
-89
View File
@@ -1,89 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/Book.schema.json",
"$ref": "#/$defs/Book",
"$defs": {
"Book": {
"type": "object",
"properties": {
"cost": {
"description": "The cost in silverthalers.",
"$ref": "./_Item.schema.json#/$defs/Cost"
},
"weight": {
"description": "The weight in kg.",
"$ref": "./_Item.schema.json#/$defs/Weight"
},
"complexity": {
"description": "The complexity of crafting the item.",
"$ref": "./_Item.schema.json#/$defs/Complexity"
},
"structure_points": {
"description": "The structure points of the item. Use an array if the item consists of multiple components that have individual structure points.",
"$ref": "./_Item.schema.json#/$defs/StructurePoints"
},
"src": {
"$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/BookTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"cost",
"weight",
"complexity",
"structure_points",
"src",
"translations"
],
"additionalProperties": false
},
"BookTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the item.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"secondary_name": {
"description": "An auxiliary name or label of the item, if available.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"language": {
"description": "The language the book is written in.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"script": {
"description": "The script that was used for the book.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"note": {
"description": "Note text.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"rules": {
"description": "Special rules text.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"errata": {
"$ref": "../../source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"language",
"script"
],
"additionalProperties": false
}
}
}
@@ -1,59 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/CeremonialItem.schema.json",
"$ref": "#/$defs/CeremonialItem",
"$defs": {
"CeremonialItem": {
"type": "object",
"properties": {
"cost": {
"description": "The cost in silverthalers.",
"$ref": "./_Item.schema.json#/$defs/Cost"
},
"weight": {
"description": "The weight in kg.",
"$ref": "./_Item.schema.json#/$defs/Weight"
},
"complexity": {
"description": "The complexity of crafting the item.",
"$ref": "./_Item.schema.json#/$defs/Complexity"
},
"structure_points": {
"description": "The structure points of the item. Use an array if the item consists of multiple components that have individual structure points.",
"$ref": "./_Item.schema.json#/$defs/StructurePoints"
},
"associated_tradition": {
"description": "The deity associated with the equipment item.",
"$ref": "../../_SimpleReferences.schema.json#/$defs/BlessedTraditionReference"
},
"combat_use": {
"description": "The item can also be used either as an improvised weapon or as an armor, although this is not the primary use case of the item.",
"$ref": "./_Item.schema.json#/$defs/CombatUse"
},
"src": {
"$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "./_Item.schema.json#/$defs/DefaultItemTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"cost",
"weight",
"structure_points",
"associated_tradition",
"src",
"translations"
],
"additionalProperties": false
}
}
}
-10
View File
@@ -1,10 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/Clothes.schema.json",
"$ref": "#/$defs/Clothes",
"$defs": {
"Clothes": {
"$ref": "./_Item.schema.json#/$defs/DefaultItem"
}
}
}
@@ -1,10 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/Container.schema.json",
"$ref": "#/$defs/Container",
"$defs": {
"Container": {
"$ref": "./_Item.schema.json#/$defs/DefaultItem"
}
}
}
-103
View File
@@ -1,103 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/Elixir.schema.json",
"$ref": "#/$defs/Elixir",
"$defs": {
"Elixir": {
"type": "object",
"properties": {
"id": {
"description": "The elixir's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"cost_per_ingredient_level": {
"description": "The cost per ingredient level in silverthalers.",
"type": "number"
},
"laboratory": {
"description": "The laboratory level needed to brew the elixir.",
"$ref": "./_Herbary.schema.json#/$defs/LaboratoryLevel"
},
"brewing_difficulty": {
"description": "The brewing difficulty, which represents the challenge of creating an elixir.",
"type": "integer"
},
"trade_secret": {
"description": "AP value and prerequisites of the elixir recipes trade secret.",
"$ref": "./_Herbary.schema.json#/$defs/RecipeTradeSecret"
},
"src": {
"$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/ElixirTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"cost_per_ingredient_level",
"laboratory",
"brewing_difficulty",
"trade_secret",
"src",
"translations"
],
"additionalProperties": false
},
"ElixirTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the elixir.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"alternative_names": {
"description": "A list of alternative names.",
"type": "array",
"items": {
"$ref": "../../_AlternativeNames.schema.json#/$defs/AlternativeName"
},
"minItems": 1
},
"typical_ingredients": {
"description": "A list of typical ingredients.",
"type": "array",
"items": {
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"minItems": 1,
"uniqueItems": true
},
"brewing_process_prerequisites": {
"description": "Prerequsites for the brewing process, if any.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"quality_levels": {
"description": "The list of effects for each quality level. The first element represents QL 1, the second element QL 2, and so on.",
"type": "array",
"items": {
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
}
},
"errata": {
"$ref": "../../source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"typical_ingredients",
"quality_levels"
],
"additionalProperties": false
}
}
}
@@ -1,49 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/EquipmentOfBlessedOnes.schema.json",
"$ref": "#/$defs/EquipmentOfBlessedOnes",
"$defs": {
"EquipmentOfBlessedOnes": {
"type": "object",
"properties": {
"cost": {
"description": "The cost in silverthalers.",
"$ref": "./_Item.schema.json#/$defs/Cost"
},
"structure_points": {
"description": "The structure points of the item. Use an array if the item consists of multiple components that have individual structure points.",
"$ref": "./_Item.schema.json#/$defs/StructurePoints"
},
"associated_tradition": {
"description": "The deity associated with the equipment item.",
"type": "array",
"items": {
"$ref": "../../_SimpleReferences.schema.json#/$defs/BlessedTraditionReference"
}
},
"src": {
"$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "./_Item.schema.json#/$defs/DefaultItemTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"cost",
"structure_points",
"associated_tradition",
"src",
"translations"
],
"additionalProperties": false
}
}
}
@@ -1,69 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/GemOrPreciousStone.schema.json",
"$ref": "#/$defs/GemOrPreciousStone",
"$defs": {
"GemOrPreciousStone": {
"type": "object",
"properties": {
"cost": {
"description": "The cost in silverthalers per 10 karat.",
"$ref": "./_Item.schema.json#/$defs/Cost"
},
"src": {
"$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/GemOrPreciousStoneTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"cost",
"src",
"translations"
],
"additionalProperties": false
},
"GemOrPreciousStoneTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the item.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"secondary_name": {
"description": "An auxiliary name or label of the item, if available.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"color": {
"description": "The color of the gem or stone.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"note": {
"description": "Note text.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"rules": {
"description": "Special rules text.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"errata": {
"$ref": "../../source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"color"
],
"additionalProperties": false
}
}
}
@@ -1,120 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/IlluminationLightSource.schema.json",
"$ref": "#/$defs/IlluminationLightSource",
"$defs": {
"IlluminationLightSource": {
"type": "object",
"properties": {
"cost": {
"description": "The cost in silverthalers.",
"$ref": "./_Item.schema.json#/$defs/Cost"
},
"weight": {
"description": "The weight in kg.",
"$ref": "./_Item.schema.json#/$defs/Weight"
},
"complexity": {
"description": "The complexity of crafting the item.",
"$ref": "./_Item.schema.json#/$defs/Complexity"
},
"structure_points": {
"description": "The structure points of the item. Use an array if the item consists of multiple components that have individual structure points.",
"$ref": "./_Item.schema.json#/$defs/StructurePoints"
},
"burning_time": {
"description": "The burning time is the time how long the light source can be lit. After that time you have to use a new light source.",
"$ref": "#/$defs/BurningTime"
},
"combat_use": {
"description": "The item can also be used either as an improvised weapon or as an armor, although this is not the primary use case of the item.",
"$ref": "./_Item.schema.json#/$defs/CombatUse"
},
"src": {
"$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "./_Item.schema.json#/$defs/DefaultItemTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"cost",
"weight",
"structure_points",
"burning_time",
"src",
"translations"
],
"additionalProperties": false
},
"BurningTime": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Unlimited"
},
"unlimited": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"unlimited"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Limited"
},
"limited": {
"$ref": "#/$defs/LimitedBurningTime"
}
},
"required": [
"tag",
"limited"
],
"additionalProperties": false
}
]
},
"LimitedBurningTime": {
"type": "object",
"properties": {
"value": {
"description": "The (unitless) time value.",
"type": "number",
"exclusiveMinimum": 0
},
"unit": {
"description": "The time unit.",
"$ref": "#/$defs/LimitedBurningTimeUnit"
}
},
"required": [
"value",
"unit"
],
"additionalProperties": false
},
"LimitedBurningTimeUnit": {
"const": "Hours"
}
}
}
@@ -1,10 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/IlluminationRefillsOrSupplies.schema.json",
"$ref": "#/$defs/IlluminationRefillsOrSupplies",
"$defs": {
"IlluminationRefillsOrSupplies": {
"$ref": "./_Item.schema.json#/$defs/DefaultItem"
}
}
}
-113
View File
@@ -1,113 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/Jewelry.schema.json",
"$ref": "#/$defs/Jewelry",
"$defs": {
"Jewelry": {
"type": "object",
"properties": {
"cost": {
"description": "Jewelry has different cost based on the material.",
"type": "object",
"properties": {
"bronze": {
"$ref": "./_Item.schema.json#/$defs/Cost"
},
"silver": {
"$ref": "./_Item.schema.json#/$defs/Cost"
},
"gold": {
"$ref": "./_Item.schema.json#/$defs/Cost"
}
},
"required": [
"bronze",
"silver",
"gold"
],
"additionalProperties": false
},
"weight": {
"description": "Jewelry has different cost based on the material.",
"type": "object",
"properties": {
"bronze": {
"$ref": "./_Item.schema.json#/$defs/Weight"
},
"silver": {
"$ref": "./_Item.schema.json#/$defs/Weight"
},
"gold": {
"$ref": "./_Item.schema.json#/$defs/Weight"
}
},
"required": [
"bronze",
"silver",
"gold"
],
"additionalProperties": false
},
"complexity": {
"description": "The complexity of crafting the item.",
"$ref": "./_Item.schema.json#/$defs/Complexity"
},
"structure_points": {
"description": "The structure points of the item. Use an array if the item consists of multiple components that have individual structure points.",
"$ref": "./_Item.schema.json#/$defs/StructurePoints"
},
"src": {
"$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/JewelryTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"cost",
"weight",
"complexity",
"structure_points",
"src",
"translations"
],
"additionalProperties": false
},
"JewelryTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the item.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"secondary_name": {
"description": "An auxiliary name or label of the item, if available.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"note": {
"description": "Note text.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"rules": {
"description": "Special rules text.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"errata": {
"$ref": "../../source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
@@ -1,10 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/Liebesspielzeug.schema.json",
"$ref": "#/$defs/Liebesspielzeug",
"$defs": {
"Liebesspielzeug": {
"$ref": "./_Item.schema.json#/$defs/DefaultItem"
}
}
}
@@ -1,53 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/LuxuryGood.schema.json",
"$ref": "#/$defs/LuxuryGood",
"$defs": {
"LuxuryGood": {
"type": "object",
"properties": {
"cost": {
"description": "The cost in silverthalers.",
"$ref": "./_Item.schema.json#/$defs/Cost"
},
"weight": {
"description": "The weight in kg.",
"$ref": "./_Item.schema.json#/$defs/Weight"
},
"complexity": {
"description": "The complexity of crafting the item.",
"$ref": "./_Item.schema.json#/$defs/Complexity"
},
"structure_points": {
"description": "The structure points of the item. Use an array if the item consists of multiple components that have individual structure points.",
"$ref": "./_Item.schema.json#/$defs/StructurePoints"
},
"combat_use": {
"description": "The item can also be used either as an improvised weapon or as an armor, although this is not the primary use case of the item.",
"$ref": "./_Item.schema.json#/$defs/CombatUse"
},
"src": {
"$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "./_Item.schema.json#/$defs/DefaultItemTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"cost",
"weight",
"src",
"translations"
],
"additionalProperties": false
}
}
}
@@ -1,64 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/MagicalArtifact.schema.json",
"$ref": "#/$defs/MagicalArtifact",
"$defs": {
"MagicalArtifact": {
"type": "object",
"properties": {
"cost": {
"description": "The cost in silverthalers.",
"$ref": "./_Item.schema.json#/$defs/Cost"
},
"src": {
"$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/MagicalArtifactTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"cost",
"src",
"translations"
],
"additionalProperties": false
},
"MagicalArtifactTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the item.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"secondary_name": {
"description": "An auxiliary name or label of the item, if available.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"note": {
"description": "Note text.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"rules": {
"description": "Special rules text.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"errata": {
"$ref": "../../source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name"
],
"additionalProperties": false
}
}
}
@@ -1,49 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/MusicalInstrument.schema.json",
"$ref": "#/$defs/MusicalInstrument",
"$defs": {
"MusicalInstrument": {
"type": "object",
"properties": {
"cost": {
"description": "The cost in silverthalers.",
"$ref": "./_Item.schema.json#/$defs/Cost"
},
"weight": {
"description": "The weight in kg.",
"$ref": "./_Item.schema.json#/$defs/Weight"
},
"complexity": {
"description": "The complexity of crafting the item.",
"$ref": "./_Item.schema.json#/$defs/Complexity"
},
"combat_use": {
"description": "The item can also be used either as an improvised weapon or as an armor, although this is not the primary use case of the item.",
"$ref": "./_Item.schema.json#/$defs/CombatUse"
},
"src": {
"$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "./_Item.schema.json#/$defs/DefaultItemTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"cost",
"weight",
"src",
"translations"
],
"additionalProperties": false
}
}
}
@@ -1,10 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/OrienteeringAid.schema.json",
"$ref": "#/$defs/OrienteeringAid",
"$defs": {
"OrienteeringAid": {
"$ref": "./_Item.schema.json#/$defs/DefaultItem"
}
}
}
-835
View File
@@ -1,835 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/Poison.schema.json",
"$ref": "#/$defs/Poison",
"$defs": {
"Poison": {
"title": "Poison",
"type": "object",
"properties": {
"id": {
"description": "The poison's identifier. An unique, increasing integer.",
"type": "integer",
"minimum": 1
},
"application_type": {
"description": "The poison's application type(s).",
"type": "array",
"items": {
"$ref": "#/$defs/PoisonApplicationType"
},
"minItems": 1,
"uniqueItems": true
},
"source_type": {
"description": "The poison's source type and dependent additional values.",
"$ref": "#/$defs/PoisonSourceType"
},
"resistance": {
"description": "Use Spirit or Toughness as a modifier for the poison.",
"$ref": "../../_DiseasePoison.schema.json#/$defs/Resistance"
},
"start": {
"description": "When the poison takes effect.",
"$ref": "#/$defs/PoisonStart"
},
"duration": {
"description": "An effect or other parameter that may be reduced by a failed disease check for lessening or a degraded poison.\n\nThis streamlines the wording for diseases and poison by using a unified wording for *lessened* (disease) and *degraded* (poison).",
"type": "object",
"properties": {
"default": {
"$ref": "#/$defs/PoisonDuration"
},
"reduced": {
"$ref": "#/$defs/PoisonDuration"
}
},
"required": [
"default"
],
"additionalProperties": false
},
"value": {
"description": "The raw (ingredients) value, in silverthalers.",
"type": "integer",
"minimum": 1
},
"cost": {
"description": "Price for one dose, in silverthalers.",
"type": "integer",
"minimum": 1
},
"src": {
"$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/PoisonTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"id",
"application_type",
"source_type",
"resistance",
"start",
"duration",
"value",
"cost",
"src",
"translations"
],
"additionalProperties": false
},
"PoisonApplicationType": {
"oneOf": [
{
"const": "Weapon"
},
{
"const": "Ingestion"
},
{
"const": "Inhalation"
},
{
"const": "Contact"
}
]
},
"PoisonStart": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Immediate"
},
"immediate": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"immediate"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Constant"
},
"constant": {
"$ref": "#/$defs/ConstantPoisonTime"
}
},
"required": [
"tag",
"constant"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "DiceBased"
},
"dice_based": {
"$ref": "#/$defs/DiceBasedPoisonTime"
}
},
"required": [
"tag",
"dice_based"
],
"additionalProperties": false
}
]
},
"PoisonDuration": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Instant"
},
"instant": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
},
"required": [
"tag",
"instant"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Constant"
},
"constant": {
"$ref": "#/$defs/ConstantPoisonTime"
}
},
"required": [
"tag",
"constant"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "DiceBased"
},
"dice_based": {
"$ref": "#/$defs/DiceBasedPoisonTime"
}
},
"required": [
"tag",
"dice_based"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Indefinite"
},
"indefinite": {
"$ref": "#/$defs/IndefinitePoisonTime"
}
},
"required": [
"tag",
"indefinite"
],
"additionalProperties": false
}
]
},
"ConstantPoisonTime": {
"type": "object",
"properties": {
"value": {
"type": "number"
},
"unit": {
"$ref": "#/$defs/PoisonTimeUnit"
}
},
"required": [
"value",
"unit"
],
"additionalProperties": false
},
"DiceBasedPoisonTime": {
"type": "object",
"properties": {
"dice": {
"$ref": "../../_Dice.schema.json#/$defs/Dice"
},
"unit": {
"$ref": "#/$defs/PoisonTimeUnit"
}
},
"required": [
"dice",
"unit"
],
"additionalProperties": false
},
"PoisonTimeUnit": {
"oneOf": [
{
"const": "CombatRounds"
},
{
"const": "Minutes"
},
{
"const": "Hours"
},
{
"const": "Days"
}
]
},
"IndefinitePoisonTime": {
"type": "object",
"properties": {
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/IndefinitePoisonTimeTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"translations"
],
"additionalProperties": false
},
"IndefinitePoisonTimeTranslation": {
"type": "object",
"properties": {
"description": {
"description": "A description of the duration.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
}
},
"required": [
"description"
],
"additionalProperties": false
},
"PoisonSourceType": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "AnimalVenom"
},
"animal_venom": {
"$ref": "#/$defs/AnimalVenom"
}
},
"required": [
"tag",
"animal_venom"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "AlchemicalPoison"
},
"alchemical_poison": {
"$ref": "#/$defs/AlchemicalPoison"
}
},
"required": [
"tag",
"alchemical_poison"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "MineralPoison"
},
"mineral_poison": {
"$ref": "#/$defs/MineralPoison"
}
},
"required": [
"tag",
"mineral_poison"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "PlantPoison"
},
"plant_poison": {
"$ref": "#/$defs/PlantPoison"
}
},
"required": [
"tag",
"plant_poison"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "DemonicPoison"
},
"demonic_poison": {
"$ref": "#/$defs/DemonicPoison"
}
},
"required": [
"tag",
"demonic_poison"
],
"additionalProperties": false
}
]
},
"AnimalVenom": {
"type": "object",
"properties": {
"level": {
"description": "The poisons level.",
"type": "integer",
"maximum": 6,
"minimum": 1
},
"is_extractable": {
"description": "If `false`, the poison cannot be extracted.",
"const": false
}
},
"required": [
"level"
],
"additionalProperties": false
},
"AlchemicalPoison": {
"type": "object",
"properties": {
"effect_types": {
"description": "Effect type(s) of an alchemical poison.",
"type": "array",
"items": {
"$ref": "./_Herbary.schema.json#/$defs/EffectType"
},
"minItems": 1,
"uniqueItems": true
},
"cost_per_ingredient_level": {
"description": "The cost per ingredient level in silverthalers.",
"type": "number"
},
"laboratory": {
"description": "The laboratory level needed to brew the elixir.",
"$ref": "./_Herbary.schema.json#/$defs/LaboratoryLevel"
},
"brewing_difficulty": {
"description": "The brewing difficulty, which represents the challenge of creating an elixir.",
"type": "integer"
},
"trade_secret": {
"description": "AP value and prerequisites of the elixir recipes trade secret.",
"$ref": "./_Herbary.schema.json#/$defs/RecipeTradeSecret"
},
"intoxicant": {
"description": "Additional information if the poison is an intoxicant.",
"$ref": "#/$defs/Intoxicant"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/AlchemicalPoisonTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"effect_types",
"cost_per_ingredient_level",
"laboratory",
"brewing_difficulty",
"trade_secret",
"translations"
],
"additionalProperties": false
},
"AlchemicalPoisonTranslation": {
"type": "object",
"properties": {
"typical_ingredients": {
"description": "A list of typical ingredients.",
"type": "array",
"items": {
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"minItems": 1,
"uniqueItems": true
},
"brewing_process_prerequisites": {
"description": "Prerequsites for the brewing process, if any.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
}
},
"required": [
"typical_ingredients"
],
"additionalProperties": false
},
"MineralPoison": {
"type": "object",
"properties": {
"level": {
"description": "The poisons level.",
"type": "integer",
"maximum": 6,
"minimum": 1
}
},
"required": [
"level"
],
"additionalProperties": false
},
"PlantPoison": {
"type": "object",
"properties": {
"effect_types": {
"description": "Effect type(s) of a plant poison.",
"type": "array",
"items": {
"$ref": "./_Herbary.schema.json#/$defs/EffectType"
},
"minItems": 1,
"uniqueItems": true
},
"level": {
"description": "The poisons level.",
"type": "integer",
"maximum": 6,
"minimum": 1
},
"intoxicant": {
"description": "Additional information if the poison is an intoxicant.",
"$ref": "#/$defs/Intoxicant"
}
},
"required": [
"effect_types",
"level"
],
"additionalProperties": false
},
"DemonicPoison": {
"type": "object",
"properties": {
"level": {
"description": "The poisons level.",
"$ref": "#/$defs/DemonicPoisonLevel"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/DemonicPoisonTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"level"
],
"additionalProperties": false
},
"DemonicPoisonLevel": {
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "QualityLevel"
},
"quality_level": {
"$ref": "#/$defs/QualityLevelDemonicPoisonLevel"
}
},
"required": [
"tag",
"quality_level"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "Constant"
},
"constant": {
"$ref": "#/$defs/ConstantDemonicPoisonLevel"
}
},
"required": [
"tag",
"constant"
],
"additionalProperties": false
}
]
},
"QualityLevelDemonicPoisonLevel": {
"type": "object",
"properties": {
"source": {
"$ref": "#/$defs/QualityLevelDemonicPoisonLevelSource"
}
},
"required": [
"source"
],
"additionalProperties": false
},
"QualityLevelDemonicPoisonLevelSource": {
"const": "Spellwork"
},
"ConstantDemonicPoisonLevel": {
"type": "object",
"properties": {
"value": {
"description": "The poisons level.",
"type": "integer",
"maximum": 6,
"minimum": 1
}
},
"required": [
"value"
],
"additionalProperties": false
},
"DemonicPoisonTranslation": {
"type": "object",
"properties": {
"note": {
"description": "A note, if any.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
}
},
"required": [],
"minProperties": 1,
"additionalProperties": false
},
"Intoxicant": {
"type": "object",
"properties": {
"legality": {
"description": "Whether the use of the intoxicant is legal or not, usually from the perspective of most middle-Aventurian an northern-Aventurian nations.",
"$ref": "#/$defs/IntoxicantLegality"
},
"addiction": {
"description": "The chance of getting addicted after an ingestion in addition to the maximum interval at which it, while addicted, must be ingested to not suffer from withdrawal symptoms.",
"$ref": "#/$defs/IntoxicantAddiction"
},
"translations": {
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
"type": "object",
"patternProperties": {
"^[a-z]{2}-[A-Z]{2}$": {
"$ref": "#/$defs/IntoxicantTranslation"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"legality",
"translations"
],
"additionalProperties": false
},
"IntoxicantLegality": {
"description": "Whether the use of the intoxicant is legal or not, usually from the perspective of most middle-Aventurian an northern-Aventurian nations.",
"type": "object",
"properties": {
"is_legal": {
"type": "boolean"
}
},
"required": [
"is_legal"
],
"additionalProperties": false
},
"IntoxicantAddiction": {
"description": "The chance of getting addicted after an ingestion in addition to the maximum interval at which it, while addicted, must be ingested to not suffer from withdrawal symptoms.",
"type": "object",
"properties": {
"chance": {
"description": "The chance of getting addicted after an ingestion.",
"type": "number"
},
"interval": {
"description": "The maximum interval at which it, while addicted, must be ingested to not suffer from withdrawal symptoms.",
"$ref": "#/$defs/IntoxicantAddictionInterval"
}
},
"required": [
"chance",
"interval"
],
"additionalProperties": false
},
"IntoxicantAddictionInterval": {
"description": "The maximum interval at which it, while addicted, must be ingested to not suffer from withdrawal symptoms.",
"oneOf": [
{
"type": "object",
"properties": {
"tag": {
"const": "Constant"
},
"constant": {
"$ref": "#/$defs/ConstantIntoxicantAddictionInterval"
}
},
"required": [
"tag",
"constant"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"const": "DiceBased"
},
"dice_based": {
"$ref": "#/$defs/DiceBasedIntoxicantAddictionInterval"
}
},
"required": [
"tag",
"dice_based"
],
"additionalProperties": false
}
]
},
"ConstantIntoxicantAddictionInterval": {
"type": "object",
"properties": {
"value": {
"description": "The interval value in days.",
"type": "number"
}
},
"required": [
"value"
],
"additionalProperties": false
},
"DiceBasedIntoxicantAddictionInterval": {
"type": "object",
"properties": {
"dice": {
"description": "The dice that define the interval value in days.",
"$ref": "../../_Dice.schema.json#/$defs/Dice"
}
},
"required": [
"dice"
],
"additionalProperties": false
},
"IntoxicantTranslation": {
"type": "object",
"properties": {
"ingestion": {
"description": "How to ingest the intoxicant.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"side_effect": {
"description": "The intoxicants side effects that always happen, no matter whether the intoxicant has the default or the reduced effect.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"overdose": {
"description": "What happens if the intoxicant has been overdosed, that is, it has been ingested another time within the duration.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"special": {
"description": "Special information about the intoxicant.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
}
},
"required": [
"ingestion",
"overdose"
],
"additionalProperties": false
},
"PoisonTranslation": {
"type": "object",
"properties": {
"name": {
"description": "The name of the poison.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"alternative_names": {
"description": "A list of alternative names.",
"type": "array",
"items": {
"$ref": "../../_AlternativeNames.schema.json#/$defs/AlternativeName"
},
"minItems": 1
},
"effect": {
"description": "An effect or other parameter that may be reduced by a failed disease check for lessening or a degraded poison.\n\nThis streamlines the wording for diseases and poison by using a unified wording for *lessened* (disease) and *degraded* (poison).",
"type": "object",
"properties": {
"default": {
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
},
"reduced": {
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
}
},
"required": [
"default"
],
"additionalProperties": false
},
"notes": {
"description": "Notes on the poison's special features.",
"$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
},
"errata": {
"$ref": "../../source/_Erratum.schema.json#/$defs/Errata"
}
},
"required": [
"name",
"effect"
],
"additionalProperties": false
}
}
}
@@ -1,10 +0,0 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"$id": "/equipment/item/RopeOrChain.schema.json",
"$ref": "#/$defs/RopeOrChain",
"$defs": {
"RopeOrChain": {
"$ref": "./_Item.schema.json#/$defs/DefaultItem"
}
}
}

Some files were not shown because too many files have changed in this diff Show More