optolith-database-schema 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AUTHORS +1 -0
- package/CHANGELOG.md +27 -0
- package/CODEOWNERS +1 -0
- package/LICENSE +378 -0
- package/README.md +17 -0
- package/lib/main.d.ts +1 -0
- package/lib/main.js +1 -0
- package/lib/types/ArcaneBardTradition.d.ts +32 -0
- package/lib/types/ArcaneBardTradition.js +4 -0
- package/lib/types/ArcaneDancerTradition.d.ts +32 -0
- package/lib/types/ArcaneDancerTradition.js +4 -0
- package/lib/types/Aspect.d.ts +36 -0
- package/lib/types/Aspect.js +4 -0
- package/lib/types/Attribute.d.ts +42 -0
- package/lib/types/Attribute.js +5 -0
- package/lib/types/CombatTechnique_Close.d.ts +80 -0
- package/lib/types/CombatTechnique_Close.js +4 -0
- package/lib/types/CombatTechnique_Ranged.d.ts +62 -0
- package/lib/types/CombatTechnique_Ranged.js +4 -0
- package/lib/types/Condition.d.ts +51 -0
- package/lib/types/Condition.js +4 -0
- package/lib/types/Culture.d.ts +494 -0
- package/lib/types/Culture.js +4 -0
- package/lib/types/DerivedCharacteristic.d.ts +65 -0
- package/lib/types/DerivedCharacteristic.js +4 -0
- package/lib/types/Element.d.ts +30 -0
- package/lib/types/Element.js +4 -0
- package/lib/types/ExperienceLevel.d.ts +68 -0
- package/lib/types/ExperienceLevel.js +4 -0
- package/lib/types/EyeColor.d.ts +30 -0
- package/lib/types/EyeColor.js +4 -0
- package/lib/types/HairColor.d.ts +30 -0
- package/lib/types/HairColor.js +4 -0
- package/lib/types/Lessons_Curriculum.d.ts +297 -0
- package/lib/types/Lessons_Curriculum.js +4 -0
- package/lib/types/Lessons_Guideline.d.ts +36 -0
- package/lib/types/Lessons_Guideline.js +4 -0
- package/lib/types/Locale.d.ts +38 -0
- package/lib/types/Locale.js +4 -0
- package/lib/types/MetaCondition.d.ts +54 -0
- package/lib/types/MetaCondition.js +4 -0
- package/lib/types/Property.d.ts +36 -0
- package/lib/types/Property.js +4 -0
- package/lib/types/Race.d.ts +524 -0
- package/lib/types/Race.js +13 -0
- package/lib/types/Region.d.ts +30 -0
- package/lib/types/Region.js +4 -0
- package/lib/types/Service.d.ts +40 -0
- package/lib/types/Service.js +4 -0
- package/lib/types/SexPractice.d.ts +53 -0
- package/lib/types/SexPractice.js +4 -0
- package/lib/types/Skill.d.ts +169 -0
- package/lib/types/Skill.js +4 -0
- package/lib/types/SkillGroup.d.ts +40 -0
- package/lib/types/SkillGroup.js +4 -0
- package/lib/types/SkillModificationIncrement.d.ts +82 -0
- package/lib/types/SkillModificationIncrement.js +4 -0
- package/lib/types/SocialStatus.d.ts +30 -0
- package/lib/types/SocialStatus.js +4 -0
- package/lib/types/State.d.ts +40 -0
- package/lib/types/State.js +4 -0
- package/lib/types/TargetCategory.d.ts +36 -0
- package/lib/types/TargetCategory.js +4 -0
- package/lib/types/_ActivatableSkill.d.ts +919 -0
- package/lib/types/_ActivatableSkill.js +38 -0
- package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +12 -0
- package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +1 -0
- package/lib/types/_ImprovementCost.d.ts +9 -0
- package/lib/types/_ImprovementCost.js +10 -0
- package/lib/types/_Prerequisite.d.ts +274 -0
- package/lib/types/_Prerequisite.js +4 -0
- package/lib/types/_Sex.d.ts +11 -0
- package/lib/types/_Sex.js +4 -0
- package/lib/types/_SkillCheck.d.ts +28 -0
- package/lib/types/_SkillCheck.js +1 -0
- package/lib/types/magicalActions/AnimistPower.d.ts +227 -0
- package/lib/types/magicalActions/AnimistPower.js +4 -0
- package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +30 -0
- package/lib/types/magicalActions/AnimistPower_Tribe.js +4 -0
- package/lib/types/magicalActions/Curse.d.ts +228 -0
- package/lib/types/magicalActions/Curse.js +4 -0
- package/lib/types/magicalActions/DominationRitual.d.ts +181 -0
- package/lib/types/magicalActions/DominationRitual.js +4 -0
- package/lib/types/magicalActions/ElvenMagicalSong.d.ts +149 -0
- package/lib/types/magicalActions/ElvenMagicalSong.js +4 -0
- package/lib/types/magicalActions/GeodeRitual.d.ts +162 -0
- package/lib/types/magicalActions/GeodeRitual.js +4 -0
- package/lib/types/magicalActions/JesterTrick.d.ts +167 -0
- package/lib/types/magicalActions/JesterTrick.js +4 -0
- package/lib/types/magicalActions/MagicalDance.d.ts +184 -0
- package/lib/types/magicalActions/MagicalDance.js +4 -0
- package/lib/types/magicalActions/MagicalMelody.d.ts +132 -0
- package/lib/types/magicalActions/MagicalMelody.js +4 -0
- package/lib/types/magicalActions/MagicalRune.d.ts +241 -0
- package/lib/types/magicalActions/MagicalRune.js +4 -0
- package/lib/types/magicalActions/ZibiljaRitual.d.ts +101 -0
- package/lib/types/magicalActions/ZibiljaRitual.js +4 -0
- package/lib/types/magicalActions/_MusicTradition.d.ts +28 -0
- package/lib/types/magicalActions/_MusicTradition.js +1 -0
- package/lib/types/magicalActions/_SkillReference.d.ts +13 -0
- package/lib/types/magicalActions/_SkillReference.js +5 -0
- package/lib/types/rule/FocusRule.d.ts +53 -0
- package/lib/types/rule/FocusRule.js +4 -0
- package/lib/types/rule/FocusRule_Subject.d.ts +31 -0
- package/lib/types/rule/FocusRule_Subject.js +4 -0
- package/lib/types/rule/OptionalRule.d.ts +65 -0
- package/lib/types/rule/OptionalRule.js +4 -0
- package/lib/types/source/Publication.d.ts +4 -0
- package/lib/types/source/Publication.js +4 -0
- package/lib/types/source/_Erratum.d.ts +25 -0
- package/lib/types/source/_Erratum.js +4 -0
- package/lib/types/source/_PublicationRef.d.ts +146 -0
- package/lib/types/source/_PublicationRef.js +4 -0
- package/lib/validation/integrity.d.ts +16 -0
- package/lib/validation/integrity.js +3 -0
- package/package.json +37 -0
- package/schema/ArcaneBardTradition.schema.json +49 -0
- package/schema/ArcaneDancerTradition.schema.json +49 -0
- package/schema/Aspect.schema.json +50 -0
- package/schema/Attribute.schema.json +57 -0
- package/schema/CombatTechnique_Close.schema.json +127 -0
- package/schema/CombatTechnique_Ranged.schema.json +83 -0
- package/schema/Condition.schema.json +84 -0
- package/schema/Culture.schema.json +858 -0
- package/schema/DerivedCharacteristic.schema.json +90 -0
- package/schema/Element.schema.json +45 -0
- package/schema/ExperienceLevel.schema.json +84 -0
- package/schema/EyeColor.schema.json +45 -0
- package/schema/HairColor.schema.json +45 -0
- package/schema/Lessons_Curriculum.schema.json +500 -0
- package/schema/Lessons_Guideline.schema.json +51 -0
- package/schema/Locale.schema.json +45 -0
- package/schema/MetaCondition.schema.json +85 -0
- package/schema/Property.schema.json +49 -0
- package/schema/Race.schema.json +724 -0
- package/schema/Region.schema.json +45 -0
- package/schema/Service.schema.json +58 -0
- package/schema/SexPractice.schema.json +72 -0
- package/schema/Skill.schema.json +278 -0
- package/schema/SkillGroup.schema.json +56 -0
- package/schema/SkillModificationIncrement.schema.json +98 -0
- package/schema/SocialStatus.schema.json +45 -0
- package/schema/State.schema.json +58 -0
- package/schema/TargetCategory.schema.json +51 -0
- package/schema/_ActivatableSkill.schema.json +1534 -0
- package/schema/_CommonnessRatedAdvantageDisadvantage.schema.json +22 -0
- package/schema/_ImprovementCost.schema.json +15 -0
- package/schema/_Prerequisite.schema.json +519 -0
- package/schema/_Sex.schema.json +36 -0
- package/schema/_SkillCheck.schema.json +94 -0
- package/schema/magicalActions/AnimistPower.schema.json +411 -0
- package/schema/magicalActions/AnimistPower_Tribe.schema.json +45 -0
- package/schema/magicalActions/Curse.schema.json +378 -0
- package/schema/magicalActions/DominationRitual.schema.json +288 -0
- package/schema/magicalActions/ElvenMagicalSong.schema.json +194 -0
- package/schema/magicalActions/GeodeRitual.schema.json +303 -0
- package/schema/magicalActions/JesterTrick.schema.json +292 -0
- package/schema/magicalActions/MagicalDance.schema.json +328 -0
- package/schema/magicalActions/MagicalMelody.schema.json +254 -0
- package/schema/magicalActions/MagicalRune.schema.json +426 -0
- package/schema/magicalActions/ZibiljaRitual.schema.json +159 -0
- package/schema/magicalActions/_MusicTradition.schema.json +44 -0
- package/schema/magicalActions/_SkillReference.schema.json +26 -0
- package/schema/rule/FocusRule.schema.json +71 -0
- package/schema/rule/FocusRule_Subject.schema.json +46 -0
- package/schema/rule/OptionalRule.schema.json +96 -0
- package/schema/source/Publication.schema.json +165 -0
- package/schema/source/_Erratum.schema.json +37 -0
- package/schema/source/_PublicationRef.schema.json +242 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "magicalActions/ZibiljaRitual.schema.json",
|
|
4
|
+
"$ref": "#/definitions/ZibiljaRitual",
|
|
5
|
+
"definitions": {
|
|
6
|
+
"ZibiljaRitual": {
|
|
7
|
+
"title": "Zibilja Ritual",
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"id": {
|
|
11
|
+
"description": "The zibilja ritual's identifier. An unique, increasing integer.",
|
|
12
|
+
"type": "integer",
|
|
13
|
+
"minimum": 1
|
|
14
|
+
},
|
|
15
|
+
"check": {
|
|
16
|
+
"description": "Lists the linked three attributes used to make a skill check.",
|
|
17
|
+
"$ref": "../_SkillCheck.schema.json#/definitions/SkillCheck"
|
|
18
|
+
},
|
|
19
|
+
"check_penalty": {
|
|
20
|
+
"description": "In some cases, the target's Spirit or Toughness is applied as a penalty.",
|
|
21
|
+
"$ref": "../_SkillCheck.schema.json#/definitions/SkillCheckPenalty"
|
|
22
|
+
},
|
|
23
|
+
"parameters": {
|
|
24
|
+
"description": "Measurable parameters of a zibilja ritual.",
|
|
25
|
+
"$ref": "../_ActivatableSkill.schema.json#/definitions/PerformanceParameters"
|
|
26
|
+
},
|
|
27
|
+
"target": {
|
|
28
|
+
"description": "The target category – the kind of creature or object – the skill affects.",
|
|
29
|
+
"$ref": "../_ActivatableSkill.schema.json#/definitions/TargetCategory/T"
|
|
30
|
+
},
|
|
31
|
+
"property_id": {
|
|
32
|
+
"description": "The property's identifier.",
|
|
33
|
+
"type": "integer",
|
|
34
|
+
"minimum": 1
|
|
35
|
+
},
|
|
36
|
+
"improvement_cost": {
|
|
37
|
+
"description": "States which column is used to improve the skill.",
|
|
38
|
+
"$ref": "../_ImprovementCost.schema.json#/definitions/ImprovementCost"
|
|
39
|
+
},
|
|
40
|
+
"src": {
|
|
41
|
+
"$ref": "../source/_PublicationRef.schema.json#/definitions/PublicationRefs"
|
|
42
|
+
},
|
|
43
|
+
"translations": {
|
|
44
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
45
|
+
"type": "object",
|
|
46
|
+
"patternProperties": {
|
|
47
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
48
|
+
"type": "object",
|
|
49
|
+
"properties": {
|
|
50
|
+
"name": {
|
|
51
|
+
"description": "The name of the zibilja ritual.",
|
|
52
|
+
"type": "string",
|
|
53
|
+
"minLength": 1
|
|
54
|
+
},
|
|
55
|
+
"effect": {
|
|
56
|
+
"description": "The effect description may be either a plain text or a text that is\ndivided by a list of effects for each quality level. It may also be a\nlist for each two quality levels.",
|
|
57
|
+
"$ref": "../_ActivatableSkill.schema.json#/definitions/Effect/T"
|
|
58
|
+
},
|
|
59
|
+
"casting_time": {
|
|
60
|
+
"type": "object",
|
|
61
|
+
"properties": {
|
|
62
|
+
"full": {
|
|
63
|
+
"type": "string"
|
|
64
|
+
},
|
|
65
|
+
"abbr": {
|
|
66
|
+
"type": "string"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"required": [
|
|
70
|
+
"full",
|
|
71
|
+
"abbr"
|
|
72
|
+
],
|
|
73
|
+
"additionalProperties": false
|
|
74
|
+
},
|
|
75
|
+
"cost": {
|
|
76
|
+
"type": "object",
|
|
77
|
+
"properties": {
|
|
78
|
+
"full": {
|
|
79
|
+
"type": "string"
|
|
80
|
+
},
|
|
81
|
+
"abbr": {
|
|
82
|
+
"type": "string"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"required": [
|
|
86
|
+
"full",
|
|
87
|
+
"abbr"
|
|
88
|
+
],
|
|
89
|
+
"additionalProperties": false
|
|
90
|
+
},
|
|
91
|
+
"range": {
|
|
92
|
+
"type": "object",
|
|
93
|
+
"properties": {
|
|
94
|
+
"full": {
|
|
95
|
+
"type": "string"
|
|
96
|
+
},
|
|
97
|
+
"abbr": {
|
|
98
|
+
"type": "string"
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"required": [
|
|
102
|
+
"full",
|
|
103
|
+
"abbr"
|
|
104
|
+
],
|
|
105
|
+
"additionalProperties": false
|
|
106
|
+
},
|
|
107
|
+
"duration": {
|
|
108
|
+
"type": "object",
|
|
109
|
+
"properties": {
|
|
110
|
+
"full": {
|
|
111
|
+
"type": "string"
|
|
112
|
+
},
|
|
113
|
+
"abbr": {
|
|
114
|
+
"type": "string"
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"required": [
|
|
118
|
+
"full",
|
|
119
|
+
"abbr"
|
|
120
|
+
],
|
|
121
|
+
"additionalProperties": false
|
|
122
|
+
},
|
|
123
|
+
"target": {
|
|
124
|
+
"type": "string"
|
|
125
|
+
},
|
|
126
|
+
"errata": {
|
|
127
|
+
"$ref": "../source/_Erratum.schema.json#/definitions/Errata"
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"required": [
|
|
131
|
+
"name",
|
|
132
|
+
"effect",
|
|
133
|
+
"casting_time",
|
|
134
|
+
"cost",
|
|
135
|
+
"range",
|
|
136
|
+
"duration",
|
|
137
|
+
"target"
|
|
138
|
+
],
|
|
139
|
+
"additionalProperties": false
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
"minProperties": 1,
|
|
143
|
+
"additionalProperties": false
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
"required": [
|
|
147
|
+
"id",
|
|
148
|
+
"check",
|
|
149
|
+
"parameters",
|
|
150
|
+
"target",
|
|
151
|
+
"property_id",
|
|
152
|
+
"improvement_cost",
|
|
153
|
+
"src",
|
|
154
|
+
"translations"
|
|
155
|
+
],
|
|
156
|
+
"additionalProperties": false
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "magicalActions/_MusicTradition.schema.json",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"MusicTraditionReference": {
|
|
6
|
+
"description": "A reference to a music tradition with the music-tradition-specific name of\nthe entry",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"id": {
|
|
10
|
+
"description": "The music tradition's identifier.",
|
|
11
|
+
"type": "integer",
|
|
12
|
+
"minimum": 1
|
|
13
|
+
},
|
|
14
|
+
"translations": {
|
|
15
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
16
|
+
"type": "object",
|
|
17
|
+
"patternProperties": {
|
|
18
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"properties": {
|
|
21
|
+
"name": {
|
|
22
|
+
"description": "The music-tradition-specific name of the entry.",
|
|
23
|
+
"type": "string",
|
|
24
|
+
"minLength": 1
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"required": [
|
|
28
|
+
"name"
|
|
29
|
+
],
|
|
30
|
+
"additionalProperties": false
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"minProperties": 1,
|
|
34
|
+
"additionalProperties": false
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"required": [
|
|
38
|
+
"id",
|
|
39
|
+
"translations"
|
|
40
|
+
],
|
|
41
|
+
"additionalProperties": false
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "magicalActions/_SkillReference.schema.json",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"SkillReference": {
|
|
6
|
+
"description": "A reference to a skill used for performing melodies.",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"id": {
|
|
10
|
+
"description": "The skill's identifier.",
|
|
11
|
+
"$ref": "#/definitions/SkillIdentifier"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"required": [
|
|
15
|
+
"id"
|
|
16
|
+
],
|
|
17
|
+
"additionalProperties": false
|
|
18
|
+
},
|
|
19
|
+
"SkillIdentifier": {
|
|
20
|
+
"enum": [
|
|
21
|
+
9,
|
|
22
|
+
56
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "rule/FocusRule.schema.json",
|
|
4
|
+
"$ref": "#/definitions/FocusRule",
|
|
5
|
+
"definitions": {
|
|
6
|
+
"FocusRule": {
|
|
7
|
+
"title": "Focus Rule",
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"id": {
|
|
11
|
+
"description": "The focus rule's identifier. An unique, increasing integer.",
|
|
12
|
+
"type": "integer",
|
|
13
|
+
"minimum": 1
|
|
14
|
+
},
|
|
15
|
+
"subject_id": {
|
|
16
|
+
"description": "The focus rule's subject's identifier.",
|
|
17
|
+
"type": "integer",
|
|
18
|
+
"minimum": 1
|
|
19
|
+
},
|
|
20
|
+
"level": {
|
|
21
|
+
"description": "The focus rule's level.",
|
|
22
|
+
"type": "integer",
|
|
23
|
+
"maximum": 4,
|
|
24
|
+
"minimum": 1
|
|
25
|
+
},
|
|
26
|
+
"src": {
|
|
27
|
+
"$ref": "../source/_PublicationRef.schema.json#/definitions/PublicationRefs"
|
|
28
|
+
},
|
|
29
|
+
"translations": {
|
|
30
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
31
|
+
"type": "object",
|
|
32
|
+
"patternProperties": {
|
|
33
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
34
|
+
"type": "object",
|
|
35
|
+
"properties": {
|
|
36
|
+
"name": {
|
|
37
|
+
"description": "The name of the focus rule.",
|
|
38
|
+
"type": "string",
|
|
39
|
+
"minLength": 1
|
|
40
|
+
},
|
|
41
|
+
"description": {
|
|
42
|
+
"description": "The description of the focus rule.",
|
|
43
|
+
"type": "string",
|
|
44
|
+
"minLength": 1
|
|
45
|
+
},
|
|
46
|
+
"errata": {
|
|
47
|
+
"$ref": "../source/_Erratum.schema.json#/definitions/Errata"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"required": [
|
|
51
|
+
"name",
|
|
52
|
+
"description"
|
|
53
|
+
],
|
|
54
|
+
"additionalProperties": false
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"minProperties": 1,
|
|
58
|
+
"additionalProperties": false
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"required": [
|
|
62
|
+
"id",
|
|
63
|
+
"subject_id",
|
|
64
|
+
"level",
|
|
65
|
+
"src",
|
|
66
|
+
"translations"
|
|
67
|
+
],
|
|
68
|
+
"additionalProperties": false
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "rule/FocusRule_Subject.schema.json",
|
|
4
|
+
"$ref": "#/definitions/Subject",
|
|
5
|
+
"definitions": {
|
|
6
|
+
"Subject": {
|
|
7
|
+
"title": "Subject",
|
|
8
|
+
"description": "Subjects or Subject Areas are the categories of Focus Rules.",
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"id": {
|
|
12
|
+
"description": "The subject's identifier. An unique, increasing integer.",
|
|
13
|
+
"type": "integer",
|
|
14
|
+
"minimum": 1
|
|
15
|
+
},
|
|
16
|
+
"translations": {
|
|
17
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
18
|
+
"type": "object",
|
|
19
|
+
"patternProperties": {
|
|
20
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
21
|
+
"type": "object",
|
|
22
|
+
"properties": {
|
|
23
|
+
"name": {
|
|
24
|
+
"description": "The subject.",
|
|
25
|
+
"type": "string",
|
|
26
|
+
"minLength": 1
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"required": [
|
|
30
|
+
"name"
|
|
31
|
+
],
|
|
32
|
+
"additionalProperties": false
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"minProperties": 1,
|
|
36
|
+
"additionalProperties": false
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"required": [
|
|
40
|
+
"id",
|
|
41
|
+
"translations"
|
|
42
|
+
],
|
|
43
|
+
"additionalProperties": false
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "rule/OptionalRule.schema.json",
|
|
4
|
+
"$ref": "#/definitions/OptionalRule",
|
|
5
|
+
"definitions": {
|
|
6
|
+
"OptionalRule": {
|
|
7
|
+
"title": "Optional Rule",
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"id": {
|
|
11
|
+
"description": "The optional rule's identifier. An unique, increasing integer.",
|
|
12
|
+
"type": "integer",
|
|
13
|
+
"minimum": 1
|
|
14
|
+
},
|
|
15
|
+
"relevance": {
|
|
16
|
+
"description": "The relevance of the optional rule for Optolith. It may be that it\ninfluences character creating but it may also just influnce the character\nsheet. If it is linked to systems in Optolith, it may be specified if this\nrule has not been implemented in Optolith yet.",
|
|
17
|
+
"$ref": "#/definitions/Relevance"
|
|
18
|
+
},
|
|
19
|
+
"src": {
|
|
20
|
+
"$ref": "../source/_PublicationRef.schema.json#/definitions/PublicationRefs"
|
|
21
|
+
},
|
|
22
|
+
"translations": {
|
|
23
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
24
|
+
"type": "object",
|
|
25
|
+
"patternProperties": {
|
|
26
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
27
|
+
"type": "object",
|
|
28
|
+
"properties": {
|
|
29
|
+
"name": {
|
|
30
|
+
"description": "The name of the optional rule.",
|
|
31
|
+
"type": "string",
|
|
32
|
+
"minLength": 1
|
|
33
|
+
},
|
|
34
|
+
"description": {
|
|
35
|
+
"description": "The description of the optional rule.",
|
|
36
|
+
"type": "string",
|
|
37
|
+
"minLength": 1
|
|
38
|
+
},
|
|
39
|
+
"errata": {
|
|
40
|
+
"$ref": "../source/_Erratum.schema.json#/definitions/Errata"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"required": [
|
|
44
|
+
"name",
|
|
45
|
+
"description"
|
|
46
|
+
],
|
|
47
|
+
"additionalProperties": false
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"minProperties": 1,
|
|
51
|
+
"additionalProperties": false
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"required": [
|
|
55
|
+
"id",
|
|
56
|
+
"relevance",
|
|
57
|
+
"src",
|
|
58
|
+
"translations"
|
|
59
|
+
],
|
|
60
|
+
"additionalProperties": false
|
|
61
|
+
},
|
|
62
|
+
"Relevance": {
|
|
63
|
+
"description": "The relevance of the optional rule for Optolith. It may be that it influences\ncharacter creating but it may also just influnce the character sheet. If it\nis linked to systems in Optolith, it may be specified if this rule has not\nbeen implemented in Optolith yet.",
|
|
64
|
+
"oneOf": [
|
|
65
|
+
{
|
|
66
|
+
"type": "object",
|
|
67
|
+
"properties": {
|
|
68
|
+
"tag": {
|
|
69
|
+
"const": "Extraneous"
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"required": [
|
|
73
|
+
"tag"
|
|
74
|
+
],
|
|
75
|
+
"additionalProperties": false
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"type": "object",
|
|
79
|
+
"properties": {
|
|
80
|
+
"tag": {
|
|
81
|
+
"const": "Linked"
|
|
82
|
+
},
|
|
83
|
+
"isMissingImplementation": {
|
|
84
|
+
"description": "Does the optional rule have an impact on character creation or character\nsheet and this effect has not been implemented in Optolith yet? If\n`true`, the optional rule cannot be activated.",
|
|
85
|
+
"type": "boolean"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"required": [
|
|
89
|
+
"tag"
|
|
90
|
+
],
|
|
91
|
+
"additionalProperties": false
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "source/Publication.schema.json",
|
|
4
|
+
"$ref": "#/definitions/Publication",
|
|
5
|
+
"definitions": {
|
|
6
|
+
"Publication": {
|
|
7
|
+
"title": "Publication",
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"id": {
|
|
11
|
+
"description": "The publication's identifier. An unique, increasing integer.",
|
|
12
|
+
"type": "integer",
|
|
13
|
+
"minimum": 1
|
|
14
|
+
},
|
|
15
|
+
"category": {
|
|
16
|
+
"description": "The publication category.",
|
|
17
|
+
"$ref": "#/definitions/Category"
|
|
18
|
+
},
|
|
19
|
+
"age_restriction": {
|
|
20
|
+
"description": "The age the content is restricted to.",
|
|
21
|
+
"$ref": "#/definitions/AgeRestriction"
|
|
22
|
+
},
|
|
23
|
+
"is_missing_implementation": {
|
|
24
|
+
"description": "The publication is not (fully) implemented and thus needs to be excluded\nfrom * stable releases.",
|
|
25
|
+
"type": "boolean"
|
|
26
|
+
},
|
|
27
|
+
"prerequisites": {
|
|
28
|
+
"description": "The specific other publications this publication depends on data from.",
|
|
29
|
+
"$ref": "../_Prerequisite.schema.json#/definitions/GroupCollection/Publication"
|
|
30
|
+
},
|
|
31
|
+
"translations": {
|
|
32
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
33
|
+
"type": "object",
|
|
34
|
+
"patternProperties": {
|
|
35
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"properties": {
|
|
38
|
+
"id": {
|
|
39
|
+
"description": "The publisher's publication identifier.",
|
|
40
|
+
"type": "string",
|
|
41
|
+
"minLength": 1
|
|
42
|
+
},
|
|
43
|
+
"name": {
|
|
44
|
+
"description": "The publication's name.",
|
|
45
|
+
"type": "string",
|
|
46
|
+
"minLength": 1
|
|
47
|
+
},
|
|
48
|
+
"abbreviation": {
|
|
49
|
+
"description": "The publication's abbreviation.",
|
|
50
|
+
"type": "string",
|
|
51
|
+
"minLength": 1
|
|
52
|
+
},
|
|
53
|
+
"release_date": {
|
|
54
|
+
"description": "The publication's release date.",
|
|
55
|
+
"type": "string",
|
|
56
|
+
"format": "date"
|
|
57
|
+
},
|
|
58
|
+
"is_missing_implementation": {
|
|
59
|
+
"description": "This publication translation is not (fully) implemented and thus needs to\nbe excluded from stable releases.",
|
|
60
|
+
"type": "boolean"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"required": [
|
|
64
|
+
"name",
|
|
65
|
+
"abbreviation"
|
|
66
|
+
],
|
|
67
|
+
"additionalProperties": false
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"minProperties": 1,
|
|
71
|
+
"additionalProperties": false
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"required": [
|
|
75
|
+
"id",
|
|
76
|
+
"category",
|
|
77
|
+
"age_restriction",
|
|
78
|
+
"translations"
|
|
79
|
+
],
|
|
80
|
+
"additionalProperties": false
|
|
81
|
+
},
|
|
82
|
+
"Category": {
|
|
83
|
+
"description": "The publication category.",
|
|
84
|
+
"oneOf": [
|
|
85
|
+
{
|
|
86
|
+
"type": "object",
|
|
87
|
+
"properties": {
|
|
88
|
+
"tag": {
|
|
89
|
+
"const": "CoreRules"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"required": [
|
|
93
|
+
"tag"
|
|
94
|
+
],
|
|
95
|
+
"additionalProperties": false
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"type": "object",
|
|
99
|
+
"properties": {
|
|
100
|
+
"tag": {
|
|
101
|
+
"const": "ExpansionRules"
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"required": [
|
|
105
|
+
"tag"
|
|
106
|
+
],
|
|
107
|
+
"additionalProperties": false
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"type": "object",
|
|
111
|
+
"properties": {
|
|
112
|
+
"tag": {
|
|
113
|
+
"const": "Sourcebook"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"required": [
|
|
117
|
+
"tag"
|
|
118
|
+
],
|
|
119
|
+
"additionalProperties": false
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"type": "object",
|
|
123
|
+
"properties": {
|
|
124
|
+
"tag": {
|
|
125
|
+
"const": "RegionalSourcebook"
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"required": [
|
|
129
|
+
"tag"
|
|
130
|
+
],
|
|
131
|
+
"additionalProperties": false
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
"AgeRestriction": {
|
|
136
|
+
"description": "The age the content is restricted to.",
|
|
137
|
+
"oneOf": [
|
|
138
|
+
{
|
|
139
|
+
"type": "object",
|
|
140
|
+
"properties": {
|
|
141
|
+
"tag": {
|
|
142
|
+
"const": "Adult"
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
"required": [
|
|
146
|
+
"tag"
|
|
147
|
+
],
|
|
148
|
+
"additionalProperties": false
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"type": "object",
|
|
152
|
+
"properties": {
|
|
153
|
+
"tag": {
|
|
154
|
+
"const": "None"
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
"required": [
|
|
158
|
+
"tag"
|
|
159
|
+
],
|
|
160
|
+
"additionalProperties": false
|
|
161
|
+
}
|
|
162
|
+
]
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "source/_Erratum.schema.json",
|
|
4
|
+
"$ref": "#/definitions/Errata",
|
|
5
|
+
"definitions": {
|
|
6
|
+
"Errata": {
|
|
7
|
+
"title": "Errata",
|
|
8
|
+
"description": "A list of errata for the entry in the specific language.",
|
|
9
|
+
"type": "array",
|
|
10
|
+
"items": {
|
|
11
|
+
"$ref": "#/definitions/Erratum"
|
|
12
|
+
},
|
|
13
|
+
"minItems": 1
|
|
14
|
+
},
|
|
15
|
+
"Erratum": {
|
|
16
|
+
"title": "Erratum",
|
|
17
|
+
"type": "object",
|
|
18
|
+
"properties": {
|
|
19
|
+
"date": {
|
|
20
|
+
"description": "The date when the change was confirmed and applied to the entry.",
|
|
21
|
+
"type": "string",
|
|
22
|
+
"format": "date"
|
|
23
|
+
},
|
|
24
|
+
"description": {
|
|
25
|
+
"description": "A description of what changed.",
|
|
26
|
+
"type": "string",
|
|
27
|
+
"minLength": 1
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"required": [
|
|
31
|
+
"date",
|
|
32
|
+
"description"
|
|
33
|
+
],
|
|
34
|
+
"additionalProperties": false
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|