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.
Files changed (169) hide show
  1. package/AUTHORS +1 -0
  2. package/CHANGELOG.md +27 -0
  3. package/CODEOWNERS +1 -0
  4. package/LICENSE +378 -0
  5. package/README.md +17 -0
  6. package/lib/main.d.ts +1 -0
  7. package/lib/main.js +1 -0
  8. package/lib/types/ArcaneBardTradition.d.ts +32 -0
  9. package/lib/types/ArcaneBardTradition.js +4 -0
  10. package/lib/types/ArcaneDancerTradition.d.ts +32 -0
  11. package/lib/types/ArcaneDancerTradition.js +4 -0
  12. package/lib/types/Aspect.d.ts +36 -0
  13. package/lib/types/Aspect.js +4 -0
  14. package/lib/types/Attribute.d.ts +42 -0
  15. package/lib/types/Attribute.js +5 -0
  16. package/lib/types/CombatTechnique_Close.d.ts +80 -0
  17. package/lib/types/CombatTechnique_Close.js +4 -0
  18. package/lib/types/CombatTechnique_Ranged.d.ts +62 -0
  19. package/lib/types/CombatTechnique_Ranged.js +4 -0
  20. package/lib/types/Condition.d.ts +51 -0
  21. package/lib/types/Condition.js +4 -0
  22. package/lib/types/Culture.d.ts +494 -0
  23. package/lib/types/Culture.js +4 -0
  24. package/lib/types/DerivedCharacteristic.d.ts +65 -0
  25. package/lib/types/DerivedCharacteristic.js +4 -0
  26. package/lib/types/Element.d.ts +30 -0
  27. package/lib/types/Element.js +4 -0
  28. package/lib/types/ExperienceLevel.d.ts +68 -0
  29. package/lib/types/ExperienceLevel.js +4 -0
  30. package/lib/types/EyeColor.d.ts +30 -0
  31. package/lib/types/EyeColor.js +4 -0
  32. package/lib/types/HairColor.d.ts +30 -0
  33. package/lib/types/HairColor.js +4 -0
  34. package/lib/types/Lessons_Curriculum.d.ts +297 -0
  35. package/lib/types/Lessons_Curriculum.js +4 -0
  36. package/lib/types/Lessons_Guideline.d.ts +36 -0
  37. package/lib/types/Lessons_Guideline.js +4 -0
  38. package/lib/types/Locale.d.ts +38 -0
  39. package/lib/types/Locale.js +4 -0
  40. package/lib/types/MetaCondition.d.ts +54 -0
  41. package/lib/types/MetaCondition.js +4 -0
  42. package/lib/types/Property.d.ts +36 -0
  43. package/lib/types/Property.js +4 -0
  44. package/lib/types/Race.d.ts +524 -0
  45. package/lib/types/Race.js +13 -0
  46. package/lib/types/Region.d.ts +30 -0
  47. package/lib/types/Region.js +4 -0
  48. package/lib/types/Service.d.ts +40 -0
  49. package/lib/types/Service.js +4 -0
  50. package/lib/types/SexPractice.d.ts +53 -0
  51. package/lib/types/SexPractice.js +4 -0
  52. package/lib/types/Skill.d.ts +169 -0
  53. package/lib/types/Skill.js +4 -0
  54. package/lib/types/SkillGroup.d.ts +40 -0
  55. package/lib/types/SkillGroup.js +4 -0
  56. package/lib/types/SkillModificationIncrement.d.ts +82 -0
  57. package/lib/types/SkillModificationIncrement.js +4 -0
  58. package/lib/types/SocialStatus.d.ts +30 -0
  59. package/lib/types/SocialStatus.js +4 -0
  60. package/lib/types/State.d.ts +40 -0
  61. package/lib/types/State.js +4 -0
  62. package/lib/types/TargetCategory.d.ts +36 -0
  63. package/lib/types/TargetCategory.js +4 -0
  64. package/lib/types/_ActivatableSkill.d.ts +919 -0
  65. package/lib/types/_ActivatableSkill.js +38 -0
  66. package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +12 -0
  67. package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +1 -0
  68. package/lib/types/_ImprovementCost.d.ts +9 -0
  69. package/lib/types/_ImprovementCost.js +10 -0
  70. package/lib/types/_Prerequisite.d.ts +274 -0
  71. package/lib/types/_Prerequisite.js +4 -0
  72. package/lib/types/_Sex.d.ts +11 -0
  73. package/lib/types/_Sex.js +4 -0
  74. package/lib/types/_SkillCheck.d.ts +28 -0
  75. package/lib/types/_SkillCheck.js +1 -0
  76. package/lib/types/magicalActions/AnimistPower.d.ts +227 -0
  77. package/lib/types/magicalActions/AnimistPower.js +4 -0
  78. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +30 -0
  79. package/lib/types/magicalActions/AnimistPower_Tribe.js +4 -0
  80. package/lib/types/magicalActions/Curse.d.ts +228 -0
  81. package/lib/types/magicalActions/Curse.js +4 -0
  82. package/lib/types/magicalActions/DominationRitual.d.ts +181 -0
  83. package/lib/types/magicalActions/DominationRitual.js +4 -0
  84. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +149 -0
  85. package/lib/types/magicalActions/ElvenMagicalSong.js +4 -0
  86. package/lib/types/magicalActions/GeodeRitual.d.ts +162 -0
  87. package/lib/types/magicalActions/GeodeRitual.js +4 -0
  88. package/lib/types/magicalActions/JesterTrick.d.ts +167 -0
  89. package/lib/types/magicalActions/JesterTrick.js +4 -0
  90. package/lib/types/magicalActions/MagicalDance.d.ts +184 -0
  91. package/lib/types/magicalActions/MagicalDance.js +4 -0
  92. package/lib/types/magicalActions/MagicalMelody.d.ts +132 -0
  93. package/lib/types/magicalActions/MagicalMelody.js +4 -0
  94. package/lib/types/magicalActions/MagicalRune.d.ts +241 -0
  95. package/lib/types/magicalActions/MagicalRune.js +4 -0
  96. package/lib/types/magicalActions/ZibiljaRitual.d.ts +101 -0
  97. package/lib/types/magicalActions/ZibiljaRitual.js +4 -0
  98. package/lib/types/magicalActions/_MusicTradition.d.ts +28 -0
  99. package/lib/types/magicalActions/_MusicTradition.js +1 -0
  100. package/lib/types/magicalActions/_SkillReference.d.ts +13 -0
  101. package/lib/types/magicalActions/_SkillReference.js +5 -0
  102. package/lib/types/rule/FocusRule.d.ts +53 -0
  103. package/lib/types/rule/FocusRule.js +4 -0
  104. package/lib/types/rule/FocusRule_Subject.d.ts +31 -0
  105. package/lib/types/rule/FocusRule_Subject.js +4 -0
  106. package/lib/types/rule/OptionalRule.d.ts +65 -0
  107. package/lib/types/rule/OptionalRule.js +4 -0
  108. package/lib/types/source/Publication.d.ts +4 -0
  109. package/lib/types/source/Publication.js +4 -0
  110. package/lib/types/source/_Erratum.d.ts +25 -0
  111. package/lib/types/source/_Erratum.js +4 -0
  112. package/lib/types/source/_PublicationRef.d.ts +146 -0
  113. package/lib/types/source/_PublicationRef.js +4 -0
  114. package/lib/validation/integrity.d.ts +16 -0
  115. package/lib/validation/integrity.js +3 -0
  116. package/package.json +37 -0
  117. package/schema/ArcaneBardTradition.schema.json +49 -0
  118. package/schema/ArcaneDancerTradition.schema.json +49 -0
  119. package/schema/Aspect.schema.json +50 -0
  120. package/schema/Attribute.schema.json +57 -0
  121. package/schema/CombatTechnique_Close.schema.json +127 -0
  122. package/schema/CombatTechnique_Ranged.schema.json +83 -0
  123. package/schema/Condition.schema.json +84 -0
  124. package/schema/Culture.schema.json +858 -0
  125. package/schema/DerivedCharacteristic.schema.json +90 -0
  126. package/schema/Element.schema.json +45 -0
  127. package/schema/ExperienceLevel.schema.json +84 -0
  128. package/schema/EyeColor.schema.json +45 -0
  129. package/schema/HairColor.schema.json +45 -0
  130. package/schema/Lessons_Curriculum.schema.json +500 -0
  131. package/schema/Lessons_Guideline.schema.json +51 -0
  132. package/schema/Locale.schema.json +45 -0
  133. package/schema/MetaCondition.schema.json +85 -0
  134. package/schema/Property.schema.json +49 -0
  135. package/schema/Race.schema.json +724 -0
  136. package/schema/Region.schema.json +45 -0
  137. package/schema/Service.schema.json +58 -0
  138. package/schema/SexPractice.schema.json +72 -0
  139. package/schema/Skill.schema.json +278 -0
  140. package/schema/SkillGroup.schema.json +56 -0
  141. package/schema/SkillModificationIncrement.schema.json +98 -0
  142. package/schema/SocialStatus.schema.json +45 -0
  143. package/schema/State.schema.json +58 -0
  144. package/schema/TargetCategory.schema.json +51 -0
  145. package/schema/_ActivatableSkill.schema.json +1534 -0
  146. package/schema/_CommonnessRatedAdvantageDisadvantage.schema.json +22 -0
  147. package/schema/_ImprovementCost.schema.json +15 -0
  148. package/schema/_Prerequisite.schema.json +519 -0
  149. package/schema/_Sex.schema.json +36 -0
  150. package/schema/_SkillCheck.schema.json +94 -0
  151. package/schema/magicalActions/AnimistPower.schema.json +411 -0
  152. package/schema/magicalActions/AnimistPower_Tribe.schema.json +45 -0
  153. package/schema/magicalActions/Curse.schema.json +378 -0
  154. package/schema/magicalActions/DominationRitual.schema.json +288 -0
  155. package/schema/magicalActions/ElvenMagicalSong.schema.json +194 -0
  156. package/schema/magicalActions/GeodeRitual.schema.json +303 -0
  157. package/schema/magicalActions/JesterTrick.schema.json +292 -0
  158. package/schema/magicalActions/MagicalDance.schema.json +328 -0
  159. package/schema/magicalActions/MagicalMelody.schema.json +254 -0
  160. package/schema/magicalActions/MagicalRune.schema.json +426 -0
  161. package/schema/magicalActions/ZibiljaRitual.schema.json +159 -0
  162. package/schema/magicalActions/_MusicTradition.schema.json +44 -0
  163. package/schema/magicalActions/_SkillReference.schema.json +26 -0
  164. package/schema/rule/FocusRule.schema.json +71 -0
  165. package/schema/rule/FocusRule_Subject.schema.json +46 -0
  166. package/schema/rule/OptionalRule.schema.json +96 -0
  167. package/schema/source/Publication.schema.json +165 -0
  168. package/schema/source/_Erratum.schema.json +37 -0
  169. package/schema/source/_PublicationRef.schema.json +242 -0
@@ -0,0 +1,45 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "Region.schema.json",
4
+ "$ref": "#/definitions/Region",
5
+ "definitions": {
6
+ "Region": {
7
+ "title": "Region",
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
+ "translations": {
16
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
17
+ "type": "object",
18
+ "patternProperties": {
19
+ "^[a-z]{2}-[A-Z]{2}$": {
20
+ "type": "object",
21
+ "properties": {
22
+ "name": {
23
+ "description": "The region name.",
24
+ "type": "string",
25
+ "minLength": 1
26
+ }
27
+ },
28
+ "required": [
29
+ "name"
30
+ ],
31
+ "additionalProperties": false
32
+ }
33
+ },
34
+ "minProperties": 1,
35
+ "additionalProperties": false
36
+ }
37
+ },
38
+ "required": [
39
+ "id",
40
+ "translations"
41
+ ],
42
+ "additionalProperties": false
43
+ }
44
+ }
45
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "Service.schema.json",
4
+ "$ref": "#/definitions/Service",
5
+ "definitions": {
6
+ "Service": {
7
+ "title": "Service of Summoned Creatures",
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "description": "The service's identifier. An unique, increasing integer.",
12
+ "type": "integer",
13
+ "minimum": 1
14
+ },
15
+ "src": {
16
+ "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
17
+ },
18
+ "translations": {
19
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
20
+ "type": "object",
21
+ "patternProperties": {
22
+ "^[a-z]{2}-[A-Z]{2}$": {
23
+ "type": "object",
24
+ "properties": {
25
+ "name": {
26
+ "description": "The name of the service.",
27
+ "type": "string",
28
+ "minLength": 1
29
+ },
30
+ "description": {
31
+ "description": "The description of the service.",
32
+ "type": "string",
33
+ "minLength": 1
34
+ },
35
+ "errata": {
36
+ "$ref": "./source/_Erratum.schema.json#/definitions/Errata"
37
+ }
38
+ },
39
+ "required": [
40
+ "name",
41
+ "description"
42
+ ],
43
+ "additionalProperties": false
44
+ }
45
+ },
46
+ "minProperties": 1,
47
+ "additionalProperties": false
48
+ }
49
+ },
50
+ "required": [
51
+ "id",
52
+ "src",
53
+ "translations"
54
+ ],
55
+ "additionalProperties": false
56
+ }
57
+ }
58
+ }
@@ -0,0 +1,72 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "SexPractice.schema.json",
4
+ "$ref": "#/definitions/SexPractice",
5
+ "definitions": {
6
+ "SexPractice": {
7
+ "title": "Sex Practice",
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "description": "The sex practice's identifier. An unique, increasing integer.",
12
+ "type": "integer",
13
+ "minimum": 1
14
+ },
15
+ "src": {
16
+ "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
17
+ },
18
+ "translations": {
19
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
20
+ "type": "object",
21
+ "patternProperties": {
22
+ "^[a-z]{2}-[A-Z]{2}$": {
23
+ "type": "object",
24
+ "properties": {
25
+ "name": {
26
+ "description": "The sex practice's name.",
27
+ "type": "string",
28
+ "minLength": 1
29
+ },
30
+ "rules": {
31
+ "description": "The rules of the sex practice.",
32
+ "type": "string",
33
+ "minLength": 1
34
+ },
35
+ "duration": {
36
+ "description": "How long a round of this sex practice takes.",
37
+ "type": "string",
38
+ "minLength": 1
39
+ },
40
+ "prerequisites": {
41
+ "description": "Prerequisites of participants and environment. Do not specify if the\nsex practice has no prerequisites.",
42
+ "type": "string",
43
+ "minLength": 1
44
+ },
45
+ "failed": {
46
+ "description": "Effects of a failed *Seduction* check.",
47
+ "type": "string",
48
+ "minLength": 1
49
+ }
50
+ },
51
+ "required": [
52
+ "name",
53
+ "rules",
54
+ "duration",
55
+ "failed"
56
+ ],
57
+ "additionalProperties": false
58
+ }
59
+ },
60
+ "minProperties": 1,
61
+ "additionalProperties": false
62
+ }
63
+ },
64
+ "required": [
65
+ "id",
66
+ "src",
67
+ "translations"
68
+ ],
69
+ "additionalProperties": false
70
+ }
71
+ }
72
+ }
@@ -0,0 +1,278 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "Skill.schema.json",
4
+ "$ref": "#/definitions/Skill",
5
+ "definitions": {
6
+ "Skill": {
7
+ "title": "Skill",
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "description": "The skill'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
+ "applications": {
20
+ "description": "Lists applications for the skill, if any. This does not necessarily include\nall possible applications. There may also be new applications that could be\npurchased via certain advantages or special abilities.",
21
+ "$ref": "#/definitions/Applications"
22
+ },
23
+ "encumbrance": {
24
+ "description": "Indicates whether encumbrance gives a penalty for checks with the skill.",
25
+ "$ref": "#/definitions/Encumbrance"
26
+ },
27
+ "improvement_cost": {
28
+ "description": "States which column is used to improve the skill.",
29
+ "$ref": "./_ImprovementCost.schema.json#/definitions/ImprovementCost"
30
+ },
31
+ "group_id": {
32
+ "description": "The identifier of the skill group this skill belongs to.",
33
+ "type": "number"
34
+ },
35
+ "src": {
36
+ "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
37
+ },
38
+ "translations": {
39
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
40
+ "type": "object",
41
+ "patternProperties": {
42
+ "^[a-z]{2}-[A-Z]{2}$": {
43
+ "type": "object",
44
+ "properties": {
45
+ "name": {
46
+ "description": "The name of the skill.",
47
+ "type": "string",
48
+ "minLength": 1
49
+ },
50
+ "applications_input_label": {
51
+ "description": "If there are options available that can not be put into a selection\nlist (like different cults), provide the label text for the input\nelement here. Otherwise leave empty.",
52
+ "type": "string",
53
+ "minLength": 1
54
+ },
55
+ "encumbrance_description": {
56
+ "description": "The text listing the certain circumstances in which the encumbrance may\ncount. This text must be used if `encumbrance` is set to `\"Maybe\"`,\notherwise it is ignored if defined.",
57
+ "type": "string",
58
+ "minLength": 1
59
+ },
60
+ "tools": {
61
+ "description": "Mentions any tools from the equipment list that are necessary to employ\nthe skill.",
62
+ "type": "string",
63
+ "minLength": 1
64
+ },
65
+ "quality": {
66
+ "description": "Gives examples of the effects that various QL might provide.",
67
+ "type": "string",
68
+ "minLength": 1
69
+ },
70
+ "failed": {
71
+ "description": "Lists examples of results for a failed check.",
72
+ "type": "string",
73
+ "minLength": 1
74
+ },
75
+ "critical": {
76
+ "description": "Lists examples of results for a critical success.",
77
+ "type": "string",
78
+ "minLength": 1
79
+ },
80
+ "botch": {
81
+ "description": "Lists examples of results for botches.",
82
+ "type": "string",
83
+ "minLength": 1
84
+ },
85
+ "errata": {
86
+ "$ref": "./source/_Erratum.schema.json#/definitions/Errata"
87
+ }
88
+ },
89
+ "required": [
90
+ "name",
91
+ "quality",
92
+ "failed",
93
+ "critical",
94
+ "botch"
95
+ ],
96
+ "additionalProperties": false
97
+ }
98
+ },
99
+ "minProperties": 1,
100
+ "additionalProperties": false
101
+ }
102
+ },
103
+ "required": [
104
+ "id",
105
+ "check",
106
+ "applications",
107
+ "encumbrance",
108
+ "improvement_cost",
109
+ "group_id",
110
+ "src",
111
+ "translations"
112
+ ],
113
+ "additionalProperties": false
114
+ },
115
+ "ApplicationCategory": {
116
+ "description": "A category. All available entries from the specified category will be\nincluded as separate applications.",
117
+ "oneOf": [
118
+ {
119
+ "type": "object",
120
+ "properties": {
121
+ "tag": {
122
+ "const": "BlessedTraditions"
123
+ }
124
+ },
125
+ "required": [
126
+ "tag"
127
+ ],
128
+ "additionalProperties": false
129
+ },
130
+ {
131
+ "type": "object",
132
+ "properties": {
133
+ "tag": {
134
+ "const": "Diseases"
135
+ }
136
+ },
137
+ "required": [
138
+ "tag"
139
+ ],
140
+ "additionalProperties": false
141
+ },
142
+ {
143
+ "type": "object",
144
+ "properties": {
145
+ "tag": {
146
+ "const": "Regions"
147
+ }
148
+ },
149
+ "required": [
150
+ "tag"
151
+ ],
152
+ "additionalProperties": false
153
+ }
154
+ ]
155
+ },
156
+ "Applications": {
157
+ "description": "The skill's applications.",
158
+ "oneOf": [
159
+ {
160
+ "type": "object",
161
+ "properties": {
162
+ "tag": {
163
+ "const": "Derived"
164
+ },
165
+ "category": {
166
+ "description": "A category. All available entries from the specified category will be\nincluded as separate applications.",
167
+ "$ref": "#/definitions/ApplicationCategory"
168
+ }
169
+ },
170
+ "required": [
171
+ "tag",
172
+ "category"
173
+ ],
174
+ "additionalProperties": false
175
+ },
176
+ {
177
+ "type": "object",
178
+ "properties": {
179
+ "tag": {
180
+ "const": "Explicit"
181
+ },
182
+ "list": {
183
+ "description": "A list of explicit applications.",
184
+ "type": "array",
185
+ "items": {
186
+ "$ref": "#/definitions/Application"
187
+ }
188
+ }
189
+ },
190
+ "required": [
191
+ "tag",
192
+ "list"
193
+ ],
194
+ "additionalProperties": false
195
+ }
196
+ ]
197
+ },
198
+ "Application": {
199
+ "description": "An explicit skill application.",
200
+ "type": "object",
201
+ "properties": {
202
+ "id": {
203
+ "description": "The skill application's identifier. An unique, increasing integer.",
204
+ "type": "integer",
205
+ "minimum": 1
206
+ },
207
+ "translations": {
208
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
209
+ "type": "object",
210
+ "patternProperties": {
211
+ "^[a-z]{2}-[A-Z]{2}$": {
212
+ "type": "object",
213
+ "properties": {
214
+ "name": {
215
+ "description": "The skill application's name.",
216
+ "type": "string",
217
+ "minLength": 1
218
+ }
219
+ },
220
+ "required": [
221
+ "name"
222
+ ],
223
+ "additionalProperties": false
224
+ }
225
+ },
226
+ "minProperties": 1,
227
+ "additionalProperties": false
228
+ }
229
+ },
230
+ "required": [
231
+ "id",
232
+ "translations"
233
+ ],
234
+ "additionalProperties": false
235
+ },
236
+ "Encumbrance": {
237
+ "description": "Indicates whether encumbrance gives a penalty for checks with the skill.",
238
+ "oneOf": [
239
+ {
240
+ "type": "object",
241
+ "properties": {
242
+ "tag": {
243
+ "const": "True"
244
+ }
245
+ },
246
+ "required": [
247
+ "tag"
248
+ ],
249
+ "additionalProperties": false
250
+ },
251
+ {
252
+ "type": "object",
253
+ "properties": {
254
+ "tag": {
255
+ "const": "False"
256
+ }
257
+ },
258
+ "required": [
259
+ "tag"
260
+ ],
261
+ "additionalProperties": false
262
+ },
263
+ {
264
+ "type": "object",
265
+ "properties": {
266
+ "tag": {
267
+ "const": "Maybe"
268
+ }
269
+ },
270
+ "required": [
271
+ "tag"
272
+ ],
273
+ "additionalProperties": false
274
+ }
275
+ ]
276
+ }
277
+ }
278
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "SkillGroup.schema.json",
4
+ "$ref": "#/definitions/SkillGroup",
5
+ "definitions": {
6
+ "SkillGroup": {
7
+ "title": "Skill Group",
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "description": "The skill group's identifier. An unique, increasing integer.",
12
+ "type": "integer",
13
+ "minimum": 1
14
+ },
15
+ "check": {
16
+ "description": "The skill group check's attributes.",
17
+ "$ref": "./_SkillCheck.schema.json#/definitions/SkillCheck"
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 skill group's name.",
28
+ "type": "string",
29
+ "minLength": 1
30
+ },
31
+ "full_name": {
32
+ "description": "The skill group's full name.",
33
+ "type": "string",
34
+ "minLength": 1
35
+ }
36
+ },
37
+ "required": [
38
+ "name",
39
+ "full_name"
40
+ ],
41
+ "additionalProperties": false
42
+ }
43
+ },
44
+ "minProperties": 1,
45
+ "additionalProperties": false
46
+ }
47
+ },
48
+ "required": [
49
+ "id",
50
+ "check",
51
+ "translations"
52
+ ],
53
+ "additionalProperties": false
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,98 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "SkillModificationIncrement.schema.json",
4
+ "$ref": "#/definitions/SkillModificationIncrement",
5
+ "definitions": {
6
+ "SkillModificationIncrement": {
7
+ "title": "Skill Modification Increment",
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "description": "The skill modification increment's identifier. It also represents the\nincrement level.",
12
+ "type": "integer",
13
+ "maximum": 6,
14
+ "minimum": 1
15
+ },
16
+ "fast": {
17
+ "description": "Configuration for this level for fast skills (spells, liturgical chants).",
18
+ "$ref": "#/definitions/LevelTypeConfig"
19
+ },
20
+ "slow": {
21
+ "description": "Configuration for this level for slow skills (rituals, ceremonies).",
22
+ "$ref": "#/definitions/LevelTypeConfig"
23
+ },
24
+ "translations": {
25
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
26
+ "type": "object",
27
+ "patternProperties": {
28
+ "^[a-z]{2}-[A-Z]{2}$": {
29
+ "type": "object",
30
+ "properties": {
31
+ "fast": {
32
+ "description": "Configuration for this level for fast skills (spells, liturgical chants).\nValues set here override the default generated text.",
33
+ "$ref": "#/definitions/LevelTypeConfigTranslation"
34
+ },
35
+ "slow": {
36
+ "description": "Configuration for this level for slow skills (rituals, ceremonies). Values\nset here override the default generated text.",
37
+ "$ref": "#/definitions/LevelTypeConfigTranslation"
38
+ }
39
+ },
40
+ "required": [],
41
+ "minProperties": 1,
42
+ "additionalProperties": false
43
+ }
44
+ },
45
+ "minProperties": 1,
46
+ "additionalProperties": false
47
+ }
48
+ },
49
+ "required": [
50
+ "id",
51
+ "fast",
52
+ "slow"
53
+ ],
54
+ "additionalProperties": false
55
+ },
56
+ "LevelTypeConfig": {
57
+ "description": "Configuration of a type for a level.",
58
+ "type": "object",
59
+ "properties": {
60
+ "casting_time": {
61
+ "description": "Casting time in actions.",
62
+ "type": "integer",
63
+ "minimum": 1
64
+ },
65
+ "range": {
66
+ "description": "Range in meters.",
67
+ "type": "integer",
68
+ "minimum": 1
69
+ },
70
+ "cost": {
71
+ "description": "Cost in AE/KP.",
72
+ "type": "integer",
73
+ "minimum": 1
74
+ }
75
+ },
76
+ "required": [
77
+ "casting_time",
78
+ "range",
79
+ "cost"
80
+ ],
81
+ "additionalProperties": false
82
+ },
83
+ "LevelTypeConfigTranslation": {
84
+ "description": "Configuration translation of a type for a level. Values set here override the\ndefault generated text.",
85
+ "type": "object",
86
+ "properties": {
87
+ "range": {
88
+ "type": "string",
89
+ "minLength": 1
90
+ }
91
+ },
92
+ "required": [
93
+ "range"
94
+ ],
95
+ "additionalProperties": false
96
+ }
97
+ }
98
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "SocialStatus.schema.json",
4
+ "$ref": "#/definitions/SocialStatus",
5
+ "definitions": {
6
+ "SocialStatus": {
7
+ "title": "Social Status",
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "description": "The social status' identifier. An unique, increasing integer.",
12
+ "type": "integer",
13
+ "minimum": 1
14
+ },
15
+ "translations": {
16
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
17
+ "type": "object",
18
+ "patternProperties": {
19
+ "^[a-z]{2}-[A-Z]{2}$": {
20
+ "type": "object",
21
+ "properties": {
22
+ "name": {
23
+ "description": "The social status name.",
24
+ "type": "string",
25
+ "minLength": 1
26
+ }
27
+ },
28
+ "required": [
29
+ "name"
30
+ ],
31
+ "additionalProperties": false
32
+ }
33
+ },
34
+ "minProperties": 1,
35
+ "additionalProperties": false
36
+ }
37
+ },
38
+ "required": [
39
+ "id",
40
+ "translations"
41
+ ],
42
+ "additionalProperties": false
43
+ }
44
+ }
45
+ }