optolith-database-schema 0.4.0 → 0.5.0

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 (119) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/lib/config.d.ts +2 -0
  3. package/lib/config.js +2 -0
  4. package/lib/main.d.ts +1 -1
  5. package/lib/main.js +28 -19
  6. package/lib/types/Cantrip.d.ts +2 -3
  7. package/lib/types/Culture.d.ts +8 -11
  8. package/lib/types/Lessons_Curriculum.d.ts +5 -4
  9. package/lib/types/Lessons_Guideline.d.ts +1 -1
  10. package/lib/types/Patron.d.ts +28 -4
  11. package/lib/types/Profession.d.ts +7 -6
  12. package/lib/types/Race.d.ts +12 -14
  13. package/lib/types/TargetCategory.d.ts +2 -3
  14. package/lib/types/_Activatable.d.ts +22 -26
  15. package/lib/types/_ActivatableSelectOptionCategory.d.ts +1 -1
  16. package/lib/types/_ActivatableSkillCost.d.ts +28 -1
  17. package/lib/types/_ActivatableSkillDuration.d.ts +1 -1
  18. package/lib/types/_ActivatableSkillRange.d.ts +3 -0
  19. package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +2 -4
  20. package/lib/types/_DiseasePoison.d.ts +3 -3
  21. package/lib/types/_Identifier.d.ts +1175 -247
  22. package/lib/types/_Identifier.js +0 -228
  23. package/lib/types/_IdentifierGroup.d.ts +27 -0
  24. package/lib/types/_IdentifierGroup.js +1 -0
  25. package/lib/types/_Prerequisite.d.ts +38 -36
  26. package/lib/types/_ResponsiveText.d.ts +1 -1
  27. package/lib/types/_SimpleReferences.d.ts +50 -253
  28. package/lib/types/equipment/EquipmentPackage.d.ts +1 -1
  29. package/lib/types/equipment/item/Elixir.d.ts +75 -0
  30. package/lib/types/equipment/item/Elixir.js +5 -0
  31. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +1 -1
  32. package/lib/types/equipment/item/Poison.d.ts +220 -47
  33. package/lib/types/equipment/item/Poison.js +10 -0
  34. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +6 -2
  35. package/lib/types/equipment/item/_Herbary.d.ts +31 -0
  36. package/lib/types/equipment/item/_Herbary.js +22 -0
  37. package/lib/types/equipment/item/_MeleeWeapon.d.ts +2 -9
  38. package/lib/types/equipment/item/_RangedWeapon.d.ts +2 -3
  39. package/lib/types/magicalActions/AnimistPower.d.ts +0 -1
  40. package/lib/types/magicalActions/MagicalRune.d.ts +22 -3
  41. package/lib/types/magicalActions/_SkillReference.d.ts +3 -2
  42. package/lib/types/magicalActions/_SkillReference.js +5 -5
  43. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +2 -20
  44. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +1 -62
  45. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +2 -3
  46. package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +5 -2
  47. package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +1 -1
  48. package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +2 -3
  49. package/lib/types/prerequisites/single/RacePrerequisite.d.ts +5 -2
  50. package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +1 -18
  51. package/lib/types/prerequisites/single/RulePrerequisite.d.ts +1 -1
  52. package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +2 -4
  53. package/lib/types/prerequisites/single/StatePrerequisite.d.ts +2 -2
  54. package/lib/types/rule/CoreRule.d.ts +4 -7
  55. package/lib/types/source/_PublicationRef.d.ts +2 -3
  56. package/lib/types/specialAbility/BlessedTradition.d.ts +1 -1
  57. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +1 -1
  58. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +2 -1
  59. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +2 -1
  60. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +2 -1
  61. package/lib/types/specialAbility/MagicalTradition.d.ts +2 -3
  62. package/lib/types/specialAbility/PactGift.d.ts +1 -1
  63. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +2 -1
  64. package/lib/types/specialAbility/sub/_LanguageScript.d.ts +2 -4
  65. package/lib/validation/schema.js +1 -1
  66. package/package.json +2 -2
  67. package/schema/Cantrip.schema.json +1 -2
  68. package/schema/Culture.schema.json +51 -10
  69. package/schema/Lessons_Curriculum.schema.json +8 -12
  70. package/schema/Lessons_Guideline.schema.json +1 -1
  71. package/schema/Patron.schema.json +24 -6
  72. package/schema/Profession.schema.json +57 -15
  73. package/schema/Race.schema.json +121 -13
  74. package/schema/TargetCategory.schema.json +1 -2
  75. package/schema/_Activatable.schema.json +7 -183
  76. package/schema/_ActivatableSelectOptionCategory.schema.json +4 -4
  77. package/schema/_ActivatableSkillCost.schema.json +61 -0
  78. package/schema/_ActivatableSkillDuration.schema.json +1 -3
  79. package/schema/_ActivatableSkillRange.schema.json +19 -0
  80. package/schema/_DiseasePoison.schema.json +0 -2
  81. package/schema/_Identifier.schema.json +2099 -347
  82. package/schema/_IdentifierGroup.schema.json +601 -0
  83. package/schema/_Prerequisite.schema.json +1298 -1072
  84. package/schema/_ResponsiveText.schema.json +2 -2
  85. package/schema/_SimpleReferences.schema.json +54 -130
  86. package/schema/equipment/EquipmentPackage.schema.json +1 -1
  87. package/schema/equipment/item/Elixir.schema.json +123 -0
  88. package/schema/equipment/item/EquipmentOfBlessedOnes.schema.json +4 -1
  89. package/schema/equipment/item/Poison.schema.json +431 -68
  90. package/schema/equipment/item/ToolOfTheTrade.schema.json +15 -4
  91. package/schema/equipment/item/_Herbary.schema.json +42 -0
  92. package/schema/equipment/item/_MeleeWeapon.schema.json +1 -13
  93. package/schema/equipment/item/_RangedWeapon.schema.json +1 -2
  94. package/schema/magicalActions/AnimistPower.schema.json +0 -1
  95. package/schema/magicalActions/MagicalRune.schema.json +38 -3
  96. package/schema/magicalActions/_SkillReference.schema.json +15 -3
  97. package/schema/prerequisites/PrerequisiteGroups.schema.json +0 -96
  98. package/schema/prerequisites/single/ActivatablePrerequisite.schema.json +2 -87
  99. package/schema/prerequisites/single/AnimistPowerPrerequisite.schema.json +1 -2
  100. package/schema/prerequisites/single/CulturePrerequisite.schema.json +2 -1
  101. package/schema/prerequisites/single/EnhancementPrerequisite.schema.json +1 -1
  102. package/schema/prerequisites/single/InfluencePrerequisite.schema.json +1 -2
  103. package/schema/prerequisites/single/RacePrerequisite.schema.json +2 -1
  104. package/schema/prerequisites/single/RatedPrerequisite.schema.json +1 -28
  105. package/schema/prerequisites/single/RulePrerequisite.schema.json +1 -1
  106. package/schema/prerequisites/single/SocialStatusPrerequisite.schema.json +1 -3
  107. package/schema/prerequisites/single/StatePrerequisite.schema.json +1 -1
  108. package/schema/rule/CoreRule.schema.json +3 -5
  109. package/schema/source/_PublicationRef.schema.json +1 -2
  110. package/schema/specialAbility/BlessedTradition.schema.json +2 -2
  111. package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +0 -1
  112. package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +511 -1
  113. package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +511 -1
  114. package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +511 -1
  115. package/schema/specialAbility/MagicalTradition.schema.json +1 -2
  116. package/schema/specialAbility/PactGift.schema.json +1 -1
  117. package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +511 -1
  118. package/schema/specialAbility/sub/_LanguageScript.schema.json +1 -3
  119. package/schema/_CommonnessRatedAdvantageDisadvantage.schema.json +0 -22
@@ -3,1245 +3,1471 @@
3
3
  "$id": "/_Prerequisite.schema.json",
4
4
  "$defs": {
5
5
  "DerivedCharacteristicPrerequisites": {
6
- "oneOf": [
7
- {
8
- "type": "object",
9
- "properties": {
10
- "tag": {
11
- "const": "Plain"
6
+ "type": "array",
7
+ "items": {
8
+ "oneOf": [
9
+ {
10
+ "type": "object",
11
+ "properties": {
12
+ "tag": {
13
+ "const": "Single"
14
+ },
15
+ "single": {
16
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/DerivedCharacteristicPrerequisiteGroup"
17
+ }
18
+ },
19
+ "required": [
20
+ "tag",
21
+ "single"
22
+ ],
23
+ "additionalProperties": false
24
+ },
25
+ {
26
+ "type": "object",
27
+ "properties": {
28
+ "tag": {
29
+ "const": "Disjunction"
30
+ },
31
+ "disjunction": {
32
+ "type": "object",
33
+ "properties": {
34
+ "list": {
35
+ "type": "array",
36
+ "items": {
37
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/DerivedCharacteristicPrerequisiteGroup"
38
+ },
39
+ "minItems": 2
40
+ }
41
+ },
42
+ "required": [
43
+ "list"
44
+ ],
45
+ "additionalProperties": false
46
+ }
12
47
  },
13
- "plain": {
14
- "type": "array",
15
- "items": {
16
- "oneOf": [
17
- {
18
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/DerivedCharacteristicPrerequisiteGroup"
48
+ "required": [
49
+ "tag",
50
+ "disjunction"
51
+ ],
52
+ "additionalProperties": false
53
+ },
54
+ {
55
+ "type": "object",
56
+ "properties": {
57
+ "tag": {
58
+ "const": "Group"
59
+ },
60
+ "group": {
61
+ "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
62
+ "type": "object",
63
+ "properties": {
64
+ "list": {
65
+ "type": "array",
66
+ "items": {
67
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/DerivedCharacteristicPrerequisiteGroup"
68
+ },
69
+ "minItems": 2
19
70
  },
20
- {
71
+ "translations": {
72
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
21
73
  "type": "object",
22
- "properties": {
23
- "tag": {
24
- "const": "Group"
25
- },
26
- "group": {
27
- "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
28
- "type": "object",
29
- "properties": {
30
- "list": {
31
- "type": "array",
32
- "items": {
33
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/DerivedCharacteristicPrerequisiteGroup"
34
- },
35
- "minItems": 2
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
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
43
- }
44
- },
45
- "minProperties": 1,
46
- "additionalProperties": false
47
- }
48
- },
49
- "required": [
50
- "list",
51
- "translations"
52
- ],
53
- "additionalProperties": false
74
+ "patternProperties": {
75
+ "^[a-z]{2}-[A-Z]{2}$": {
76
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
54
77
  }
55
78
  },
56
- "required": [
57
- "tag",
58
- "group"
59
- ],
79
+ "minProperties": 1,
60
80
  "additionalProperties": false
61
81
  }
62
- ]
63
- },
64
- "minItems": 1
65
- }
66
- },
67
- "required": [
68
- "tag",
69
- "plain"
70
- ],
71
- "additionalProperties": false
72
- }
73
- ]
82
+ },
83
+ "required": [
84
+ "list",
85
+ "translations"
86
+ ],
87
+ "additionalProperties": false
88
+ }
89
+ },
90
+ "required": [
91
+ "tag",
92
+ "group"
93
+ ],
94
+ "additionalProperties": false
95
+ }
96
+ ]
97
+ },
98
+ "minItems": 1
74
99
  },
75
100
  "PublicationPrerequisites": {
76
- "oneOf": [
77
- {
78
- "type": "object",
79
- "properties": {
80
- "tag": {
81
- "const": "Plain"
101
+ "type": "array",
102
+ "items": {
103
+ "oneOf": [
104
+ {
105
+ "type": "object",
106
+ "properties": {
107
+ "tag": {
108
+ "const": "Single"
109
+ },
110
+ "single": {
111
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/PublicationPrerequisiteGroup"
112
+ }
113
+ },
114
+ "required": [
115
+ "tag",
116
+ "single"
117
+ ],
118
+ "additionalProperties": false
119
+ },
120
+ {
121
+ "type": "object",
122
+ "properties": {
123
+ "tag": {
124
+ "const": "Disjunction"
125
+ },
126
+ "disjunction": {
127
+ "type": "object",
128
+ "properties": {
129
+ "list": {
130
+ "type": "array",
131
+ "items": {
132
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/PublicationPrerequisiteGroup"
133
+ },
134
+ "minItems": 2
135
+ }
136
+ },
137
+ "required": [
138
+ "list"
139
+ ],
140
+ "additionalProperties": false
141
+ }
82
142
  },
83
- "plain": {
84
- "type": "array",
85
- "items": {
86
- "oneOf": [
87
- {
88
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/PublicationPrerequisiteGroup"
143
+ "required": [
144
+ "tag",
145
+ "disjunction"
146
+ ],
147
+ "additionalProperties": false
148
+ },
149
+ {
150
+ "type": "object",
151
+ "properties": {
152
+ "tag": {
153
+ "const": "Group"
154
+ },
155
+ "group": {
156
+ "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
157
+ "type": "object",
158
+ "properties": {
159
+ "list": {
160
+ "type": "array",
161
+ "items": {
162
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/PublicationPrerequisiteGroup"
163
+ },
164
+ "minItems": 2
89
165
  },
90
- {
166
+ "translations": {
167
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
91
168
  "type": "object",
92
- "properties": {
93
- "tag": {
94
- "const": "Group"
95
- },
96
- "group": {
97
- "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
98
- "type": "object",
99
- "properties": {
100
- "list": {
101
- "type": "array",
102
- "items": {
103
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/PublicationPrerequisiteGroup"
104
- },
105
- "minItems": 2
106
- },
107
- "translations": {
108
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
109
- "type": "object",
110
- "patternProperties": {
111
- "^[a-z]{2}-[A-Z]{2}$": {
112
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
113
- }
114
- },
115
- "minProperties": 1,
116
- "additionalProperties": false
117
- }
118
- },
119
- "required": [
120
- "list",
121
- "translations"
122
- ],
123
- "additionalProperties": false
169
+ "patternProperties": {
170
+ "^[a-z]{2}-[A-Z]{2}$": {
171
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
124
172
  }
125
173
  },
126
- "required": [
127
- "tag",
128
- "group"
129
- ],
174
+ "minProperties": 1,
130
175
  "additionalProperties": false
131
176
  }
132
- ]
177
+ },
178
+ "required": [
179
+ "list",
180
+ "translations"
181
+ ],
182
+ "additionalProperties": false
183
+ }
184
+ },
185
+ "required": [
186
+ "tag",
187
+ "group"
188
+ ],
189
+ "additionalProperties": false
190
+ }
191
+ ]
192
+ },
193
+ "minItems": 1
194
+ },
195
+ "PlainGeneralPrerequisites": {
196
+ "type": "array",
197
+ "items": {
198
+ "oneOf": [
199
+ {
200
+ "type": "object",
201
+ "properties": {
202
+ "tag": {
203
+ "const": "Single"
133
204
  },
134
- "minItems": 1
135
- }
205
+ "single": {
206
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeneralPrerequisiteGroup"
207
+ }
208
+ },
209
+ "required": [
210
+ "tag",
211
+ "single"
212
+ ],
213
+ "additionalProperties": false
136
214
  },
137
- "required": [
138
- "tag",
139
- "plain"
140
- ],
141
- "additionalProperties": false
142
- }
143
- ]
144
- },
145
- "GeneralPrerequisites": {
146
- "oneOf": [
147
- {
148
- "type": "object",
149
- "properties": {
150
- "tag": {
151
- "const": "Plain"
215
+ {
216
+ "type": "object",
217
+ "properties": {
218
+ "tag": {
219
+ "const": "Disjunction"
220
+ },
221
+ "disjunction": {
222
+ "type": "object",
223
+ "properties": {
224
+ "list": {
225
+ "type": "array",
226
+ "items": {
227
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeneralPrerequisiteGroup"
228
+ },
229
+ "minItems": 2
230
+ }
231
+ },
232
+ "required": [
233
+ "list"
234
+ ],
235
+ "additionalProperties": false
236
+ }
152
237
  },
153
- "plain": {
154
- "type": "array",
155
- "items": {
156
- "oneOf": [
157
- {
158
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeneralPrerequisiteGroup"
238
+ "required": [
239
+ "tag",
240
+ "disjunction"
241
+ ],
242
+ "additionalProperties": false
243
+ },
244
+ {
245
+ "type": "object",
246
+ "properties": {
247
+ "tag": {
248
+ "const": "Group"
249
+ },
250
+ "group": {
251
+ "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
252
+ "type": "object",
253
+ "properties": {
254
+ "list": {
255
+ "type": "array",
256
+ "items": {
257
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeneralPrerequisiteGroup"
258
+ },
259
+ "minItems": 2
159
260
  },
160
- {
261
+ "translations": {
262
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
161
263
  "type": "object",
162
- "properties": {
163
- "tag": {
164
- "const": "Group"
165
- },
166
- "group": {
167
- "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
168
- "type": "object",
169
- "properties": {
170
- "list": {
171
- "type": "array",
172
- "items": {
173
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeneralPrerequisiteGroup"
174
- },
175
- "minItems": 2
176
- },
177
- "translations": {
178
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
179
- "type": "object",
180
- "patternProperties": {
181
- "^[a-z]{2}-[A-Z]{2}$": {
182
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
183
- }
184
- },
185
- "minProperties": 1,
186
- "additionalProperties": false
187
- }
188
- },
189
- "required": [
190
- "list",
191
- "translations"
192
- ],
193
- "additionalProperties": false
264
+ "patternProperties": {
265
+ "^[a-z]{2}-[A-Z]{2}$": {
266
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
194
267
  }
195
268
  },
196
- "required": [
197
- "tag",
198
- "group"
199
- ],
269
+ "minProperties": 1,
200
270
  "additionalProperties": false
201
271
  }
202
- ]
203
- },
204
- "minItems": 1
205
- }
206
- },
207
- "required": [
208
- "tag",
209
- "plain"
210
- ],
211
- "additionalProperties": false
212
- },
213
- {
214
- "type": "object",
215
- "properties": {
216
- "tag": {
217
- "const": "ByLevel"
218
- },
219
- "by_level": {
220
- "type": "array",
221
- "items": {
222
- "type": "array",
223
- "items": {
224
- "type": "object",
225
- "properties": {
226
- "level": {
227
- "type": "integer",
228
- "minimum": 1
229
- },
230
- "prerequisites": {
231
- "type": "array",
232
- "items": {
233
- "oneOf": [
234
- {
235
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeneralPrerequisiteGroup"
236
- },
237
- {
238
- "type": "object",
239
- "properties": {
240
- "tag": {
241
- "const": "Group"
242
- },
243
- "group": {
244
- "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
245
- "type": "object",
246
- "properties": {
247
- "list": {
248
- "type": "array",
249
- "items": {
250
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeneralPrerequisiteGroup"
251
- },
252
- "minItems": 2
253
- },
254
- "translations": {
255
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
256
- "type": "object",
257
- "patternProperties": {
258
- "^[a-z]{2}-[A-Z]{2}$": {
259
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
260
- }
261
- },
262
- "minProperties": 1,
263
- "additionalProperties": false
264
- }
265
- },
266
- "required": [
267
- "list",
268
- "translations"
269
- ],
270
- "additionalProperties": false
271
- }
272
- },
273
- "required": [
274
- "tag",
275
- "group"
276
- ],
277
- "additionalProperties": false
278
- }
279
- ]
280
- },
281
- "minItems": 1
282
- }
283
- },
284
- "required": [
285
- "level",
286
- "prerequisites"
287
- ],
288
- "additionalProperties": false
289
272
  },
290
- "minItems": 1
273
+ "required": [
274
+ "list",
275
+ "translations"
276
+ ],
277
+ "additionalProperties": false
291
278
  }
292
- }
293
- },
294
- "required": [
295
- "tag",
296
- "by_level"
297
- ],
298
- "additionalProperties": false
299
- }
300
- ]
301
- },
302
- "ProfessionPrerequisites": {
303
- "oneOf": [
304
- {
305
- "type": "object",
306
- "properties": {
307
- "tag": {
308
- "const": "Plain"
309
279
  },
310
- "plain": {
311
- "type": "array",
312
- "items": {
313
- "oneOf": [
314
- {
315
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/ProfessionPrerequisiteGroup"
280
+ "required": [
281
+ "tag",
282
+ "group"
283
+ ],
284
+ "additionalProperties": false
285
+ }
286
+ ]
287
+ },
288
+ "minItems": 1
289
+ },
290
+ "GeneralPrerequisites": {
291
+ "type": "array",
292
+ "items": {
293
+ "type": "object",
294
+ "properties": {
295
+ "level": {
296
+ "type": "integer",
297
+ "minimum": 1
298
+ },
299
+ "prerequisite": {
300
+ "oneOf": [
301
+ {
302
+ "type": "object",
303
+ "properties": {
304
+ "tag": {
305
+ "const": "Single"
316
306
  },
317
- {
307
+ "single": {
308
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeneralPrerequisiteGroup"
309
+ }
310
+ },
311
+ "required": [
312
+ "tag",
313
+ "single"
314
+ ],
315
+ "additionalProperties": false
316
+ },
317
+ {
318
+ "type": "object",
319
+ "properties": {
320
+ "tag": {
321
+ "const": "Disjunction"
322
+ },
323
+ "disjunction": {
318
324
  "type": "object",
319
325
  "properties": {
320
- "tag": {
321
- "const": "Group"
322
- },
323
- "group": {
324
- "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
325
- "type": "object",
326
- "properties": {
327
- "list": {
328
- "type": "array",
329
- "items": {
330
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/ProfessionPrerequisiteGroup"
331
- },
332
- "minItems": 2
333
- },
334
- "translations": {
335
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
336
- "type": "object",
337
- "patternProperties": {
338
- "^[a-z]{2}-[A-Z]{2}$": {
339
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
340
- }
341
- },
342
- "minProperties": 1,
343
- "additionalProperties": false
344
- }
326
+ "list": {
327
+ "type": "array",
328
+ "items": {
329
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeneralPrerequisiteGroup"
345
330
  },
346
- "required": [
347
- "list",
348
- "translations"
349
- ],
350
- "additionalProperties": false
331
+ "minItems": 2
351
332
  }
352
333
  },
353
334
  "required": [
354
- "tag",
355
- "group"
335
+ "list"
356
336
  ],
357
337
  "additionalProperties": false
358
338
  }
359
- ]
339
+ },
340
+ "required": [
341
+ "tag",
342
+ "disjunction"
343
+ ],
344
+ "additionalProperties": false
360
345
  },
361
- "minItems": 1
362
- }
363
- },
364
- "required": [
365
- "tag",
366
- "plain"
367
- ],
368
- "additionalProperties": false
369
- }
370
- ]
371
- },
372
- "AdvantageDisadvantagePrerequisites": {
373
- "oneOf": [
374
- {
375
- "type": "object",
376
- "properties": {
377
- "tag": {
378
- "const": "Plain"
379
- },
380
- "plain": {
381
- "type": "array",
382
- "items": {
383
- "oneOf": [
384
- {
385
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AdvantageDisadvantagePrerequisiteGroup"
346
+ {
347
+ "type": "object",
348
+ "properties": {
349
+ "tag": {
350
+ "const": "Group"
386
351
  },
387
- {
352
+ "group": {
353
+ "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
388
354
  "type": "object",
389
355
  "properties": {
390
- "tag": {
391
- "const": "Group"
356
+ "list": {
357
+ "type": "array",
358
+ "items": {
359
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeneralPrerequisiteGroup"
360
+ },
361
+ "minItems": 2
392
362
  },
393
- "group": {
394
- "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
363
+ "translations": {
364
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
395
365
  "type": "object",
396
- "properties": {
397
- "list": {
398
- "type": "array",
399
- "items": {
400
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AdvantageDisadvantagePrerequisiteGroup"
401
- },
402
- "minItems": 2
403
- },
404
- "translations": {
405
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
406
- "type": "object",
407
- "patternProperties": {
408
- "^[a-z]{2}-[A-Z]{2}$": {
409
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
410
- }
411
- },
412
- "minProperties": 1,
413
- "additionalProperties": false
366
+ "patternProperties": {
367
+ "^[a-z]{2}-[A-Z]{2}$": {
368
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
414
369
  }
415
370
  },
416
- "required": [
417
- "list",
418
- "translations"
419
- ],
371
+ "minProperties": 1,
420
372
  "additionalProperties": false
421
373
  }
422
374
  },
423
375
  "required": [
424
- "tag",
425
- "group"
376
+ "list",
377
+ "translations"
426
378
  ],
427
379
  "additionalProperties": false
428
380
  }
429
- ]
381
+ },
382
+ "required": [
383
+ "tag",
384
+ "group"
385
+ ],
386
+ "additionalProperties": false
387
+ }
388
+ ]
389
+ }
390
+ },
391
+ "required": [
392
+ "level",
393
+ "prerequisite"
394
+ ],
395
+ "additionalProperties": false
396
+ },
397
+ "minItems": 1
398
+ },
399
+ "ProfessionPrerequisites": {
400
+ "type": "array",
401
+ "items": {
402
+ "oneOf": [
403
+ {
404
+ "type": "object",
405
+ "properties": {
406
+ "tag": {
407
+ "const": "Single"
430
408
  },
431
- "minItems": 1
432
- }
409
+ "single": {
410
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/ProfessionPrerequisiteGroup"
411
+ }
412
+ },
413
+ "required": [
414
+ "tag",
415
+ "single"
416
+ ],
417
+ "additionalProperties": false
433
418
  },
434
- "required": [
435
- "tag",
436
- "plain"
437
- ],
438
- "additionalProperties": false
439
- },
440
- {
441
- "type": "object",
442
- "properties": {
443
- "tag": {
444
- "const": "ByLevel"
419
+ {
420
+ "type": "object",
421
+ "properties": {
422
+ "tag": {
423
+ "const": "Disjunction"
424
+ },
425
+ "disjunction": {
426
+ "type": "object",
427
+ "properties": {
428
+ "list": {
429
+ "type": "array",
430
+ "items": {
431
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/ProfessionPrerequisiteGroup"
432
+ },
433
+ "minItems": 2
434
+ }
435
+ },
436
+ "required": [
437
+ "list"
438
+ ],
439
+ "additionalProperties": false
440
+ }
445
441
  },
446
- "by_level": {
447
- "type": "array",
448
- "items": {
449
- "type": "array",
450
- "items": {
451
- "type": "object",
452
- "properties": {
453
- "level": {
454
- "type": "integer",
455
- "minimum": 1
442
+ "required": [
443
+ "tag",
444
+ "disjunction"
445
+ ],
446
+ "additionalProperties": false
447
+ },
448
+ {
449
+ "type": "object",
450
+ "properties": {
451
+ "tag": {
452
+ "const": "Group"
453
+ },
454
+ "group": {
455
+ "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
456
+ "type": "object",
457
+ "properties": {
458
+ "list": {
459
+ "type": "array",
460
+ "items": {
461
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/ProfessionPrerequisiteGroup"
456
462
  },
457
- "prerequisites": {
458
- "type": "array",
459
- "items": {
460
- "oneOf": [
461
- {
462
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AdvantageDisadvantagePrerequisiteGroup"
463
- },
464
- {
465
- "type": "object",
466
- "properties": {
467
- "tag": {
468
- "const": "Group"
469
- },
470
- "group": {
471
- "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
472
- "type": "object",
473
- "properties": {
474
- "list": {
475
- "type": "array",
476
- "items": {
477
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AdvantageDisadvantagePrerequisiteGroup"
478
- },
479
- "minItems": 2
480
- },
481
- "translations": {
482
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
483
- "type": "object",
484
- "patternProperties": {
485
- "^[a-z]{2}-[A-Z]{2}$": {
486
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
487
- }
488
- },
489
- "minProperties": 1,
490
- "additionalProperties": false
491
- }
492
- },
493
- "required": [
494
- "list",
495
- "translations"
496
- ],
497
- "additionalProperties": false
498
- }
499
- },
500
- "required": [
501
- "tag",
502
- "group"
503
- ],
504
- "additionalProperties": false
505
- }
506
- ]
507
- },
508
- "minItems": 1
509
- }
463
+ "minItems": 2
510
464
  },
511
- "required": [
512
- "level",
513
- "prerequisites"
514
- ],
515
- "additionalProperties": false
465
+ "translations": {
466
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
467
+ "type": "object",
468
+ "patternProperties": {
469
+ "^[a-z]{2}-[A-Z]{2}$": {
470
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
471
+ }
472
+ },
473
+ "minProperties": 1,
474
+ "additionalProperties": false
475
+ }
516
476
  },
517
- "minItems": 1
477
+ "required": [
478
+ "list",
479
+ "translations"
480
+ ],
481
+ "additionalProperties": false
518
482
  }
519
- }
520
- },
521
- "required": [
522
- "tag",
523
- "by_level"
524
- ],
525
- "additionalProperties": false
526
- }
527
- ]
528
- },
529
- "ArcaneTraditionPrerequisites": {
530
- "oneOf": [
531
- {
532
- "type": "object",
533
- "properties": {
534
- "tag": {
535
- "const": "Plain"
536
483
  },
537
- "plain": {
538
- "type": "array",
539
- "items": {
540
- "oneOf": [
541
- {
542
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/ArcaneTraditionPrerequisiteGroup"
484
+ "required": [
485
+ "tag",
486
+ "group"
487
+ ],
488
+ "additionalProperties": false
489
+ }
490
+ ]
491
+ },
492
+ "minItems": 1
493
+ },
494
+ "AdvantageDisadvantagePrerequisites": {
495
+ "type": "array",
496
+ "items": {
497
+ "type": "object",
498
+ "properties": {
499
+ "level": {
500
+ "type": "integer",
501
+ "minimum": 1
502
+ },
503
+ "prerequisite": {
504
+ "oneOf": [
505
+ {
506
+ "type": "object",
507
+ "properties": {
508
+ "tag": {
509
+ "const": "Single"
543
510
  },
544
- {
511
+ "single": {
512
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AdvantageDisadvantagePrerequisiteGroup"
513
+ }
514
+ },
515
+ "required": [
516
+ "tag",
517
+ "single"
518
+ ],
519
+ "additionalProperties": false
520
+ },
521
+ {
522
+ "type": "object",
523
+ "properties": {
524
+ "tag": {
525
+ "const": "Disjunction"
526
+ },
527
+ "disjunction": {
545
528
  "type": "object",
546
529
  "properties": {
547
- "tag": {
548
- "const": "Group"
549
- },
550
- "group": {
551
- "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
552
- "type": "object",
553
- "properties": {
554
- "list": {
555
- "type": "array",
556
- "items": {
557
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/ArcaneTraditionPrerequisiteGroup"
558
- },
559
- "minItems": 2
560
- },
561
- "translations": {
562
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
563
- "type": "object",
564
- "patternProperties": {
565
- "^[a-z]{2}-[A-Z]{2}$": {
566
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
567
- }
568
- },
569
- "minProperties": 1,
570
- "additionalProperties": false
571
- }
530
+ "list": {
531
+ "type": "array",
532
+ "items": {
533
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AdvantageDisadvantagePrerequisiteGroup"
572
534
  },
573
- "required": [
574
- "list",
575
- "translations"
576
- ],
577
- "additionalProperties": false
535
+ "minItems": 2
578
536
  }
579
537
  },
580
538
  "required": [
581
- "tag",
582
- "group"
539
+ "list"
583
540
  ],
584
541
  "additionalProperties": false
585
542
  }
586
- ]
543
+ },
544
+ "required": [
545
+ "tag",
546
+ "disjunction"
547
+ ],
548
+ "additionalProperties": false
587
549
  },
588
- "minItems": 1
589
- }
590
- },
591
- "required": [
592
- "tag",
593
- "plain"
594
- ],
595
- "additionalProperties": false
596
- }
597
- ]
598
- },
599
- "PersonalityTraitPrerequisites": {
600
- "oneOf": [
601
- {
602
- "type": "object",
603
- "properties": {
604
- "tag": {
605
- "const": "Plain"
606
- },
607
- "plain": {
608
- "type": "array",
609
- "items": {
610
- "oneOf": [
611
- {
612
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/PersonalityTraitPrerequisiteGroup"
550
+ {
551
+ "type": "object",
552
+ "properties": {
553
+ "tag": {
554
+ "const": "Group"
613
555
  },
614
- {
556
+ "group": {
557
+ "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
615
558
  "type": "object",
616
559
  "properties": {
617
- "tag": {
618
- "const": "Group"
560
+ "list": {
561
+ "type": "array",
562
+ "items": {
563
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AdvantageDisadvantagePrerequisiteGroup"
564
+ },
565
+ "minItems": 2
619
566
  },
620
- "group": {
621
- "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
567
+ "translations": {
568
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
622
569
  "type": "object",
623
- "properties": {
624
- "list": {
625
- "type": "array",
626
- "items": {
627
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/PersonalityTraitPrerequisiteGroup"
628
- },
629
- "minItems": 2
630
- },
631
- "translations": {
632
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
633
- "type": "object",
634
- "patternProperties": {
635
- "^[a-z]{2}-[A-Z]{2}$": {
636
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
637
- }
638
- },
639
- "minProperties": 1,
640
- "additionalProperties": false
570
+ "patternProperties": {
571
+ "^[a-z]{2}-[A-Z]{2}$": {
572
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
641
573
  }
642
574
  },
643
- "required": [
644
- "list",
645
- "translations"
646
- ],
575
+ "minProperties": 1,
647
576
  "additionalProperties": false
648
577
  }
649
578
  },
650
579
  "required": [
651
- "tag",
652
- "group"
580
+ "list",
581
+ "translations"
653
582
  ],
654
583
  "additionalProperties": false
655
584
  }
656
- ]
585
+ },
586
+ "required": [
587
+ "tag",
588
+ "group"
589
+ ],
590
+ "additionalProperties": false
591
+ }
592
+ ]
593
+ }
594
+ },
595
+ "required": [
596
+ "level",
597
+ "prerequisite"
598
+ ],
599
+ "additionalProperties": false
600
+ },
601
+ "minItems": 1
602
+ },
603
+ "ArcaneTraditionPrerequisites": {
604
+ "type": "array",
605
+ "items": {
606
+ "oneOf": [
607
+ {
608
+ "type": "object",
609
+ "properties": {
610
+ "tag": {
611
+ "const": "Single"
657
612
  },
658
- "minItems": 1
659
- }
613
+ "single": {
614
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/ArcaneTraditionPrerequisiteGroup"
615
+ }
616
+ },
617
+ "required": [
618
+ "tag",
619
+ "single"
620
+ ],
621
+ "additionalProperties": false
660
622
  },
661
- "required": [
662
- "tag",
663
- "plain"
664
- ],
665
- "additionalProperties": false
666
- }
667
- ]
668
- },
669
- "SpellworkPrerequisites": {
670
- "oneOf": [
671
- {
672
- "type": "object",
673
- "properties": {
674
- "tag": {
675
- "const": "Plain"
623
+ {
624
+ "type": "object",
625
+ "properties": {
626
+ "tag": {
627
+ "const": "Disjunction"
628
+ },
629
+ "disjunction": {
630
+ "type": "object",
631
+ "properties": {
632
+ "list": {
633
+ "type": "array",
634
+ "items": {
635
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/ArcaneTraditionPrerequisiteGroup"
636
+ },
637
+ "minItems": 2
638
+ }
639
+ },
640
+ "required": [
641
+ "list"
642
+ ],
643
+ "additionalProperties": false
644
+ }
676
645
  },
677
- "plain": {
678
- "type": "array",
679
- "items": {
680
- "oneOf": [
681
- {
682
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/SpellworkPrerequisiteGroup"
646
+ "required": [
647
+ "tag",
648
+ "disjunction"
649
+ ],
650
+ "additionalProperties": false
651
+ },
652
+ {
653
+ "type": "object",
654
+ "properties": {
655
+ "tag": {
656
+ "const": "Group"
657
+ },
658
+ "group": {
659
+ "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
660
+ "type": "object",
661
+ "properties": {
662
+ "list": {
663
+ "type": "array",
664
+ "items": {
665
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/ArcaneTraditionPrerequisiteGroup"
666
+ },
667
+ "minItems": 2
683
668
  },
684
- {
669
+ "translations": {
670
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
685
671
  "type": "object",
686
- "properties": {
687
- "tag": {
688
- "const": "Group"
689
- },
690
- "group": {
691
- "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
692
- "type": "object",
693
- "properties": {
694
- "list": {
695
- "type": "array",
696
- "items": {
697
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/SpellworkPrerequisiteGroup"
698
- },
699
- "minItems": 2
700
- },
701
- "translations": {
702
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
703
- "type": "object",
704
- "patternProperties": {
705
- "^[a-z]{2}-[A-Z]{2}$": {
706
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
707
- }
708
- },
709
- "minProperties": 1,
710
- "additionalProperties": false
711
- }
712
- },
713
- "required": [
714
- "list",
715
- "translations"
716
- ],
717
- "additionalProperties": false
672
+ "patternProperties": {
673
+ "^[a-z]{2}-[A-Z]{2}$": {
674
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
718
675
  }
719
676
  },
720
- "required": [
721
- "tag",
722
- "group"
723
- ],
677
+ "minProperties": 1,
724
678
  "additionalProperties": false
725
679
  }
726
- ]
680
+ },
681
+ "required": [
682
+ "list",
683
+ "translations"
684
+ ],
685
+ "additionalProperties": false
686
+ }
687
+ },
688
+ "required": [
689
+ "tag",
690
+ "group"
691
+ ],
692
+ "additionalProperties": false
693
+ }
694
+ ]
695
+ },
696
+ "minItems": 1
697
+ },
698
+ "PersonalityTraitPrerequisites": {
699
+ "type": "array",
700
+ "items": {
701
+ "oneOf": [
702
+ {
703
+ "type": "object",
704
+ "properties": {
705
+ "tag": {
706
+ "const": "Single"
727
707
  },
728
- "minItems": 1
729
- }
708
+ "single": {
709
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/PersonalityTraitPrerequisiteGroup"
710
+ }
711
+ },
712
+ "required": [
713
+ "tag",
714
+ "single"
715
+ ],
716
+ "additionalProperties": false
730
717
  },
731
- "required": [
732
- "tag",
733
- "plain"
734
- ],
735
- "additionalProperties": false
736
- }
737
- ]
738
- },
739
- "LiturgyPrerequisites": {
740
- "oneOf": [
741
- {
742
- "type": "object",
743
- "properties": {
744
- "tag": {
745
- "const": "Plain"
718
+ {
719
+ "type": "object",
720
+ "properties": {
721
+ "tag": {
722
+ "const": "Disjunction"
723
+ },
724
+ "disjunction": {
725
+ "type": "object",
726
+ "properties": {
727
+ "list": {
728
+ "type": "array",
729
+ "items": {
730
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/PersonalityTraitPrerequisiteGroup"
731
+ },
732
+ "minItems": 2
733
+ }
734
+ },
735
+ "required": [
736
+ "list"
737
+ ],
738
+ "additionalProperties": false
739
+ }
746
740
  },
747
- "plain": {
748
- "type": "array",
749
- "items": {
750
- "oneOf": [
751
- {
752
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LiturgyPrerequisiteGroup"
741
+ "required": [
742
+ "tag",
743
+ "disjunction"
744
+ ],
745
+ "additionalProperties": false
746
+ },
747
+ {
748
+ "type": "object",
749
+ "properties": {
750
+ "tag": {
751
+ "const": "Group"
752
+ },
753
+ "group": {
754
+ "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
755
+ "type": "object",
756
+ "properties": {
757
+ "list": {
758
+ "type": "array",
759
+ "items": {
760
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/PersonalityTraitPrerequisiteGroup"
761
+ },
762
+ "minItems": 2
753
763
  },
754
- {
764
+ "translations": {
765
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
755
766
  "type": "object",
756
- "properties": {
757
- "tag": {
758
- "const": "Group"
759
- },
760
- "group": {
761
- "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
762
- "type": "object",
763
- "properties": {
764
- "list": {
765
- "type": "array",
766
- "items": {
767
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LiturgyPrerequisiteGroup"
768
- },
769
- "minItems": 2
770
- },
771
- "translations": {
772
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
773
- "type": "object",
774
- "patternProperties": {
775
- "^[a-z]{2}-[A-Z]{2}$": {
776
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
777
- }
778
- },
779
- "minProperties": 1,
780
- "additionalProperties": false
781
- }
782
- },
783
- "required": [
784
- "list",
785
- "translations"
786
- ],
787
- "additionalProperties": false
767
+ "patternProperties": {
768
+ "^[a-z]{2}-[A-Z]{2}$": {
769
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
788
770
  }
789
771
  },
790
- "required": [
791
- "tag",
792
- "group"
793
- ],
772
+ "minProperties": 1,
794
773
  "additionalProperties": false
795
774
  }
796
- ]
775
+ },
776
+ "required": [
777
+ "list",
778
+ "translations"
779
+ ],
780
+ "additionalProperties": false
781
+ }
782
+ },
783
+ "required": [
784
+ "tag",
785
+ "group"
786
+ ],
787
+ "additionalProperties": false
788
+ }
789
+ ]
790
+ },
791
+ "minItems": 1
792
+ },
793
+ "SpellworkPrerequisites": {
794
+ "type": "array",
795
+ "items": {
796
+ "oneOf": [
797
+ {
798
+ "type": "object",
799
+ "properties": {
800
+ "tag": {
801
+ "const": "Single"
797
802
  },
798
- "minItems": 1
799
- }
803
+ "single": {
804
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/SpellworkPrerequisiteGroup"
805
+ }
806
+ },
807
+ "required": [
808
+ "tag",
809
+ "single"
810
+ ],
811
+ "additionalProperties": false
800
812
  },
801
- "required": [
802
- "tag",
803
- "plain"
804
- ],
805
- "additionalProperties": false
806
- }
807
- ]
808
- },
809
- "InfluencePrerequisites": {
810
- "oneOf": [
811
- {
812
- "type": "object",
813
- "properties": {
814
- "tag": {
815
- "const": "Plain"
813
+ {
814
+ "type": "object",
815
+ "properties": {
816
+ "tag": {
817
+ "const": "Disjunction"
818
+ },
819
+ "disjunction": {
820
+ "type": "object",
821
+ "properties": {
822
+ "list": {
823
+ "type": "array",
824
+ "items": {
825
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/SpellworkPrerequisiteGroup"
826
+ },
827
+ "minItems": 2
828
+ }
829
+ },
830
+ "required": [
831
+ "list"
832
+ ],
833
+ "additionalProperties": false
834
+ }
816
835
  },
817
- "plain": {
818
- "type": "array",
819
- "items": {
820
- "oneOf": [
821
- {
822
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/InfluencePrerequisiteGroup"
836
+ "required": [
837
+ "tag",
838
+ "disjunction"
839
+ ],
840
+ "additionalProperties": false
841
+ },
842
+ {
843
+ "type": "object",
844
+ "properties": {
845
+ "tag": {
846
+ "const": "Group"
847
+ },
848
+ "group": {
849
+ "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
850
+ "type": "object",
851
+ "properties": {
852
+ "list": {
853
+ "type": "array",
854
+ "items": {
855
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/SpellworkPrerequisiteGroup"
856
+ },
857
+ "minItems": 2
823
858
  },
824
- {
859
+ "translations": {
860
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
825
861
  "type": "object",
826
- "properties": {
827
- "tag": {
828
- "const": "Group"
829
- },
830
- "group": {
831
- "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
832
- "type": "object",
833
- "properties": {
834
- "list": {
835
- "type": "array",
836
- "items": {
837
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/InfluencePrerequisiteGroup"
838
- },
839
- "minItems": 2
840
- },
841
- "translations": {
842
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
843
- "type": "object",
844
- "patternProperties": {
845
- "^[a-z]{2}-[A-Z]{2}$": {
846
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
847
- }
848
- },
849
- "minProperties": 1,
850
- "additionalProperties": false
851
- }
852
- },
853
- "required": [
854
- "list",
855
- "translations"
856
- ],
857
- "additionalProperties": false
862
+ "patternProperties": {
863
+ "^[a-z]{2}-[A-Z]{2}$": {
864
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
858
865
  }
859
866
  },
860
- "required": [
861
- "tag",
862
- "group"
863
- ],
867
+ "minProperties": 1,
864
868
  "additionalProperties": false
865
869
  }
866
- ]
870
+ },
871
+ "required": [
872
+ "list",
873
+ "translations"
874
+ ],
875
+ "additionalProperties": false
876
+ }
877
+ },
878
+ "required": [
879
+ "tag",
880
+ "group"
881
+ ],
882
+ "additionalProperties": false
883
+ }
884
+ ]
885
+ },
886
+ "minItems": 1
887
+ },
888
+ "LiturgyPrerequisites": {
889
+ "type": "array",
890
+ "items": {
891
+ "oneOf": [
892
+ {
893
+ "type": "object",
894
+ "properties": {
895
+ "tag": {
896
+ "const": "Single"
867
897
  },
868
- "minItems": 1
869
- }
898
+ "single": {
899
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LiturgyPrerequisiteGroup"
900
+ }
901
+ },
902
+ "required": [
903
+ "tag",
904
+ "single"
905
+ ],
906
+ "additionalProperties": false
870
907
  },
871
- "required": [
872
- "tag",
873
- "plain"
874
- ],
875
- "additionalProperties": false
876
- }
877
- ]
878
- },
879
- "LanguagePrerequisites": {
880
- "oneOf": [
881
- {
882
- "type": "object",
883
- "properties": {
884
- "tag": {
885
- "const": "Plain"
908
+ {
909
+ "type": "object",
910
+ "properties": {
911
+ "tag": {
912
+ "const": "Disjunction"
913
+ },
914
+ "disjunction": {
915
+ "type": "object",
916
+ "properties": {
917
+ "list": {
918
+ "type": "array",
919
+ "items": {
920
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LiturgyPrerequisiteGroup"
921
+ },
922
+ "minItems": 2
923
+ }
924
+ },
925
+ "required": [
926
+ "list"
927
+ ],
928
+ "additionalProperties": false
929
+ }
886
930
  },
887
- "plain": {
888
- "type": "array",
889
- "items": {
890
- "oneOf": [
891
- {
892
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LanguagePrerequisiteGroup"
931
+ "required": [
932
+ "tag",
933
+ "disjunction"
934
+ ],
935
+ "additionalProperties": false
936
+ },
937
+ {
938
+ "type": "object",
939
+ "properties": {
940
+ "tag": {
941
+ "const": "Group"
942
+ },
943
+ "group": {
944
+ "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
945
+ "type": "object",
946
+ "properties": {
947
+ "list": {
948
+ "type": "array",
949
+ "items": {
950
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LiturgyPrerequisiteGroup"
951
+ },
952
+ "minItems": 2
893
953
  },
894
- {
954
+ "translations": {
955
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
895
956
  "type": "object",
896
- "properties": {
897
- "tag": {
898
- "const": "Group"
899
- },
900
- "group": {
901
- "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
902
- "type": "object",
903
- "properties": {
904
- "list": {
905
- "type": "array",
906
- "items": {
907
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LanguagePrerequisiteGroup"
908
- },
909
- "minItems": 2
910
- },
911
- "translations": {
912
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
913
- "type": "object",
914
- "patternProperties": {
915
- "^[a-z]{2}-[A-Z]{2}$": {
916
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
917
- }
918
- },
919
- "minProperties": 1,
920
- "additionalProperties": false
921
- }
922
- },
923
- "required": [
924
- "list",
925
- "translations"
926
- ],
927
- "additionalProperties": false
957
+ "patternProperties": {
958
+ "^[a-z]{2}-[A-Z]{2}$": {
959
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
928
960
  }
929
961
  },
930
- "required": [
931
- "tag",
932
- "group"
933
- ],
962
+ "minProperties": 1,
934
963
  "additionalProperties": false
935
964
  }
936
- ]
965
+ },
966
+ "required": [
967
+ "list",
968
+ "translations"
969
+ ],
970
+ "additionalProperties": false
971
+ }
972
+ },
973
+ "required": [
974
+ "tag",
975
+ "group"
976
+ ],
977
+ "additionalProperties": false
978
+ }
979
+ ]
980
+ },
981
+ "minItems": 1
982
+ },
983
+ "InfluencePrerequisites": {
984
+ "type": "array",
985
+ "items": {
986
+ "oneOf": [
987
+ {
988
+ "type": "object",
989
+ "properties": {
990
+ "tag": {
991
+ "const": "Single"
937
992
  },
938
- "minItems": 1
939
- }
993
+ "single": {
994
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/InfluencePrerequisiteGroup"
995
+ }
996
+ },
997
+ "required": [
998
+ "tag",
999
+ "single"
1000
+ ],
1001
+ "additionalProperties": false
940
1002
  },
941
- "required": [
942
- "tag",
943
- "plain"
944
- ],
945
- "additionalProperties": false
946
- },
947
- {
948
- "type": "object",
949
- "properties": {
950
- "tag": {
951
- "const": "ByLevel"
1003
+ {
1004
+ "type": "object",
1005
+ "properties": {
1006
+ "tag": {
1007
+ "const": "Disjunction"
1008
+ },
1009
+ "disjunction": {
1010
+ "type": "object",
1011
+ "properties": {
1012
+ "list": {
1013
+ "type": "array",
1014
+ "items": {
1015
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/InfluencePrerequisiteGroup"
1016
+ },
1017
+ "minItems": 2
1018
+ }
1019
+ },
1020
+ "required": [
1021
+ "list"
1022
+ ],
1023
+ "additionalProperties": false
1024
+ }
952
1025
  },
953
- "by_level": {
954
- "type": "array",
955
- "items": {
956
- "type": "array",
957
- "items": {
958
- "type": "object",
959
- "properties": {
960
- "level": {
961
- "type": "integer",
962
- "minimum": 1
1026
+ "required": [
1027
+ "tag",
1028
+ "disjunction"
1029
+ ],
1030
+ "additionalProperties": false
1031
+ },
1032
+ {
1033
+ "type": "object",
1034
+ "properties": {
1035
+ "tag": {
1036
+ "const": "Group"
1037
+ },
1038
+ "group": {
1039
+ "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
1040
+ "type": "object",
1041
+ "properties": {
1042
+ "list": {
1043
+ "type": "array",
1044
+ "items": {
1045
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/InfluencePrerequisiteGroup"
963
1046
  },
964
- "prerequisites": {
965
- "type": "array",
966
- "items": {
967
- "oneOf": [
968
- {
969
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LanguagePrerequisiteGroup"
970
- },
971
- {
972
- "type": "object",
973
- "properties": {
974
- "tag": {
975
- "const": "Group"
976
- },
977
- "group": {
978
- "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
979
- "type": "object",
980
- "properties": {
981
- "list": {
982
- "type": "array",
983
- "items": {
984
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LanguagePrerequisiteGroup"
985
- },
986
- "minItems": 2
987
- },
988
- "translations": {
989
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
990
- "type": "object",
991
- "patternProperties": {
992
- "^[a-z]{2}-[A-Z]{2}$": {
993
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
994
- }
995
- },
996
- "minProperties": 1,
997
- "additionalProperties": false
998
- }
999
- },
1000
- "required": [
1001
- "list",
1002
- "translations"
1003
- ],
1004
- "additionalProperties": false
1005
- }
1006
- },
1007
- "required": [
1008
- "tag",
1009
- "group"
1010
- ],
1011
- "additionalProperties": false
1012
- }
1013
- ]
1014
- },
1015
- "minItems": 1
1016
- }
1047
+ "minItems": 2
1017
1048
  },
1018
- "required": [
1019
- "level",
1020
- "prerequisites"
1021
- ],
1022
- "additionalProperties": false
1049
+ "translations": {
1050
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1051
+ "type": "object",
1052
+ "patternProperties": {
1053
+ "^[a-z]{2}-[A-Z]{2}$": {
1054
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
1055
+ }
1056
+ },
1057
+ "minProperties": 1,
1058
+ "additionalProperties": false
1059
+ }
1023
1060
  },
1024
- "minItems": 1
1061
+ "required": [
1062
+ "list",
1063
+ "translations"
1064
+ ],
1065
+ "additionalProperties": false
1025
1066
  }
1026
- }
1027
- },
1028
- "required": [
1029
- "tag",
1030
- "by_level"
1031
- ],
1032
- "additionalProperties": false
1033
- }
1034
- ]
1035
- },
1036
- "AnimistPowerPrerequisites": {
1037
- "oneOf": [
1038
- {
1039
- "type": "object",
1040
- "properties": {
1041
- "tag": {
1042
- "const": "Plain"
1043
1067
  },
1044
- "plain": {
1045
- "type": "array",
1046
- "items": {
1047
- "oneOf": [
1048
- {
1049
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AnimistPowerPrerequisiteGroup"
1068
+ "required": [
1069
+ "tag",
1070
+ "group"
1071
+ ],
1072
+ "additionalProperties": false
1073
+ }
1074
+ ]
1075
+ },
1076
+ "minItems": 1
1077
+ },
1078
+ "LanguagePrerequisites": {
1079
+ "type": "array",
1080
+ "items": {
1081
+ "type": "object",
1082
+ "properties": {
1083
+ "level": {
1084
+ "type": "integer",
1085
+ "minimum": 1
1086
+ },
1087
+ "prerequisite": {
1088
+ "oneOf": [
1089
+ {
1090
+ "type": "object",
1091
+ "properties": {
1092
+ "tag": {
1093
+ "const": "Single"
1094
+ },
1095
+ "single": {
1096
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LanguagePrerequisiteGroup"
1097
+ }
1098
+ },
1099
+ "required": [
1100
+ "tag",
1101
+ "single"
1102
+ ],
1103
+ "additionalProperties": false
1104
+ },
1105
+ {
1106
+ "type": "object",
1107
+ "properties": {
1108
+ "tag": {
1109
+ "const": "Disjunction"
1050
1110
  },
1051
- {
1111
+ "disjunction": {
1052
1112
  "type": "object",
1053
1113
  "properties": {
1054
- "tag": {
1055
- "const": "Group"
1056
- },
1057
- "group": {
1058
- "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
1059
- "type": "object",
1060
- "properties": {
1061
- "list": {
1062
- "type": "array",
1063
- "items": {
1064
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AnimistPowerPrerequisiteGroup"
1065
- },
1066
- "minItems": 2
1067
- },
1068
- "translations": {
1069
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1070
- "type": "object",
1071
- "patternProperties": {
1072
- "^[a-z]{2}-[A-Z]{2}$": {
1073
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
1074
- }
1075
- },
1076
- "minProperties": 1,
1077
- "additionalProperties": false
1078
- }
1114
+ "list": {
1115
+ "type": "array",
1116
+ "items": {
1117
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LanguagePrerequisiteGroup"
1079
1118
  },
1080
- "required": [
1081
- "list",
1082
- "translations"
1083
- ],
1084
- "additionalProperties": false
1119
+ "minItems": 2
1085
1120
  }
1086
1121
  },
1087
1122
  "required": [
1088
- "tag",
1089
- "group"
1123
+ "list"
1090
1124
  ],
1091
1125
  "additionalProperties": false
1092
1126
  }
1093
- ]
1127
+ },
1128
+ "required": [
1129
+ "tag",
1130
+ "disjunction"
1131
+ ],
1132
+ "additionalProperties": false
1094
1133
  },
1095
- "minItems": 1
1096
- }
1097
- },
1098
- "required": [
1099
- "tag",
1100
- "plain"
1101
- ],
1102
- "additionalProperties": false
1103
- }
1104
- ]
1105
- },
1106
- "GeodeRitualPrerequisites": {
1107
- "oneOf": [
1108
- {
1109
- "type": "object",
1110
- "properties": {
1111
- "tag": {
1112
- "const": "Plain"
1113
- },
1114
- "plain": {
1115
- "type": "array",
1116
- "items": {
1117
- "oneOf": [
1118
- {
1119
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeodeRitualPrerequisiteGroup"
1134
+ {
1135
+ "type": "object",
1136
+ "properties": {
1137
+ "tag": {
1138
+ "const": "Group"
1120
1139
  },
1121
- {
1140
+ "group": {
1141
+ "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
1122
1142
  "type": "object",
1123
1143
  "properties": {
1124
- "tag": {
1125
- "const": "Group"
1144
+ "list": {
1145
+ "type": "array",
1146
+ "items": {
1147
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LanguagePrerequisiteGroup"
1148
+ },
1149
+ "minItems": 2
1126
1150
  },
1127
- "group": {
1128
- "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
1151
+ "translations": {
1152
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1129
1153
  "type": "object",
1130
- "properties": {
1131
- "list": {
1132
- "type": "array",
1133
- "items": {
1134
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeodeRitualPrerequisiteGroup"
1135
- },
1136
- "minItems": 2
1137
- },
1138
- "translations": {
1139
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1140
- "type": "object",
1141
- "patternProperties": {
1142
- "^[a-z]{2}-[A-Z]{2}$": {
1143
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
1144
- }
1145
- },
1146
- "minProperties": 1,
1147
- "additionalProperties": false
1154
+ "patternProperties": {
1155
+ "^[a-z]{2}-[A-Z]{2}$": {
1156
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
1148
1157
  }
1149
1158
  },
1150
- "required": [
1151
- "list",
1152
- "translations"
1153
- ],
1159
+ "minProperties": 1,
1154
1160
  "additionalProperties": false
1155
1161
  }
1156
1162
  },
1157
1163
  "required": [
1158
- "tag",
1159
- "group"
1164
+ "list",
1165
+ "translations"
1160
1166
  ],
1161
1167
  "additionalProperties": false
1162
1168
  }
1163
- ]
1169
+ },
1170
+ "required": [
1171
+ "tag",
1172
+ "group"
1173
+ ],
1174
+ "additionalProperties": false
1175
+ }
1176
+ ]
1177
+ }
1178
+ },
1179
+ "required": [
1180
+ "level",
1181
+ "prerequisite"
1182
+ ],
1183
+ "additionalProperties": false
1184
+ },
1185
+ "minItems": 1
1186
+ },
1187
+ "AnimistPowerPrerequisites": {
1188
+ "type": "array",
1189
+ "items": {
1190
+ "oneOf": [
1191
+ {
1192
+ "type": "object",
1193
+ "properties": {
1194
+ "tag": {
1195
+ "const": "Single"
1164
1196
  },
1165
- "minItems": 1
1166
- }
1197
+ "single": {
1198
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AnimistPowerPrerequisiteGroup"
1199
+ }
1200
+ },
1201
+ "required": [
1202
+ "tag",
1203
+ "single"
1204
+ ],
1205
+ "additionalProperties": false
1167
1206
  },
1168
- "required": [
1169
- "tag",
1170
- "plain"
1171
- ],
1172
- "additionalProperties": false
1173
- }
1174
- ]
1207
+ {
1208
+ "type": "object",
1209
+ "properties": {
1210
+ "tag": {
1211
+ "const": "Disjunction"
1212
+ },
1213
+ "disjunction": {
1214
+ "type": "object",
1215
+ "properties": {
1216
+ "list": {
1217
+ "type": "array",
1218
+ "items": {
1219
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AnimistPowerPrerequisiteGroup"
1220
+ },
1221
+ "minItems": 2
1222
+ }
1223
+ },
1224
+ "required": [
1225
+ "list"
1226
+ ],
1227
+ "additionalProperties": false
1228
+ }
1229
+ },
1230
+ "required": [
1231
+ "tag",
1232
+ "disjunction"
1233
+ ],
1234
+ "additionalProperties": false
1235
+ },
1236
+ {
1237
+ "type": "object",
1238
+ "properties": {
1239
+ "tag": {
1240
+ "const": "Group"
1241
+ },
1242
+ "group": {
1243
+ "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
1244
+ "type": "object",
1245
+ "properties": {
1246
+ "list": {
1247
+ "type": "array",
1248
+ "items": {
1249
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AnimistPowerPrerequisiteGroup"
1250
+ },
1251
+ "minItems": 2
1252
+ },
1253
+ "translations": {
1254
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1255
+ "type": "object",
1256
+ "patternProperties": {
1257
+ "^[a-z]{2}-[A-Z]{2}$": {
1258
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
1259
+ }
1260
+ },
1261
+ "minProperties": 1,
1262
+ "additionalProperties": false
1263
+ }
1264
+ },
1265
+ "required": [
1266
+ "list",
1267
+ "translations"
1268
+ ],
1269
+ "additionalProperties": false
1270
+ }
1271
+ },
1272
+ "required": [
1273
+ "tag",
1274
+ "group"
1275
+ ],
1276
+ "additionalProperties": false
1277
+ }
1278
+ ]
1279
+ },
1280
+ "minItems": 1
1175
1281
  },
1176
- "EnhancementPrerequisites": {
1177
- "oneOf": [
1178
- {
1179
- "type": "object",
1180
- "properties": {
1181
- "tag": {
1182
- "const": "Plain"
1282
+ "GeodeRitualPrerequisites": {
1283
+ "type": "array",
1284
+ "items": {
1285
+ "oneOf": [
1286
+ {
1287
+ "type": "object",
1288
+ "properties": {
1289
+ "tag": {
1290
+ "const": "Single"
1291
+ },
1292
+ "single": {
1293
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeodeRitualPrerequisiteGroup"
1294
+ }
1183
1295
  },
1184
- "plain": {
1185
- "type": "array",
1186
- "items": {
1187
- "oneOf": [
1188
- {
1189
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/EnhancementPrerequisiteGroup"
1296
+ "required": [
1297
+ "tag",
1298
+ "single"
1299
+ ],
1300
+ "additionalProperties": false
1301
+ },
1302
+ {
1303
+ "type": "object",
1304
+ "properties": {
1305
+ "tag": {
1306
+ "const": "Disjunction"
1307
+ },
1308
+ "disjunction": {
1309
+ "type": "object",
1310
+ "properties": {
1311
+ "list": {
1312
+ "type": "array",
1313
+ "items": {
1314
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeodeRitualPrerequisiteGroup"
1315
+ },
1316
+ "minItems": 2
1317
+ }
1318
+ },
1319
+ "required": [
1320
+ "list"
1321
+ ],
1322
+ "additionalProperties": false
1323
+ }
1324
+ },
1325
+ "required": [
1326
+ "tag",
1327
+ "disjunction"
1328
+ ],
1329
+ "additionalProperties": false
1330
+ },
1331
+ {
1332
+ "type": "object",
1333
+ "properties": {
1334
+ "tag": {
1335
+ "const": "Group"
1336
+ },
1337
+ "group": {
1338
+ "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
1339
+ "type": "object",
1340
+ "properties": {
1341
+ "list": {
1342
+ "type": "array",
1343
+ "items": {
1344
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeodeRitualPrerequisiteGroup"
1345
+ },
1346
+ "minItems": 2
1190
1347
  },
1191
- {
1348
+ "translations": {
1349
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1192
1350
  "type": "object",
1193
- "properties": {
1194
- "tag": {
1195
- "const": "Group"
1196
- },
1197
- "group": {
1198
- "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
1199
- "type": "object",
1200
- "properties": {
1201
- "list": {
1202
- "type": "array",
1203
- "items": {
1204
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/EnhancementPrerequisiteGroup"
1205
- },
1206
- "minItems": 2
1207
- },
1208
- "translations": {
1209
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1210
- "type": "object",
1211
- "patternProperties": {
1212
- "^[a-z]{2}-[A-Z]{2}$": {
1213
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
1214
- }
1215
- },
1216
- "minProperties": 1,
1217
- "additionalProperties": false
1218
- }
1219
- },
1220
- "required": [
1221
- "list",
1222
- "translations"
1223
- ],
1224
- "additionalProperties": false
1351
+ "patternProperties": {
1352
+ "^[a-z]{2}-[A-Z]{2}$": {
1353
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
1225
1354
  }
1226
1355
  },
1227
- "required": [
1228
- "tag",
1229
- "group"
1230
- ],
1356
+ "minProperties": 1,
1231
1357
  "additionalProperties": false
1232
1358
  }
1233
- ]
1359
+ },
1360
+ "required": [
1361
+ "list",
1362
+ "translations"
1363
+ ],
1364
+ "additionalProperties": false
1365
+ }
1366
+ },
1367
+ "required": [
1368
+ "tag",
1369
+ "group"
1370
+ ],
1371
+ "additionalProperties": false
1372
+ }
1373
+ ]
1374
+ },
1375
+ "minItems": 1
1376
+ },
1377
+ "EnhancementPrerequisites": {
1378
+ "type": "array",
1379
+ "items": {
1380
+ "oneOf": [
1381
+ {
1382
+ "type": "object",
1383
+ "properties": {
1384
+ "tag": {
1385
+ "const": "Single"
1386
+ },
1387
+ "single": {
1388
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/EnhancementPrerequisiteGroup"
1389
+ }
1390
+ },
1391
+ "required": [
1392
+ "tag",
1393
+ "single"
1394
+ ],
1395
+ "additionalProperties": false
1396
+ },
1397
+ {
1398
+ "type": "object",
1399
+ "properties": {
1400
+ "tag": {
1401
+ "const": "Disjunction"
1234
1402
  },
1235
- "minItems": 1
1236
- }
1403
+ "disjunction": {
1404
+ "type": "object",
1405
+ "properties": {
1406
+ "list": {
1407
+ "type": "array",
1408
+ "items": {
1409
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/EnhancementPrerequisiteGroup"
1410
+ },
1411
+ "minItems": 2
1412
+ }
1413
+ },
1414
+ "required": [
1415
+ "list"
1416
+ ],
1417
+ "additionalProperties": false
1418
+ }
1419
+ },
1420
+ "required": [
1421
+ "tag",
1422
+ "disjunction"
1423
+ ],
1424
+ "additionalProperties": false
1237
1425
  },
1238
- "required": [
1239
- "tag",
1240
- "plain"
1241
- ],
1242
- "additionalProperties": false
1243
- }
1244
- ]
1426
+ {
1427
+ "type": "object",
1428
+ "properties": {
1429
+ "tag": {
1430
+ "const": "Group"
1431
+ },
1432
+ "group": {
1433
+ "description": "A prerequisite group has no influence on validation logic. It serves as a\nsingle unit for displaying purposes, where the source uses a prerequisites\nitem that cannot be represented as a single prerequisite.",
1434
+ "type": "object",
1435
+ "properties": {
1436
+ "list": {
1437
+ "type": "array",
1438
+ "items": {
1439
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/EnhancementPrerequisiteGroup"
1440
+ },
1441
+ "minItems": 2
1442
+ },
1443
+ "translations": {
1444
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1445
+ "type": "object",
1446
+ "patternProperties": {
1447
+ "^[a-z]{2}-[A-Z]{2}$": {
1448
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
1449
+ }
1450
+ },
1451
+ "minProperties": 1,
1452
+ "additionalProperties": false
1453
+ }
1454
+ },
1455
+ "required": [
1456
+ "list",
1457
+ "translations"
1458
+ ],
1459
+ "additionalProperties": false
1460
+ }
1461
+ },
1462
+ "required": [
1463
+ "tag",
1464
+ "group"
1465
+ ],
1466
+ "additionalProperties": false
1467
+ }
1468
+ ]
1469
+ },
1470
+ "minItems": 1
1245
1471
  }
1246
1472
  }
1247
1473
  }