optolith-database-schema 0.12.1 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/lib/cache/newApplicationsAndUses.d.ts +17 -0
  3. package/lib/cache/newApplicationsAndUses.js +67 -0
  4. package/lib/cacheConfig.d.ts +4 -0
  5. package/lib/cacheConfig.js +1 -0
  6. package/lib/config/cache.d.ts +7 -0
  7. package/lib/config/cache.js +4 -0
  8. package/lib/main.d.ts +27 -0
  9. package/lib/main.js +33 -0
  10. package/lib/types/Advantage.js +2 -2
  11. package/lib/types/AnimalDisease.js +2 -2
  12. package/lib/types/AnimalType.js +2 -2
  13. package/lib/types/ArcaneBardTradition.js +2 -2
  14. package/lib/types/ArcaneDancerTradition.js +2 -2
  15. package/lib/types/Aspect.js +2 -2
  16. package/lib/types/Attribute.js +3 -3
  17. package/lib/types/Blessing.js +2 -2
  18. package/lib/types/Cantrip.js +2 -2
  19. package/lib/types/Ceremony.js +2 -2
  20. package/lib/types/CombatTechnique_Close.js +2 -2
  21. package/lib/types/CombatTechnique_Ranged.js +2 -2
  22. package/lib/types/Condition.js +2 -2
  23. package/lib/types/Continent.js +2 -2
  24. package/lib/types/Culture.d.ts +4 -17
  25. package/lib/types/Culture.js +2 -40
  26. package/lib/types/DerivedCharacteristic.js +2 -2
  27. package/lib/types/Disadvantage.js +2 -2
  28. package/lib/types/Disease.js +2 -2
  29. package/lib/types/Element.js +2 -2
  30. package/lib/types/ExperienceLevel.js +2 -2
  31. package/lib/types/EyeColor.js +2 -2
  32. package/lib/types/FamiliarsTrick.js +2 -2
  33. package/lib/types/HairColor.js +2 -2
  34. package/lib/types/Kirchenpraegung.js +2 -2
  35. package/lib/types/Lessons_Curriculum.js +2 -2
  36. package/lib/types/Lessons_Guideline.js +2 -2
  37. package/lib/types/LiturgicalChant.js +2 -2
  38. package/lib/types/MetaCondition.js +2 -2
  39. package/lib/types/PactCategory.js +2 -2
  40. package/lib/types/Patron.d.ts +2 -12
  41. package/lib/types/Patron.js +2 -22
  42. package/lib/types/PatronCategory.js +2 -2
  43. package/lib/types/PersonalityTrait.js +2 -2
  44. package/lib/types/Profession.d.ts +1 -5
  45. package/lib/types/Profession.js +2 -8
  46. package/lib/types/Property.js +2 -2
  47. package/lib/types/Race.d.ts +68 -134
  48. package/lib/types/Race.js +2 -13
  49. package/lib/types/Region.js +2 -2
  50. package/lib/types/Ritual.js +2 -2
  51. package/lib/types/Service.d.ts +1 -4
  52. package/lib/types/Service.js +2 -7
  53. package/lib/types/SexPractice.js +2 -2
  54. package/lib/types/Skill.d.ts +2 -10
  55. package/lib/types/Skill.js +2 -21
  56. package/lib/types/SkillGroup.js +2 -2
  57. package/lib/types/SkillModificationLevel.d.ts +1 -4
  58. package/lib/types/SkillModificationLevel.js +2 -7
  59. package/lib/types/SocialStatus.js +2 -2
  60. package/lib/types/Spell.js +2 -2
  61. package/lib/types/State.js +2 -2
  62. package/lib/types/Talisman.d.ts +1 -7
  63. package/lib/types/Talisman.js +3 -11
  64. package/lib/types/TargetCategory.js +3 -3
  65. package/lib/types/UI.d.ts +184 -129
  66. package/lib/types/_Activatable.d.ts +5 -19
  67. package/lib/types/_Activatable.js +1 -40
  68. package/lib/types/_ActivatableSelectOptionCategory.d.ts +1 -4
  69. package/lib/types/_ActivatableSelectOptionCategory.js +1 -8
  70. package/lib/types/_ActivatableSkillCastingTime.d.ts +1 -4
  71. package/lib/types/_ActivatableSkillCastingTime.js +1 -5
  72. package/lib/types/_ActivatableSkillCheckResultBased.d.ts +2 -8
  73. package/lib/types/_ActivatableSkillCheckResultBased.js +1 -16
  74. package/lib/types/_ActivatableSkillDuration.d.ts +1 -12
  75. package/lib/types/_ActivatableSkillDuration.js +1 -13
  76. package/lib/types/_ActivatableSkillRange.d.ts +1 -4
  77. package/lib/types/_ActivatableSkillRange.js +1 -5
  78. package/lib/types/_Dice.d.ts +1 -5
  79. package/lib/types/_Dice.js +1 -9
  80. package/lib/types/_DiseasePoison.d.ts +2 -6
  81. package/lib/types/_DiseasePoison.js +1 -11
  82. package/lib/types/_I18n.d.ts +8 -0
  83. package/lib/types/_ImprovementCost.d.ts +1 -6
  84. package/lib/types/_ImprovementCost.js +1 -10
  85. package/lib/types/_Sex.d.ts +1 -4
  86. package/lib/types/_Sex.js +1 -8
  87. package/lib/types/_SkillCheck.d.ts +1 -8
  88. package/lib/types/_SkillCheck.js +1 -13
  89. package/lib/types/equipment/EquipmentPackage.js +2 -2
  90. package/lib/types/equipment/item/Alchemicum.js +2 -2
  91. package/lib/types/equipment/item/Ammunition.js +2 -2
  92. package/lib/types/equipment/item/Animal.js +2 -2
  93. package/lib/types/equipment/item/AnimalCare.js +2 -2
  94. package/lib/types/equipment/item/Armor.js +2 -2
  95. package/lib/types/equipment/item/BandageOrRemedy.js +2 -2
  96. package/lib/types/equipment/item/Book.js +2 -2
  97. package/lib/types/equipment/item/CeremonialItem.js +2 -2
  98. package/lib/types/equipment/item/Clothes.js +2 -2
  99. package/lib/types/equipment/item/Container.js +2 -2
  100. package/lib/types/equipment/item/Elixir.js +2 -2
  101. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +2 -2
  102. package/lib/types/equipment/item/GemOrPreciousStone.js +2 -2
  103. package/lib/types/equipment/item/IlluminationLightSource.d.ts +1 -3
  104. package/lib/types/equipment/item/IlluminationLightSource.js +2 -6
  105. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.js +2 -2
  106. package/lib/types/equipment/item/Jewelry.js +2 -2
  107. package/lib/types/equipment/item/Liebesspielzeug.js +2 -2
  108. package/lib/types/equipment/item/LuxuryGood.js +2 -2
  109. package/lib/types/equipment/item/MagicalArtifact.js +2 -2
  110. package/lib/types/equipment/item/MusicalInstrument.js +2 -2
  111. package/lib/types/equipment/item/OrienteeringAid.js +2 -2
  112. package/lib/types/equipment/item/Poison.d.ts +3 -15
  113. package/lib/types/equipment/item/Poison.js +2 -20
  114. package/lib/types/equipment/item/RopeOrChain.js +2 -2
  115. package/lib/types/equipment/item/Stationary.js +2 -2
  116. package/lib/types/equipment/item/ThievesTool.js +2 -2
  117. package/lib/types/equipment/item/ToolOfTheTrade.js +2 -2
  118. package/lib/types/equipment/item/TravelGearOrTool.js +2 -2
  119. package/lib/types/equipment/item/Vehicle.js +2 -2
  120. package/lib/types/equipment/item/Weapon.js +2 -2
  121. package/lib/types/equipment/item/WeaponAccessory.js +2 -2
  122. package/lib/types/equipment/item/_Herbary.d.ts +2 -14
  123. package/lib/types/equipment/item/_Herbary.js +1 -19
  124. package/lib/types/equipment/item/sub/ArmorType.js +2 -2
  125. package/lib/types/equipment/item/sub/Reach.js +2 -2
  126. package/lib/types/magicalActions/AnimistPower.js +2 -2
  127. package/lib/types/magicalActions/AnimistPower_Tribe.js +2 -2
  128. package/lib/types/magicalActions/Curse.js +2 -2
  129. package/lib/types/magicalActions/DominationRitual.js +2 -2
  130. package/lib/types/magicalActions/ElvenMagicalSong.js +2 -2
  131. package/lib/types/magicalActions/GeodeRitual.js +2 -2
  132. package/lib/types/magicalActions/JesterTrick.js +2 -2
  133. package/lib/types/magicalActions/MagicalDance.js +2 -2
  134. package/lib/types/magicalActions/MagicalMelody.js +2 -2
  135. package/lib/types/magicalActions/MagicalRune.js +2 -2
  136. package/lib/types/magicalActions/ZibiljaRitual.js +2 -2
  137. package/lib/types/magicalActions/_MusicTradition.d.ts +2 -8
  138. package/lib/types/magicalActions/_MusicTradition.js +1 -10
  139. package/lib/types/magicalActions/_SkillReference.d.ts +1 -4
  140. package/lib/types/magicalActions/_SkillReference.js +1 -5
  141. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +1 -4
  142. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +1 -5
  143. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.d.ts +1 -5
  144. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.js +1 -6
  145. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.d.ts +1 -4
  146. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.js +1 -5
  147. package/lib/types/prerequisites/single/TextPrerequisite.d.ts +2 -8
  148. package/lib/types/prerequisites/single/TextPrerequisite.js +1 -10
  149. package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +2 -8
  150. package/lib/types/prerequisites/single/TraditionPrerequisite.js +1 -18
  151. package/lib/types/rule/CoreRule.d.ts +1 -4
  152. package/lib/types/rule/CoreRule.js +2 -7
  153. package/lib/types/rule/FocusRule.js +2 -2
  154. package/lib/types/rule/FocusRule_Subject.js +2 -2
  155. package/lib/types/rule/OptionalRule.js +2 -2
  156. package/lib/types/source/Publication.d.ts +1 -6
  157. package/lib/types/source/Publication.js +2 -12
  158. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +2 -2
  159. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +2 -2
  160. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +2 -2
  161. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +2 -2
  162. package/lib/types/specialAbility/AncestorGlyph.js +2 -2
  163. package/lib/types/specialAbility/BlessedTradition.js +2 -2
  164. package/lib/types/specialAbility/BrawlingSpecialAbility.js +2 -2
  165. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +2 -2
  166. package/lib/types/specialAbility/CombatSpecialAbility.js +2 -2
  167. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +2 -2
  168. package/lib/types/specialAbility/CommandSpecialAbility.js +2 -2
  169. package/lib/types/specialAbility/FamiliarSpecialAbility.js +2 -2
  170. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +2 -2
  171. package/lib/types/specialAbility/FatePointSpecialAbility.js +2 -2
  172. package/lib/types/specialAbility/GeneralSpecialAbility.js +2 -2
  173. package/lib/types/specialAbility/KarmaSpecialAbility.js +2 -2
  174. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +2 -2
  175. package/lib/types/specialAbility/LycantropicGift.js +2 -2
  176. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +2 -2
  177. package/lib/types/specialAbility/MagicalSign.js +2 -2
  178. package/lib/types/specialAbility/MagicalSpecialAbility.js +2 -2
  179. package/lib/types/specialAbility/MagicalTradition.js +2 -2
  180. package/lib/types/specialAbility/PactGift.d.ts +2 -8
  181. package/lib/types/specialAbility/PactGift.js +2 -12
  182. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +2 -2
  183. package/lib/types/specialAbility/Sermon.js +2 -2
  184. package/lib/types/specialAbility/SexSpecialAbility.js +2 -2
  185. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +2 -2
  186. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +2 -2
  187. package/lib/types/specialAbility/VampiricGift.js +2 -2
  188. package/lib/types/specialAbility/Vision.js +2 -2
  189. package/lib/types/specialAbility/sub/Language.js +2 -2
  190. package/lib/types/specialAbility/sub/Script.js +2 -2
  191. package/lib/types/specialAbility/sub/TradeSecret.js +2 -2
  192. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +2 -2
  193. package/lib/types/traditionArtifacts/AttireEnchantment.js +2 -2
  194. package/lib/types/traditionArtifacts/BowlEnchantment.js +2 -2
  195. package/lib/types/traditionArtifacts/CauldronEnchantment.js +2 -2
  196. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +2 -2
  197. package/lib/types/traditionArtifacts/DaggerRitual.js +2 -2
  198. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +2 -2
  199. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +2 -2
  200. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +2 -2
  201. package/lib/types/traditionArtifacts/OrbEnchantment.js +2 -2
  202. package/lib/types/traditionArtifacts/RingEnchantment.js +2 -2
  203. package/lib/types/traditionArtifacts/SickleRitual.js +2 -2
  204. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +2 -2
  205. package/lib/types/traditionArtifacts/StaffEnchantment.js +2 -2
  206. package/lib/types/traditionArtifacts/ToyEnchantment.js +2 -2
  207. package/lib/types/traditionArtifacts/Trinkhornzauber.js +2 -2
  208. package/lib/types/traditionArtifacts/WandEnchantment.js +2 -2
  209. package/lib/types/traditionArtifacts/WeaponEnchantment.js +2 -2
  210. package/lib/types/traditionArtifacts/sub/AnimalShape.js +2 -2
  211. package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +2 -2
  212. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +2 -2
  213. package/lib/types/traditionArtifacts/sub/Brew.js +2 -2
  214. package/lib/validation/filename.d.ts +1 -1
  215. package/lib/validation/filename.js +1 -1
  216. package/package.json +2 -2
  217. package/schema/Culture.schema.json +31 -13
  218. package/schema/Patron.schema.json +26 -10
  219. package/schema/Profession.schema.json +10 -4
  220. package/schema/Race.schema.json +79 -208
  221. package/schema/Service.schema.json +7 -3
  222. package/schema/Skill.schema.json +20 -8
  223. package/schema/SkillModificationLevel.schema.json +7 -3
  224. package/schema/Talisman.schema.json +16 -6
  225. package/schema/UI.schema.json +553 -300
  226. package/schema/_Activatable.schema.json +32 -14
  227. package/schema/_ActivatableSelectOptionCategory.schema.json +7 -3
  228. package/schema/_ActivatableSkillCastingTime.schema.json +7 -3
  229. package/schema/_ActivatableSkillCheckResultBased.schema.json +14 -6
  230. package/schema/_ActivatableSkillDuration.schema.json +31 -11
  231. package/schema/_ActivatableSkillRange.schema.json +7 -3
  232. package/schema/_Dice.schema.json +10 -4
  233. package/schema/_DiseasePoison.schema.json +10 -4
  234. package/schema/_I18n.schema.json +21 -0
  235. package/schema/_ImprovementCost.schema.json +13 -5
  236. package/schema/_Sex.schema.json +7 -3
  237. package/schema/_SkillCheck.schema.json +19 -7
  238. package/schema/equipment/item/IlluminationLightSource.schema.json +4 -2
  239. package/schema/equipment/item/Poison.schema.json +30 -12
  240. package/schema/equipment/item/_Herbary.schema.json +32 -12
  241. package/schema/magicalActions/_MusicTradition.schema.json +14 -6
  242. package/schema/magicalActions/_SkillReference.schema.json +7 -3
  243. package/schema/prerequisites/single/PrimaryAttributePrerequisite.schema.json +7 -3
  244. package/schema/prerequisites/single/RatedMinimumNumberPrerequisite.schema.json +10 -4
  245. package/schema/prerequisites/single/SexualCharacteristicPrerequisite.schema.json +7 -3
  246. package/schema/prerequisites/single/TextPrerequisite.schema.json +14 -6
  247. package/schema/prerequisites/single/TraditionPrerequisite.schema.json +14 -6
  248. package/schema/rule/CoreRule.schema.json +7 -3
  249. package/schema/source/Publication.schema.json +13 -5
  250. package/schema/specialAbility/PactGift.schema.json +14 -6
@@ -309,17 +309,27 @@
309
309
  },
310
310
  "CombatSpecialAbilityUsageType": {
311
311
  "description": "The definition of how the combat special ability can be used in combat.",
312
- "enum": [
313
- "Passive",
314
- "BasicManeuver",
315
- "SpecialManeuver"
312
+ "oneOf": [
313
+ {
314
+ "const": "Passive"
315
+ },
316
+ {
317
+ "const": "BasicManeuver"
318
+ },
319
+ {
320
+ "const": "SpecialManeuver"
321
+ }
316
322
  ]
317
323
  },
318
324
  "CombatSpecialAbilityType": {
319
325
  "description": "The definition of if the combat special ability can be used when armed or\nwhen unarmed.",
320
- "enum": [
321
- "Armed",
322
- "Unarmed"
326
+ "oneOf": [
327
+ {
328
+ "const": "Armed"
329
+ },
330
+ {
331
+ "const": "Unarmed"
332
+ }
323
333
  ]
324
334
  },
325
335
  "SkillApplications": {
@@ -901,8 +911,10 @@
901
911
  },
902
912
  "PenaltyByAttackReplacement": {
903
913
  "description": "Set if a predefined different word should be used instead of the word\n`attack` for display purposes.",
904
- "enum": [
905
- "Throw"
914
+ "oneOf": [
915
+ {
916
+ "const": "Throw"
917
+ }
906
918
  ]
907
919
  },
908
920
  "EnchantmentCost": {
@@ -1100,9 +1112,13 @@
1100
1112
  },
1101
1113
  "FixedArcaneEnergyCostPerLevel": {
1102
1114
  "description": "The AE cost are per level of the enchantment. It may either be displayed\nin a compressed way (e.g. `1 AE per level`) or in a verbose way (e.g. `1\nAE for level I; 2 AE for level II`).",
1103
- "enum": [
1104
- "Compressed",
1105
- "Verbose"
1115
+ "oneOf": [
1116
+ {
1117
+ "const": "Compressed"
1118
+ },
1119
+ {
1120
+ "const": "Verbose"
1121
+ }
1106
1122
  ]
1107
1123
  },
1108
1124
  "FixedArcaneEnergyCostTranslation": {
@@ -1248,8 +1264,10 @@
1248
1264
  "additionalProperties": false
1249
1265
  },
1250
1266
  "IndefiniteArcaneEnergyCostModifierArithmetic": {
1251
- "enum": [
1252
- "Add"
1267
+ "oneOf": [
1268
+ {
1269
+ "const": "Add"
1270
+ }
1253
1271
  ]
1254
1272
  },
1255
1273
  "IndefiniteArcaneEnergyCostTranslation": {
@@ -1176,9 +1176,13 @@
1176
1176
  },
1177
1177
  "SpecificFromSkillSelectOptionCategoryCategoryOperation": {
1178
1178
  "description": "Only include (`Intersection`) or exclude (`Difference`) specific entries.",
1179
- "enum": [
1180
- "Intersection",
1181
- "Difference"
1179
+ "oneOf": [
1180
+ {
1181
+ "const": "Intersection"
1182
+ },
1183
+ {
1184
+ "const": "Difference"
1185
+ }
1182
1186
  ]
1183
1187
  },
1184
1188
  "SkillSelectOptionCategoryPrerequisite": {
@@ -38,9 +38,13 @@
38
38
  "additionalProperties": false
39
39
  },
40
40
  "CastingTimeDuringLovemakingUnit": {
41
- "enum": [
42
- "SeductionActions",
43
- "Rounds"
41
+ "oneOf": [
42
+ {
43
+ "const": "SeductionActions"
44
+ },
45
+ {
46
+ "const": "Rounds"
47
+ }
44
48
  ]
45
49
  },
46
50
  "FastSkillNonModifiableCastingTime": {
@@ -4,16 +4,24 @@
4
4
  "$defs": {
5
5
  "CheckResultValue": {
6
6
  "description": "Defines the derived (unitless) value.",
7
- "enum": [
8
- "QualityLevels",
9
- "SkillPoints"
7
+ "oneOf": [
8
+ {
9
+ "const": "QualityLevels"
10
+ },
11
+ {
12
+ "const": "SkillPoints"
13
+ }
10
14
  ]
11
15
  },
12
16
  "CheckResultArithmetic": {
13
17
  "description": "Defines how the the `value` is set off against the check result.",
14
- "enum": [
15
- "Multiply",
16
- "Divide"
18
+ "oneOf": [
19
+ {
20
+ "const": "Multiply"
21
+ },
22
+ {
23
+ "const": "Divide"
24
+ }
17
25
  ]
18
26
  },
19
27
  "CheckResultBasedModifier": {
@@ -297,17 +297,37 @@
297
297
  "additionalProperties": false
298
298
  },
299
299
  "DurationUnit": {
300
- "enum": [
301
- "Seconds",
302
- "Minutes",
303
- "Hours",
304
- "Days",
305
- "Weeks",
306
- "Months",
307
- "Years",
308
- "Centuries",
309
- "Actions",
310
- "CombatRounds"
300
+ "oneOf": [
301
+ {
302
+ "const": "Seconds"
303
+ },
304
+ {
305
+ "const": "Minutes"
306
+ },
307
+ {
308
+ "const": "Hours"
309
+ },
310
+ {
311
+ "const": "Days"
312
+ },
313
+ {
314
+ "const": "Weeks"
315
+ },
316
+ {
317
+ "const": "Months"
318
+ },
319
+ {
320
+ "const": "Years"
321
+ },
322
+ {
323
+ "const": "Centuries"
324
+ },
325
+ {
326
+ "const": "Actions"
327
+ },
328
+ {
329
+ "const": "CombatRounds"
330
+ }
311
331
  ]
312
332
  },
313
333
  "DurationUnitValue": {
@@ -251,9 +251,13 @@
251
251
  "additionalProperties": false
252
252
  },
253
253
  "RangeUnit": {
254
- "enum": [
255
- "Steps",
256
- "Miles"
254
+ "oneOf": [
255
+ {
256
+ "const": "Steps"
257
+ },
258
+ {
259
+ "const": "Miles"
260
+ }
257
261
  ]
258
262
  }
259
263
  }
@@ -24,10 +24,16 @@
24
24
  },
25
25
  "DieType": {
26
26
  "description": "Number of sides on every dice. Example: 6 in 2D6.",
27
- "enum": [
28
- 3,
29
- 6,
30
- 20
27
+ "oneOf": [
28
+ {
29
+ "const": 3
30
+ },
31
+ {
32
+ "const": 6
33
+ },
34
+ {
35
+ "const": 20
36
+ }
31
37
  ]
32
38
  }
33
39
  }
@@ -4,10 +4,16 @@
4
4
  "$defs": {
5
5
  "Resistance": {
6
6
  "description": "Depending on the disease, apply Spirit or Toughness as a penalty to the\ndisease roll. It may also happen that the lower of both is applied as a\npenalty.",
7
- "enum": [
8
- "Spirit",
9
- "Toughness",
10
- "LowerOfSpiritAndToughness"
7
+ "oneOf": [
8
+ {
9
+ "const": "Spirit"
10
+ },
11
+ {
12
+ "const": "Toughness"
13
+ },
14
+ {
15
+ "const": "LowerOfSpiritAndToughness"
16
+ }
11
17
  ]
12
18
  },
13
19
  "Cause": {
@@ -29,6 +29,27 @@
29
29
  "other"
30
30
  ],
31
31
  "additionalProperties": false
32
+ },
33
+ "VaryBySystem": {
34
+ "description": "The item can be different for each operating system.",
35
+ "type": "object",
36
+ "properties": {
37
+ "mac": {
38
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
39
+ },
40
+ "windows": {
41
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
42
+ },
43
+ "linux": {
44
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
45
+ }
46
+ },
47
+ "required": [
48
+ "mac",
49
+ "windows",
50
+ "linux"
51
+ ],
52
+ "additionalProperties": false
32
53
  }
33
54
  }
34
55
  }
@@ -4,11 +4,19 @@
4
4
  "$defs": {
5
5
  "ImprovementCost": {
6
6
  "title": "Improvement Cost",
7
- "enum": [
8
- "A",
9
- "B",
10
- "C",
11
- "D"
7
+ "oneOf": [
8
+ {
9
+ "const": "A"
10
+ },
11
+ {
12
+ "const": "B"
13
+ },
14
+ {
15
+ "const": "C"
16
+ },
17
+ {
18
+ "const": "D"
19
+ }
12
20
  ]
13
21
  }
14
22
  }
@@ -5,9 +5,13 @@
5
5
  "$defs": {
6
6
  "BinarySex": {
7
7
  "title": "Binary Sex",
8
- "enum": [
9
- "Male",
10
- "Female"
8
+ "oneOf": [
9
+ {
10
+ "const": "Male"
11
+ },
12
+ {
13
+ "const": "Female"
14
+ }
11
15
  ]
12
16
  }
13
17
  }
@@ -24,13 +24,25 @@
24
24
  "SkillCheckPenalty": {
25
25
  "title": "Skill Check Penalty",
26
26
  "description": "A specific value that represents a penalty for the associated skill check.",
27
- "enum": [
28
- "Spirit",
29
- "HalfOfSpirit",
30
- "Toughness",
31
- "HigherOfSpiritAndToughness",
32
- "SummoningDifficulty",
33
- "CreationDifficulty"
27
+ "oneOf": [
28
+ {
29
+ "const": "Spirit"
30
+ },
31
+ {
32
+ "const": "HalfOfSpirit"
33
+ },
34
+ {
35
+ "const": "Toughness"
36
+ },
37
+ {
38
+ "const": "HigherOfSpiritAndToughness"
39
+ },
40
+ {
41
+ "const": "SummoningDifficulty"
42
+ },
43
+ {
44
+ "const": "CreationDifficulty"
45
+ }
34
46
  ]
35
47
  }
36
48
  }
@@ -114,8 +114,10 @@
114
114
  "additionalProperties": false
115
115
  },
116
116
  "LimitedBurningTimeUnit": {
117
- "enum": [
118
- "Hours"
117
+ "oneOf": [
118
+ {
119
+ "const": "Hours"
120
+ }
119
121
  ]
120
122
  }
121
123
  }
@@ -89,11 +89,19 @@
89
89
  "additionalProperties": false
90
90
  },
91
91
  "PoisonApplicationType": {
92
- "enum": [
93
- "Weapon",
94
- "Ingestion",
95
- "Inhalation",
96
- "Contact"
92
+ "oneOf": [
93
+ {
94
+ "const": "Weapon"
95
+ },
96
+ {
97
+ "const": "Ingestion"
98
+ },
99
+ {
100
+ "const": "Inhalation"
101
+ },
102
+ {
103
+ "const": "Contact"
104
+ }
97
105
  ]
98
106
  },
99
107
  "PoisonStart": {
@@ -236,11 +244,19 @@
236
244
  "additionalProperties": false
237
245
  },
238
246
  "PoisonTimeUnit": {
239
- "enum": [
240
- "CombatRounds",
241
- "Minutes",
242
- "Hours",
243
- "Days"
247
+ "oneOf": [
248
+ {
249
+ "const": "CombatRounds"
250
+ },
251
+ {
252
+ "const": "Minutes"
253
+ },
254
+ {
255
+ "const": "Hours"
256
+ },
257
+ {
258
+ "const": "Days"
259
+ }
244
260
  ]
245
261
  },
246
262
  "IndefinitePoisonTime": {
@@ -572,8 +588,10 @@
572
588
  "additionalProperties": false
573
589
  },
574
590
  "QualityLevelDemonicPoisonLevelSource": {
575
- "enum": [
576
- "Spellwork"
591
+ "oneOf": [
592
+ {
593
+ "const": "Spellwork"
594
+ }
577
595
  ]
578
596
  },
579
597
  "ConstantDemonicPoisonLevel": {
@@ -4,21 +4,41 @@
4
4
  "$defs": {
5
5
  "EffectType": {
6
6
  "description": "Effect type categories of a plant or recipe.",
7
- "enum": [
8
- "Healing",
9
- "Poison",
10
- "PhysicalEffect",
11
- "PsychicEffect",
12
- "Beneficial",
13
- "Defensive",
14
- "Supernatural"
7
+ "oneOf": [
8
+ {
9
+ "const": "Healing"
10
+ },
11
+ {
12
+ "const": "Poison"
13
+ },
14
+ {
15
+ "const": "PhysicalEffect"
16
+ },
17
+ {
18
+ "const": "PsychicEffect"
19
+ },
20
+ {
21
+ "const": "Beneficial"
22
+ },
23
+ {
24
+ "const": "Defensive"
25
+ },
26
+ {
27
+ "const": "Supernatural"
28
+ }
15
29
  ]
16
30
  },
17
31
  "LaboratoryLevel": {
18
- "enum": [
19
- "ArchaicLaboratory",
20
- "WitchKitchen",
21
- "AlchemistsLaboratory"
32
+ "oneOf": [
33
+ {
34
+ "const": "ArchaicLaboratory"
35
+ },
36
+ {
37
+ "const": "WitchKitchen"
38
+ },
39
+ {
40
+ "const": "AlchemistsLaboratory"
41
+ }
22
42
  ]
23
43
  },
24
44
  "RecipeTradeSecret": {
@@ -59,15 +59,23 @@
59
59
  "additionalProperties": false
60
60
  },
61
61
  "MusicLength": {
62
- "enum": [
63
- "Long",
64
- "Short"
62
+ "oneOf": [
63
+ {
64
+ "const": "Long"
65
+ },
66
+ {
67
+ "const": "Short"
68
+ }
65
69
  ]
66
70
  },
67
71
  "MusicReusability": {
68
- "enum": [
69
- "OneTime",
70
- "Sustainable"
72
+ "oneOf": [
73
+ {
74
+ "const": "OneTime"
75
+ },
76
+ {
77
+ "const": "Sustainable"
78
+ }
71
79
  ]
72
80
  }
73
81
  }
@@ -29,9 +29,13 @@
29
29
  "additionalProperties": false
30
30
  },
31
31
  "SkillIdentifierValue": {
32
- "enum": [
33
- 9,
34
- 56
32
+ "oneOf": [
33
+ {
34
+ "const": 9
35
+ },
36
+ {
37
+ "const": 56
38
+ }
35
39
  ]
36
40
  }
37
41
  }
@@ -26,9 +26,13 @@
26
26
  "additionalProperties": false
27
27
  },
28
28
  "PrimaryAttributeCategory": {
29
- "enum": [
30
- "Blessed",
31
- "Magical"
29
+ "oneOf": [
30
+ {
31
+ "const": "Blessed"
32
+ },
33
+ {
34
+ "const": "Magical"
35
+ }
32
36
  ]
33
37
  }
34
38
  }
@@ -130,10 +130,16 @@
130
130
  "additionalProperties": false
131
131
  },
132
132
  "CombatTechniquesTargetGroup": {
133
- "enum": [
134
- "All",
135
- "Close",
136
- "Ranged"
133
+ "oneOf": [
134
+ {
135
+ "const": "All"
136
+ },
137
+ {
138
+ "const": "Close"
139
+ },
140
+ {
141
+ "const": "Ranged"
142
+ }
137
143
  ]
138
144
  },
139
145
  "RatedMinimumNumberPrerequisiteSpellworksTarget": {
@@ -17,9 +17,13 @@
17
17
  "additionalProperties": false
18
18
  },
19
19
  "SexualCharacteristic": {
20
- "enum": [
21
- "Penis",
22
- "Vagina"
20
+ "oneOf": [
21
+ {
22
+ "const": "Penis"
23
+ },
24
+ {
25
+ "const": "Vagina"
26
+ }
23
27
  ]
24
28
  }
25
29
  }
@@ -38,15 +38,23 @@
38
38
  "additionalProperties": false
39
39
  },
40
40
  "TextVerificationRule": {
41
- "enum": [
42
- "Pass",
43
- "Deny"
41
+ "oneOf": [
42
+ {
43
+ "const": "Pass"
44
+ },
45
+ {
46
+ "const": "Deny"
47
+ }
44
48
  ]
45
49
  },
46
50
  "SentenceType": {
47
- "enum": [
48
- "Standalone",
49
- "Connected"
51
+ "oneOf": [
52
+ {
53
+ "const": "Standalone"
54
+ },
55
+ {
56
+ "const": "Connected"
57
+ }
50
58
  ]
51
59
  },
52
60
  "TextPrerequisiteTranslation": {
@@ -19,9 +19,13 @@
19
19
  },
20
20
  "BlessedTraditionPrerequisiteRestriction": {
21
21
  "description": "The blessed tradition prerequisite may only be satified if the blessed\ntradition is either church or shamanistic.",
22
- "enum": [
23
- "Church",
24
- "Shamanistic"
22
+ "oneOf": [
23
+ {
24
+ "const": "Church"
25
+ },
26
+ {
27
+ "const": "Shamanistic"
28
+ }
25
29
  ]
26
30
  },
27
31
  "MagicalTraditionPrerequisite": {
@@ -41,9 +45,13 @@
41
45
  },
42
46
  "MagicalTraditionPrerequisiteRestriction": {
43
47
  "description": "The magical tradition prerequisite may only be satified if the magical\ntradition can learn rituals or can bind familiars.",
44
- "enum": [
45
- "CanLearnRituals",
46
- "CanBindFamiliars"
48
+ "oneOf": [
49
+ {
50
+ "const": "CanLearnRituals"
51
+ },
52
+ {
53
+ "const": "CanBindFamiliars"
54
+ }
47
55
  ]
48
56
  }
49
57
  }