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,858 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "Culture.schema.json",
|
|
4
|
+
"$ref": "#/definitions/Culture",
|
|
5
|
+
"definitions": {
|
|
6
|
+
"Culture": {
|
|
7
|
+
"title": "Culture",
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"id": {
|
|
11
|
+
"description": "An unique, increasing integer.",
|
|
12
|
+
"type": "integer",
|
|
13
|
+
"minimum": 1
|
|
14
|
+
},
|
|
15
|
+
"language": {
|
|
16
|
+
"description": "A list of native languages (usually it is only one).",
|
|
17
|
+
"type": "array",
|
|
18
|
+
"items": {
|
|
19
|
+
"$ref": "#/definitions/Language"
|
|
20
|
+
},
|
|
21
|
+
"minItems": 1
|
|
22
|
+
},
|
|
23
|
+
"script": {
|
|
24
|
+
"description": "A list of native scripts (usually it is only one). If the culture does not\nuse any script, leave this field empty.",
|
|
25
|
+
"type": "array",
|
|
26
|
+
"items": {
|
|
27
|
+
"$ref": "#/definitions/Script"
|
|
28
|
+
},
|
|
29
|
+
"minItems": 1
|
|
30
|
+
},
|
|
31
|
+
"area_knowledge": {
|
|
32
|
+
"description": "If the area knowledge has a fixed value or can be adjusted.",
|
|
33
|
+
"$ref": "#/definitions/AreaKnowledge"
|
|
34
|
+
},
|
|
35
|
+
"social_status": {
|
|
36
|
+
"description": "A list of possible social status in the respective culture.",
|
|
37
|
+
"type": "array",
|
|
38
|
+
"items": {
|
|
39
|
+
"$ref": "#/definitions/SocialStatus"
|
|
40
|
+
},
|
|
41
|
+
"minItems": 1
|
|
42
|
+
},
|
|
43
|
+
"common_professions": {
|
|
44
|
+
"description": "A list of professions that are typical for the culture, as well as\nprofessions that are rarely practiced or encountered in the culture. The\nlist is either defined by group (as multiple lists) or plain (as a single\nlist).",
|
|
45
|
+
"$ref": "#/definitions/CommonProfessions/Config"
|
|
46
|
+
},
|
|
47
|
+
"common_advantages": {
|
|
48
|
+
"description": "A list of common advantages.",
|
|
49
|
+
"type": "array",
|
|
50
|
+
"items": {
|
|
51
|
+
"$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
|
|
52
|
+
},
|
|
53
|
+
"minItems": 1
|
|
54
|
+
},
|
|
55
|
+
"common_disadvantages": {
|
|
56
|
+
"description": "A list of common disadvantages.",
|
|
57
|
+
"type": "array",
|
|
58
|
+
"items": {
|
|
59
|
+
"$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
|
|
60
|
+
},
|
|
61
|
+
"minItems": 1
|
|
62
|
+
},
|
|
63
|
+
"uncommon_advantages": {
|
|
64
|
+
"description": "A list of uncommon advantages.",
|
|
65
|
+
"type": "array",
|
|
66
|
+
"items": {
|
|
67
|
+
"$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
|
|
68
|
+
},
|
|
69
|
+
"minItems": 1
|
|
70
|
+
},
|
|
71
|
+
"uncommon_disadvantages": {
|
|
72
|
+
"description": "A list of uncommon disadvantages.",
|
|
73
|
+
"type": "array",
|
|
74
|
+
"items": {
|
|
75
|
+
"$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
|
|
76
|
+
},
|
|
77
|
+
"minItems": 1
|
|
78
|
+
},
|
|
79
|
+
"common_skills": {
|
|
80
|
+
"description": "A list of common skills.",
|
|
81
|
+
"type": "array",
|
|
82
|
+
"items": {
|
|
83
|
+
"$ref": "#/definitions/CommonnessRatedSkill"
|
|
84
|
+
},
|
|
85
|
+
"minItems": 1
|
|
86
|
+
},
|
|
87
|
+
"uncommon_skills": {
|
|
88
|
+
"description": "A list of uncommon skills.",
|
|
89
|
+
"type": "array",
|
|
90
|
+
"items": {
|
|
91
|
+
"$ref": "#/definitions/CommonnessRatedSkill"
|
|
92
|
+
},
|
|
93
|
+
"minItems": 1
|
|
94
|
+
},
|
|
95
|
+
"cultural_package": {
|
|
96
|
+
"description": "The skill points you get for buying the culture package.",
|
|
97
|
+
"type": "array",
|
|
98
|
+
"items": {
|
|
99
|
+
"$ref": "#/definitions/CulturalPackageItem"
|
|
100
|
+
},
|
|
101
|
+
"minItems": 1
|
|
102
|
+
},
|
|
103
|
+
"src": {
|
|
104
|
+
"$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
|
|
105
|
+
},
|
|
106
|
+
"translations": {
|
|
107
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
108
|
+
"type": "object",
|
|
109
|
+
"patternProperties": {
|
|
110
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
111
|
+
"$ref": "#/definitions/Translation"
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
"minProperties": 1,
|
|
115
|
+
"additionalProperties": false
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"required": [
|
|
119
|
+
"id",
|
|
120
|
+
"language",
|
|
121
|
+
"area_knowledge",
|
|
122
|
+
"social_status",
|
|
123
|
+
"common_professions",
|
|
124
|
+
"common_skills",
|
|
125
|
+
"cultural_package",
|
|
126
|
+
"src",
|
|
127
|
+
"translations"
|
|
128
|
+
],
|
|
129
|
+
"additionalProperties": false
|
|
130
|
+
},
|
|
131
|
+
"Language": {
|
|
132
|
+
"type": "object",
|
|
133
|
+
"properties": {
|
|
134
|
+
"id": {
|
|
135
|
+
"description": "The language's identifier.",
|
|
136
|
+
"type": "integer",
|
|
137
|
+
"minimum": 1
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"required": [
|
|
141
|
+
"id"
|
|
142
|
+
],
|
|
143
|
+
"additionalProperties": false
|
|
144
|
+
},
|
|
145
|
+
"Script": {
|
|
146
|
+
"type": "object",
|
|
147
|
+
"properties": {
|
|
148
|
+
"id": {
|
|
149
|
+
"description": "The script's identifier.",
|
|
150
|
+
"type": "integer",
|
|
151
|
+
"minimum": 1
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
"required": [
|
|
155
|
+
"id"
|
|
156
|
+
],
|
|
157
|
+
"additionalProperties": false
|
|
158
|
+
},
|
|
159
|
+
"AreaKnowledge": {
|
|
160
|
+
"description": "If the area knowledge has a fixed value or can be adjusted.",
|
|
161
|
+
"oneOf": [
|
|
162
|
+
{
|
|
163
|
+
"type": "object",
|
|
164
|
+
"properties": {
|
|
165
|
+
"tag": {
|
|
166
|
+
"const": "Fixed"
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
"required": [
|
|
170
|
+
"tag"
|
|
171
|
+
],
|
|
172
|
+
"additionalProperties": false
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"type": "object",
|
|
176
|
+
"properties": {
|
|
177
|
+
"tag": {
|
|
178
|
+
"const": "Adjustable"
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
"required": [
|
|
182
|
+
"tag"
|
|
183
|
+
],
|
|
184
|
+
"additionalProperties": false
|
|
185
|
+
}
|
|
186
|
+
]
|
|
187
|
+
},
|
|
188
|
+
"SocialStatus": {
|
|
189
|
+
"type": "object",
|
|
190
|
+
"properties": {
|
|
191
|
+
"id": {
|
|
192
|
+
"description": "The social status's identifier.",
|
|
193
|
+
"type": "integer",
|
|
194
|
+
"minimum": 1
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
"required": [
|
|
198
|
+
"id"
|
|
199
|
+
],
|
|
200
|
+
"additionalProperties": false
|
|
201
|
+
},
|
|
202
|
+
"CommonProfessions": {
|
|
203
|
+
"Profession": {
|
|
204
|
+
"type": "object",
|
|
205
|
+
"properties": {
|
|
206
|
+
"id": {
|
|
207
|
+
"description": "The profession's identifier.",
|
|
208
|
+
"type": "integer",
|
|
209
|
+
"minimum": 1
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
"required": [
|
|
213
|
+
"id"
|
|
214
|
+
],
|
|
215
|
+
"additionalProperties": false
|
|
216
|
+
},
|
|
217
|
+
"ProfessionVariant": {
|
|
218
|
+
"type": "object",
|
|
219
|
+
"properties": {
|
|
220
|
+
"id": {
|
|
221
|
+
"description": "The profession variant's identifier.",
|
|
222
|
+
"type": "integer",
|
|
223
|
+
"minimum": 1
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
"required": [
|
|
227
|
+
"id"
|
|
228
|
+
],
|
|
229
|
+
"additionalProperties": false
|
|
230
|
+
},
|
|
231
|
+
"Plain": {
|
|
232
|
+
"Constraint": {
|
|
233
|
+
"type": "object",
|
|
234
|
+
"properties": {
|
|
235
|
+
"tag": {
|
|
236
|
+
"const": "Profession"
|
|
237
|
+
},
|
|
238
|
+
"id": {
|
|
239
|
+
"description": "The profession's identifier.",
|
|
240
|
+
"type": "integer",
|
|
241
|
+
"minimum": 1
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
"required": [
|
|
245
|
+
"tag",
|
|
246
|
+
"id"
|
|
247
|
+
],
|
|
248
|
+
"additionalProperties": false
|
|
249
|
+
},
|
|
250
|
+
"T": {
|
|
251
|
+
"description": "A plain list of professions.",
|
|
252
|
+
"type": "object",
|
|
253
|
+
"properties": {
|
|
254
|
+
"tag": {
|
|
255
|
+
"const": "Plain"
|
|
256
|
+
},
|
|
257
|
+
"constraints": {
|
|
258
|
+
"description": "The list of professions.",
|
|
259
|
+
"type": "array",
|
|
260
|
+
"items": {
|
|
261
|
+
"$ref": "#/definitions/CommonProfessions/Plain/Constraint"
|
|
262
|
+
},
|
|
263
|
+
"minItems": 1
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
"required": [
|
|
267
|
+
"tag",
|
|
268
|
+
"constraints"
|
|
269
|
+
],
|
|
270
|
+
"additionalProperties": false
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
"Grouped": {
|
|
274
|
+
"Constraints": {
|
|
275
|
+
"WeightedVariants": {
|
|
276
|
+
"description": "Some profession variants are more common than others. There may be\ncultures where some variants are not represented at all.",
|
|
277
|
+
"type": "object",
|
|
278
|
+
"properties": {
|
|
279
|
+
"variants": {
|
|
280
|
+
"description": "The list of more common variants.",
|
|
281
|
+
"type": "array",
|
|
282
|
+
"items": {
|
|
283
|
+
"$ref": "#/definitions/CommonProfessions/ProfessionVariant"
|
|
284
|
+
},
|
|
285
|
+
"minItems": 1
|
|
286
|
+
},
|
|
287
|
+
"weight": {
|
|
288
|
+
"description": "The \"weight\" difference compared to other variants. Some variants are\nsimply more common (Mostly), but sometimes only specific variants are\nused (Only).",
|
|
289
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/Weight"
|
|
290
|
+
}
|
|
291
|
+
},
|
|
292
|
+
"required": [
|
|
293
|
+
"variants",
|
|
294
|
+
"weight"
|
|
295
|
+
],
|
|
296
|
+
"additionalProperties": false
|
|
297
|
+
},
|
|
298
|
+
"Profession": {
|
|
299
|
+
"type": "object",
|
|
300
|
+
"properties": {
|
|
301
|
+
"tag": {
|
|
302
|
+
"const": "Profession"
|
|
303
|
+
},
|
|
304
|
+
"id": {
|
|
305
|
+
"description": "The profession's identifier.",
|
|
306
|
+
"type": "integer",
|
|
307
|
+
"minimum": 1
|
|
308
|
+
},
|
|
309
|
+
"weighted_variants": {
|
|
310
|
+
"description": "Some profession variants are more common than others. There may be\ncultures where some variants are not represented at all.",
|
|
311
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/Constraints/WeightedVariants"
|
|
312
|
+
},
|
|
313
|
+
"rarity": {
|
|
314
|
+
"description": "Some professions may be found in a culture, but are not that\ncommon.",
|
|
315
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/Rarity"
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
"required": [
|
|
319
|
+
"tag",
|
|
320
|
+
"id"
|
|
321
|
+
],
|
|
322
|
+
"additionalProperties": false
|
|
323
|
+
}
|
|
324
|
+
},
|
|
325
|
+
"Weight": {
|
|
326
|
+
"description": "The \"weight\" difference compared to other variants. Some variants are\nsimply more common (Mostly), but sometimes only specific variants are\nused (Only).",
|
|
327
|
+
"oneOf": [
|
|
328
|
+
{
|
|
329
|
+
"type": "object",
|
|
330
|
+
"properties": {
|
|
331
|
+
"tag": {
|
|
332
|
+
"const": "Mostly"
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
"required": [
|
|
336
|
+
"tag"
|
|
337
|
+
],
|
|
338
|
+
"additionalProperties": false
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"type": "object",
|
|
342
|
+
"properties": {
|
|
343
|
+
"tag": {
|
|
344
|
+
"const": "Only"
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
"required": [
|
|
348
|
+
"tag"
|
|
349
|
+
],
|
|
350
|
+
"additionalProperties": false
|
|
351
|
+
}
|
|
352
|
+
]
|
|
353
|
+
},
|
|
354
|
+
"Rarity": {
|
|
355
|
+
"description": "Some professions may be found in a culture, but are not that common.",
|
|
356
|
+
"oneOf": [
|
|
357
|
+
{
|
|
358
|
+
"type": "object",
|
|
359
|
+
"properties": {
|
|
360
|
+
"tag": {
|
|
361
|
+
"const": "Rare"
|
|
362
|
+
}
|
|
363
|
+
},
|
|
364
|
+
"required": [
|
|
365
|
+
"tag"
|
|
366
|
+
],
|
|
367
|
+
"additionalProperties": false
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"type": "object",
|
|
371
|
+
"properties": {
|
|
372
|
+
"tag": {
|
|
373
|
+
"const": "VeryRare"
|
|
374
|
+
}
|
|
375
|
+
},
|
|
376
|
+
"required": [
|
|
377
|
+
"tag"
|
|
378
|
+
],
|
|
379
|
+
"additionalProperties": false
|
|
380
|
+
}
|
|
381
|
+
]
|
|
382
|
+
},
|
|
383
|
+
"Mundane": {
|
|
384
|
+
"ProfessionSubgroup": {
|
|
385
|
+
"description": "Some professions may be found in a culture, but are not that common.",
|
|
386
|
+
"oneOf": [
|
|
387
|
+
{
|
|
388
|
+
"type": "object",
|
|
389
|
+
"properties": {
|
|
390
|
+
"tag": {
|
|
391
|
+
"const": "Profane"
|
|
392
|
+
}
|
|
393
|
+
},
|
|
394
|
+
"required": [
|
|
395
|
+
"tag"
|
|
396
|
+
],
|
|
397
|
+
"additionalProperties": false
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"type": "object",
|
|
401
|
+
"properties": {
|
|
402
|
+
"tag": {
|
|
403
|
+
"const": "Fighter"
|
|
404
|
+
}
|
|
405
|
+
},
|
|
406
|
+
"required": [
|
|
407
|
+
"tag"
|
|
408
|
+
],
|
|
409
|
+
"additionalProperties": false
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
"type": "object",
|
|
413
|
+
"properties": {
|
|
414
|
+
"tag": {
|
|
415
|
+
"const": "Religious"
|
|
416
|
+
}
|
|
417
|
+
},
|
|
418
|
+
"required": [
|
|
419
|
+
"tag"
|
|
420
|
+
],
|
|
421
|
+
"additionalProperties": false
|
|
422
|
+
}
|
|
423
|
+
]
|
|
424
|
+
},
|
|
425
|
+
"Constraint": {
|
|
426
|
+
"oneOf": [
|
|
427
|
+
{
|
|
428
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/Constraints/Profession"
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
"type": "object",
|
|
432
|
+
"properties": {
|
|
433
|
+
"tag": {
|
|
434
|
+
"const": "ProfessionSubgroup"
|
|
435
|
+
},
|
|
436
|
+
"subgroup": {
|
|
437
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/Mundane/ProfessionSubgroup"
|
|
438
|
+
}
|
|
439
|
+
},
|
|
440
|
+
"required": [
|
|
441
|
+
"tag",
|
|
442
|
+
"subgroup"
|
|
443
|
+
],
|
|
444
|
+
"additionalProperties": false
|
|
445
|
+
}
|
|
446
|
+
]
|
|
447
|
+
},
|
|
448
|
+
"Operation": {
|
|
449
|
+
"description": "This defines how the list of constraints should be offset against the\nlist of all mundane professions: Either only the professions are kept\nthat intersect with the constraints (include) or only the professions\nare kept that are different from the constraints (exclude).",
|
|
450
|
+
"oneOf": [
|
|
451
|
+
{
|
|
452
|
+
"type": "object",
|
|
453
|
+
"properties": {
|
|
454
|
+
"tag": {
|
|
455
|
+
"const": "Intersection"
|
|
456
|
+
}
|
|
457
|
+
},
|
|
458
|
+
"required": [
|
|
459
|
+
"tag"
|
|
460
|
+
],
|
|
461
|
+
"additionalProperties": false
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
"type": "object",
|
|
465
|
+
"properties": {
|
|
466
|
+
"tag": {
|
|
467
|
+
"const": "Difference"
|
|
468
|
+
}
|
|
469
|
+
},
|
|
470
|
+
"required": [
|
|
471
|
+
"tag"
|
|
472
|
+
],
|
|
473
|
+
"additionalProperties": false
|
|
474
|
+
}
|
|
475
|
+
]
|
|
476
|
+
},
|
|
477
|
+
"T": {
|
|
478
|
+
"description": "A list of professions. The filter specifies how the list is applied to\nall mundane professions.",
|
|
479
|
+
"type": "object",
|
|
480
|
+
"properties": {
|
|
481
|
+
"constraints": {
|
|
482
|
+
"description": "The list of professions.",
|
|
483
|
+
"type": "array",
|
|
484
|
+
"items": {
|
|
485
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/Mundane/Constraint"
|
|
486
|
+
},
|
|
487
|
+
"minItems": 1
|
|
488
|
+
},
|
|
489
|
+
"operation": {
|
|
490
|
+
"description": "This defines how the list of constraints should be offset against the\nlist of all mundane professions: Either only the professions are kept\nthat intersect with the constraints (include) or only the professions\nare kept that are different from the constraints (exclude).",
|
|
491
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/Mundane/Operation"
|
|
492
|
+
}
|
|
493
|
+
},
|
|
494
|
+
"required": [
|
|
495
|
+
"constraints",
|
|
496
|
+
"operation"
|
|
497
|
+
],
|
|
498
|
+
"additionalProperties": false
|
|
499
|
+
}
|
|
500
|
+
},
|
|
501
|
+
"Magic": {
|
|
502
|
+
"WeightedProfessions": {
|
|
503
|
+
"description": "Some professions are more common than others. There may be cultures\nwhere some professions are not represented at all.",
|
|
504
|
+
"type": "object",
|
|
505
|
+
"properties": {
|
|
506
|
+
"professions": {
|
|
507
|
+
"description": "The list of more common variants.",
|
|
508
|
+
"type": "array",
|
|
509
|
+
"items": {
|
|
510
|
+
"$ref": "#/definitions/CommonProfessions/Profession"
|
|
511
|
+
},
|
|
512
|
+
"minItems": 1
|
|
513
|
+
},
|
|
514
|
+
"weight": {
|
|
515
|
+
"description": "The \"weight\" difference compared to other professions. Some\nprofessions are simply more common (Mostly), but sometimes only\nspecific professions are used (Only).",
|
|
516
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/Weight"
|
|
517
|
+
}
|
|
518
|
+
},
|
|
519
|
+
"required": [
|
|
520
|
+
"professions",
|
|
521
|
+
"weight"
|
|
522
|
+
],
|
|
523
|
+
"additionalProperties": false
|
|
524
|
+
},
|
|
525
|
+
"Constraint": {
|
|
526
|
+
"oneOf": [
|
|
527
|
+
{
|
|
528
|
+
"type": "object",
|
|
529
|
+
"properties": {
|
|
530
|
+
"tag": {
|
|
531
|
+
"const": "Tradition"
|
|
532
|
+
},
|
|
533
|
+
"id": {
|
|
534
|
+
"description": "The magical tradition's identifier.",
|
|
535
|
+
"type": "integer",
|
|
536
|
+
"minimum": 1
|
|
537
|
+
},
|
|
538
|
+
"weighted_professions": {
|
|
539
|
+
"description": "Some professions are more common than others. There may be cultures\nwhere some professions are not represented at all.",
|
|
540
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/Magic/WeightedProfessions"
|
|
541
|
+
},
|
|
542
|
+
"rarity": {
|
|
543
|
+
"description": "Some traditions may be found in a culture, but are not that common.",
|
|
544
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/Rarity"
|
|
545
|
+
}
|
|
546
|
+
},
|
|
547
|
+
"required": [
|
|
548
|
+
"tag",
|
|
549
|
+
"id"
|
|
550
|
+
],
|
|
551
|
+
"additionalProperties": false
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
"type": "object",
|
|
555
|
+
"properties": {
|
|
556
|
+
"tag": {
|
|
557
|
+
"const": "MagicDilettante"
|
|
558
|
+
}
|
|
559
|
+
},
|
|
560
|
+
"required": [
|
|
561
|
+
"tag"
|
|
562
|
+
],
|
|
563
|
+
"additionalProperties": false
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/Constraints/Profession"
|
|
567
|
+
}
|
|
568
|
+
]
|
|
569
|
+
},
|
|
570
|
+
"T": {
|
|
571
|
+
"type": "object",
|
|
572
|
+
"properties": {
|
|
573
|
+
"constraints": {
|
|
574
|
+
"description": "The list of professions.",
|
|
575
|
+
"type": "array",
|
|
576
|
+
"items": {
|
|
577
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/Magic/Constraint"
|
|
578
|
+
},
|
|
579
|
+
"minItems": 1
|
|
580
|
+
}
|
|
581
|
+
},
|
|
582
|
+
"required": [
|
|
583
|
+
"constraints"
|
|
584
|
+
],
|
|
585
|
+
"additionalProperties": false
|
|
586
|
+
}
|
|
587
|
+
},
|
|
588
|
+
"Blessed": {
|
|
589
|
+
"Constraint": {
|
|
590
|
+
"type": "object",
|
|
591
|
+
"properties": {
|
|
592
|
+
"tag": {
|
|
593
|
+
"const": "Tradition"
|
|
594
|
+
},
|
|
595
|
+
"id": {
|
|
596
|
+
"description": "The blessed tradition's identifier.",
|
|
597
|
+
"type": "integer",
|
|
598
|
+
"minimum": 1
|
|
599
|
+
},
|
|
600
|
+
"rarity": {
|
|
601
|
+
"description": "Some traditions may be found in a culture, but are not that common.",
|
|
602
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/Rarity"
|
|
603
|
+
}
|
|
604
|
+
},
|
|
605
|
+
"required": [
|
|
606
|
+
"tag",
|
|
607
|
+
"id"
|
|
608
|
+
],
|
|
609
|
+
"additionalProperties": false
|
|
610
|
+
},
|
|
611
|
+
"T": {
|
|
612
|
+
"type": "object",
|
|
613
|
+
"properties": {
|
|
614
|
+
"constraints": {
|
|
615
|
+
"description": "The list of professions.",
|
|
616
|
+
"type": "array",
|
|
617
|
+
"items": {
|
|
618
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/Blessed/Constraint"
|
|
619
|
+
},
|
|
620
|
+
"minItems": 1
|
|
621
|
+
}
|
|
622
|
+
},
|
|
623
|
+
"required": [
|
|
624
|
+
"constraints"
|
|
625
|
+
],
|
|
626
|
+
"additionalProperties": false
|
|
627
|
+
}
|
|
628
|
+
},
|
|
629
|
+
"T": {
|
|
630
|
+
"description": "Lists of professions by group.",
|
|
631
|
+
"type": "object",
|
|
632
|
+
"properties": {
|
|
633
|
+
"tag": {
|
|
634
|
+
"const": "Grouped"
|
|
635
|
+
},
|
|
636
|
+
"mundane": {
|
|
637
|
+
"description": "A list of professions. The filter specifies how the list is applied to\nall mundane professions.",
|
|
638
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/Mundane/T"
|
|
639
|
+
},
|
|
640
|
+
"magic": {
|
|
641
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/Magic/T"
|
|
642
|
+
},
|
|
643
|
+
"blessed": {
|
|
644
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/Blessed/T"
|
|
645
|
+
}
|
|
646
|
+
},
|
|
647
|
+
"required": [
|
|
648
|
+
"tag"
|
|
649
|
+
],
|
|
650
|
+
"minProperties": 2,
|
|
651
|
+
"additionalProperties": false
|
|
652
|
+
}
|
|
653
|
+
},
|
|
654
|
+
"Config": {
|
|
655
|
+
"description": "A list of professions that are typical for the culture, as well as\nprofessions that are rarely practiced or encountered in the culture. The\nlist is either defined by group (as multiple lists) or plain (as a single\nlist).",
|
|
656
|
+
"oneOf": [
|
|
657
|
+
{
|
|
658
|
+
"$ref": "#/definitions/CommonProfessions/Plain/T"
|
|
659
|
+
},
|
|
660
|
+
{
|
|
661
|
+
"$ref": "#/definitions/CommonProfessions/Grouped/T"
|
|
662
|
+
}
|
|
663
|
+
]
|
|
664
|
+
}
|
|
665
|
+
},
|
|
666
|
+
"CommonnessRatedSkill": {
|
|
667
|
+
"type": "object",
|
|
668
|
+
"properties": {
|
|
669
|
+
"id": {
|
|
670
|
+
"description": "The skill's identifier.",
|
|
671
|
+
"type": "integer",
|
|
672
|
+
"minimum": 1
|
|
673
|
+
}
|
|
674
|
+
},
|
|
675
|
+
"required": [
|
|
676
|
+
"id"
|
|
677
|
+
],
|
|
678
|
+
"additionalProperties": false
|
|
679
|
+
},
|
|
680
|
+
"CulturalPackageItem": {
|
|
681
|
+
"type": "object",
|
|
682
|
+
"properties": {
|
|
683
|
+
"id": {
|
|
684
|
+
"description": "The skill's identifier.",
|
|
685
|
+
"type": "integer",
|
|
686
|
+
"minimum": 1
|
|
687
|
+
},
|
|
688
|
+
"points": {
|
|
689
|
+
"description": "The skill points for the respective skill you get for buying the cultural\npackage.",
|
|
690
|
+
"type": "integer",
|
|
691
|
+
"maximum": 2,
|
|
692
|
+
"minimum": 1
|
|
693
|
+
}
|
|
694
|
+
},
|
|
695
|
+
"required": [
|
|
696
|
+
"id",
|
|
697
|
+
"points"
|
|
698
|
+
],
|
|
699
|
+
"additionalProperties": false
|
|
700
|
+
},
|
|
701
|
+
"Translation": {
|
|
702
|
+
"type": "object",
|
|
703
|
+
"properties": {
|
|
704
|
+
"name": {
|
|
705
|
+
"description": "The name of the state.",
|
|
706
|
+
"type": "string",
|
|
707
|
+
"minLength": 1
|
|
708
|
+
},
|
|
709
|
+
"area_knowledge": {
|
|
710
|
+
"description": "The description of the area knowledge.",
|
|
711
|
+
"$ref": "#/definitions/AreaKnowledgeTranslation"
|
|
712
|
+
},
|
|
713
|
+
"common_advantages": {
|
|
714
|
+
"description": "The respective common advantages text from the source book.",
|
|
715
|
+
"type": "string",
|
|
716
|
+
"minLength": 1
|
|
717
|
+
},
|
|
718
|
+
"common_disadvantages": {
|
|
719
|
+
"description": "The respective common disadvantages text from the source book.",
|
|
720
|
+
"type": "string",
|
|
721
|
+
"minLength": 1
|
|
722
|
+
},
|
|
723
|
+
"uncommon_advantages": {
|
|
724
|
+
"description": "The respective uncommon advantages text from the source book.",
|
|
725
|
+
"type": "string",
|
|
726
|
+
"minLength": 1
|
|
727
|
+
},
|
|
728
|
+
"uncommon_disadvantages": {
|
|
729
|
+
"description": "The respective uncommon disadvantages text from the source book.",
|
|
730
|
+
"type": "string",
|
|
731
|
+
"minLength": 1
|
|
732
|
+
},
|
|
733
|
+
"common_names": {
|
|
734
|
+
"description": "Structured description of common names.",
|
|
735
|
+
"$ref": "#/definitions/CommonNames"
|
|
736
|
+
},
|
|
737
|
+
"errata": {
|
|
738
|
+
"$ref": "./source/_Erratum.schema.json#/definitions/Errata"
|
|
739
|
+
}
|
|
740
|
+
},
|
|
741
|
+
"required": [
|
|
742
|
+
"name",
|
|
743
|
+
"area_knowledge",
|
|
744
|
+
"common_names"
|
|
745
|
+
],
|
|
746
|
+
"additionalProperties": false
|
|
747
|
+
},
|
|
748
|
+
"AreaKnowledgeTranslation": {
|
|
749
|
+
"description": "Description and examples of the area knowledge.",
|
|
750
|
+
"type": "object",
|
|
751
|
+
"properties": {
|
|
752
|
+
"description": {
|
|
753
|
+
"description": "The full description without examples in parenthesis.",
|
|
754
|
+
"type": "string",
|
|
755
|
+
"minLength": 1
|
|
756
|
+
},
|
|
757
|
+
"abbreviated": {
|
|
758
|
+
"description": "A shorter version of the description, used in input fields and other UI\nelements where the space might be to small to use the full description.",
|
|
759
|
+
"type": "string",
|
|
760
|
+
"minLength": 1
|
|
761
|
+
},
|
|
762
|
+
"examples": {
|
|
763
|
+
"description": "Examples of areas, if applicable.",
|
|
764
|
+
"type": "array",
|
|
765
|
+
"items": {
|
|
766
|
+
"$ref": "#/definitions/AreaKnowledgeExample"
|
|
767
|
+
},
|
|
768
|
+
"minItems": 1
|
|
769
|
+
}
|
|
770
|
+
},
|
|
771
|
+
"required": [
|
|
772
|
+
"description",
|
|
773
|
+
"abbreviated"
|
|
774
|
+
],
|
|
775
|
+
"additionalProperties": false
|
|
776
|
+
},
|
|
777
|
+
"AreaKnowledgeExample": {
|
|
778
|
+
"type": "string",
|
|
779
|
+
"minLength": 1
|
|
780
|
+
},
|
|
781
|
+
"CommonNames": {
|
|
782
|
+
"description": "Structured description of common names.",
|
|
783
|
+
"type": "object",
|
|
784
|
+
"properties": {
|
|
785
|
+
"first_name_groups": {
|
|
786
|
+
"description": "First names can be gender-neutral, but they can also be for a specific\nbinary sex. They are sorted into groups.",
|
|
787
|
+
"type": "array",
|
|
788
|
+
"items": {
|
|
789
|
+
"$ref": "#/definitions/NameGroup"
|
|
790
|
+
},
|
|
791
|
+
"minItems": 1
|
|
792
|
+
},
|
|
793
|
+
"last_name_groups": {
|
|
794
|
+
"description": "Last names can be gender-neutral, like family names, but they can also be\nfor a specific binary sex. They are sorted into groups.",
|
|
795
|
+
"type": "array",
|
|
796
|
+
"items": {
|
|
797
|
+
"$ref": "#/definitions/NameGroup"
|
|
798
|
+
},
|
|
799
|
+
"minItems": 1
|
|
800
|
+
},
|
|
801
|
+
"naming_rules": {
|
|
802
|
+
"description": "Special naming rules.",
|
|
803
|
+
"type": "string",
|
|
804
|
+
"minLength": 1
|
|
805
|
+
}
|
|
806
|
+
},
|
|
807
|
+
"required": [],
|
|
808
|
+
"minProperties": 1,
|
|
809
|
+
"additionalProperties": false
|
|
810
|
+
},
|
|
811
|
+
"NameGroup": {
|
|
812
|
+
"type": "object",
|
|
813
|
+
"properties": {
|
|
814
|
+
"label": {
|
|
815
|
+
"description": "The group label.",
|
|
816
|
+
"type": "string",
|
|
817
|
+
"minLength": 1
|
|
818
|
+
},
|
|
819
|
+
"sex": {
|
|
820
|
+
"description": "The binary sex if the group is only for a certain binary sex.",
|
|
821
|
+
"$ref": "./_Sex.schema.json#/definitions/BinarySex"
|
|
822
|
+
},
|
|
823
|
+
"names": {
|
|
824
|
+
"description": "The names from the group.",
|
|
825
|
+
"type": "array",
|
|
826
|
+
"items": {
|
|
827
|
+
"$ref": "#/definitions/Name"
|
|
828
|
+
},
|
|
829
|
+
"minItems": 1
|
|
830
|
+
}
|
|
831
|
+
},
|
|
832
|
+
"required": [
|
|
833
|
+
"label",
|
|
834
|
+
"sex",
|
|
835
|
+
"names"
|
|
836
|
+
],
|
|
837
|
+
"additionalProperties": false
|
|
838
|
+
},
|
|
839
|
+
"Name": {
|
|
840
|
+
"type": "object",
|
|
841
|
+
"properties": {
|
|
842
|
+
"name": {
|
|
843
|
+
"type": "string",
|
|
844
|
+
"minLength": 1
|
|
845
|
+
},
|
|
846
|
+
"note": {
|
|
847
|
+
"description": "Additional information about the name, appended in parenthesis.",
|
|
848
|
+
"type": "string",
|
|
849
|
+
"minLength": 1
|
|
850
|
+
}
|
|
851
|
+
},
|
|
852
|
+
"required": [
|
|
853
|
+
"name"
|
|
854
|
+
],
|
|
855
|
+
"additionalProperties": false
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
}
|