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,8 +1,8 @@
1
1
  {
2
- "$schema": "http://json-schema.org/draft-07/schema",
2
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
3
3
  "$id": "/Culture.schema.json",
4
- "$ref": "#/definitions/Culture",
5
- "definitions": {
4
+ "$ref": "#/$defs/Culture",
5
+ "$defs": {
6
6
  "Culture": {
7
7
  "title": "Culture",
8
8
  "type": "object",
@@ -16,7 +16,7 @@
16
16
  "description": "A list of native languages (usually it is only one).",
17
17
  "type": "array",
18
18
  "items": {
19
- "$ref": "#/definitions/Language"
19
+ "$ref": "./_SimpleReferences.schema.json#/$defs/LanguageReference"
20
20
  },
21
21
  "minItems": 1
22
22
  },
@@ -24,31 +24,31 @@
24
24
  "description": "A list of native scripts (usually it is only one). If the culture does not\nuse any script, leave this field empty.",
25
25
  "type": "array",
26
26
  "items": {
27
- "$ref": "#/definitions/Script"
27
+ "$ref": "./_SimpleReferences.schema.json#/$defs/ScriptReference"
28
28
  },
29
29
  "minItems": 1
30
30
  },
31
31
  "area_knowledge": {
32
32
  "description": "If the area knowledge has a fixed value or can be adjusted.",
33
- "$ref": "#/definitions/AreaKnowledge"
33
+ "$ref": "#/$defs/AreaKnowledge"
34
34
  },
35
35
  "social_status": {
36
36
  "description": "A list of possible social status in the respective culture.",
37
37
  "type": "array",
38
38
  "items": {
39
- "$ref": "#/definitions/SocialStatus"
39
+ "$ref": "./_SimpleReferences.schema.json#/$defs/SocialStatusReference"
40
40
  },
41
41
  "minItems": 1
42
42
  },
43
43
  "common_professions": {
44
44
  "description": "A list of professions that are typical for the culture, as well as\nprofessions that are rarely practiced or encountered in the culture. The\nlist is either defined by group (as multiple lists) or plain (as a single\nlist).",
45
- "$ref": "#/definitions/CommonProfessions/Config"
45
+ "$ref": "#/$defs/CommonProfessions"
46
46
  },
47
47
  "common_advantages": {
48
48
  "description": "A list of common advantages.",
49
49
  "type": "array",
50
50
  "items": {
51
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
51
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
52
52
  },
53
53
  "minItems": 1
54
54
  },
@@ -56,7 +56,7 @@
56
56
  "description": "A list of common disadvantages.",
57
57
  "type": "array",
58
58
  "items": {
59
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
59
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
60
60
  },
61
61
  "minItems": 1
62
62
  },
@@ -64,7 +64,7 @@
64
64
  "description": "A list of uncommon advantages.",
65
65
  "type": "array",
66
66
  "items": {
67
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
67
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
68
68
  },
69
69
  "minItems": 1
70
70
  },
@@ -72,7 +72,7 @@
72
72
  "description": "A list of uncommon disadvantages.",
73
73
  "type": "array",
74
74
  "items": {
75
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
75
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
76
76
  },
77
77
  "minItems": 1
78
78
  },
@@ -80,7 +80,7 @@
80
80
  "description": "A list of common skills.",
81
81
  "type": "array",
82
82
  "items": {
83
- "$ref": "#/definitions/CommonnessRatedSkill"
83
+ "$ref": "#/$defs/CommonnessRatedSkill"
84
84
  },
85
85
  "minItems": 1
86
86
  },
@@ -88,7 +88,7 @@
88
88
  "description": "A list of uncommon skills.",
89
89
  "type": "array",
90
90
  "items": {
91
- "$ref": "#/definitions/CommonnessRatedSkill"
91
+ "$ref": "#/$defs/CommonnessRatedSkill"
92
92
  },
93
93
  "minItems": 1
94
94
  },
@@ -96,19 +96,19 @@
96
96
  "description": "The skill points you get for buying the culture package.",
97
97
  "type": "array",
98
98
  "items": {
99
- "$ref": "#/definitions/CulturalPackageItem"
99
+ "$ref": "#/$defs/CulturalPackageItem"
100
100
  },
101
101
  "minItems": 1
102
102
  },
103
103
  "src": {
104
- "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
104
+ "$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
105
105
  },
106
106
  "translations": {
107
107
  "description": "All translations for the entry, identified by IETF language tag (BCP47).",
108
108
  "type": "object",
109
109
  "patternProperties": {
110
110
  "^[a-z]{2}-[A-Z]{2}$": {
111
- "$ref": "#/definitions/Translation"
111
+ "$ref": "#/$defs/CultureTranslation"
112
112
  }
113
113
  },
114
114
  "minProperties": 1,
@@ -128,27 +128,141 @@
128
128
  ],
129
129
  "additionalProperties": false
130
130
  },
131
- "Language": {
131
+ "AreaKnowledge": {
132
+ "description": "If the area knowledge has a fixed value or can be adjusted.",
132
133
  "type": "object",
133
134
  "properties": {
134
- "id": {
135
- "description": "The language's identifier.",
136
- "type": "integer",
137
- "minimum": 1
135
+ "is_fixed": {
136
+ "description": "`true` if the area knowledge has a fixed value, `false` if it can be\nadjusted.",
137
+ "type": "boolean"
138
138
  }
139
139
  },
140
140
  "required": [
141
- "id"
141
+ "is_fixed"
142
142
  ],
143
143
  "additionalProperties": false
144
144
  },
145
- "Script": {
145
+ "Weight": {
146
+ "description": "The \"weight\" difference compared to other professions or profession variants.\nSome professions or profession variants are simply more common (Mostly), but\nsometimes only specific elements are used (Only).",
147
+ "oneOf": [
148
+ {
149
+ "type": "object",
150
+ "properties": {
151
+ "tag": {
152
+ "const": "Mostly"
153
+ }
154
+ },
155
+ "required": [
156
+ "tag"
157
+ ],
158
+ "additionalProperties": false
159
+ },
160
+ {
161
+ "type": "object",
162
+ "properties": {
163
+ "tag": {
164
+ "const": "Only"
165
+ }
166
+ },
167
+ "required": [
168
+ "tag"
169
+ ],
170
+ "additionalProperties": false
171
+ }
172
+ ]
173
+ },
174
+ "CommonProfessionConstraintsOperation": {
175
+ "description": "This defines how the list of constraints should be offset against the\nlist of all mundane professions: Either only the professions are kept\nthat intersect with the constraints (include) or only the professions\nare kept that are different from the constraints (exclude).",
176
+ "oneOf": [
177
+ {
178
+ "type": "object",
179
+ "properties": {
180
+ "tag": {
181
+ "const": "Intersection"
182
+ }
183
+ },
184
+ "required": [
185
+ "tag"
186
+ ],
187
+ "additionalProperties": false
188
+ },
189
+ {
190
+ "type": "object",
191
+ "properties": {
192
+ "tag": {
193
+ "const": "Difference"
194
+ }
195
+ },
196
+ "required": [
197
+ "tag"
198
+ ],
199
+ "additionalProperties": false
200
+ }
201
+ ]
202
+ },
203
+ "Rarity": {
204
+ "description": "Some professions may be found in a culture, but are not that common.",
205
+ "oneOf": [
206
+ {
207
+ "type": "object",
208
+ "properties": {
209
+ "tag": {
210
+ "const": "Rare"
211
+ }
212
+ },
213
+ "required": [
214
+ "tag"
215
+ ],
216
+ "additionalProperties": false
217
+ },
218
+ {
219
+ "type": "object",
220
+ "properties": {
221
+ "tag": {
222
+ "const": "VeryRare"
223
+ }
224
+ },
225
+ "required": [
226
+ "tag"
227
+ ],
228
+ "additionalProperties": false
229
+ }
230
+ ]
231
+ },
232
+ "ProfessionConstraint": {
146
233
  "type": "object",
147
234
  "properties": {
148
235
  "id": {
149
- "description": "The script's identifier.",
236
+ "description": "The profession's identifier.",
150
237
  "type": "integer",
151
238
  "minimum": 1
239
+ },
240
+ "weighted_variants": {
241
+ "description": "Some professions or profession variants are more common than others. There\nmay be cultures where some professions or profession variants are not\nrepresented at all.",
242
+ "type": "object",
243
+ "properties": {
244
+ "elements": {
245
+ "description": "The list of more common professions or profession variants.",
246
+ "type": "array",
247
+ "items": {
248
+ "$ref": "./_SimpleReferences.schema.json#/$defs/ProfessionVariantReference"
249
+ },
250
+ "minItems": 1
251
+ },
252
+ "weight": {
253
+ "description": "The \"weight\" difference compared to other professions or profession\nvariants. Some professions or profession variants are simply more common\n(Mostly), but sometimes only specific elements are used (Only).",
254
+ "$ref": "#/$defs/Weight"
255
+ }
256
+ },
257
+ "required": [
258
+ "elements",
259
+ "weight"
260
+ ],
261
+ "additionalProperties": false
262
+ },
263
+ "rarity": {
264
+ "description": "Some professions may be found in a culture, but are not that\ncommon.",
265
+ "$ref": "#/$defs/Rarity"
152
266
  }
153
267
  },
154
268
  "required": [
@@ -156,14 +270,26 @@
156
270
  ],
157
271
  "additionalProperties": false
158
272
  },
159
- "AreaKnowledge": {
160
- "description": "If the area knowledge has a fixed value or can be adjusted.",
273
+ "MundaneProfessionSubgroupConstraint": {
274
+ "description": "Some professions may be found in a culture, but are not that common.",
161
275
  "oneOf": [
162
276
  {
163
277
  "type": "object",
164
278
  "properties": {
165
279
  "tag": {
166
- "const": "Fixed"
280
+ "const": "Profane"
281
+ }
282
+ },
283
+ "required": [
284
+ "tag"
285
+ ],
286
+ "additionalProperties": false
287
+ },
288
+ {
289
+ "type": "object",
290
+ "properties": {
291
+ "tag": {
292
+ "const": "Fighter"
167
293
  }
168
294
  },
169
295
  "required": [
@@ -175,7 +301,7 @@
175
301
  "type": "object",
176
302
  "properties": {
177
303
  "tag": {
178
- "const": "Adjustable"
304
+ "const": "Religious"
179
305
  }
180
306
  },
181
307
  "required": [
@@ -185,13 +311,40 @@
185
311
  }
186
312
  ]
187
313
  },
188
- "SocialStatus": {
314
+ "TraditionConstraint": {
189
315
  "type": "object",
190
316
  "properties": {
191
317
  "id": {
192
- "description": "The social status's identifier.",
318
+ "description": "The magical tradition's identifier.",
193
319
  "type": "integer",
194
320
  "minimum": 1
321
+ },
322
+ "weighted_professions": {
323
+ "description": "Some professions or profession variants are more common than others. There\nmay be cultures where some professions or profession variants are not\nrepresented at all.",
324
+ "type": "object",
325
+ "properties": {
326
+ "elements": {
327
+ "description": "The list of more common professions or profession variants.",
328
+ "type": "array",
329
+ "items": {
330
+ "$ref": "./_SimpleReferences.schema.json#/$defs/ProfessionReference"
331
+ },
332
+ "minItems": 1
333
+ },
334
+ "weight": {
335
+ "description": "The \"weight\" difference compared to other professions or profession\nvariants. Some professions or profession variants are simply more common\n(Mostly), but sometimes only specific elements are used (Only).",
336
+ "$ref": "#/$defs/Weight"
337
+ }
338
+ },
339
+ "required": [
340
+ "elements",
341
+ "weight"
342
+ ],
343
+ "additionalProperties": false
344
+ },
345
+ "rarity": {
346
+ "description": "Some traditions may be found in a culture, but are not that common.",
347
+ "$ref": "#/$defs/Rarity"
195
348
  }
196
349
  },
197
350
  "required": [
@@ -199,483 +352,250 @@
199
352
  ],
200
353
  "additionalProperties": false
201
354
  },
202
- "CommonProfessions": {
203
- "Profession": {
204
- "type": "object",
205
- "properties": {
206
- "id": {
207
- "description": "The profession's identifier.",
208
- "type": "integer",
209
- "minimum": 1
210
- }
211
- },
212
- "required": [
213
- "id"
214
- ],
215
- "additionalProperties": false
216
- },
217
- "ProfessionVariant": {
218
- "type": "object",
219
- "properties": {
220
- "id": {
221
- "description": "The profession variant's identifier.",
222
- "type": "integer",
223
- "minimum": 1
224
- }
225
- },
226
- "required": [
227
- "id"
228
- ],
229
- "additionalProperties": false
230
- },
231
- "Plain": {
232
- "Constraint": {
355
+ "MundaneCommonProfessionConstraint": {
356
+ "oneOf": [
357
+ {
233
358
  "type": "object",
234
359
  "properties": {
235
360
  "tag": {
236
361
  "const": "Profession"
237
362
  },
238
- "id": {
239
- "description": "The profession's identifier.",
240
- "type": "integer",
241
- "minimum": 1
363
+ "profession": {
364
+ "$ref": "#/$defs/ProfessionConstraint"
242
365
  }
243
366
  },
244
367
  "required": [
245
368
  "tag",
246
- "id"
369
+ "profession"
247
370
  ],
248
371
  "additionalProperties": false
249
372
  },
250
- "T": {
251
- "description": "A plain list of professions.",
373
+ {
252
374
  "type": "object",
253
375
  "properties": {
254
376
  "tag": {
255
- "const": "Plain"
377
+ "const": "ProfessionSubgroup"
256
378
  },
257
- "constraints": {
258
- "description": "The list of professions.",
259
- "type": "array",
260
- "items": {
261
- "$ref": "#/definitions/CommonProfessions/Plain/Constraint"
262
- },
263
- "minItems": 1
379
+ "profession_subgroup": {
380
+ "$ref": "#/$defs/ProfessionConstraint"
264
381
  }
265
382
  },
266
383
  "required": [
267
384
  "tag",
268
- "constraints"
385
+ "profession_subgroup"
269
386
  ],
270
387
  "additionalProperties": false
271
388
  }
272
- },
273
- "Grouped": {
274
- "Constraints": {
275
- "WeightedVariants": {
276
- "description": "Some profession variants are more common than others. There may be\ncultures where some variants are not represented at all.",
277
- "type": "object",
278
- "properties": {
279
- "variants": {
280
- "description": "The list of more common variants.",
281
- "type": "array",
282
- "items": {
283
- "$ref": "#/definitions/CommonProfessions/ProfessionVariant"
284
- },
285
- "minItems": 1
286
- },
287
- "weight": {
288
- "description": "The \"weight\" difference compared to other variants. Some variants are\nsimply more common (Mostly), but sometimes only specific variants are\nused (Only).",
289
- "$ref": "#/definitions/CommonProfessions/Grouped/Weight"
290
- }
291
- },
292
- "required": [
293
- "variants",
294
- "weight"
295
- ],
296
- "additionalProperties": false
297
- },
298
- "Profession": {
299
- "type": "object",
300
- "properties": {
301
- "tag": {
302
- "const": "Profession"
303
- },
304
- "id": {
305
- "description": "The profession's identifier.",
306
- "type": "integer",
307
- "minimum": 1
308
- },
309
- "weighted_variants": {
310
- "description": "Some profession variants are more common than others. There may be\ncultures where some variants are not represented at all.",
311
- "$ref": "#/definitions/CommonProfessions/Grouped/Constraints/WeightedVariants"
312
- },
313
- "rarity": {
314
- "description": "Some professions may be found in a culture, but are not that\ncommon.",
315
- "$ref": "#/definitions/CommonProfessions/Grouped/Rarity"
316
- }
317
- },
318
- "required": [
319
- "tag",
320
- "id"
321
- ],
322
- "additionalProperties": false
323
- }
324
- },
325
- "Weight": {
326
- "description": "The \"weight\" difference compared to other variants. Some variants are\nsimply more common (Mostly), but sometimes only specific variants are\nused (Only).",
327
- "oneOf": [
328
- {
329
- "type": "object",
330
- "properties": {
331
- "tag": {
332
- "const": "Mostly"
333
- }
334
- },
335
- "required": [
336
- "tag"
337
- ],
338
- "additionalProperties": false
389
+ ]
390
+ },
391
+ "MagicCommonProfessionConstraint": {
392
+ "oneOf": [
393
+ {
394
+ "type": "object",
395
+ "properties": {
396
+ "tag": {
397
+ "const": "Tradition"
339
398
  },
340
- {
341
- "type": "object",
342
- "properties": {
343
- "tag": {
344
- "const": "Only"
345
- }
346
- },
347
- "required": [
348
- "tag"
349
- ],
350
- "additionalProperties": false
399
+ "tradition": {
400
+ "$ref": "#/$defs/TraditionConstraint"
351
401
  }
352
- ]
353
- },
354
- "Rarity": {
355
- "description": "Some professions may be found in a culture, but are not that common.",
356
- "oneOf": [
357
- {
358
- "type": "object",
359
- "properties": {
360
- "tag": {
361
- "const": "Rare"
362
- }
363
- },
364
- "required": [
365
- "tag"
366
- ],
367
- "additionalProperties": false
402
+ },
403
+ "required": [
404
+ "tag",
405
+ "tradition"
406
+ ],
407
+ "additionalProperties": false
408
+ },
409
+ {
410
+ "type": "object",
411
+ "properties": {
412
+ "tag": {
413
+ "const": "MagicDilettante"
414
+ }
415
+ },
416
+ "required": [
417
+ "tag"
418
+ ],
419
+ "additionalProperties": false
420
+ },
421
+ {
422
+ "type": "object",
423
+ "properties": {
424
+ "tag": {
425
+ "const": "Profession"
368
426
  },
369
- {
370
- "type": "object",
371
- "properties": {
372
- "tag": {
373
- "const": "VeryRare"
374
- }
375
- },
376
- "required": [
377
- "tag"
378
- ],
379
- "additionalProperties": false
427
+ "profession": {
428
+ "$ref": "#/$defs/ProfessionConstraint"
380
429
  }
381
- ]
382
- },
383
- "Mundane": {
384
- "ProfessionSubgroup": {
385
- "description": "Some professions may be found in a culture, but are not that common.",
386
- "oneOf": [
387
- {
388
- "type": "object",
389
- "properties": {
390
- "tag": {
391
- "const": "Profane"
392
- }
393
- },
394
- "required": [
395
- "tag"
396
- ],
397
- "additionalProperties": false
398
- },
399
- {
400
- "type": "object",
401
- "properties": {
402
- "tag": {
403
- "const": "Fighter"
404
- }
405
- },
406
- "required": [
407
- "tag"
408
- ],
409
- "additionalProperties": false
410
- },
411
- {
412
- "type": "object",
413
- "properties": {
414
- "tag": {
415
- "const": "Religious"
416
- }
417
- },
418
- "required": [
419
- "tag"
420
- ],
421
- "additionalProperties": false
422
- }
423
- ]
424
- },
425
- "Constraint": {
426
- "oneOf": [
427
- {
428
- "$ref": "#/definitions/CommonProfessions/Grouped/Constraints/Profession"
429
- },
430
- {
431
- "type": "object",
432
- "properties": {
433
- "tag": {
434
- "const": "ProfessionSubgroup"
435
- },
436
- "subgroup": {
437
- "$ref": "#/definitions/CommonProfessions/Grouped/Mundane/ProfessionSubgroup"
438
- }
439
- },
440
- "required": [
441
- "tag",
442
- "subgroup"
443
- ],
444
- "additionalProperties": false
445
- }
446
- ]
447
- },
448
- "Operation": {
449
- "description": "This defines how the list of constraints should be offset against the\nlist of all mundane professions: Either only the professions are kept\nthat intersect with the constraints (include) or only the professions\nare kept that are different from the constraints (exclude).",
450
- "oneOf": [
451
- {
452
- "type": "object",
453
- "properties": {
454
- "tag": {
455
- "const": "Intersection"
456
- }
457
- },
458
- "required": [
459
- "tag"
460
- ],
461
- "additionalProperties": false
462
- },
463
- {
464
- "type": "object",
465
- "properties": {
466
- "tag": {
467
- "const": "Difference"
468
- }
469
- },
470
- "required": [
471
- "tag"
472
- ],
473
- "additionalProperties": false
474
- }
475
- ]
476
- },
477
- "T": {
478
- "description": "A list of professions. The filter specifies how the list is applied to\nall mundane professions.",
479
- "type": "object",
480
- "properties": {
481
- "constraints": {
482
- "description": "The list of professions.",
483
- "type": "array",
484
- "items": {
485
- "$ref": "#/definitions/CommonProfessions/Grouped/Mundane/Constraint"
486
- },
487
- "minItems": 1
488
- },
489
- "operation": {
490
- "description": "This defines how the list of constraints should be offset against the\nlist of all mundane professions: Either only the professions are kept\nthat intersect with the constraints (include) or only the professions\nare kept that are different from the constraints (exclude).",
491
- "$ref": "#/definitions/CommonProfessions/Grouped/Mundane/Operation"
492
- }
430
+ },
431
+ "required": [
432
+ "tag",
433
+ "profession"
434
+ ],
435
+ "additionalProperties": false
436
+ }
437
+ ]
438
+ },
439
+ "BlessedCommonProfessionConstraint": {
440
+ "oneOf": [
441
+ {
442
+ "type": "object",
443
+ "properties": {
444
+ "tag": {
445
+ "const": "Tradition"
493
446
  },
494
- "required": [
495
- "constraints",
496
- "operation"
497
- ],
498
- "additionalProperties": false
499
- }
500
- },
501
- "Magic": {
502
- "WeightedProfessions": {
503
- "description": "Some professions are more common than others. There may be cultures\nwhere some professions are not represented at all.",
504
- "type": "object",
505
- "properties": {
506
- "professions": {
507
- "description": "The list of more common variants.",
508
- "type": "array",
509
- "items": {
510
- "$ref": "#/definitions/CommonProfessions/Profession"
511
- },
512
- "minItems": 1
447
+ "tradition": {
448
+ "$ref": "#/$defs/TraditionConstraint"
449
+ }
450
+ },
451
+ "required": [
452
+ "tag",
453
+ "tradition"
454
+ ],
455
+ "additionalProperties": false
456
+ }
457
+ ]
458
+ },
459
+ "PlainCommonProfessions": {
460
+ "description": "A list of professions. The filter specifies how the list is applied to\nall mundane professions.",
461
+ "type": "object",
462
+ "properties": {
463
+ "constraints": {
464
+ "description": "The list of constraints.",
465
+ "type": "array",
466
+ "items": {
467
+ "$ref": "./_SimpleReferences.schema.json#/$defs/ProfessionReference"
468
+ },
469
+ "minItems": 1
470
+ },
471
+ "operation": {
472
+ "description": "This defines how the list of constraints should be offset against the\nlist of all mundane professions: Either only the professions are kept\nthat intersect with the constraints (include) or only the professions\nare kept that are different from the constraints (exclude).",
473
+ "$ref": "#/$defs/CommonProfessionConstraintsOperation"
474
+ }
475
+ },
476
+ "required": [
477
+ "constraints",
478
+ "operation"
479
+ ],
480
+ "additionalProperties": false
481
+ },
482
+ "GroupedCommonProfessions": {
483
+ "description": "Lists of professions by group.",
484
+ "type": "object",
485
+ "properties": {
486
+ "mundane": {
487
+ "description": "A list of professions. The filter specifies how the list is applied to\nall mundane professions.",
488
+ "type": "object",
489
+ "properties": {
490
+ "constraints": {
491
+ "description": "The list of constraints.",
492
+ "type": "array",
493
+ "items": {
494
+ "$ref": "#/$defs/MundaneCommonProfessionConstraint"
513
495
  },
514
- "weight": {
515
- "description": "The \"weight\" difference compared to other professions. Some\nprofessions are simply more common (Mostly), but sometimes only\nspecific professions are used (Only).",
516
- "$ref": "#/definitions/CommonProfessions/Grouped/Weight"
517
- }
496
+ "minItems": 1
518
497
  },
519
- "required": [
520
- "professions",
521
- "weight"
522
- ],
523
- "additionalProperties": false
524
- },
525
- "Constraint": {
526
- "oneOf": [
527
- {
528
- "type": "object",
529
- "properties": {
530
- "tag": {
531
- "const": "Tradition"
532
- },
533
- "id": {
534
- "description": "The magical tradition's identifier.",
535
- "type": "integer",
536
- "minimum": 1
537
- },
538
- "weighted_professions": {
539
- "description": "Some professions are more common than others. There may be cultures\nwhere some professions are not represented at all.",
540
- "$ref": "#/definitions/CommonProfessions/Grouped/Magic/WeightedProfessions"
541
- },
542
- "rarity": {
543
- "description": "Some traditions may be found in a culture, but are not that common.",
544
- "$ref": "#/definitions/CommonProfessions/Grouped/Rarity"
545
- }
546
- },
547
- "required": [
548
- "tag",
549
- "id"
550
- ],
551
- "additionalProperties": false
552
- },
553
- {
554
- "type": "object",
555
- "properties": {
556
- "tag": {
557
- "const": "MagicDilettante"
558
- }
559
- },
560
- "required": [
561
- "tag"
562
- ],
563
- "additionalProperties": false
498
+ "operation": {
499
+ "description": "This defines how the list of constraints should be offset against the\nlist of all mundane professions: Either only the professions are kept\nthat intersect with the constraints (include) or only the professions\nare kept that are different from the constraints (exclude).",
500
+ "$ref": "#/$defs/CommonProfessionConstraintsOperation"
501
+ }
502
+ },
503
+ "required": [
504
+ "constraints",
505
+ "operation"
506
+ ],
507
+ "additionalProperties": false
508
+ },
509
+ "magic": {
510
+ "description": "A list of professions. The filter specifies how the list is applied to\nall mundane professions.",
511
+ "type": "object",
512
+ "properties": {
513
+ "constraints": {
514
+ "description": "The list of constraints.",
515
+ "type": "array",
516
+ "items": {
517
+ "$ref": "#/$defs/MagicCommonProfessionConstraint"
564
518
  },
565
- {
566
- "$ref": "#/definitions/CommonProfessions/Grouped/Constraints/Profession"
567
- }
568
- ]
569
- },
570
- "T": {
571
- "type": "object",
572
- "properties": {
573
- "constraints": {
574
- "description": "The list of professions.",
575
- "type": "array",
576
- "items": {
577
- "$ref": "#/definitions/CommonProfessions/Grouped/Magic/Constraint"
578
- },
579
- "minItems": 1
580
- }
519
+ "minItems": 1
581
520
  },
582
- "required": [
583
- "constraints"
584
- ],
585
- "additionalProperties": false
586
- }
587
- },
588
- "Blessed": {
589
- "Constraint": {
590
- "type": "object",
591
- "properties": {
592
- "tag": {
593
- "const": "Tradition"
594
- },
595
- "id": {
596
- "description": "The blessed tradition's identifier.",
597
- "type": "integer",
598
- "minimum": 1
521
+ "operation": {
522
+ "description": "This defines how the list of constraints should be offset against the\nlist of all mundane professions: Either only the professions are kept\nthat intersect with the constraints (include) or only the professions\nare kept that are different from the constraints (exclude).",
523
+ "$ref": "#/$defs/CommonProfessionConstraintsOperation"
524
+ }
525
+ },
526
+ "required": [
527
+ "constraints",
528
+ "operation"
529
+ ],
530
+ "additionalProperties": false
531
+ },
532
+ "blessed": {
533
+ "description": "A list of professions. The filter specifies how the list is applied to\nall mundane professions.",
534
+ "type": "object",
535
+ "properties": {
536
+ "constraints": {
537
+ "description": "The list of constraints.",
538
+ "type": "array",
539
+ "items": {
540
+ "$ref": "#/$defs/BlessedCommonProfessionConstraint"
599
541
  },
600
- "rarity": {
601
- "description": "Some traditions may be found in a culture, but are not that common.",
602
- "$ref": "#/definitions/CommonProfessions/Grouped/Rarity"
603
- }
542
+ "minItems": 1
604
543
  },
605
- "required": [
606
- "tag",
607
- "id"
608
- ],
609
- "additionalProperties": false
610
- },
611
- "T": {
612
- "type": "object",
613
- "properties": {
614
- "constraints": {
615
- "description": "The list of professions.",
616
- "type": "array",
617
- "items": {
618
- "$ref": "#/definitions/CommonProfessions/Grouped/Blessed/Constraint"
619
- },
620
- "minItems": 1
621
- }
544
+ "operation": {
545
+ "description": "This defines how the list of constraints should be offset against the\nlist of all mundane professions: Either only the professions are kept\nthat intersect with the constraints (include) or only the professions\nare kept that are different from the constraints (exclude).",
546
+ "$ref": "#/$defs/CommonProfessionConstraintsOperation"
547
+ }
548
+ },
549
+ "required": [
550
+ "constraints",
551
+ "operation"
552
+ ],
553
+ "additionalProperties": false
554
+ }
555
+ },
556
+ "required": [],
557
+ "minProperties": 2,
558
+ "additionalProperties": false
559
+ },
560
+ "CommonProfessions": {
561
+ "description": "A list of professions that are typical for the culture, as well as\nprofessions that are rarely practiced or encountered in the culture. The\nlist is either defined by group (as multiple lists) or plain (as a single\nlist).",
562
+ "oneOf": [
563
+ {
564
+ "type": "object",
565
+ "properties": {
566
+ "tag": {
567
+ "const": "Plain"
622
568
  },
623
- "required": [
624
- "constraints"
625
- ],
626
- "additionalProperties": false
627
- }
628
- },
629
- "T": {
630
- "description": "Lists of professions by group.",
569
+ "plain": {
570
+ "$ref": "#/$defs/PlainCommonProfessions"
571
+ }
572
+ },
573
+ "required": [
574
+ "tag",
575
+ "plain"
576
+ ],
577
+ "additionalProperties": false
578
+ },
579
+ {
631
580
  "type": "object",
632
581
  "properties": {
633
582
  "tag": {
634
583
  "const": "Grouped"
635
584
  },
636
- "mundane": {
637
- "description": "A list of professions. The filter specifies how the list is applied to\nall mundane professions.",
638
- "$ref": "#/definitions/CommonProfessions/Grouped/Mundane/T"
639
- },
640
- "magic": {
641
- "$ref": "#/definitions/CommonProfessions/Grouped/Magic/T"
642
- },
643
- "blessed": {
644
- "$ref": "#/definitions/CommonProfessions/Grouped/Blessed/T"
585
+ "grouped": {
586
+ "$ref": "#/$defs/GroupedCommonProfessions"
645
587
  }
646
588
  },
647
589
  "required": [
648
- "tag"
590
+ "tag",
591
+ "grouped"
649
592
  ],
650
- "minProperties": 2,
651
593
  "additionalProperties": false
652
594
  }
653
- },
654
- "Config": {
655
- "description": "A list of professions that are typical for the culture, as well as\nprofessions that are rarely practiced or encountered in the culture. The\nlist is either defined by group (as multiple lists) or plain (as a single\nlist).",
656
- "oneOf": [
657
- {
658
- "$ref": "#/definitions/CommonProfessions/Plain/T"
659
- },
660
- {
661
- "$ref": "#/definitions/CommonProfessions/Grouped/T"
662
- }
663
- ]
664
- }
595
+ ]
665
596
  },
666
597
  "CommonnessRatedSkill": {
667
- "type": "object",
668
- "properties": {
669
- "id": {
670
- "description": "The skill's identifier.",
671
- "type": "integer",
672
- "minimum": 1
673
- }
674
- },
675
- "required": [
676
- "id"
677
- ],
678
- "additionalProperties": false
598
+ "$ref": "./_SimpleReferences.schema.json#/$defs/SkillReference"
679
599
  },
680
600
  "CulturalPackageItem": {
681
601
  "type": "object",
@@ -698,7 +618,7 @@
698
618
  ],
699
619
  "additionalProperties": false
700
620
  },
701
- "Translation": {
621
+ "CultureTranslation": {
702
622
  "type": "object",
703
623
  "properties": {
704
624
  "name": {
@@ -708,34 +628,30 @@
708
628
  },
709
629
  "area_knowledge": {
710
630
  "description": "The description of the area knowledge.",
711
- "$ref": "#/definitions/AreaKnowledgeTranslation"
631
+ "$ref": "#/$defs/AreaKnowledgeTranslation"
712
632
  },
713
633
  "common_advantages": {
714
634
  "description": "The respective common advantages text from the source book.",
715
- "type": "string",
716
- "minLength": 1
635
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
717
636
  },
718
637
  "common_disadvantages": {
719
638
  "description": "The respective common disadvantages text from the source book.",
720
- "type": "string",
721
- "minLength": 1
639
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
722
640
  },
723
641
  "uncommon_advantages": {
724
642
  "description": "The respective uncommon advantages text from the source book.",
725
- "type": "string",
726
- "minLength": 1
643
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
727
644
  },
728
645
  "uncommon_disadvantages": {
729
646
  "description": "The respective uncommon disadvantages text from the source book.",
730
- "type": "string",
731
- "minLength": 1
647
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
732
648
  },
733
649
  "common_names": {
734
650
  "description": "Structured description of common names.",
735
- "$ref": "#/definitions/CommonNames"
651
+ "$ref": "#/$defs/CommonNames"
736
652
  },
737
653
  "errata": {
738
- "$ref": "./source/_Erratum.schema.json#/definitions/Errata"
654
+ "$ref": "./source/_Erratum.schema.json#/$defs/Errata"
739
655
  }
740
656
  },
741
657
  "required": [
@@ -763,7 +679,7 @@
763
679
  "description": "Examples of areas, if applicable.",
764
680
  "type": "array",
765
681
  "items": {
766
- "$ref": "#/definitions/AreaKnowledgeExample"
682
+ "$ref": "#/$defs/AreaKnowledgeExample"
767
683
  },
768
684
  "minItems": 1
769
685
  }
@@ -775,8 +691,17 @@
775
691
  "additionalProperties": false
776
692
  },
777
693
  "AreaKnowledgeExample": {
778
- "type": "string",
779
- "minLength": 1
694
+ "type": "object",
695
+ "properties": {
696
+ "area": {
697
+ "type": "string",
698
+ "minLength": 1
699
+ }
700
+ },
701
+ "required": [
702
+ "area"
703
+ ],
704
+ "additionalProperties": false
780
705
  },
781
706
  "CommonNames": {
782
707
  "description": "Structured description of common names.",
@@ -786,7 +711,7 @@
786
711
  "description": "First names can be gender-neutral, but they can also be for a specific\nbinary sex. They are sorted into groups.",
787
712
  "type": "array",
788
713
  "items": {
789
- "$ref": "#/definitions/NameGroup"
714
+ "$ref": "#/$defs/NameGroup"
790
715
  },
791
716
  "minItems": 1
792
717
  },
@@ -794,14 +719,13 @@
794
719
  "description": "Last names can be gender-neutral, like family names, but they can also be\nfor a specific binary sex. They are sorted into groups.",
795
720
  "type": "array",
796
721
  "items": {
797
- "$ref": "#/definitions/NameGroup"
722
+ "$ref": "#/$defs/NameGroup"
798
723
  },
799
724
  "minItems": 1
800
725
  },
801
726
  "naming_rules": {
802
727
  "description": "Special naming rules.",
803
- "type": "string",
804
- "minLength": 1
728
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
805
729
  }
806
730
  },
807
731
  "required": [],
@@ -813,18 +737,17 @@
813
737
  "properties": {
814
738
  "label": {
815
739
  "description": "The group label.",
816
- "type": "string",
817
- "minLength": 1
740
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
818
741
  },
819
742
  "sex": {
820
743
  "description": "The binary sex if the group is only for a certain binary sex.",
821
- "$ref": "./_Sex.schema.json#/definitions/BinarySex"
744
+ "$ref": "./_Sex.schema.json#/$defs/BinarySex"
822
745
  },
823
746
  "names": {
824
747
  "description": "The names from the group.",
825
748
  "type": "array",
826
749
  "items": {
827
- "$ref": "#/definitions/Name"
750
+ "$ref": "#/$defs/Name"
828
751
  },
829
752
  "minItems": 1
830
753
  }
@@ -839,13 +762,11 @@
839
762
  "type": "object",
840
763
  "properties": {
841
764
  "name": {
842
- "type": "string",
843
- "minLength": 1
765
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
844
766
  },
845
767
  "note": {
846
768
  "description": "Additional information about the name, appended in parenthesis.",
847
- "type": "string",
848
- "minLength": 1
769
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
849
770
  }
850
771
  },
851
772
  "required": [