optolith-database-schema 0.9.0 → 0.10.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 (83) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/lib/main.js +8 -3
  3. package/lib/types/Advantage.d.ts +13 -2
  4. package/lib/types/Disadvantage.d.ts +12 -2
  5. package/lib/types/Profession.d.ts +12 -2
  6. package/lib/types/Talisman.d.ts +6 -6
  7. package/lib/types/_Activatable.d.ts +111 -3
  8. package/lib/types/_Activatable.js +4 -35
  9. package/lib/types/_ActivatableSelectOptionCategory.d.ts +30 -0
  10. package/lib/types/equipment/item/Poison.d.ts +21 -1
  11. package/lib/types/equipment/item/Poison.js +1 -0
  12. package/lib/types/equipment/item/Weapon.d.ts +4 -3
  13. package/lib/types/equipment/item/sub/ArmorType.d.ts +3 -3
  14. package/lib/types/prerequisites/DisplayOption.d.ts +14 -0
  15. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +23 -1
  16. package/lib/types/prerequisites/single/AncestorBloodPrerequisite.d.ts +5 -0
  17. package/lib/types/prerequisites/single/AncestorBloodPrerequisite.js +1 -0
  18. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.d.ts +67 -0
  19. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.js +6 -0
  20. package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +0 -55
  21. package/lib/types/prerequisites/single/RatedSumPrerequisite.d.ts +19 -0
  22. package/lib/types/prerequisites/single/RatedSumPrerequisite.js +1 -0
  23. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.d.ts +11 -0
  24. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.js +5 -0
  25. package/lib/types/prerequisites/single/TextPrerequisite.d.ts +29 -0
  26. package/lib/types/prerequisites/single/TextPrerequisite.js +5 -0
  27. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +11 -0
  28. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +7 -2
  29. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +6 -2
  30. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +5 -0
  31. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +12 -2
  32. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +7 -2
  33. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +11 -2
  34. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +5 -0
  35. package/lib/types/specialAbility/VampiricGift.d.ts +7 -2
  36. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +2 -2
  37. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +2 -2
  38. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +2 -2
  39. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +2 -2
  40. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +2 -2
  41. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +2 -2
  42. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +2 -2
  43. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +2 -2
  44. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +2 -2
  45. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +2 -2
  46. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +2 -2
  47. package/lib/types/traditionArtifacts/SickleRitual.d.ts +2 -2
  48. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +7 -2
  49. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +12 -2
  50. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +2 -2
  51. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +2 -2
  52. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +2 -2
  53. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +2 -2
  54. package/lib/validation/schema.js +2 -2
  55. package/package.json +1 -1
  56. package/schema/Advantage.schema.json +11 -0
  57. package/schema/Disadvantage.schema.json +8 -0
  58. package/schema/Profession.schema.json +8 -0
  59. package/schema/Talisman.schema.json +2 -4
  60. package/schema/_Activatable.schema.json +166 -0
  61. package/schema/_ActivatableSelectOptionCategory.schema.json +141 -0
  62. package/schema/equipment/item/Poison.schema.json +55 -1
  63. package/schema/equipment/item/Weapon.schema.json +5 -1
  64. package/schema/equipment/item/sub/ArmorType.schema.json +1 -2
  65. package/schema/prerequisites/DisplayOption.schema.json +4 -0
  66. package/schema/prerequisites/PrerequisiteGroups.schema.json +98 -2
  67. package/schema/prerequisites/single/AncestorBloodPrerequisite.schema.json +14 -0
  68. package/schema/prerequisites/single/RatedMinimumNumberPrerequisite.schema.json +166 -0
  69. package/schema/prerequisites/single/RatedPrerequisite.schema.json +0 -125
  70. package/schema/prerequisites/single/RatedSumPrerequisite.schema.json +33 -0
  71. package/schema/prerequisites/single/SexualCharacteristicPrerequisite.schema.json +26 -0
  72. package/schema/prerequisites/single/TextPrerequisite.schema.json +14 -0
  73. package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +8 -0
  74. package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +4 -0
  75. package/schema/specialAbility/CombatSpecialAbility.schema.json +4 -0
  76. package/schema/specialAbility/FatePointSpecialAbility.schema.json +4 -0
  77. package/schema/specialAbility/GeneralSpecialAbility.schema.json +8 -0
  78. package/schema/specialAbility/KarmaSpecialAbility.schema.json +4 -0
  79. package/schema/specialAbility/MagicalSpecialAbility.schema.json +8 -0
  80. package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +4 -0
  81. package/schema/specialAbility/VampiricGift.schema.json +4 -0
  82. package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +4 -0
  83. package/schema/traditionArtifacts/StaffEnchantment.schema.json +8 -0
@@ -194,6 +194,25 @@
194
194
  ],
195
195
  "additionalProperties": false
196
196
  },
197
+ {
198
+ "type": "object",
199
+ "properties": {
200
+ "tag": {
201
+ "const": "RacesAndCultures"
202
+ },
203
+ "races_and_cultures": {
204
+ "type": "object",
205
+ "properties": {},
206
+ "required": [],
207
+ "additionalProperties": false
208
+ }
209
+ },
210
+ "required": [
211
+ "tag",
212
+ "races_and_cultures"
213
+ ],
214
+ "additionalProperties": false
215
+ },
197
216
  {
198
217
  "type": "object",
199
218
  "properties": {
@@ -337,6 +356,22 @@
337
356
  "combat_techniques"
338
357
  ],
339
358
  "additionalProperties": false
359
+ },
360
+ {
361
+ "type": "object",
362
+ "properties": {
363
+ "tag": {
364
+ "const": "TargetCategories"
365
+ },
366
+ "target_categories": {
367
+ "$ref": "#/$defs/TargetCategoriesSelectOptionCategory"
368
+ }
369
+ },
370
+ "required": [
371
+ "tag",
372
+ "target_categories"
373
+ ],
374
+ "additionalProperties": false
340
375
  }
341
376
  ]
342
377
  },
@@ -832,6 +867,77 @@
832
867
  "$ref": "#/$defs/SkillSelectOptionCategoryPrerequisite"
833
868
  },
834
869
  "minItems": 1
870
+ },
871
+ "ap_value": {
872
+ "description": "Generate AP values for each entry.",
873
+ "oneOf": [
874
+ {
875
+ "type": "object",
876
+ "properties": {
877
+ "tag": {
878
+ "const": "DerivedFromImprovementCost"
879
+ },
880
+ "derived_from_improvement_cost": {
881
+ "$ref": "#/$defs/DeriveAdventurePointsValueFromImprovementCost"
882
+ }
883
+ },
884
+ "required": [
885
+ "tag",
886
+ "derived_from_improvement_cost"
887
+ ],
888
+ "additionalProperties": false
889
+ },
890
+ {
891
+ "type": "object",
892
+ "properties": {
893
+ "tag": {
894
+ "const": "Fixed"
895
+ },
896
+ "fixed": {
897
+ "type": "object",
898
+ "properties": {
899
+ "map": {
900
+ "description": "A mapping of skill identifiers to their specific AP values.",
901
+ "type": "array",
902
+ "items": {
903
+ "type": "object",
904
+ "properties": {
905
+ "id": {
906
+ "$ref": "./_IdentifierGroup.schema.json#/$defs/CombatTechniqueIdentifier"
907
+ },
908
+ "ap_value": {
909
+ "description": "The AP value for the specified entry.",
910
+ "type": "integer",
911
+ "minimum": 1
912
+ }
913
+ },
914
+ "required": [
915
+ "id",
916
+ "ap_value"
917
+ ],
918
+ "additionalProperties": false
919
+ }
920
+ },
921
+ "default": {
922
+ "description": "The default value of an entry. Used as a fallback if no value is\nfound in `list`.",
923
+ "type": "integer",
924
+ "minimum": 1
925
+ }
926
+ },
927
+ "required": [
928
+ "map",
929
+ "default"
930
+ ],
931
+ "additionalProperties": false
932
+ }
933
+ },
934
+ "required": [
935
+ "tag",
936
+ "fixed"
937
+ ],
938
+ "additionalProperties": false
939
+ }
940
+ ]
835
941
  }
836
942
  },
837
943
  "required": [],
@@ -1167,6 +1273,41 @@
1167
1273
  },
1168
1274
  "required": [],
1169
1275
  "additionalProperties": false
1276
+ },
1277
+ "TargetCategoriesSelectOptionCategory": {
1278
+ "type": "object",
1279
+ "properties": {
1280
+ "list": {
1281
+ "description": "A list of combat technique categories.",
1282
+ "type": "array",
1283
+ "items": {
1284
+ "$ref": "#/$defs/SpecificTargetCategory"
1285
+ },
1286
+ "minItems": 1
1287
+ }
1288
+ },
1289
+ "required": [
1290
+ "list"
1291
+ ],
1292
+ "additionalProperties": false
1293
+ },
1294
+ "SpecificTargetCategory": {
1295
+ "type": "object",
1296
+ "properties": {
1297
+ "id": {
1298
+ "description": "The target category’s identifier.",
1299
+ "$ref": "./_Identifier.schema.json#/$defs/TargetCategoryIdentifier"
1300
+ },
1301
+ "volume": {
1302
+ "description": "The volume for this specific selection.",
1303
+ "type": "integer",
1304
+ "minimum": 0
1305
+ }
1306
+ },
1307
+ "required": [
1308
+ "id"
1309
+ ],
1310
+ "additionalProperties": false
1170
1311
  }
1171
1312
  }
1172
1313
  }
@@ -184,6 +184,22 @@
184
184
  "dice_based"
185
185
  ],
186
186
  "additionalProperties": false
187
+ },
188
+ {
189
+ "type": "object",
190
+ "properties": {
191
+ "tag": {
192
+ "const": "Indefinite"
193
+ },
194
+ "indefinite": {
195
+ "$ref": "#/$defs/IndefinitePoisonTime"
196
+ }
197
+ },
198
+ "required": [
199
+ "tag",
200
+ "indefinite"
201
+ ],
202
+ "additionalProperties": false
187
203
  }
188
204
  ]
189
205
  },
@@ -223,9 +239,43 @@
223
239
  "enum": [
224
240
  "CombatRounds",
225
241
  "Minutes",
226
- "Hours"
242
+ "Hours",
243
+ "Days"
227
244
  ]
228
245
  },
246
+ "IndefinitePoisonTime": {
247
+ "type": "object",
248
+ "properties": {
249
+ "translations": {
250
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
251
+ "type": "object",
252
+ "patternProperties": {
253
+ "^[a-z]{2}-[A-Z]{2}$": {
254
+ "$ref": "#/$defs/IndefinitePoisonTimeTranslation"
255
+ }
256
+ },
257
+ "minProperties": 1,
258
+ "additionalProperties": false
259
+ }
260
+ },
261
+ "required": [
262
+ "translations"
263
+ ],
264
+ "additionalProperties": false
265
+ },
266
+ "IndefinitePoisonTimeTranslation": {
267
+ "type": "object",
268
+ "properties": {
269
+ "description": {
270
+ "description": "A description of the duration.",
271
+ "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
272
+ }
273
+ },
274
+ "required": [
275
+ "description"
276
+ ],
277
+ "additionalProperties": false
278
+ },
229
279
  "PoisonSourceType": {
230
280
  "oneOf": [
231
281
  {
@@ -318,6 +368,10 @@
318
368
  "type": "integer",
319
369
  "maximum": 6,
320
370
  "minimum": 1
371
+ },
372
+ "is_extractable": {
373
+ "description": "If `false`, the poison cannot be extracted.",
374
+ "const": false
321
375
  }
322
376
  },
323
377
  "required": [
@@ -223,7 +223,11 @@
223
223
  },
224
224
  "SanctifiedBy": {
225
225
  "description": "If the weapon is sanctified by a god and thus restricted to it's Blessed\nOnes.",
226
- "$ref": "../../_SimpleReferences.schema.json#/$defs/BlessedTraditionReference"
226
+ "type": "array",
227
+ "items": {
228
+ "$ref": "../../_SimpleReferences.schema.json#/$defs/BlessedTraditionReference"
229
+ },
230
+ "minItems": 1
227
231
  },
228
232
  "RestrictedToCultures": {
229
233
  "description": "Define if during character creation this weapon can only be bought by\ncharacters of a specific race or culture.",
@@ -13,7 +13,7 @@
13
13
  "minimum": 1
14
14
  },
15
15
  "sturdiness_rating": {
16
- "description": "Each armor type has a *sturdiness rating*. The higher the rating, the more\ndurable the armor. Rolling higher than this rating during a sturdiness\ncheck means the armor receives one level of the new condition *Wear*.",
16
+ "description": "An armor type can have a *sturdiness rating*. The higher the rating, the\nmore durable the armor. Rolling higher than this rating during a sturdiness\ncheck means the armor receives one level of the new condition *Wear*.",
17
17
  "type": "integer",
18
18
  "minimum": 1
19
19
  },
@@ -31,7 +31,6 @@
31
31
  },
32
32
  "required": [
33
33
  "id",
34
- "sturdiness_rating",
35
34
  "translations"
36
35
  ],
37
36
  "additionalProperties": false
@@ -45,6 +45,10 @@
45
45
  "ReplacementDisplayOption": {
46
46
  "type": "object",
47
47
  "properties": {
48
+ "sentence_type": {
49
+ "description": "If the replacement text is a sentence or sentence-like fragment, this\nproperty ensures it is integrated into the prerequisite string correctly.\n\nA standalone sentence is connected to the previous prerequisite string with\na period and a period is also added at the end of the sentence\nautomatically, if it is not present. A connected sentence is connected to\nthe previous prerequisite string with a semicolon and a period is not added\nto the end of the sentence. In this case, if there are prerequisites after\nthis one, they will be connected using a semicolon again, unless a\ndifferent punctuation mark is present at the end of the given text.",
50
+ "$ref": "./single/TextPrerequisite.schema.json#/$defs/SentenceType"
51
+ },
48
52
  "translations": {
49
53
  "description": "All translations for the entry, identified by IETF language tag (BCP47).",
50
54
  "type": "object",
@@ -243,7 +243,7 @@
243
243
  "const": "RatedMinimumNumber"
244
244
  },
245
245
  "rated_minimum_number": {
246
- "$ref": "./single/RatedPrerequisite.schema.json#/$defs/RatedMinimumNumberPrerequisite"
246
+ "$ref": "./single/RatedMinimumNumberPrerequisite.schema.json#/$defs/RatedMinimumNumberPrerequisite"
247
247
  }
248
248
  },
249
249
  "required": [
@@ -252,6 +252,22 @@
252
252
  ],
253
253
  "additionalProperties": false
254
254
  },
255
+ {
256
+ "type": "object",
257
+ "properties": {
258
+ "tag": {
259
+ "const": "RatedSum"
260
+ },
261
+ "rated_sum": {
262
+ "$ref": "./single/RatedSumPrerequisite.schema.json#/$defs/RatedSumPrerequisite"
263
+ }
264
+ },
265
+ "required": [
266
+ "tag",
267
+ "rated_sum"
268
+ ],
269
+ "additionalProperties": false
270
+ },
255
271
  {
256
272
  "type": "object",
257
273
  "properties": {
@@ -283,6 +299,22 @@
283
299
  "text"
284
300
  ],
285
301
  "additionalProperties": false
302
+ },
303
+ {
304
+ "type": "object",
305
+ "properties": {
306
+ "tag": {
307
+ "const": "SexualCharacteristic"
308
+ },
309
+ "sexual_characteristic": {
310
+ "$ref": "./single/SexualCharacteristicPrerequisite.schema.json#/$defs/SexualCharacteristicPrerequisite"
311
+ }
312
+ },
313
+ "required": [
314
+ "tag",
315
+ "sexual_characteristic"
316
+ ],
317
+ "additionalProperties": false
286
318
  }
287
319
  ]
288
320
  },
@@ -590,7 +622,7 @@
590
622
  "const": "RatedMinimumNumber"
591
623
  },
592
624
  "rated_minimum_number": {
593
- "$ref": "./single/RatedPrerequisite.schema.json#/$defs/RatedMinimumNumberPrerequisite"
625
+ "$ref": "./single/RatedMinimumNumberPrerequisite.schema.json#/$defs/RatedMinimumNumberPrerequisite"
594
626
  }
595
627
  },
596
628
  "required": [
@@ -599,6 +631,22 @@
599
631
  ],
600
632
  "additionalProperties": false
601
633
  },
634
+ {
635
+ "type": "object",
636
+ "properties": {
637
+ "tag": {
638
+ "const": "RatedSum"
639
+ },
640
+ "rated_sum": {
641
+ "$ref": "./single/RatedSumPrerequisite.schema.json#/$defs/RatedSumPrerequisite"
642
+ }
643
+ },
644
+ "required": [
645
+ "tag",
646
+ "rated_sum"
647
+ ],
648
+ "additionalProperties": false
649
+ },
602
650
  {
603
651
  "type": "object",
604
652
  "properties": {
@@ -630,6 +678,38 @@
630
678
  "text"
631
679
  ],
632
680
  "additionalProperties": false
681
+ },
682
+ {
683
+ "type": "object",
684
+ "properties": {
685
+ "tag": {
686
+ "const": "NoOtherAncestorBloodAdvantage"
687
+ },
688
+ "no_other_ancestor_blood_advantage": {
689
+ "$ref": "./single/AncestorBloodPrerequisite.schema.json#/$defs/AncestorBloodPrerequisite"
690
+ }
691
+ },
692
+ "required": [
693
+ "tag",
694
+ "no_other_ancestor_blood_advantage"
695
+ ],
696
+ "additionalProperties": false
697
+ },
698
+ {
699
+ "type": "object",
700
+ "properties": {
701
+ "tag": {
702
+ "const": "SexualCharacteristic"
703
+ },
704
+ "sexual_characteristic": {
705
+ "$ref": "./single/SexualCharacteristicPrerequisite.schema.json#/$defs/SexualCharacteristicPrerequisite"
706
+ }
707
+ },
708
+ "required": [
709
+ "tag",
710
+ "sexual_characteristic"
711
+ ],
712
+ "additionalProperties": false
633
713
  }
634
714
  ]
635
715
  },
@@ -926,6 +1006,22 @@
926
1006
  "publication"
927
1007
  ],
928
1008
  "additionalProperties": false
1009
+ },
1010
+ {
1011
+ "type": "object",
1012
+ "properties": {
1013
+ "tag": {
1014
+ "const": "SexualCharacteristic"
1015
+ },
1016
+ "sexual_characteristic": {
1017
+ "$ref": "./single/SexualCharacteristicPrerequisite.schema.json#/$defs/SexualCharacteristicPrerequisite"
1018
+ }
1019
+ },
1020
+ "required": [
1021
+ "tag",
1022
+ "sexual_characteristic"
1023
+ ],
1024
+ "additionalProperties": false
929
1025
  }
930
1026
  ]
931
1027
  }
@@ -0,0 +1,14 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
3
+ "$id": "/prerequisites/single/AncestorBloodPrerequisite.schema.json",
4
+ "$defs": {
5
+ "AncestorBloodPrerequisite": {
6
+ "title": "Ancestor Blood Prerequisite",
7
+ "description": "Requires that no other Ancestor Blood advantage is active.",
8
+ "type": "object",
9
+ "properties": {},
10
+ "required": [],
11
+ "additionalProperties": false
12
+ }
13
+ }
14
+ }
@@ -0,0 +1,166 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
3
+ "$id": "/prerequisites/single/RatedMinimumNumberPrerequisite.schema.json",
4
+ "$defs": {
5
+ "RatedMinimumNumberPrerequisite": {
6
+ "title": "Rated Minimum Number Prerequisite",
7
+ "type": "object",
8
+ "properties": {
9
+ "number": {
10
+ "description": "The minimum number of skills that need to be on the defined minimum skill\nrating.",
11
+ "type": "integer",
12
+ "minimum": 1
13
+ },
14
+ "value": {
15
+ "description": "The minimum skill rating the defined minimum number of skills need to be\non.",
16
+ "type": "integer",
17
+ "minimum": 1
18
+ },
19
+ "targets": {
20
+ "description": "The targets that contribute to satisfying the prerequisite.",
21
+ "$ref": "#/$defs/RatedMinimumNumberPrerequisiteTarget"
22
+ },
23
+ "display_option": {
24
+ "$ref": "../DisplayOption.schema.json#/$defs/DisplayOption"
25
+ }
26
+ },
27
+ "required": [
28
+ "number",
29
+ "value",
30
+ "targets"
31
+ ],
32
+ "additionalProperties": false
33
+ },
34
+ "RatedMinimumNumberPrerequisiteTarget": {
35
+ "oneOf": [
36
+ {
37
+ "type": "object",
38
+ "properties": {
39
+ "tag": {
40
+ "const": "Skills"
41
+ },
42
+ "skills": {
43
+ "$ref": "#/$defs/RatedMinimumNumberPrerequisiteSkillsTarget"
44
+ }
45
+ },
46
+ "required": [
47
+ "tag",
48
+ "skills"
49
+ ],
50
+ "additionalProperties": false
51
+ },
52
+ {
53
+ "type": "object",
54
+ "properties": {
55
+ "tag": {
56
+ "const": "CombatTechniques"
57
+ },
58
+ "combat_techniques": {
59
+ "$ref": "#/$defs/CombatTechniquesTarget"
60
+ }
61
+ },
62
+ "required": [
63
+ "tag",
64
+ "combat_techniques"
65
+ ],
66
+ "additionalProperties": false
67
+ },
68
+ {
69
+ "type": "object",
70
+ "properties": {
71
+ "tag": {
72
+ "const": "Spellworks"
73
+ },
74
+ "spellworks": {
75
+ "$ref": "../../_SimpleReferences.schema.json#/$defs/PropertyReference"
76
+ }
77
+ },
78
+ "required": [
79
+ "tag",
80
+ "spellworks"
81
+ ],
82
+ "additionalProperties": false
83
+ },
84
+ {
85
+ "type": "object",
86
+ "properties": {
87
+ "tag": {
88
+ "const": "Liturgies"
89
+ },
90
+ "liturgies": {
91
+ "$ref": "../../_SimpleReferences.schema.json#/$defs/AspectReference"
92
+ }
93
+ },
94
+ "required": [
95
+ "tag",
96
+ "liturgies"
97
+ ],
98
+ "additionalProperties": false
99
+ }
100
+ ]
101
+ },
102
+ "RatedMinimumNumberPrerequisiteSkillsTarget": {
103
+ "type": "object",
104
+ "properties": {
105
+ "list": {
106
+ "description": "The skills that are taken into account for satisfying the prerequisite.",
107
+ "type": "array",
108
+ "items": {
109
+ "$ref": "../../_SimpleReferences.schema.json#/$defs/SkillReference"
110
+ },
111
+ "minItems": 2,
112
+ "uniqueItems": true
113
+ }
114
+ },
115
+ "required": [
116
+ "list"
117
+ ],
118
+ "additionalProperties": false
119
+ },
120
+ "CombatTechniquesTarget": {
121
+ "type": "object",
122
+ "properties": {
123
+ "group": {
124
+ "$ref": "#/$defs/CombatTechniquesTargetGroup"
125
+ }
126
+ },
127
+ "required": [
128
+ "group"
129
+ ],
130
+ "additionalProperties": false
131
+ },
132
+ "CombatTechniquesTargetGroup": {
133
+ "enum": [
134
+ "All",
135
+ "Close",
136
+ "Ranged"
137
+ ]
138
+ },
139
+ "RatedMinimumNumberPrerequisiteSpellworksTarget": {
140
+ "type": "object",
141
+ "properties": {
142
+ "property": {
143
+ "description": "The skills that are taken into account for satisfying the prerequisite.",
144
+ "$ref": "../../_SimpleReferences.schema.json#/$defs/PropertyReference"
145
+ }
146
+ },
147
+ "required": [
148
+ "property"
149
+ ],
150
+ "additionalProperties": false
151
+ },
152
+ "RatedMinimumNumberPrerequisiteLiturgiesTarget": {
153
+ "type": "object",
154
+ "properties": {
155
+ "aspect": {
156
+ "description": "The skills that are taken into account for satisfying the prerequisite.",
157
+ "$ref": "../../_SimpleReferences.schema.json#/$defs/AspectReference"
158
+ }
159
+ },
160
+ "required": [
161
+ "aspect"
162
+ ],
163
+ "additionalProperties": false
164
+ }
165
+ }
166
+ }