optolith-database-schema 0.2.2 → 0.3.0

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