optolith-database-schema 0.2.4 → 0.4.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 (518) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/lib/config.d.ts +302 -250
  3. package/lib/config.js +302 -250
  4. package/lib/main.d.ts +3 -2
  5. package/lib/main.js +1 -1
  6. package/lib/types/Advantage.d.ts +23 -25
  7. package/lib/types/AnimalDisease.d.ts +18 -212
  8. package/lib/types/AnimalType.d.ts +9 -13
  9. package/lib/types/ArcaneBardTradition.d.ts +3 -27
  10. package/lib/types/ArcaneDancerTradition.d.ts +3 -27
  11. package/lib/types/Aspect.d.ts +14 -19
  12. package/lib/types/Attribute.d.ts +17 -23
  13. package/lib/types/Blessing.d.ts +81 -83
  14. package/lib/types/Cantrip.d.ts +132 -161
  15. package/lib/types/Ceremony.d.ts +55 -88
  16. package/lib/types/CombatTechnique_Close.d.ts +30 -39
  17. package/lib/types/CombatTechnique_Ranged.d.ts +28 -26
  18. package/lib/types/Condition.d.ts +18 -31
  19. package/lib/types/Continent.d.ts +9 -13
  20. package/lib/types/Culture.d.ts +164 -290
  21. package/lib/types/Culture.js +38 -0
  22. package/lib/types/DerivedCharacteristic.d.ts +4 -10
  23. package/lib/types/Disadvantage.d.ts +20 -24
  24. package/lib/types/Disease.d.ts +5 -140
  25. package/lib/types/Element.d.ts +9 -13
  26. package/lib/types/ExperienceLevel.d.ts +3 -9
  27. package/lib/types/EyeColor.d.ts +9 -13
  28. package/lib/types/FamiliarsTrick.d.ts +201 -290
  29. package/lib/types/HairColor.d.ts +9 -13
  30. package/lib/types/Lessons_Curriculum.d.ts +77 -138
  31. package/lib/types/Lessons_Guideline.d.ts +9 -13
  32. package/lib/types/LiturgicalChant.d.ts +55 -88
  33. package/lib/types/Locale.d.ts +1 -1
  34. package/lib/types/Locale.js +1 -1
  35. package/lib/types/MetaCondition.d.ts +18 -31
  36. package/lib/types/PactCategory.d.ts +48 -62
  37. package/lib/types/Patron.d.ts +60 -76
  38. package/lib/types/Patron.js +20 -0
  39. package/lib/types/PatronCategory.d.ts +11 -21
  40. package/lib/types/PersonalityTrait.d.ts +31 -39
  41. package/lib/types/Profession.d.ts +293 -435
  42. package/lib/types/Profession.js +6 -0
  43. package/lib/types/Property.d.ts +9 -13
  44. package/lib/types/Race.d.ts +95 -192
  45. package/lib/types/Race.js +11 -0
  46. package/lib/types/Region.d.ts +9 -13
  47. package/lib/types/Ritual.d.ts +58 -83
  48. package/lib/types/Service.d.ts +19 -25
  49. package/lib/types/Service.js +5 -0
  50. package/lib/types/SexPractice.d.ts +26 -34
  51. package/lib/types/Skill.d.ts +73 -102
  52. package/lib/types/Skill.js +19 -0
  53. package/lib/types/SkillGroup.d.ts +13 -18
  54. package/lib/types/SkillModificationLevel.d.ts +72 -76
  55. package/lib/types/SocialStatus.d.ts +9 -13
  56. package/lib/types/Spell.d.ts +58 -83
  57. package/lib/types/State.d.ts +14 -20
  58. package/lib/types/Talisman.d.ts +40 -54
  59. package/lib/types/Talisman.js +8 -0
  60. package/lib/types/TargetCategory.d.ts +21 -16
  61. package/lib/types/UI.d.ts +1 -5
  62. package/lib/types/_Activatable.d.ts +646 -1227
  63. package/lib/types/_Activatable.js +44 -13
  64. package/lib/types/_ActivatableSelectOptionCategory.d.ts +359 -0
  65. package/lib/types/_ActivatableSelectOptionCategory.js +8 -0
  66. package/lib/types/_ActivatableSkill.d.ts +24 -1016
  67. package/lib/types/_ActivatableSkill.js +1 -32
  68. package/lib/types/_ActivatableSkillCastingTime.d.ts +69 -0
  69. package/lib/types/_ActivatableSkillCastingTime.js +5 -0
  70. package/lib/types/_ActivatableSkillCheckResultBased.d.ts +39 -0
  71. package/lib/types/_ActivatableSkillCheckResultBased.js +16 -0
  72. package/lib/types/_ActivatableSkillCost.d.ts +223 -0
  73. package/lib/types/{prerequisites/single/CommonSuggestedByRCPPrerequisite.js → _ActivatableSkillCost.js} +0 -0
  74. package/lib/types/_ActivatableSkillDuration.d.ts +138 -0
  75. package/lib/types/_ActivatableSkillDuration.js +13 -0
  76. package/lib/types/_ActivatableSkillEffect.d.ts +68 -0
  77. package/lib/types/{equipment/_Armor.js → _ActivatableSkillEffect.js} +0 -3
  78. package/lib/types/_ActivatableSkillRange.d.ts +107 -0
  79. package/lib/types/_ActivatableSkillRange.js +5 -0
  80. package/lib/types/_ActivatableSkillTargetCategory.d.ts +39 -0
  81. package/lib/types/_ActivatableSkillTargetCategory.js +1 -0
  82. package/lib/types/_AlternativeNames.d.ts +11 -0
  83. package/lib/types/_AlternativeNames.js +1 -0
  84. package/lib/types/_ArcaneTradition.d.ts +28 -0
  85. package/lib/types/_ArcaneTradition.js +4 -0
  86. package/lib/types/_Blessed.d.ts +22 -0
  87. package/lib/types/_Blessed.js +1 -0
  88. package/lib/types/_DiseasePoison.d.ts +114 -0
  89. package/lib/types/_DiseasePoison.js +15 -0
  90. package/lib/types/_Enhancements.d.ts +16 -20
  91. package/lib/types/_I18n.d.ts +1 -5
  92. package/lib/types/_Identifier.d.ts +32 -0
  93. package/lib/types/_Identifier.js +32 -0
  94. package/lib/types/_Influence.d.ts +27 -32
  95. package/lib/types/_LocaleMap.d.ts +10 -0
  96. package/lib/types/_LocaleMap.js +1 -0
  97. package/lib/types/_NonEmptyString.d.ts +9 -0
  98. package/lib/types/_NonEmptyString.js +1 -0
  99. package/lib/types/_Prerequisite.d.ts +61 -65
  100. package/lib/types/_ResponsiveText.d.ts +54 -0
  101. package/lib/types/_ResponsiveText.js +1 -0
  102. package/lib/types/_Sex.d.ts +4 -5
  103. package/lib/types/_Sex.js +8 -1
  104. package/lib/types/_SimpleReferences.d.ts +334 -0
  105. package/lib/types/_SimpleReferences.js +1 -0
  106. package/lib/types/_SkillCheck.d.ts +12 -20
  107. package/lib/types/_SkillCheck.js +11 -1
  108. package/lib/types/_Spellwork.d.ts +18 -0
  109. package/lib/types/_Spellwork.js +1 -0
  110. package/lib/types/equipment/EquipmentPackage.d.ts +24 -28
  111. package/lib/types/equipment/item/Alchemicum.d.ts +6 -0
  112. package/lib/types/equipment/item/Alchemicum.js +5 -0
  113. package/lib/types/equipment/item/Ammunition.d.ts +31 -0
  114. package/lib/types/equipment/item/Ammunition.js +5 -0
  115. package/lib/types/equipment/item/Animal.d.ts +18 -0
  116. package/lib/types/equipment/item/Animal.js +5 -0
  117. package/lib/types/equipment/item/AnimalCare.d.ts +48 -0
  118. package/lib/types/equipment/item/AnimalCare.js +5 -0
  119. package/lib/types/equipment/item/Armor.d.ts +185 -0
  120. package/lib/types/equipment/item/Armor.js +5 -0
  121. package/lib/types/equipment/item/BandageOrRemedy.d.ts +36 -0
  122. package/lib/types/equipment/item/BandageOrRemedy.js +5 -0
  123. package/lib/types/equipment/item/Book.d.ts +60 -0
  124. package/lib/types/equipment/item/Book.js +5 -0
  125. package/lib/types/equipment/item/CeremonialItem.d.ts +41 -0
  126. package/lib/types/equipment/item/CeremonialItem.js +5 -0
  127. package/lib/types/equipment/item/Clothes.d.ts +6 -0
  128. package/lib/types/equipment/item/Clothes.js +5 -0
  129. package/lib/types/equipment/item/Container.d.ts +6 -0
  130. package/lib/types/equipment/item/Container.js +5 -0
  131. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +28 -0
  132. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +5 -0
  133. package/lib/types/equipment/item/GemOrPreciousStone.d.ts +43 -0
  134. package/lib/types/equipment/item/GemOrPreciousStone.js +5 -0
  135. package/lib/types/equipment/item/IlluminationLightSource.d.ts +62 -0
  136. package/lib/types/equipment/item/IlluminationLightSource.js +9 -0
  137. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.d.ts +6 -0
  138. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.js +5 -0
  139. package/lib/types/equipment/item/Jewelry.d.ts +60 -0
  140. package/lib/types/equipment/item/Jewelry.js +5 -0
  141. package/lib/types/equipment/item/Liebesspielzeug.d.ts +6 -0
  142. package/lib/types/equipment/item/Liebesspielzeug.js +5 -0
  143. package/lib/types/equipment/item/LuxuryGood.d.ts +36 -0
  144. package/lib/types/equipment/item/LuxuryGood.js +5 -0
  145. package/lib/types/equipment/item/MagicalArtifact.d.ts +39 -0
  146. package/lib/types/equipment/item/MagicalArtifact.js +5 -0
  147. package/lib/types/equipment/item/MusicalInstrument.d.ts +22 -0
  148. package/lib/types/equipment/item/MusicalInstrument.js +5 -0
  149. package/lib/types/equipment/item/OrienteeringAid.d.ts +6 -0
  150. package/lib/types/equipment/item/OrienteeringAid.js +5 -0
  151. package/lib/types/equipment/item/Poison.d.ts +165 -0
  152. package/lib/types/equipment/item/Poison.js +12 -0
  153. package/lib/types/equipment/item/RopeOrChain.d.ts +6 -0
  154. package/lib/types/equipment/item/RopeOrChain.js +5 -0
  155. package/lib/types/equipment/item/Stationary.d.ts +6 -0
  156. package/lib/types/equipment/item/Stationary.js +5 -0
  157. package/lib/types/equipment/item/ThievesTool.d.ts +6 -0
  158. package/lib/types/equipment/item/ThievesTool.js +5 -0
  159. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +56 -0
  160. package/lib/types/equipment/item/ToolOfTheTrade.js +5 -0
  161. package/lib/types/equipment/item/TravelGearOrTool.d.ts +6 -0
  162. package/lib/types/equipment/item/TravelGearOrTool.js +5 -0
  163. package/lib/types/equipment/item/Vehicle.d.ts +18 -0
  164. package/lib/types/equipment/item/Vehicle.js +5 -0
  165. package/lib/types/equipment/item/Weapon.d.ts +152 -0
  166. package/lib/types/equipment/item/Weapon.js +5 -0
  167. package/lib/types/equipment/item/WeaponAccessory.d.ts +6 -0
  168. package/lib/types/equipment/item/WeaponAccessory.js +5 -0
  169. package/lib/types/equipment/item/_Item.d.ts +163 -0
  170. package/lib/types/equipment/item/_Item.js +1 -0
  171. package/lib/types/equipment/item/_MeleeWeapon.d.ts +115 -0
  172. package/lib/types/equipment/item/_MeleeWeapon.js +4 -0
  173. package/lib/types/equipment/item/_RangedWeapon.d.ts +110 -0
  174. package/lib/types/equipment/item/_RangedWeapon.js +4 -0
  175. package/lib/types/equipment/item/_Weapon.d.ts +57 -0
  176. package/lib/types/equipment/{_Weapon.js → item/_Weapon.js} +0 -3
  177. package/lib/types/equipment/item/sub/ArmorType.d.ts +36 -0
  178. package/lib/types/equipment/{ArmorType.js → item/sub/ArmorType.js} +1 -1
  179. package/lib/types/equipment/item/sub/Reach.d.ts +27 -0
  180. package/lib/types/equipment/{Reach.js → item/sub/Reach.js} +1 -1
  181. package/lib/types/magicalActions/AnimistPower.d.ts +170 -225
  182. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +9 -13
  183. package/lib/types/magicalActions/Curse.d.ts +116 -184
  184. package/lib/types/magicalActions/DominationRitual.d.ts +98 -136
  185. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +79 -123
  186. package/lib/types/magicalActions/GeodeRitual.d.ts +126 -111
  187. package/lib/types/magicalActions/JesterTrick.d.ts +117 -109
  188. package/lib/types/magicalActions/MagicalDance.d.ts +71 -138
  189. package/lib/types/magicalActions/MagicalMelody.d.ts +65 -75
  190. package/lib/types/magicalActions/MagicalRune.d.ts +155 -189
  191. package/lib/types/magicalActions/ZibiljaRitual.d.ts +57 -65
  192. package/lib/types/magicalActions/_MusicTradition.d.ts +21 -13
  193. package/lib/types/magicalActions/_MusicTradition.js +10 -1
  194. package/lib/types/magicalActions/_SkillReference.d.ts +1 -1
  195. package/lib/types/prerequisites/DisplayOption.d.ts +7 -8
  196. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +195 -16
  197. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +0 -3
  198. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +0 -1
  199. package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +0 -1
  200. package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +17 -14
  201. package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +0 -1
  202. package/lib/types/prerequisites/single/PactPrerequisite.d.ts +5 -14
  203. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +5 -6
  204. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +5 -1
  205. package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +0 -1
  206. package/lib/types/prerequisites/single/RacePrerequisite.d.ts +0 -1
  207. package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +32 -41
  208. package/lib/types/prerequisites/single/RulePrerequisite.d.ts +0 -1
  209. package/lib/types/prerequisites/single/SexPrerequisite.d.ts +0 -1
  210. package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +0 -1
  211. package/lib/types/prerequisites/single/StatePrerequisite.d.ts +0 -1
  212. package/lib/types/prerequisites/single/TextPrerequisite.d.ts +9 -14
  213. package/lib/types/prerequisites/single/TextPrerequisite.js +5 -1
  214. package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +18 -12
  215. package/lib/types/prerequisites/single/TraditionPrerequisite.js +18 -1
  216. package/lib/types/rule/CoreRule.d.ts +256 -206
  217. package/lib/types/rule/CoreRule.js +5 -0
  218. package/lib/types/rule/FocusRule.d.ts +19 -24
  219. package/lib/types/rule/FocusRule_Subject.d.ts +9 -13
  220. package/lib/types/rule/OptionalRule.d.ts +12 -35
  221. package/lib/types/rule/_Rule.d.ts +20 -0
  222. package/lib/types/rule/_Rule.js +1 -0
  223. package/lib/types/source/Publication.d.ts +39 -56
  224. package/lib/types/source/Publication.js +10 -0
  225. package/lib/types/source/_Erratum.d.ts +2 -1
  226. package/lib/types/source/_PublicationRef.d.ts +43 -37
  227. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +13 -17
  228. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +8 -12
  229. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +8 -12
  230. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +8 -12
  231. package/lib/types/specialAbility/AncestorGlyph.d.ts +8 -12
  232. package/lib/types/specialAbility/BlessedTradition.d.ts +95 -123
  233. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +9 -13
  234. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +9 -13
  235. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +13 -17
  236. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +10 -18
  237. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +1 -1
  238. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +8 -12
  239. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +8 -12
  240. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +8 -12
  241. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +8 -12
  242. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +8 -12
  243. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +8 -12
  244. package/lib/types/specialAbility/LycantropicGift.d.ts +8 -12
  245. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +8 -12
  246. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +8 -12
  247. package/lib/types/specialAbility/MagicalTradition.d.ts +38 -58
  248. package/lib/types/specialAbility/PactGift.d.ts +73 -62
  249. package/lib/types/specialAbility/PactGift.js +10 -0
  250. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +16 -23
  251. package/lib/types/specialAbility/Sermon.d.ts +8 -12
  252. package/lib/types/specialAbility/SexSpecialAbility.d.ts +8 -12
  253. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +8 -12
  254. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +8 -12
  255. package/lib/types/specialAbility/VampiricGift.d.ts +8 -12
  256. package/lib/types/specialAbility/Vision.d.ts +8 -12
  257. package/lib/types/specialAbility/_Tradition.d.ts +12 -0
  258. package/lib/types/specialAbility/_Tradition.js +1 -0
  259. package/lib/types/specialAbility/sub/Language.d.ts +78 -104
  260. package/lib/types/specialAbility/sub/Script.d.ts +24 -51
  261. package/lib/types/specialAbility/sub/TradeSecret.d.ts +14 -20
  262. package/lib/types/specialAbility/sub/_LanguageScript.d.ts +13 -0
  263. package/lib/types/specialAbility/sub/_LanguageScript.js +1 -0
  264. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +20 -24
  265. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +20 -24
  266. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +20 -24
  267. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +31 -34
  268. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +20 -24
  269. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +45 -25
  270. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +20 -24
  271. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +20 -24
  272. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +20 -24
  273. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +20 -24
  274. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +20 -24
  275. package/lib/types/traditionArtifacts/SickleRitual.d.ts +20 -24
  276. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +20 -24
  277. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +21 -25
  278. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +21 -25
  279. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +20 -24
  280. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +20 -24
  281. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +19 -24
  282. package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +24 -16
  283. package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +9 -13
  284. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +9 -13
  285. package/lib/types/traditionArtifacts/sub/Brew.d.ts +9 -13
  286. package/lib/validation/schema.d.ts +11 -2
  287. package/lib/validation/schema.js +16 -4
  288. package/package.json +8 -7
  289. package/schema/Advantage.schema.json +49 -42
  290. package/schema/AnimalDisease.schema.json +17 -325
  291. package/schema/AnimalType.schema.json +17 -15
  292. package/schema/ArcaneBardTradition.schema.json +4 -42
  293. package/schema/ArcaneDancerTradition.schema.json +4 -42
  294. package/schema/Aspect.schema.json +21 -20
  295. package/schema/Attribute.schema.json +27 -27
  296. package/schema/Blessing.schema.json +202 -147
  297. package/schema/Cantrip.schema.json +352 -292
  298. package/schema/Ceremony.schema.json +90 -149
  299. package/schema/CombatTechnique_Close.schema.json +56 -67
  300. package/schema/CombatTechnique_Ranged.schema.json +46 -30
  301. package/schema/Condition.schema.json +46 -50
  302. package/schema/Continent.schema.json +18 -15
  303. package/schema/Culture.schema.json +324 -495
  304. package/schema/DerivedCharacteristic.schema.json +8 -8
  305. package/schema/Disadvantage.schema.json +45 -40
  306. package/schema/Disease.schema.json +7 -193
  307. package/schema/Element.schema.json +18 -15
  308. package/schema/ExperienceLevel.schema.json +5 -5
  309. package/schema/EyeColor.schema.json +17 -15
  310. package/schema/FamiliarsTrick.schema.json +491 -513
  311. package/schema/HairColor.schema.json +17 -15
  312. package/schema/Kirchenpraegung.schema.json +4 -4
  313. package/schema/Lessons_Curriculum.schema.json +234 -236
  314. package/schema/Lessons_Guideline.schema.json +17 -15
  315. package/schema/LiturgicalChant.schema.json +90 -149
  316. package/schema/Locale.schema.json +5 -5
  317. package/schema/MetaCondition.schema.json +46 -50
  318. package/schema/PactCategory.schema.json +101 -89
  319. package/schema/Patron.schema.json +151 -229
  320. package/schema/PatronCategory.schema.json +18 -27
  321. package/schema/PersonalityTrait.schema.json +50 -57
  322. package/schema/Profession.schema.json +833 -993
  323. package/schema/Property.schema.json +18 -16
  324. package/schema/Race.schema.json +170 -311
  325. package/schema/Region.schema.json +17 -15
  326. package/schema/Ritual.schema.json +111 -158
  327. package/schema/Service.schema.json +33 -51
  328. package/schema/SexPractice.schema.json +37 -39
  329. package/schema/Skill.schema.json +95 -162
  330. package/schema/SkillGroup.schema.json +23 -22
  331. package/schema/SkillModificationLevel.schema.json +93 -82
  332. package/schema/SocialStatus.schema.json +17 -15
  333. package/schema/Spell.schema.json +110 -158
  334. package/schema/State.schema.json +26 -25
  335. package/schema/Talisman.schema.json +60 -121
  336. package/schema/TargetCategory.schema.json +35 -20
  337. package/schema/UI.schema.json +830 -834
  338. package/schema/_Activatable.schema.json +1612 -2261
  339. package/schema/_ActivatableSelectOptionCategory.schema.json +1172 -0
  340. package/schema/_ActivatableSkill.schema.json +96 -1692
  341. package/schema/_ActivatableSkillCastingTime.schema.json +177 -0
  342. package/schema/_ActivatableSkillCheckResultBased.schema.json +57 -0
  343. package/schema/_ActivatableSkillCost.schema.json +448 -0
  344. package/schema/_ActivatableSkillDuration.schema.json +335 -0
  345. package/schema/_ActivatableSkillEffect.schema.json +153 -0
  346. package/schema/_ActivatableSkillRange.schema.json +241 -0
  347. package/schema/_ActivatableSkillTargetCategory.schema.json +145 -0
  348. package/schema/_AlternativeNames.schema.json +23 -0
  349. package/schema/_ArcaneTradition.schema.json +51 -0
  350. package/schema/_Blessed.schema.json +64 -0
  351. package/schema/_CommonnessRatedAdvantageDisadvantage.schema.json +2 -2
  352. package/schema/_Dice.schema.json +3 -3
  353. package/schema/_DiseasePoison.schema.json +140 -0
  354. package/schema/_Enhancements.schema.json +29 -26
  355. package/schema/_I18n.schema.json +8 -12
  356. package/schema/_Identifier.schema.json +73 -22
  357. package/schema/_ImprovementCost.schema.json +2 -2
  358. package/schema/_Influence.schema.json +48 -45
  359. package/schema/_NonEmptyString.schema.json +14 -0
  360. package/schema/_Prerequisite.schema.json +830 -651
  361. package/schema/_ResponsiveText.schema.json +66 -0
  362. package/schema/_Sex.schema.json +6 -28
  363. package/schema/_SimpleReferences.schema.json +586 -0
  364. package/schema/_SkillCheck.schema.json +10 -69
  365. package/schema/_Spellwork.schema.json +54 -0
  366. package/schema/equipment/EquipmentPackage.schema.json +37 -32
  367. package/schema/equipment/item/Alchemicum.schema.json +10 -0
  368. package/schema/equipment/item/Ammunition.schema.json +56 -0
  369. package/schema/equipment/item/Animal.schema.json +36 -0
  370. package/schema/equipment/item/AnimalCare.schema.json +124 -0
  371. package/schema/equipment/item/Armor.schema.json +309 -0
  372. package/schema/equipment/item/BandageOrRemedy.schema.json +53 -0
  373. package/schema/equipment/item/Book.schema.json +89 -0
  374. package/schema/equipment/item/CeremonialItem.schema.json +59 -0
  375. package/schema/equipment/item/Clothes.schema.json +10 -0
  376. package/schema/equipment/item/Container.schema.json +10 -0
  377. package/schema/equipment/item/EquipmentOfBlessedOnes.schema.json +46 -0
  378. package/schema/equipment/item/GemOrPreciousStone.schema.json +69 -0
  379. package/schema/equipment/item/IlluminationLightSource.schema.json +122 -0
  380. package/schema/equipment/item/IlluminationRefillsOrSupplies.schema.json +10 -0
  381. package/schema/equipment/item/Jewelry.schema.json +113 -0
  382. package/schema/equipment/item/Liebesspielzeug.schema.json +10 -0
  383. package/schema/equipment/item/LuxuryGood.schema.json +53 -0
  384. package/schema/equipment/item/MagicalArtifact.schema.json +64 -0
  385. package/schema/equipment/item/MusicalInstrument.schema.json +41 -0
  386. package/schema/equipment/item/OrienteeringAid.schema.json +10 -0
  387. package/schema/equipment/item/Poison.schema.json +369 -0
  388. package/schema/equipment/item/RopeOrChain.schema.json +10 -0
  389. package/schema/equipment/item/Stationary.schema.json +10 -0
  390. package/schema/equipment/item/ThievesTool.schema.json +10 -0
  391. package/schema/equipment/item/ToolOfTheTrade.schema.json +82 -0
  392. package/schema/equipment/item/TravelGearOrTool.schema.json +10 -0
  393. package/schema/equipment/item/Vehicle.schema.json +36 -0
  394. package/schema/equipment/item/Weapon.schema.json +265 -0
  395. package/schema/equipment/item/WeaponAccessory.schema.json +10 -0
  396. package/schema/equipment/item/_Item.schema.json +403 -0
  397. package/schema/equipment/item/_MeleeWeapon.schema.json +180 -0
  398. package/schema/equipment/item/_RangedWeapon.schema.json +186 -0
  399. package/schema/equipment/item/_Weapon.schema.json +99 -0
  400. package/schema/equipment/item/sub/ArmorType.schema.json +53 -0
  401. package/schema/equipment/{Reach.schema.json → item/sub/Reach.schema.json} +18 -16
  402. package/schema/magicalActions/AnimistPower.schema.json +427 -402
  403. package/schema/magicalActions/AnimistPower_Tribe.schema.json +17 -15
  404. package/schema/magicalActions/Curse.schema.json +293 -313
  405. package/schema/magicalActions/DominationRitual.schema.json +233 -220
  406. package/schema/magicalActions/ElvenMagicalSong.schema.json +132 -154
  407. package/schema/magicalActions/GeodeRitual.schema.json +296 -220
  408. package/schema/magicalActions/JesterTrick.schema.json +269 -198
  409. package/schema/magicalActions/MagicalDance.schema.json +147 -251
  410. package/schema/magicalActions/MagicalMelody.schema.json +129 -164
  411. package/schema/magicalActions/MagicalRune.schema.json +341 -323
  412. package/schema/magicalActions/ZibiljaRitual.schema.json +139 -112
  413. package/schema/magicalActions/_MusicTradition.schema.json +44 -14
  414. package/schema/magicalActions/_SkillReference.schema.json +4 -4
  415. package/schema/prerequisites/ConditionalPrerequisites.schema.json +3 -3
  416. package/schema/prerequisites/DisplayOption.schema.json +33 -15
  417. package/schema/prerequisites/PrerequisiteGroups.schema.json +845 -62
  418. package/schema/prerequisites/single/ActivatablePrerequisite.schema.json +13 -25
  419. package/schema/prerequisites/single/AnimistPowerPrerequisite.schema.json +4 -7
  420. package/schema/prerequisites/single/CulturePrerequisite.schema.json +4 -8
  421. package/schema/prerequisites/single/EnhancementPrerequisite.schema.json +30 -23
  422. package/schema/prerequisites/single/InfluencePrerequisite.schema.json +3 -7
  423. package/schema/prerequisites/single/PactPrerequisite.schema.json +9 -19
  424. package/schema/prerequisites/single/PrimaryAttributePrerequisite.schema.json +10 -33
  425. package/schema/prerequisites/single/PublicationPrerequisite.schema.json +3 -7
  426. package/schema/prerequisites/single/RacePrerequisite.schema.json +4 -8
  427. package/schema/prerequisites/single/RatedPrerequisite.schema.json +104 -107
  428. package/schema/prerequisites/single/RulePrerequisite.schema.json +4 -8
  429. package/schema/prerequisites/single/SexPrerequisite.schema.json +4 -8
  430. package/schema/prerequisites/single/SocialStatusPrerequisite.schema.json +3 -7
  431. package/schema/prerequisites/single/StatePrerequisite.schema.json +4 -8
  432. package/schema/prerequisites/single/TextPrerequisite.schema.json +13 -34
  433. package/schema/prerequisites/single/TraditionPrerequisite.schema.json +22 -68
  434. package/schema/rule/CoreRule.schema.json +1295 -859
  435. package/schema/rule/FocusRule.schema.json +34 -30
  436. package/schema/rule/FocusRule_Subject.schema.json +17 -15
  437. package/schema/rule/OptionalRule.schema.json +24 -56
  438. package/schema/rule/_Rule.schema.json +59 -0
  439. package/schema/source/Publication.schema.json +47 -117
  440. package/schema/source/_Erratum.schema.json +5 -6
  441. package/schema/source/_PublicationRef.schema.json +103 -59
  442. package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +41 -38
  443. package/schema/specialAbility/AdvancedKarmaSpecialAbility.schema.json +35 -32
  444. package/schema/specialAbility/AdvancedMagicalSpecialAbility.schema.json +35 -32
  445. package/schema/specialAbility/AdvancedSkillSpecialAbility.schema.json +35 -32
  446. package/schema/specialAbility/AncestorGlyph.schema.json +33 -30
  447. package/schema/specialAbility/BlessedTradition.schema.json +251 -224
  448. package/schema/specialAbility/BrawlingSpecialAbility.schema.json +35 -32
  449. package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +36 -34
  450. package/schema/specialAbility/CombatSpecialAbility.schema.json +41 -38
  451. package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +39 -61
  452. package/schema/specialAbility/CommandSpecialAbility.schema.json +16 -16
  453. package/schema/specialAbility/FamiliarSpecialAbility.schema.json +33 -30
  454. package/schema/specialAbility/FatePointSexSpecialAbility.schema.json +33 -30
  455. package/schema/specialAbility/FatePointSpecialAbility.schema.json +35 -32
  456. package/schema/specialAbility/GeneralSpecialAbility.schema.json +35 -32
  457. package/schema/specialAbility/KarmaSpecialAbility.schema.json +33 -30
  458. package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +36 -33
  459. package/schema/specialAbility/LycantropicGift.schema.json +33 -30
  460. package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +36 -33
  461. package/schema/specialAbility/MagicalSpecialAbility.schema.json +35 -32
  462. package/schema/specialAbility/MagicalTradition.schema.json +66 -87
  463. package/schema/specialAbility/PactGift.schema.json +196 -174
  464. package/schema/specialAbility/ProtectiveWardingCircleSpecialAbility.schema.json +39 -38
  465. package/schema/specialAbility/Sermon.schema.json +33 -30
  466. package/schema/specialAbility/SexSpecialAbility.schema.json +35 -32
  467. package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +33 -30
  468. package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +34 -31
  469. package/schema/specialAbility/VampiricGift.schema.json +33 -30
  470. package/schema/specialAbility/Vision.schema.json +33 -30
  471. package/schema/specialAbility/_Tradition.schema.json +23 -0
  472. package/schema/specialAbility/sub/Language.schema.json +170 -162
  473. package/schema/specialAbility/sub/Script.schema.json +35 -72
  474. package/schema/specialAbility/sub/TradeSecret.schema.json +26 -25
  475. package/schema/specialAbility/sub/_LanguageScript.schema.json +26 -0
  476. package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +46 -43
  477. package/schema/traditionArtifacts/AttireEnchantment.schema.json +46 -43
  478. package/schema/traditionArtifacts/BowlEnchantment.schema.json +46 -43
  479. package/schema/traditionArtifacts/CauldronEnchantment.schema.json +63 -56
  480. package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +46 -43
  481. package/schema/traditionArtifacts/DaggerRitual.schema.json +132 -43
  482. package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +46 -43
  483. package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +46 -43
  484. package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +46 -43
  485. package/schema/traditionArtifacts/OrbEnchantment.schema.json +46 -43
  486. package/schema/traditionArtifacts/RingEnchantment.schema.json +46 -43
  487. package/schema/traditionArtifacts/SickleRitual.schema.json +46 -43
  488. package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +46 -43
  489. package/schema/traditionArtifacts/StaffEnchantment.schema.json +47 -43
  490. package/schema/traditionArtifacts/ToyEnchantment.schema.json +47 -43
  491. package/schema/traditionArtifacts/Trinkhornzauber.schema.json +46 -43
  492. package/schema/traditionArtifacts/WandEnchantment.schema.json +46 -43
  493. package/schema/traditionArtifacts/WeaponEnchantment.schema.json +46 -50
  494. package/schema/traditionArtifacts/sub/AnimalShape.schema.json +53 -25
  495. package/schema/traditionArtifacts/sub/AnimalShapePath.schema.json +17 -15
  496. package/schema/traditionArtifacts/sub/AnimalShapeSize.schema.json +17 -15
  497. package/schema/traditionArtifacts/sub/Brew.schema.json +17 -15
  498. package/lib/types/MagicalTraditionPlaceholder.d.ts +0 -32
  499. package/lib/types/MagicalTraditionPlaceholder.js +0 -5
  500. package/lib/types/Poison.d.ts +0 -208
  501. package/lib/types/Poison.js +0 -5
  502. package/lib/types/equipment/ArmorType.d.ts +0 -31
  503. package/lib/types/equipment/Item.d.ts +0 -308
  504. package/lib/types/equipment/Item.js +0 -35
  505. package/lib/types/equipment/ItemGroup.d.ts +0 -31
  506. package/lib/types/equipment/ItemGroup.js +0 -5
  507. package/lib/types/equipment/Reach.d.ts +0 -31
  508. package/lib/types/equipment/_Armor.d.ts +0 -70
  509. package/lib/types/equipment/_Weapon.d.ts +0 -330
  510. package/lib/types/prerequisites/single/CommonSuggestedByRCPPrerequisite.d.ts +0 -3
  511. package/schema/MagicalTraditionPlaceholder.schema.json +0 -45
  512. package/schema/Poison.schema.json +0 -417
  513. package/schema/equipment/ArmorType.schema.json +0 -45
  514. package/schema/equipment/Item.schema.json +0 -621
  515. package/schema/equipment/ItemGroup.schema.json +0 -45
  516. package/schema/equipment/_Armor.schema.json +0 -125
  517. package/schema/equipment/_Weapon.schema.json +0 -664
  518. package/schema/prerequisites/single/CommonSuggestedByRCPPrerequisite.schema.json +0 -18
@@ -1,123 +1,146 @@
1
1
  {
2
- "$schema": "http://json-schema.org/draft-07/schema",
2
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
3
3
  "$id": "/_Prerequisite.schema.json",
4
- "definitions": {
5
- "PrerequisiteCollection": {},
4
+ "$defs": {
6
5
  "DerivedCharacteristicPrerequisites": {
7
- "type": "object",
8
- "properties": {
9
- "tag": {
10
- "const": "Plain"
11
- },
12
- "list": {
13
- "type": "array",
14
- "items": {
15
- "oneOf": [
16
- {
17
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/DerivedCharacteristicPrerequisiteGroup"
18
- },
19
- {
20
- "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.",
21
- "type": "object",
22
- "properties": {
23
- "tag": {
24
- "const": "Group"
25
- },
26
- "list": {
27
- "type": "array",
28
- "items": {
29
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/DerivedCharacteristicPrerequisiteGroup"
30
- },
31
- "minItems": 2
6
+ "oneOf": [
7
+ {
8
+ "type": "object",
9
+ "properties": {
10
+ "tag": {
11
+ "const": "Plain"
12
+ },
13
+ "plain": {
14
+ "type": "array",
15
+ "items": {
16
+ "oneOf": [
17
+ {
18
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/DerivedCharacteristicPrerequisiteGroup"
32
19
  },
33
- "translations": {
34
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
20
+ {
35
21
  "type": "object",
36
- "patternProperties": {
37
- "^[a-z]{2}-[A-Z]{2}$": {
38
- "type": "string",
39
- "minLength": 1
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
40
54
  }
41
55
  },
42
- "minProperties": 1,
56
+ "required": [
57
+ "tag",
58
+ "group"
59
+ ],
43
60
  "additionalProperties": false
44
61
  }
45
- },
46
- "required": [
47
- "tag",
48
- "list",
49
- "translations"
50
- ],
51
- "additionalProperties": false
52
- }
53
- ]
62
+ ]
63
+ },
64
+ "minItems": 1
65
+ }
54
66
  },
55
- "minItems": 1
67
+ "required": [
68
+ "tag",
69
+ "plain"
70
+ ],
71
+ "additionalProperties": false
56
72
  }
57
- },
58
- "required": [
59
- "tag",
60
- "list"
61
- ],
62
- "additionalProperties": false
73
+ ]
63
74
  },
64
75
  "PublicationPrerequisites": {
65
- "type": "object",
66
- "properties": {
67
- "tag": {
68
- "const": "Plain"
69
- },
70
- "list": {
71
- "type": "array",
72
- "items": {
73
- "oneOf": [
74
- {
75
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/PublicationPrerequisiteGroup"
76
- },
77
- {
78
- "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.",
79
- "type": "object",
80
- "properties": {
81
- "tag": {
82
- "const": "Group"
83
- },
84
- "list": {
85
- "type": "array",
86
- "items": {
87
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/PublicationPrerequisiteGroup"
88
- },
89
- "minItems": 2
76
+ "oneOf": [
77
+ {
78
+ "type": "object",
79
+ "properties": {
80
+ "tag": {
81
+ "const": "Plain"
82
+ },
83
+ "plain": {
84
+ "type": "array",
85
+ "items": {
86
+ "oneOf": [
87
+ {
88
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/PublicationPrerequisiteGroup"
90
89
  },
91
- "translations": {
92
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
90
+ {
93
91
  "type": "object",
94
- "patternProperties": {
95
- "^[a-z]{2}-[A-Z]{2}$": {
96
- "type": "string",
97
- "minLength": 1
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
98
124
  }
99
125
  },
100
- "minProperties": 1,
126
+ "required": [
127
+ "tag",
128
+ "group"
129
+ ],
101
130
  "additionalProperties": false
102
131
  }
103
- },
104
- "required": [
105
- "tag",
106
- "list",
107
- "translations"
108
- ],
109
- "additionalProperties": false
110
- }
111
- ]
132
+ ]
133
+ },
134
+ "minItems": 1
135
+ }
112
136
  },
113
- "minItems": 1
137
+ "required": [
138
+ "tag",
139
+ "plain"
140
+ ],
141
+ "additionalProperties": false
114
142
  }
115
- },
116
- "required": [
117
- "tag",
118
- "list"
119
- ],
120
- "additionalProperties": false
143
+ ]
121
144
  },
122
145
  "GeneralPrerequisites": {
123
146
  "oneOf": [
@@ -127,44 +150,52 @@
127
150
  "tag": {
128
151
  "const": "Plain"
129
152
  },
130
- "list": {
153
+ "plain": {
131
154
  "type": "array",
132
155
  "items": {
133
156
  "oneOf": [
134
157
  {
135
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/GeneralPrerequisiteGroup"
158
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeneralPrerequisiteGroup"
136
159
  },
137
160
  {
138
- "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.",
139
161
  "type": "object",
140
162
  "properties": {
141
163
  "tag": {
142
164
  "const": "Group"
143
165
  },
144
- "list": {
145
- "type": "array",
146
- "items": {
147
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/GeneralPrerequisiteGroup"
148
- },
149
- "minItems": 2
150
- },
151
- "translations": {
152
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
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.",
153
168
  "type": "object",
154
- "patternProperties": {
155
- "^[a-z]{2}-[A-Z]{2}$": {
156
- "type": "string",
157
- "minLength": 1
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
158
187
  }
159
188
  },
160
- "minProperties": 1,
189
+ "required": [
190
+ "list",
191
+ "translations"
192
+ ],
161
193
  "additionalProperties": false
162
194
  }
163
195
  },
164
196
  "required": [
165
197
  "tag",
166
- "list",
167
- "translations"
198
+ "group"
168
199
  ],
169
200
  "additionalProperties": false
170
201
  }
@@ -175,7 +206,7 @@
175
206
  },
176
207
  "required": [
177
208
  "tag",
178
- "list"
209
+ "plain"
179
210
  ],
180
211
  "additionalProperties": false
181
212
  },
@@ -185,7 +216,7 @@
185
216
  "tag": {
186
217
  "const": "ByLevel"
187
218
  },
188
- "list": {
219
+ "by_level": {
189
220
  "type": "array",
190
221
  "items": {
191
222
  "type": "object",
@@ -199,39 +230,47 @@
199
230
  "items": {
200
231
  "oneOf": [
201
232
  {
202
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/GeneralPrerequisiteGroup"
233
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeneralPrerequisiteGroup"
203
234
  },
204
235
  {
205
- "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.",
206
236
  "type": "object",
207
237
  "properties": {
208
238
  "tag": {
209
239
  "const": "Group"
210
240
  },
211
- "list": {
212
- "type": "array",
213
- "items": {
214
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/GeneralPrerequisiteGroup"
215
- },
216
- "minItems": 2
217
- },
218
- "translations": {
219
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
241
+ "group": {
242
+ "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.",
220
243
  "type": "object",
221
- "patternProperties": {
222
- "^[a-z]{2}-[A-Z]{2}$": {
223
- "type": "string",
224
- "minLength": 1
244
+ "properties": {
245
+ "list": {
246
+ "type": "array",
247
+ "items": {
248
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeneralPrerequisiteGroup"
249
+ },
250
+ "minItems": 2
251
+ },
252
+ "translations": {
253
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
254
+ "type": "object",
255
+ "patternProperties": {
256
+ "^[a-z]{2}-[A-Z]{2}$": {
257
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
258
+ }
259
+ },
260
+ "minProperties": 1,
261
+ "additionalProperties": false
225
262
  }
226
263
  },
227
- "minProperties": 1,
264
+ "required": [
265
+ "list",
266
+ "translations"
267
+ ],
228
268
  "additionalProperties": false
229
269
  }
230
270
  },
231
271
  "required": [
232
272
  "tag",
233
- "list",
234
- "translations"
273
+ "group"
235
274
  ],
236
275
  "additionalProperties": false
237
276
  }
@@ -251,69 +290,81 @@
251
290
  },
252
291
  "required": [
253
292
  "tag",
254
- "list"
293
+ "by_level"
255
294
  ],
256
295
  "additionalProperties": false
257
296
  }
258
297
  ]
259
298
  },
260
299
  "ProfessionPrerequisites": {
261
- "type": "object",
262
- "properties": {
263
- "tag": {
264
- "const": "Plain"
265
- },
266
- "list": {
267
- "type": "array",
268
- "items": {
269
- "oneOf": [
270
- {
271
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/ProfessionPrerequisiteGroup"
272
- },
273
- {
274
- "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.",
275
- "type": "object",
276
- "properties": {
277
- "tag": {
278
- "const": "Group"
279
- },
280
- "list": {
281
- "type": "array",
282
- "items": {
283
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/ProfessionPrerequisiteGroup"
284
- },
285
- "minItems": 2
300
+ "oneOf": [
301
+ {
302
+ "type": "object",
303
+ "properties": {
304
+ "tag": {
305
+ "const": "Plain"
306
+ },
307
+ "plain": {
308
+ "type": "array",
309
+ "items": {
310
+ "oneOf": [
311
+ {
312
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/ProfessionPrerequisiteGroup"
286
313
  },
287
- "translations": {
288
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
314
+ {
289
315
  "type": "object",
290
- "patternProperties": {
291
- "^[a-z]{2}-[A-Z]{2}$": {
292
- "type": "string",
293
- "minLength": 1
316
+ "properties": {
317
+ "tag": {
318
+ "const": "Group"
319
+ },
320
+ "group": {
321
+ "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.",
322
+ "type": "object",
323
+ "properties": {
324
+ "list": {
325
+ "type": "array",
326
+ "items": {
327
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/ProfessionPrerequisiteGroup"
328
+ },
329
+ "minItems": 2
330
+ },
331
+ "translations": {
332
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
333
+ "type": "object",
334
+ "patternProperties": {
335
+ "^[a-z]{2}-[A-Z]{2}$": {
336
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
337
+ }
338
+ },
339
+ "minProperties": 1,
340
+ "additionalProperties": false
341
+ }
342
+ },
343
+ "required": [
344
+ "list",
345
+ "translations"
346
+ ],
347
+ "additionalProperties": false
294
348
  }
295
349
  },
296
- "minProperties": 1,
350
+ "required": [
351
+ "tag",
352
+ "group"
353
+ ],
297
354
  "additionalProperties": false
298
355
  }
299
- },
300
- "required": [
301
- "tag",
302
- "list",
303
- "translations"
304
- ],
305
- "additionalProperties": false
306
- }
307
- ]
356
+ ]
357
+ },
358
+ "minItems": 1
359
+ }
308
360
  },
309
- "minItems": 1
361
+ "required": [
362
+ "tag",
363
+ "plain"
364
+ ],
365
+ "additionalProperties": false
310
366
  }
311
- },
312
- "required": [
313
- "tag",
314
- "list"
315
- ],
316
- "additionalProperties": false
367
+ ]
317
368
  },
318
369
  "AdvantageDisadvantagePrerequisites": {
319
370
  "oneOf": [
@@ -323,44 +374,52 @@
323
374
  "tag": {
324
375
  "const": "Plain"
325
376
  },
326
- "list": {
377
+ "plain": {
327
378
  "type": "array",
328
379
  "items": {
329
380
  "oneOf": [
330
381
  {
331
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/AdvantageDisadvantagePrerequisiteGroup"
382
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AdvantageDisadvantagePrerequisiteGroup"
332
383
  },
333
384
  {
334
- "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.",
335
385
  "type": "object",
336
386
  "properties": {
337
387
  "tag": {
338
388
  "const": "Group"
339
389
  },
340
- "list": {
341
- "type": "array",
342
- "items": {
343
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/AdvantageDisadvantagePrerequisiteGroup"
344
- },
345
- "minItems": 2
346
- },
347
- "translations": {
348
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
390
+ "group": {
391
+ "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.",
349
392
  "type": "object",
350
- "patternProperties": {
351
- "^[a-z]{2}-[A-Z]{2}$": {
352
- "type": "string",
353
- "minLength": 1
393
+ "properties": {
394
+ "list": {
395
+ "type": "array",
396
+ "items": {
397
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AdvantageDisadvantagePrerequisiteGroup"
398
+ },
399
+ "minItems": 2
400
+ },
401
+ "translations": {
402
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
403
+ "type": "object",
404
+ "patternProperties": {
405
+ "^[a-z]{2}-[A-Z]{2}$": {
406
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
407
+ }
408
+ },
409
+ "minProperties": 1,
410
+ "additionalProperties": false
354
411
  }
355
412
  },
356
- "minProperties": 1,
413
+ "required": [
414
+ "list",
415
+ "translations"
416
+ ],
357
417
  "additionalProperties": false
358
418
  }
359
419
  },
360
420
  "required": [
361
421
  "tag",
362
- "list",
363
- "translations"
422
+ "group"
364
423
  ],
365
424
  "additionalProperties": false
366
425
  }
@@ -371,7 +430,7 @@
371
430
  },
372
431
  "required": [
373
432
  "tag",
374
- "list"
433
+ "plain"
375
434
  ],
376
435
  "additionalProperties": false
377
436
  },
@@ -381,7 +440,7 @@
381
440
  "tag": {
382
441
  "const": "ByLevel"
383
442
  },
384
- "list": {
443
+ "by_level": {
385
444
  "type": "array",
386
445
  "items": {
387
446
  "type": "object",
@@ -395,39 +454,47 @@
395
454
  "items": {
396
455
  "oneOf": [
397
456
  {
398
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/AdvantageDisadvantagePrerequisiteGroup"
457
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AdvantageDisadvantagePrerequisiteGroup"
399
458
  },
400
459
  {
401
- "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.",
402
460
  "type": "object",
403
461
  "properties": {
404
462
  "tag": {
405
463
  "const": "Group"
406
464
  },
407
- "list": {
408
- "type": "array",
409
- "items": {
410
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/AdvantageDisadvantagePrerequisiteGroup"
411
- },
412
- "minItems": 2
413
- },
414
- "translations": {
415
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
465
+ "group": {
466
+ "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.",
416
467
  "type": "object",
417
- "patternProperties": {
418
- "^[a-z]{2}-[A-Z]{2}$": {
419
- "type": "string",
420
- "minLength": 1
468
+ "properties": {
469
+ "list": {
470
+ "type": "array",
471
+ "items": {
472
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AdvantageDisadvantagePrerequisiteGroup"
473
+ },
474
+ "minItems": 2
475
+ },
476
+ "translations": {
477
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
478
+ "type": "object",
479
+ "patternProperties": {
480
+ "^[a-z]{2}-[A-Z]{2}$": {
481
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
482
+ }
483
+ },
484
+ "minProperties": 1,
485
+ "additionalProperties": false
421
486
  }
422
487
  },
423
- "minProperties": 1,
488
+ "required": [
489
+ "list",
490
+ "translations"
491
+ ],
424
492
  "additionalProperties": false
425
493
  }
426
494
  },
427
495
  "required": [
428
496
  "tag",
429
- "list",
430
- "translations"
497
+ "group"
431
498
  ],
432
499
  "additionalProperties": false
433
500
  }
@@ -447,301 +514,361 @@
447
514
  },
448
515
  "required": [
449
516
  "tag",
450
- "list"
517
+ "by_level"
451
518
  ],
452
519
  "additionalProperties": false
453
520
  }
454
521
  ]
455
522
  },
456
523
  "ArcaneTraditionPrerequisites": {
457
- "type": "object",
458
- "properties": {
459
- "tag": {
460
- "const": "Plain"
461
- },
462
- "list": {
463
- "type": "array",
464
- "items": {
465
- "oneOf": [
466
- {
467
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/ArcaneTraditionPrerequisiteGroup"
468
- },
469
- {
470
- "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.",
471
- "type": "object",
472
- "properties": {
473
- "tag": {
474
- "const": "Group"
475
- },
476
- "list": {
477
- "type": "array",
478
- "items": {
479
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/ArcaneTraditionPrerequisiteGroup"
480
- },
481
- "minItems": 2
524
+ "oneOf": [
525
+ {
526
+ "type": "object",
527
+ "properties": {
528
+ "tag": {
529
+ "const": "Plain"
530
+ },
531
+ "plain": {
532
+ "type": "array",
533
+ "items": {
534
+ "oneOf": [
535
+ {
536
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/ArcaneTraditionPrerequisiteGroup"
482
537
  },
483
- "translations": {
484
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
538
+ {
485
539
  "type": "object",
486
- "patternProperties": {
487
- "^[a-z]{2}-[A-Z]{2}$": {
488
- "type": "string",
489
- "minLength": 1
540
+ "properties": {
541
+ "tag": {
542
+ "const": "Group"
543
+ },
544
+ "group": {
545
+ "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.",
546
+ "type": "object",
547
+ "properties": {
548
+ "list": {
549
+ "type": "array",
550
+ "items": {
551
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/ArcaneTraditionPrerequisiteGroup"
552
+ },
553
+ "minItems": 2
554
+ },
555
+ "translations": {
556
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
557
+ "type": "object",
558
+ "patternProperties": {
559
+ "^[a-z]{2}-[A-Z]{2}$": {
560
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
561
+ }
562
+ },
563
+ "minProperties": 1,
564
+ "additionalProperties": false
565
+ }
566
+ },
567
+ "required": [
568
+ "list",
569
+ "translations"
570
+ ],
571
+ "additionalProperties": false
490
572
  }
491
573
  },
492
- "minProperties": 1,
574
+ "required": [
575
+ "tag",
576
+ "group"
577
+ ],
493
578
  "additionalProperties": false
494
579
  }
495
- },
496
- "required": [
497
- "tag",
498
- "list",
499
- "translations"
500
- ],
501
- "additionalProperties": false
502
- }
503
- ]
580
+ ]
581
+ },
582
+ "minItems": 1
583
+ }
504
584
  },
505
- "minItems": 1
585
+ "required": [
586
+ "tag",
587
+ "plain"
588
+ ],
589
+ "additionalProperties": false
506
590
  }
507
- },
508
- "required": [
509
- "tag",
510
- "list"
511
- ],
512
- "additionalProperties": false
591
+ ]
513
592
  },
514
593
  "PersonalityTraitPrerequisites": {
515
- "type": "object",
516
- "properties": {
517
- "tag": {
518
- "const": "Plain"
519
- },
520
- "list": {
521
- "type": "array",
522
- "items": {
523
- "oneOf": [
524
- {
525
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/PersonalityTraitPrerequisiteGroup"
526
- },
527
- {
528
- "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.",
529
- "type": "object",
530
- "properties": {
531
- "tag": {
532
- "const": "Group"
533
- },
534
- "list": {
535
- "type": "array",
536
- "items": {
537
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/PersonalityTraitPrerequisiteGroup"
538
- },
539
- "minItems": 2
594
+ "oneOf": [
595
+ {
596
+ "type": "object",
597
+ "properties": {
598
+ "tag": {
599
+ "const": "Plain"
600
+ },
601
+ "plain": {
602
+ "type": "array",
603
+ "items": {
604
+ "oneOf": [
605
+ {
606
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/PersonalityTraitPrerequisiteGroup"
540
607
  },
541
- "translations": {
542
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
608
+ {
543
609
  "type": "object",
544
- "patternProperties": {
545
- "^[a-z]{2}-[A-Z]{2}$": {
546
- "type": "string",
547
- "minLength": 1
610
+ "properties": {
611
+ "tag": {
612
+ "const": "Group"
613
+ },
614
+ "group": {
615
+ "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.",
616
+ "type": "object",
617
+ "properties": {
618
+ "list": {
619
+ "type": "array",
620
+ "items": {
621
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/PersonalityTraitPrerequisiteGroup"
622
+ },
623
+ "minItems": 2
624
+ },
625
+ "translations": {
626
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
627
+ "type": "object",
628
+ "patternProperties": {
629
+ "^[a-z]{2}-[A-Z]{2}$": {
630
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
631
+ }
632
+ },
633
+ "minProperties": 1,
634
+ "additionalProperties": false
635
+ }
636
+ },
637
+ "required": [
638
+ "list",
639
+ "translations"
640
+ ],
641
+ "additionalProperties": false
548
642
  }
549
643
  },
550
- "minProperties": 1,
644
+ "required": [
645
+ "tag",
646
+ "group"
647
+ ],
551
648
  "additionalProperties": false
552
649
  }
553
- },
554
- "required": [
555
- "tag",
556
- "list",
557
- "translations"
558
- ],
559
- "additionalProperties": false
560
- }
561
- ]
650
+ ]
651
+ },
652
+ "minItems": 1
653
+ }
562
654
  },
563
- "minItems": 1
655
+ "required": [
656
+ "tag",
657
+ "plain"
658
+ ],
659
+ "additionalProperties": false
564
660
  }
565
- },
566
- "required": [
567
- "tag",
568
- "list"
569
- ],
570
- "additionalProperties": false
661
+ ]
571
662
  },
572
663
  "SpellworkPrerequisites": {
573
- "type": "object",
574
- "properties": {
575
- "tag": {
576
- "const": "Plain"
577
- },
578
- "list": {
579
- "type": "array",
580
- "items": {
581
- "oneOf": [
582
- {
583
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/SpellworkPrerequisiteGroup"
584
- },
585
- {
586
- "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.",
587
- "type": "object",
588
- "properties": {
589
- "tag": {
590
- "const": "Group"
591
- },
592
- "list": {
593
- "type": "array",
594
- "items": {
595
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/SpellworkPrerequisiteGroup"
596
- },
597
- "minItems": 2
664
+ "oneOf": [
665
+ {
666
+ "type": "object",
667
+ "properties": {
668
+ "tag": {
669
+ "const": "Plain"
670
+ },
671
+ "plain": {
672
+ "type": "array",
673
+ "items": {
674
+ "oneOf": [
675
+ {
676
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/SpellworkPrerequisiteGroup"
598
677
  },
599
- "translations": {
600
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
678
+ {
601
679
  "type": "object",
602
- "patternProperties": {
603
- "^[a-z]{2}-[A-Z]{2}$": {
604
- "type": "string",
605
- "minLength": 1
680
+ "properties": {
681
+ "tag": {
682
+ "const": "Group"
683
+ },
684
+ "group": {
685
+ "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.",
686
+ "type": "object",
687
+ "properties": {
688
+ "list": {
689
+ "type": "array",
690
+ "items": {
691
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/SpellworkPrerequisiteGroup"
692
+ },
693
+ "minItems": 2
694
+ },
695
+ "translations": {
696
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
697
+ "type": "object",
698
+ "patternProperties": {
699
+ "^[a-z]{2}-[A-Z]{2}$": {
700
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
701
+ }
702
+ },
703
+ "minProperties": 1,
704
+ "additionalProperties": false
705
+ }
706
+ },
707
+ "required": [
708
+ "list",
709
+ "translations"
710
+ ],
711
+ "additionalProperties": false
606
712
  }
607
713
  },
608
- "minProperties": 1,
714
+ "required": [
715
+ "tag",
716
+ "group"
717
+ ],
609
718
  "additionalProperties": false
610
719
  }
611
- },
612
- "required": [
613
- "tag",
614
- "list",
615
- "translations"
616
- ],
617
- "additionalProperties": false
618
- }
619
- ]
720
+ ]
721
+ },
722
+ "minItems": 1
723
+ }
620
724
  },
621
- "minItems": 1
725
+ "required": [
726
+ "tag",
727
+ "plain"
728
+ ],
729
+ "additionalProperties": false
622
730
  }
623
- },
624
- "required": [
625
- "tag",
626
- "list"
627
- ],
628
- "additionalProperties": false
731
+ ]
629
732
  },
630
733
  "LiturgyPrerequisites": {
631
- "type": "object",
632
- "properties": {
633
- "tag": {
634
- "const": "Plain"
635
- },
636
- "list": {
637
- "type": "array",
638
- "items": {
639
- "oneOf": [
640
- {
641
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/LiturgyPrerequisiteGroup"
642
- },
643
- {
644
- "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.",
645
- "type": "object",
646
- "properties": {
647
- "tag": {
648
- "const": "Group"
649
- },
650
- "list": {
651
- "type": "array",
652
- "items": {
653
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/LiturgyPrerequisiteGroup"
654
- },
655
- "minItems": 2
734
+ "oneOf": [
735
+ {
736
+ "type": "object",
737
+ "properties": {
738
+ "tag": {
739
+ "const": "Plain"
740
+ },
741
+ "plain": {
742
+ "type": "array",
743
+ "items": {
744
+ "oneOf": [
745
+ {
746
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LiturgyPrerequisiteGroup"
656
747
  },
657
- "translations": {
658
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
748
+ {
659
749
  "type": "object",
660
- "patternProperties": {
661
- "^[a-z]{2}-[A-Z]{2}$": {
662
- "type": "string",
663
- "minLength": 1
750
+ "properties": {
751
+ "tag": {
752
+ "const": "Group"
753
+ },
754
+ "group": {
755
+ "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.",
756
+ "type": "object",
757
+ "properties": {
758
+ "list": {
759
+ "type": "array",
760
+ "items": {
761
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LiturgyPrerequisiteGroup"
762
+ },
763
+ "minItems": 2
764
+ },
765
+ "translations": {
766
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
767
+ "type": "object",
768
+ "patternProperties": {
769
+ "^[a-z]{2}-[A-Z]{2}$": {
770
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
771
+ }
772
+ },
773
+ "minProperties": 1,
774
+ "additionalProperties": false
775
+ }
776
+ },
777
+ "required": [
778
+ "list",
779
+ "translations"
780
+ ],
781
+ "additionalProperties": false
664
782
  }
665
783
  },
666
- "minProperties": 1,
784
+ "required": [
785
+ "tag",
786
+ "group"
787
+ ],
667
788
  "additionalProperties": false
668
789
  }
669
- },
670
- "required": [
671
- "tag",
672
- "list",
673
- "translations"
674
- ],
675
- "additionalProperties": false
676
- }
677
- ]
790
+ ]
791
+ },
792
+ "minItems": 1
793
+ }
678
794
  },
679
- "minItems": 1
795
+ "required": [
796
+ "tag",
797
+ "plain"
798
+ ],
799
+ "additionalProperties": false
680
800
  }
681
- },
682
- "required": [
683
- "tag",
684
- "list"
685
- ],
686
- "additionalProperties": false
801
+ ]
687
802
  },
688
803
  "InfluencePrerequisites": {
689
- "type": "object",
690
- "properties": {
691
- "tag": {
692
- "const": "Plain"
693
- },
694
- "list": {
695
- "type": "array",
696
- "items": {
697
- "oneOf": [
698
- {
699
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/InfluencePrerequisiteGroup"
700
- },
701
- {
702
- "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.",
703
- "type": "object",
704
- "properties": {
705
- "tag": {
706
- "const": "Group"
707
- },
708
- "list": {
709
- "type": "array",
710
- "items": {
711
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/InfluencePrerequisiteGroup"
712
- },
713
- "minItems": 2
804
+ "oneOf": [
805
+ {
806
+ "type": "object",
807
+ "properties": {
808
+ "tag": {
809
+ "const": "Plain"
810
+ },
811
+ "plain": {
812
+ "type": "array",
813
+ "items": {
814
+ "oneOf": [
815
+ {
816
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/InfluencePrerequisiteGroup"
714
817
  },
715
- "translations": {
716
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
818
+ {
717
819
  "type": "object",
718
- "patternProperties": {
719
- "^[a-z]{2}-[A-Z]{2}$": {
720
- "type": "string",
721
- "minLength": 1
820
+ "properties": {
821
+ "tag": {
822
+ "const": "Group"
823
+ },
824
+ "group": {
825
+ "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.",
826
+ "type": "object",
827
+ "properties": {
828
+ "list": {
829
+ "type": "array",
830
+ "items": {
831
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/InfluencePrerequisiteGroup"
832
+ },
833
+ "minItems": 2
834
+ },
835
+ "translations": {
836
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
837
+ "type": "object",
838
+ "patternProperties": {
839
+ "^[a-z]{2}-[A-Z]{2}$": {
840
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
841
+ }
842
+ },
843
+ "minProperties": 1,
844
+ "additionalProperties": false
845
+ }
846
+ },
847
+ "required": [
848
+ "list",
849
+ "translations"
850
+ ],
851
+ "additionalProperties": false
722
852
  }
723
853
  },
724
- "minProperties": 1,
854
+ "required": [
855
+ "tag",
856
+ "group"
857
+ ],
725
858
  "additionalProperties": false
726
859
  }
727
- },
728
- "required": [
729
- "tag",
730
- "list",
731
- "translations"
732
- ],
733
- "additionalProperties": false
734
- }
735
- ]
860
+ ]
861
+ },
862
+ "minItems": 1
863
+ }
736
864
  },
737
- "minItems": 1
865
+ "required": [
866
+ "tag",
867
+ "plain"
868
+ ],
869
+ "additionalProperties": false
738
870
  }
739
- },
740
- "required": [
741
- "tag",
742
- "list"
743
- ],
744
- "additionalProperties": false
871
+ ]
745
872
  },
746
873
  "LanguagePrerequisites": {
747
874
  "oneOf": [
@@ -751,44 +878,52 @@
751
878
  "tag": {
752
879
  "const": "Plain"
753
880
  },
754
- "list": {
881
+ "plain": {
755
882
  "type": "array",
756
883
  "items": {
757
884
  "oneOf": [
758
885
  {
759
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/LanguagePrerequisiteGroup"
886
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LanguagePrerequisiteGroup"
760
887
  },
761
888
  {
762
- "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.",
763
889
  "type": "object",
764
890
  "properties": {
765
891
  "tag": {
766
892
  "const": "Group"
767
893
  },
768
- "list": {
769
- "type": "array",
770
- "items": {
771
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/LanguagePrerequisiteGroup"
772
- },
773
- "minItems": 2
774
- },
775
- "translations": {
776
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
894
+ "group": {
895
+ "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.",
777
896
  "type": "object",
778
- "patternProperties": {
779
- "^[a-z]{2}-[A-Z]{2}$": {
780
- "type": "string",
781
- "minLength": 1
897
+ "properties": {
898
+ "list": {
899
+ "type": "array",
900
+ "items": {
901
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LanguagePrerequisiteGroup"
902
+ },
903
+ "minItems": 2
904
+ },
905
+ "translations": {
906
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
907
+ "type": "object",
908
+ "patternProperties": {
909
+ "^[a-z]{2}-[A-Z]{2}$": {
910
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
911
+ }
912
+ },
913
+ "minProperties": 1,
914
+ "additionalProperties": false
782
915
  }
783
916
  },
784
- "minProperties": 1,
917
+ "required": [
918
+ "list",
919
+ "translations"
920
+ ],
785
921
  "additionalProperties": false
786
922
  }
787
923
  },
788
924
  "required": [
789
925
  "tag",
790
- "list",
791
- "translations"
926
+ "group"
792
927
  ],
793
928
  "additionalProperties": false
794
929
  }
@@ -799,7 +934,7 @@
799
934
  },
800
935
  "required": [
801
936
  "tag",
802
- "list"
937
+ "plain"
803
938
  ],
804
939
  "additionalProperties": false
805
940
  },
@@ -809,7 +944,7 @@
809
944
  "tag": {
810
945
  "const": "ByLevel"
811
946
  },
812
- "list": {
947
+ "by_level": {
813
948
  "type": "array",
814
949
  "items": {
815
950
  "type": "object",
@@ -823,39 +958,47 @@
823
958
  "items": {
824
959
  "oneOf": [
825
960
  {
826
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/LanguagePrerequisiteGroup"
961
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LanguagePrerequisiteGroup"
827
962
  },
828
963
  {
829
- "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.",
830
964
  "type": "object",
831
965
  "properties": {
832
966
  "tag": {
833
967
  "const": "Group"
834
968
  },
835
- "list": {
836
- "type": "array",
837
- "items": {
838
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/LanguagePrerequisiteGroup"
839
- },
840
- "minItems": 2
841
- },
842
- "translations": {
843
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
969
+ "group": {
970
+ "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.",
844
971
  "type": "object",
845
- "patternProperties": {
846
- "^[a-z]{2}-[A-Z]{2}$": {
847
- "type": "string",
848
- "minLength": 1
972
+ "properties": {
973
+ "list": {
974
+ "type": "array",
975
+ "items": {
976
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/LanguagePrerequisiteGroup"
977
+ },
978
+ "minItems": 2
979
+ },
980
+ "translations": {
981
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
982
+ "type": "object",
983
+ "patternProperties": {
984
+ "^[a-z]{2}-[A-Z]{2}$": {
985
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
986
+ }
987
+ },
988
+ "minProperties": 1,
989
+ "additionalProperties": false
849
990
  }
850
991
  },
851
- "minProperties": 1,
992
+ "required": [
993
+ "list",
994
+ "translations"
995
+ ],
852
996
  "additionalProperties": false
853
997
  }
854
998
  },
855
999
  "required": [
856
1000
  "tag",
857
- "list",
858
- "translations"
1001
+ "group"
859
1002
  ],
860
1003
  "additionalProperties": false
861
1004
  }
@@ -875,185 +1018,221 @@
875
1018
  },
876
1019
  "required": [
877
1020
  "tag",
878
- "list"
1021
+ "by_level"
879
1022
  ],
880
1023
  "additionalProperties": false
881
1024
  }
882
1025
  ]
883
1026
  },
884
1027
  "AnimistPowerPrerequisites": {
885
- "type": "object",
886
- "properties": {
887
- "tag": {
888
- "const": "Plain"
889
- },
890
- "list": {
891
- "type": "array",
892
- "items": {
893
- "oneOf": [
894
- {
895
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/AnimistPowerPrerequisiteGroup"
896
- },
897
- {
898
- "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.",
899
- "type": "object",
900
- "properties": {
901
- "tag": {
902
- "const": "Group"
903
- },
904
- "list": {
905
- "type": "array",
906
- "items": {
907
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/AnimistPowerPrerequisiteGroup"
908
- },
909
- "minItems": 2
1028
+ "oneOf": [
1029
+ {
1030
+ "type": "object",
1031
+ "properties": {
1032
+ "tag": {
1033
+ "const": "Plain"
1034
+ },
1035
+ "plain": {
1036
+ "type": "array",
1037
+ "items": {
1038
+ "oneOf": [
1039
+ {
1040
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AnimistPowerPrerequisiteGroup"
910
1041
  },
911
- "translations": {
912
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1042
+ {
913
1043
  "type": "object",
914
- "patternProperties": {
915
- "^[a-z]{2}-[A-Z]{2}$": {
916
- "type": "string",
917
- "minLength": 1
1044
+ "properties": {
1045
+ "tag": {
1046
+ "const": "Group"
1047
+ },
1048
+ "group": {
1049
+ "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.",
1050
+ "type": "object",
1051
+ "properties": {
1052
+ "list": {
1053
+ "type": "array",
1054
+ "items": {
1055
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/AnimistPowerPrerequisiteGroup"
1056
+ },
1057
+ "minItems": 2
1058
+ },
1059
+ "translations": {
1060
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1061
+ "type": "object",
1062
+ "patternProperties": {
1063
+ "^[a-z]{2}-[A-Z]{2}$": {
1064
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
1065
+ }
1066
+ },
1067
+ "minProperties": 1,
1068
+ "additionalProperties": false
1069
+ }
1070
+ },
1071
+ "required": [
1072
+ "list",
1073
+ "translations"
1074
+ ],
1075
+ "additionalProperties": false
918
1076
  }
919
1077
  },
920
- "minProperties": 1,
1078
+ "required": [
1079
+ "tag",
1080
+ "group"
1081
+ ],
921
1082
  "additionalProperties": false
922
1083
  }
923
- },
924
- "required": [
925
- "tag",
926
- "list",
927
- "translations"
928
- ],
929
- "additionalProperties": false
930
- }
931
- ]
1084
+ ]
1085
+ },
1086
+ "minItems": 1
1087
+ }
932
1088
  },
933
- "minItems": 1
1089
+ "required": [
1090
+ "tag",
1091
+ "plain"
1092
+ ],
1093
+ "additionalProperties": false
934
1094
  }
935
- },
936
- "required": [
937
- "tag",
938
- "list"
939
- ],
940
- "additionalProperties": false
1095
+ ]
941
1096
  },
942
1097
  "GeodeRitualPrerequisites": {
943
- "type": "object",
944
- "properties": {
945
- "tag": {
946
- "const": "Plain"
947
- },
948
- "list": {
949
- "type": "array",
950
- "items": {
951
- "oneOf": [
952
- {
953
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/GeodeRitualPrerequisiteGroup"
954
- },
955
- {
956
- "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.",
957
- "type": "object",
958
- "properties": {
959
- "tag": {
960
- "const": "Group"
961
- },
962
- "list": {
963
- "type": "array",
964
- "items": {
965
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/GeodeRitualPrerequisiteGroup"
966
- },
967
- "minItems": 2
1098
+ "oneOf": [
1099
+ {
1100
+ "type": "object",
1101
+ "properties": {
1102
+ "tag": {
1103
+ "const": "Plain"
1104
+ },
1105
+ "plain": {
1106
+ "type": "array",
1107
+ "items": {
1108
+ "oneOf": [
1109
+ {
1110
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeodeRitualPrerequisiteGroup"
968
1111
  },
969
- "translations": {
970
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1112
+ {
971
1113
  "type": "object",
972
- "patternProperties": {
973
- "^[a-z]{2}-[A-Z]{2}$": {
974
- "type": "string",
975
- "minLength": 1
1114
+ "properties": {
1115
+ "tag": {
1116
+ "const": "Group"
1117
+ },
1118
+ "group": {
1119
+ "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.",
1120
+ "type": "object",
1121
+ "properties": {
1122
+ "list": {
1123
+ "type": "array",
1124
+ "items": {
1125
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/GeodeRitualPrerequisiteGroup"
1126
+ },
1127
+ "minItems": 2
1128
+ },
1129
+ "translations": {
1130
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1131
+ "type": "object",
1132
+ "patternProperties": {
1133
+ "^[a-z]{2}-[A-Z]{2}$": {
1134
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
1135
+ }
1136
+ },
1137
+ "minProperties": 1,
1138
+ "additionalProperties": false
1139
+ }
1140
+ },
1141
+ "required": [
1142
+ "list",
1143
+ "translations"
1144
+ ],
1145
+ "additionalProperties": false
976
1146
  }
977
1147
  },
978
- "minProperties": 1,
1148
+ "required": [
1149
+ "tag",
1150
+ "group"
1151
+ ],
979
1152
  "additionalProperties": false
980
1153
  }
981
- },
982
- "required": [
983
- "tag",
984
- "list",
985
- "translations"
986
- ],
987
- "additionalProperties": false
988
- }
989
- ]
1154
+ ]
1155
+ },
1156
+ "minItems": 1
1157
+ }
990
1158
  },
991
- "minItems": 1
1159
+ "required": [
1160
+ "tag",
1161
+ "plain"
1162
+ ],
1163
+ "additionalProperties": false
992
1164
  }
993
- },
994
- "required": [
995
- "tag",
996
- "list"
997
- ],
998
- "additionalProperties": false
1165
+ ]
999
1166
  },
1000
1167
  "EnhancementPrerequisites": {
1001
- "type": "object",
1002
- "properties": {
1003
- "tag": {
1004
- "const": "Plain"
1005
- },
1006
- "list": {
1007
- "type": "array",
1008
- "items": {
1009
- "oneOf": [
1010
- {
1011
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/EnhancementPrerequisiteGroup"
1012
- },
1013
- {
1014
- "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.",
1015
- "type": "object",
1016
- "properties": {
1017
- "tag": {
1018
- "const": "Group"
1019
- },
1020
- "list": {
1021
- "type": "array",
1022
- "items": {
1023
- "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/definitions/EnhancementPrerequisiteGroup"
1024
- },
1025
- "minItems": 2
1168
+ "oneOf": [
1169
+ {
1170
+ "type": "object",
1171
+ "properties": {
1172
+ "tag": {
1173
+ "const": "Plain"
1174
+ },
1175
+ "plain": {
1176
+ "type": "array",
1177
+ "items": {
1178
+ "oneOf": [
1179
+ {
1180
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/EnhancementPrerequisiteGroup"
1026
1181
  },
1027
- "translations": {
1028
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1182
+ {
1029
1183
  "type": "object",
1030
- "patternProperties": {
1031
- "^[a-z]{2}-[A-Z]{2}$": {
1032
- "type": "string",
1033
- "minLength": 1
1184
+ "properties": {
1185
+ "tag": {
1186
+ "const": "Group"
1187
+ },
1188
+ "group": {
1189
+ "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.",
1190
+ "type": "object",
1191
+ "properties": {
1192
+ "list": {
1193
+ "type": "array",
1194
+ "items": {
1195
+ "$ref": "./prerequisites/PrerequisiteGroups.schema.json#/$defs/EnhancementPrerequisiteGroup"
1196
+ },
1197
+ "minItems": 2
1198
+ },
1199
+ "translations": {
1200
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1201
+ "type": "object",
1202
+ "patternProperties": {
1203
+ "^[a-z]{2}-[A-Z]{2}$": {
1204
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
1205
+ }
1206
+ },
1207
+ "minProperties": 1,
1208
+ "additionalProperties": false
1209
+ }
1210
+ },
1211
+ "required": [
1212
+ "list",
1213
+ "translations"
1214
+ ],
1215
+ "additionalProperties": false
1034
1216
  }
1035
1217
  },
1036
- "minProperties": 1,
1218
+ "required": [
1219
+ "tag",
1220
+ "group"
1221
+ ],
1037
1222
  "additionalProperties": false
1038
1223
  }
1039
- },
1040
- "required": [
1041
- "tag",
1042
- "list",
1043
- "translations"
1044
- ],
1045
- "additionalProperties": false
1046
- }
1047
- ]
1224
+ ]
1225
+ },
1226
+ "minItems": 1
1227
+ }
1048
1228
  },
1049
- "minItems": 1
1229
+ "required": [
1230
+ "tag",
1231
+ "plain"
1232
+ ],
1233
+ "additionalProperties": false
1050
1234
  }
1051
- },
1052
- "required": [
1053
- "tag",
1054
- "list"
1055
- ],
1056
- "additionalProperties": false
1235
+ ]
1057
1236
  }
1058
1237
  }
1059
1238
  }