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,500 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "Lessons_Curriculum.schema.json",
|
|
4
|
+
"$ref": "#/definitions/Curriculum",
|
|
5
|
+
"definitions": {
|
|
6
|
+
"Curriculum": {
|
|
7
|
+
"title": "Curriculum",
|
|
8
|
+
"description": "This is a curriculum of a specified academy, containing the guideline,\nelective and restricted spellworks as well as the lesson packages of that\nacademy.",
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"id": {
|
|
12
|
+
"description": "The curriculum's identifier. An unique, increasing integer.",
|
|
13
|
+
"type": "integer",
|
|
14
|
+
"minimum": 1
|
|
15
|
+
},
|
|
16
|
+
"guideline_id": {
|
|
17
|
+
"description": "The institution's guideline's identifier.",
|
|
18
|
+
"type": "integer",
|
|
19
|
+
"maximum": 6,
|
|
20
|
+
"minimum": 1
|
|
21
|
+
},
|
|
22
|
+
"elective_spellworks": {
|
|
23
|
+
"description": "The academy's elective spellworks package.",
|
|
24
|
+
"$ref": "#/definitions/ElectiveSpellworks"
|
|
25
|
+
},
|
|
26
|
+
"restricted_spellworks": {
|
|
27
|
+
"description": "The academy's restricted spellworks package.",
|
|
28
|
+
"$ref": "#/definitions/RestrictedSpellworks"
|
|
29
|
+
},
|
|
30
|
+
"lesson_packages": {
|
|
31
|
+
"description": "A list of available lesson packages.",
|
|
32
|
+
"$ref": "#/definitions/LessonPackages"
|
|
33
|
+
},
|
|
34
|
+
"src": {
|
|
35
|
+
"$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
|
|
36
|
+
},
|
|
37
|
+
"translations": {
|
|
38
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
39
|
+
"type": "object",
|
|
40
|
+
"patternProperties": {
|
|
41
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"properties": {
|
|
44
|
+
"name": {
|
|
45
|
+
"description": "The name of the academy.",
|
|
46
|
+
"type": "string",
|
|
47
|
+
"minLength": 1
|
|
48
|
+
},
|
|
49
|
+
"errata": {
|
|
50
|
+
"$ref": "./source/_Erratum.schema.json#/definitions/Errata"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"required": [
|
|
54
|
+
"name"
|
|
55
|
+
],
|
|
56
|
+
"additionalProperties": false
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"minProperties": 1,
|
|
60
|
+
"additionalProperties": false
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"required": [
|
|
64
|
+
"id",
|
|
65
|
+
"guideline_id",
|
|
66
|
+
"lesson_packages",
|
|
67
|
+
"src",
|
|
68
|
+
"translations"
|
|
69
|
+
],
|
|
70
|
+
"additionalProperties": false
|
|
71
|
+
},
|
|
72
|
+
"ElectiveSpellworks": {
|
|
73
|
+
"description": "The academy's elective spellworks package.",
|
|
74
|
+
"oneOf": [
|
|
75
|
+
{
|
|
76
|
+
"type": "object",
|
|
77
|
+
"properties": {
|
|
78
|
+
"tag": {
|
|
79
|
+
"const": "DefinedByGameMaster"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"required": [
|
|
83
|
+
"tag"
|
|
84
|
+
],
|
|
85
|
+
"additionalProperties": false
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"type": "object",
|
|
89
|
+
"properties": {
|
|
90
|
+
"tag": {
|
|
91
|
+
"const": "Explicit"
|
|
92
|
+
},
|
|
93
|
+
"list": {
|
|
94
|
+
"type": "array",
|
|
95
|
+
"items": {
|
|
96
|
+
"$ref": "#/definitions/ElectiveSpellwork"
|
|
97
|
+
},
|
|
98
|
+
"minItems": 1
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"required": [
|
|
102
|
+
"tag",
|
|
103
|
+
"list"
|
|
104
|
+
],
|
|
105
|
+
"additionalProperties": false
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
"ElectiveSpellwork": {
|
|
110
|
+
"type": "object",
|
|
111
|
+
"properties": {
|
|
112
|
+
"id": {
|
|
113
|
+
"$ref": "#/definitions/SpellworkId"
|
|
114
|
+
},
|
|
115
|
+
"restriction": {
|
|
116
|
+
"description": "The elective spellwork may only take effect if a certain condition is met.\nThe condition may be related to professions or profession variants, but it\nis designed so that it can work without a specific profession, as multiple\nmay belong to an institute, but with referencing other entities instead.",
|
|
117
|
+
"$ref": "#/definitions/ElectiveSpellworkRestriction"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"required": [
|
|
121
|
+
"id"
|
|
122
|
+
],
|
|
123
|
+
"additionalProperties": false
|
|
124
|
+
},
|
|
125
|
+
"ElectiveSpellworkRestriction": {
|
|
126
|
+
"description": "The elective spellwork may only take effect if a certain condition is met.\nThe condition may be related to professions or profession variants, but it is\ndesigned so that it can work without a specific profession, as multiple may\nbelong to an institute, but with referencing other entities instead.",
|
|
127
|
+
"type": "object",
|
|
128
|
+
"properties": {
|
|
129
|
+
"tag": {
|
|
130
|
+
"const": "Element"
|
|
131
|
+
},
|
|
132
|
+
"id": {
|
|
133
|
+
"description": "The element's identifier.",
|
|
134
|
+
"type": "integer",
|
|
135
|
+
"maximum": 6,
|
|
136
|
+
"minimum": 1
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"required": [
|
|
140
|
+
"tag",
|
|
141
|
+
"id"
|
|
142
|
+
],
|
|
143
|
+
"additionalProperties": false
|
|
144
|
+
},
|
|
145
|
+
"RestrictedSpellworks": {
|
|
146
|
+
"description": "The academy's restricted spellworks package.",
|
|
147
|
+
"type": "array",
|
|
148
|
+
"items": {
|
|
149
|
+
"$ref": "#/definitions/RestrictedSpellwork"
|
|
150
|
+
},
|
|
151
|
+
"minItems": 1
|
|
152
|
+
},
|
|
153
|
+
"RestrictedSpellwork": {
|
|
154
|
+
"description": "The academy's restricted spellworks package.",
|
|
155
|
+
"oneOf": [
|
|
156
|
+
{
|
|
157
|
+
"type": "object",
|
|
158
|
+
"properties": {
|
|
159
|
+
"tag": {
|
|
160
|
+
"const": "Property"
|
|
161
|
+
},
|
|
162
|
+
"id": {
|
|
163
|
+
"description": "The identifier of the property that spellworks are disallowed from.",
|
|
164
|
+
"type": "integer",
|
|
165
|
+
"minimum": 1
|
|
166
|
+
},
|
|
167
|
+
"exclude": {
|
|
168
|
+
"description": "Exclude specific spellworks from the restriction.",
|
|
169
|
+
"type": "array",
|
|
170
|
+
"items": {
|
|
171
|
+
"$ref": "#/definitions/SpellworkId"
|
|
172
|
+
},
|
|
173
|
+
"minItems": 1
|
|
174
|
+
},
|
|
175
|
+
"maximum": {
|
|
176
|
+
"description": "Spellworks from this property up to a certain number are allowed.\nSpellworks excluded from this restriction definition using `exclude` do\nnot contribute to the maximum.",
|
|
177
|
+
"type": "number"
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
"required": [
|
|
181
|
+
"tag",
|
|
182
|
+
"id"
|
|
183
|
+
],
|
|
184
|
+
"additionalProperties": false
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"$ref": "#/definitions/SpellworkId"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"type": "object",
|
|
191
|
+
"properties": {
|
|
192
|
+
"tag": {
|
|
193
|
+
"const": "DemonSummoning"
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"required": [
|
|
197
|
+
"tag"
|
|
198
|
+
],
|
|
199
|
+
"additionalProperties": false
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"type": "object",
|
|
203
|
+
"properties": {
|
|
204
|
+
"tag": {
|
|
205
|
+
"const": "Borbaradian"
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
"required": [
|
|
209
|
+
"tag"
|
|
210
|
+
],
|
|
211
|
+
"additionalProperties": false
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"type": "object",
|
|
215
|
+
"properties": {
|
|
216
|
+
"tag": {
|
|
217
|
+
"const": "DamageIntelligent"
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
"required": [
|
|
221
|
+
"tag"
|
|
222
|
+
],
|
|
223
|
+
"additionalProperties": false
|
|
224
|
+
}
|
|
225
|
+
]
|
|
226
|
+
},
|
|
227
|
+
"LessonPackages": {
|
|
228
|
+
"description": "A list of available lesson packages.",
|
|
229
|
+
"type": "array",
|
|
230
|
+
"items": [
|
|
231
|
+
{
|
|
232
|
+
"$ref": "#/definitions/LessonPackage"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"$ref": "#/definitions/LessonPackage"
|
|
236
|
+
}
|
|
237
|
+
],
|
|
238
|
+
"minItems": 2,
|
|
239
|
+
"maxItems": 2,
|
|
240
|
+
"additionalItems": false
|
|
241
|
+
},
|
|
242
|
+
"LessonPackage": {
|
|
243
|
+
"title": "Lesson Package",
|
|
244
|
+
"type": "object",
|
|
245
|
+
"properties": {
|
|
246
|
+
"id": {
|
|
247
|
+
"description": "The lesson package's identifier. An unique, increasing integer.",
|
|
248
|
+
"type": "integer",
|
|
249
|
+
"minimum": 1
|
|
250
|
+
},
|
|
251
|
+
"spellwork_changes": {
|
|
252
|
+
"description": "The spell values difference of the lesson package. This field reflects the\nchanges (difference) to the field of the same name in the profession\npackage. If a spell gets to SR 0 because of this, it will be removed\ncompletely.",
|
|
253
|
+
"type": "array",
|
|
254
|
+
"items": {
|
|
255
|
+
"type": "object",
|
|
256
|
+
"properties": {
|
|
257
|
+
"base": {
|
|
258
|
+
"$ref": "#/definitions/SpellworkAdjustment"
|
|
259
|
+
},
|
|
260
|
+
"replacement": {
|
|
261
|
+
"$ref": "#/definitions/SpellworkAdjustment"
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
"required": [
|
|
265
|
+
"base",
|
|
266
|
+
"replacement"
|
|
267
|
+
],
|
|
268
|
+
"additionalProperties": false
|
|
269
|
+
},
|
|
270
|
+
"minItems": 1
|
|
271
|
+
},
|
|
272
|
+
"skills": {
|
|
273
|
+
"type": "array",
|
|
274
|
+
"items": {
|
|
275
|
+
"$ref": "#/definitions/SkillAdjustment"
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
"translations": {
|
|
279
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
280
|
+
"type": "object",
|
|
281
|
+
"patternProperties": {
|
|
282
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
283
|
+
"type": "object",
|
|
284
|
+
"properties": {
|
|
285
|
+
"name": {
|
|
286
|
+
"description": "The name of the lesson package.",
|
|
287
|
+
"type": "string",
|
|
288
|
+
"minLength": 1
|
|
289
|
+
},
|
|
290
|
+
"spellwork_changes": {
|
|
291
|
+
"description": "The spell values difference of the lesson package. Use this field to\nspecify a text that is displayed instead of the generated\n`spellwork_changes` list. The field is displayed even if no list is\npresent.",
|
|
292
|
+
"type": "string",
|
|
293
|
+
"minLength": 1
|
|
294
|
+
}
|
|
295
|
+
},
|
|
296
|
+
"required": [
|
|
297
|
+
"name"
|
|
298
|
+
],
|
|
299
|
+
"additionalProperties": false
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
"minProperties": 1,
|
|
303
|
+
"additionalProperties": false
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
"required": [
|
|
307
|
+
"id",
|
|
308
|
+
"translations"
|
|
309
|
+
],
|
|
310
|
+
"minProperties": 3,
|
|
311
|
+
"additionalProperties": false
|
|
312
|
+
},
|
|
313
|
+
"SkillAdjustment": {
|
|
314
|
+
"oneOf": [
|
|
315
|
+
{
|
|
316
|
+
"type": "object",
|
|
317
|
+
"properties": {
|
|
318
|
+
"tag": {
|
|
319
|
+
"const": "MeleeCombatTechnique"
|
|
320
|
+
},
|
|
321
|
+
"id": {
|
|
322
|
+
"description": "The melee combat technique's identifier.",
|
|
323
|
+
"type": "integer",
|
|
324
|
+
"minimum": 1
|
|
325
|
+
},
|
|
326
|
+
"points": {
|
|
327
|
+
"description": "The combat technique points that will be added to the current combat\ntechnique rating.",
|
|
328
|
+
"type": "integer",
|
|
329
|
+
"maximum": 6,
|
|
330
|
+
"minimum": -6
|
|
331
|
+
}
|
|
332
|
+
},
|
|
333
|
+
"required": [
|
|
334
|
+
"tag",
|
|
335
|
+
"id",
|
|
336
|
+
"points"
|
|
337
|
+
],
|
|
338
|
+
"additionalProperties": false
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"type": "object",
|
|
342
|
+
"properties": {
|
|
343
|
+
"tag": {
|
|
344
|
+
"const": "RangedCombatTechnique"
|
|
345
|
+
},
|
|
346
|
+
"id": {
|
|
347
|
+
"description": "The ranged combat technique's identifier.",
|
|
348
|
+
"type": "integer",
|
|
349
|
+
"minimum": 1
|
|
350
|
+
},
|
|
351
|
+
"points": {
|
|
352
|
+
"description": "The combat technique points that will be added to the current combat\ntechnique rating.",
|
|
353
|
+
"type": "integer",
|
|
354
|
+
"maximum": 6,
|
|
355
|
+
"minimum": -6
|
|
356
|
+
}
|
|
357
|
+
},
|
|
358
|
+
"required": [
|
|
359
|
+
"tag",
|
|
360
|
+
"id",
|
|
361
|
+
"points"
|
|
362
|
+
],
|
|
363
|
+
"additionalProperties": false
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"type": "object",
|
|
367
|
+
"properties": {
|
|
368
|
+
"tag": {
|
|
369
|
+
"const": "Skill"
|
|
370
|
+
},
|
|
371
|
+
"id": {
|
|
372
|
+
"description": "The skill's identifier.",
|
|
373
|
+
"type": "integer",
|
|
374
|
+
"minimum": 1
|
|
375
|
+
},
|
|
376
|
+
"points": {
|
|
377
|
+
"description": "The skill points that will be added to the current skill rating.",
|
|
378
|
+
"type": "integer",
|
|
379
|
+
"maximum": 8,
|
|
380
|
+
"minimum": -8
|
|
381
|
+
}
|
|
382
|
+
},
|
|
383
|
+
"required": [
|
|
384
|
+
"tag",
|
|
385
|
+
"id",
|
|
386
|
+
"points"
|
|
387
|
+
],
|
|
388
|
+
"additionalProperties": false
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"$ref": "#/definitions/SpellworkAdjustment"
|
|
392
|
+
}
|
|
393
|
+
]
|
|
394
|
+
},
|
|
395
|
+
"SpellworkAdjustment": {
|
|
396
|
+
"oneOf": [
|
|
397
|
+
{
|
|
398
|
+
"type": "object",
|
|
399
|
+
"properties": {
|
|
400
|
+
"tag": {
|
|
401
|
+
"const": "Spell"
|
|
402
|
+
},
|
|
403
|
+
"id": {
|
|
404
|
+
"description": "The spell's identifier.",
|
|
405
|
+
"type": "integer",
|
|
406
|
+
"minimum": 1
|
|
407
|
+
},
|
|
408
|
+
"points": {
|
|
409
|
+
"description": "The skill points that will be added to the current skill rating. If a\nspell gets to a skill rating of 0 because of this, it will be removed\ncompletely.",
|
|
410
|
+
"type": "integer",
|
|
411
|
+
"maximum": 10,
|
|
412
|
+
"minimum": -10
|
|
413
|
+
},
|
|
414
|
+
"tradition_id": {
|
|
415
|
+
"description": "The target tradition's identifier. If the target spell is not from the\nGuild Mage tradition, specify the tradition identifier here.",
|
|
416
|
+
"type": "integer",
|
|
417
|
+
"minimum": 2
|
|
418
|
+
}
|
|
419
|
+
},
|
|
420
|
+
"required": [
|
|
421
|
+
"tag",
|
|
422
|
+
"id",
|
|
423
|
+
"points"
|
|
424
|
+
],
|
|
425
|
+
"additionalProperties": false
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"type": "object",
|
|
429
|
+
"properties": {
|
|
430
|
+
"tag": {
|
|
431
|
+
"const": "Ritual"
|
|
432
|
+
},
|
|
433
|
+
"id": {
|
|
434
|
+
"description": "The ritual's identifier.",
|
|
435
|
+
"type": "integer",
|
|
436
|
+
"minimum": 1
|
|
437
|
+
},
|
|
438
|
+
"points": {
|
|
439
|
+
"description": "The skill points that will be added to the current skill rating. If a\nritual gets to a skill rating of 0 because of this, it will be removed\ncompletely.",
|
|
440
|
+
"type": "integer",
|
|
441
|
+
"maximum": 10,
|
|
442
|
+
"minimum": -10
|
|
443
|
+
},
|
|
444
|
+
"tradition_id": {
|
|
445
|
+
"description": "The target tradition's identifier. If the target ritual is not from the\nGuild Mage tradition, specify the tradition identifier here.",
|
|
446
|
+
"type": "integer",
|
|
447
|
+
"minimum": 2
|
|
448
|
+
}
|
|
449
|
+
},
|
|
450
|
+
"required": [
|
|
451
|
+
"tag",
|
|
452
|
+
"id",
|
|
453
|
+
"points"
|
|
454
|
+
],
|
|
455
|
+
"additionalProperties": false
|
|
456
|
+
}
|
|
457
|
+
]
|
|
458
|
+
},
|
|
459
|
+
"SpellworkId": {
|
|
460
|
+
"oneOf": [
|
|
461
|
+
{
|
|
462
|
+
"type": "object",
|
|
463
|
+
"properties": {
|
|
464
|
+
"tag": {
|
|
465
|
+
"const": "Spell"
|
|
466
|
+
},
|
|
467
|
+
"id": {
|
|
468
|
+
"description": "The spell's identifier.",
|
|
469
|
+
"type": "integer",
|
|
470
|
+
"minimum": 1
|
|
471
|
+
}
|
|
472
|
+
},
|
|
473
|
+
"required": [
|
|
474
|
+
"tag",
|
|
475
|
+
"id"
|
|
476
|
+
],
|
|
477
|
+
"additionalProperties": false
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
"type": "object",
|
|
481
|
+
"properties": {
|
|
482
|
+
"tag": {
|
|
483
|
+
"const": "Ritual"
|
|
484
|
+
},
|
|
485
|
+
"id": {
|
|
486
|
+
"description": "The ritual's identifier.",
|
|
487
|
+
"type": "integer",
|
|
488
|
+
"minimum": 1
|
|
489
|
+
}
|
|
490
|
+
},
|
|
491
|
+
"required": [
|
|
492
|
+
"tag",
|
|
493
|
+
"id"
|
|
494
|
+
],
|
|
495
|
+
"additionalProperties": false
|
|
496
|
+
}
|
|
497
|
+
]
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "Lessons_Guideline.schema.json",
|
|
4
|
+
"$ref": "#/definitions/Guideline",
|
|
5
|
+
"definitions": {
|
|
6
|
+
"Guideline": {
|
|
7
|
+
"title": "Guideline",
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"id": {
|
|
11
|
+
"description": "The region's identifier. An unique, increasing integer.",
|
|
12
|
+
"type": "integer",
|
|
13
|
+
"minimum": 1
|
|
14
|
+
},
|
|
15
|
+
"spellwork_changes_allowed": {
|
|
16
|
+
"description": "Maximum number of spells that can be exchanged.",
|
|
17
|
+
"type": "integer",
|
|
18
|
+
"minimum": 0
|
|
19
|
+
},
|
|
20
|
+
"translations": {
|
|
21
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
22
|
+
"type": "object",
|
|
23
|
+
"patternProperties": {
|
|
24
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
25
|
+
"type": "object",
|
|
26
|
+
"properties": {
|
|
27
|
+
"name": {
|
|
28
|
+
"description": "The guideline name.",
|
|
29
|
+
"type": "string",
|
|
30
|
+
"minLength": 1
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"required": [
|
|
34
|
+
"name"
|
|
35
|
+
],
|
|
36
|
+
"additionalProperties": false
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"minProperties": 1,
|
|
40
|
+
"additionalProperties": false
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"required": [
|
|
44
|
+
"id",
|
|
45
|
+
"spellwork_changes_allowed",
|
|
46
|
+
"translations"
|
|
47
|
+
],
|
|
48
|
+
"additionalProperties": false
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "Locale.schema.json",
|
|
4
|
+
"$ref": "#/definitions/Locales",
|
|
5
|
+
"definitions": {
|
|
6
|
+
"Locales": {
|
|
7
|
+
"title": "Supported locales",
|
|
8
|
+
"type": "array",
|
|
9
|
+
"items": {
|
|
10
|
+
"$ref": "#/definitions/Locale"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"Locale": {
|
|
14
|
+
"title": "Supported locale",
|
|
15
|
+
"type": "object",
|
|
16
|
+
"properties": {
|
|
17
|
+
"id": {
|
|
18
|
+
"description": "The locale's identifier. An IETF language tag (BCP47).",
|
|
19
|
+
"type": "string",
|
|
20
|
+
"pattern": "^[a-z]{2}-[A-Z]{2}$"
|
|
21
|
+
},
|
|
22
|
+
"name": {
|
|
23
|
+
"description": "Name of the language in it's language.",
|
|
24
|
+
"type": "string",
|
|
25
|
+
"minLength": 1
|
|
26
|
+
},
|
|
27
|
+
"region": {
|
|
28
|
+
"description": "Region in which the language is spoken in it's language.",
|
|
29
|
+
"type": "string",
|
|
30
|
+
"minLength": 1
|
|
31
|
+
},
|
|
32
|
+
"is_missing_implementation": {
|
|
33
|
+
"description": "The language is not (fully) implemented and thus needs to be excluded from\nstable releases.",
|
|
34
|
+
"type": "boolean"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"required": [
|
|
38
|
+
"id",
|
|
39
|
+
"name",
|
|
40
|
+
"region"
|
|
41
|
+
],
|
|
42
|
+
"additionalProperties": false
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "MetaCondition.schema.json",
|
|
4
|
+
"$ref": "#/definitions/MetaCondition",
|
|
5
|
+
"definitions": {
|
|
6
|
+
"MetaCondition": {
|
|
7
|
+
"title": "Meta Condition",
|
|
8
|
+
"description": "Meta Conditions are rule elements that work like conditions in the sense that\nthey have four levels with different effects, but which are not explicitly\nlisted as conditions.",
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"id": {
|
|
12
|
+
"description": "The meta condition's identifier. An unique, increasing integer.",
|
|
13
|
+
"type": "integer",
|
|
14
|
+
"minimum": 1
|
|
15
|
+
},
|
|
16
|
+
"src": {
|
|
17
|
+
"$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
|
|
18
|
+
},
|
|
19
|
+
"translations": {
|
|
20
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
21
|
+
"type": "object",
|
|
22
|
+
"patternProperties": {
|
|
23
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
24
|
+
"type": "object",
|
|
25
|
+
"properties": {
|
|
26
|
+
"name": {
|
|
27
|
+
"description": "The meta condition's name.",
|
|
28
|
+
"type": "string",
|
|
29
|
+
"minLength": 1
|
|
30
|
+
},
|
|
31
|
+
"rules": {
|
|
32
|
+
"description": "Additional rules for the meta condition, if applicable.",
|
|
33
|
+
"type": "string",
|
|
34
|
+
"minLength": 1
|
|
35
|
+
},
|
|
36
|
+
"effects": {
|
|
37
|
+
"description": "The effects for level 1 to 4.",
|
|
38
|
+
"type": "array",
|
|
39
|
+
"items": [
|
|
40
|
+
{
|
|
41
|
+
"$ref": "#/definitions/Effect"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"$ref": "#/definitions/Effect"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"$ref": "#/definitions/Effect"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"$ref": "#/definitions/Effect"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"minItems": 4,
|
|
54
|
+
"maxItems": 4,
|
|
55
|
+
"additionalItems": false
|
|
56
|
+
},
|
|
57
|
+
"errata": {
|
|
58
|
+
"$ref": "./source/_Erratum.schema.json#/definitions/Errata"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"required": [
|
|
62
|
+
"name",
|
|
63
|
+
"effects"
|
|
64
|
+
],
|
|
65
|
+
"additionalProperties": false
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"minProperties": 1,
|
|
69
|
+
"additionalProperties": false
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"required": [
|
|
73
|
+
"id",
|
|
74
|
+
"src",
|
|
75
|
+
"translations"
|
|
76
|
+
],
|
|
77
|
+
"additionalProperties": false
|
|
78
|
+
},
|
|
79
|
+
"Effect": {
|
|
80
|
+
"description": "The effect on a level.",
|
|
81
|
+
"type": "string",
|
|
82
|
+
"minLength": 1
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|