optolith-database-schema 0.2.4 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (518) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/lib/config.d.ts +302 -250
  3. package/lib/config.js +302 -250
  4. package/lib/main.d.ts +3 -2
  5. package/lib/main.js +1 -1
  6. package/lib/types/Advantage.d.ts +23 -25
  7. package/lib/types/AnimalDisease.d.ts +18 -212
  8. package/lib/types/AnimalType.d.ts +9 -13
  9. package/lib/types/ArcaneBardTradition.d.ts +3 -27
  10. package/lib/types/ArcaneDancerTradition.d.ts +3 -27
  11. package/lib/types/Aspect.d.ts +14 -19
  12. package/lib/types/Attribute.d.ts +17 -23
  13. package/lib/types/Blessing.d.ts +81 -83
  14. package/lib/types/Cantrip.d.ts +132 -161
  15. package/lib/types/Ceremony.d.ts +55 -88
  16. package/lib/types/CombatTechnique_Close.d.ts +30 -39
  17. package/lib/types/CombatTechnique_Ranged.d.ts +28 -26
  18. package/lib/types/Condition.d.ts +18 -31
  19. package/lib/types/Continent.d.ts +9 -13
  20. package/lib/types/Culture.d.ts +164 -290
  21. package/lib/types/Culture.js +38 -0
  22. package/lib/types/DerivedCharacteristic.d.ts +4 -10
  23. package/lib/types/Disadvantage.d.ts +20 -24
  24. package/lib/types/Disease.d.ts +5 -140
  25. package/lib/types/Element.d.ts +9 -13
  26. package/lib/types/ExperienceLevel.d.ts +3 -9
  27. package/lib/types/EyeColor.d.ts +9 -13
  28. package/lib/types/FamiliarsTrick.d.ts +201 -290
  29. package/lib/types/HairColor.d.ts +9 -13
  30. package/lib/types/Lessons_Curriculum.d.ts +77 -138
  31. package/lib/types/Lessons_Guideline.d.ts +9 -13
  32. package/lib/types/LiturgicalChant.d.ts +55 -88
  33. package/lib/types/Locale.d.ts +1 -1
  34. package/lib/types/Locale.js +1 -1
  35. package/lib/types/MetaCondition.d.ts +18 -31
  36. package/lib/types/PactCategory.d.ts +48 -62
  37. package/lib/types/Patron.d.ts +60 -76
  38. package/lib/types/Patron.js +20 -0
  39. package/lib/types/PatronCategory.d.ts +11 -21
  40. package/lib/types/PersonalityTrait.d.ts +31 -39
  41. package/lib/types/Profession.d.ts +293 -435
  42. package/lib/types/Profession.js +6 -0
  43. package/lib/types/Property.d.ts +9 -13
  44. package/lib/types/Race.d.ts +95 -192
  45. package/lib/types/Race.js +11 -0
  46. package/lib/types/Region.d.ts +9 -13
  47. package/lib/types/Ritual.d.ts +58 -83
  48. package/lib/types/Service.d.ts +19 -25
  49. package/lib/types/Service.js +5 -0
  50. package/lib/types/SexPractice.d.ts +26 -34
  51. package/lib/types/Skill.d.ts +73 -102
  52. package/lib/types/Skill.js +19 -0
  53. package/lib/types/SkillGroup.d.ts +13 -18
  54. package/lib/types/SkillModificationLevel.d.ts +72 -76
  55. package/lib/types/SocialStatus.d.ts +9 -13
  56. package/lib/types/Spell.d.ts +58 -83
  57. package/lib/types/State.d.ts +14 -20
  58. package/lib/types/Talisman.d.ts +40 -54
  59. package/lib/types/Talisman.js +8 -0
  60. package/lib/types/TargetCategory.d.ts +21 -16
  61. package/lib/types/UI.d.ts +1 -5
  62. package/lib/types/_Activatable.d.ts +646 -1227
  63. package/lib/types/_Activatable.js +44 -13
  64. package/lib/types/_ActivatableSelectOptionCategory.d.ts +359 -0
  65. package/lib/types/_ActivatableSelectOptionCategory.js +8 -0
  66. package/lib/types/_ActivatableSkill.d.ts +24 -1016
  67. package/lib/types/_ActivatableSkill.js +1 -32
  68. package/lib/types/_ActivatableSkillCastingTime.d.ts +69 -0
  69. package/lib/types/_ActivatableSkillCastingTime.js +5 -0
  70. package/lib/types/_ActivatableSkillCheckResultBased.d.ts +39 -0
  71. package/lib/types/_ActivatableSkillCheckResultBased.js +16 -0
  72. package/lib/types/_ActivatableSkillCost.d.ts +223 -0
  73. package/lib/types/{prerequisites/single/CommonSuggestedByRCPPrerequisite.js → _ActivatableSkillCost.js} +0 -0
  74. package/lib/types/_ActivatableSkillDuration.d.ts +138 -0
  75. package/lib/types/_ActivatableSkillDuration.js +13 -0
  76. package/lib/types/_ActivatableSkillEffect.d.ts +68 -0
  77. package/lib/types/{equipment/_Armor.js → _ActivatableSkillEffect.js} +0 -3
  78. package/lib/types/_ActivatableSkillRange.d.ts +107 -0
  79. package/lib/types/_ActivatableSkillRange.js +5 -0
  80. package/lib/types/_ActivatableSkillTargetCategory.d.ts +39 -0
  81. package/lib/types/_ActivatableSkillTargetCategory.js +1 -0
  82. package/lib/types/_AlternativeNames.d.ts +11 -0
  83. package/lib/types/_AlternativeNames.js +1 -0
  84. package/lib/types/_ArcaneTradition.d.ts +28 -0
  85. package/lib/types/_ArcaneTradition.js +4 -0
  86. package/lib/types/_Blessed.d.ts +22 -0
  87. package/lib/types/_Blessed.js +1 -0
  88. package/lib/types/_DiseasePoison.d.ts +114 -0
  89. package/lib/types/_DiseasePoison.js +15 -0
  90. package/lib/types/_Enhancements.d.ts +16 -20
  91. package/lib/types/_I18n.d.ts +1 -5
  92. package/lib/types/_Identifier.d.ts +32 -0
  93. package/lib/types/_Identifier.js +32 -0
  94. package/lib/types/_Influence.d.ts +27 -32
  95. package/lib/types/_LocaleMap.d.ts +10 -0
  96. package/lib/types/_LocaleMap.js +1 -0
  97. package/lib/types/_NonEmptyString.d.ts +9 -0
  98. package/lib/types/_NonEmptyString.js +1 -0
  99. package/lib/types/_Prerequisite.d.ts +61 -65
  100. package/lib/types/_ResponsiveText.d.ts +54 -0
  101. package/lib/types/_ResponsiveText.js +1 -0
  102. package/lib/types/_Sex.d.ts +4 -5
  103. package/lib/types/_Sex.js +8 -1
  104. package/lib/types/_SimpleReferences.d.ts +334 -0
  105. package/lib/types/_SimpleReferences.js +1 -0
  106. package/lib/types/_SkillCheck.d.ts +12 -20
  107. package/lib/types/_SkillCheck.js +11 -1
  108. package/lib/types/_Spellwork.d.ts +18 -0
  109. package/lib/types/_Spellwork.js +1 -0
  110. package/lib/types/equipment/EquipmentPackage.d.ts +24 -28
  111. package/lib/types/equipment/item/Alchemicum.d.ts +6 -0
  112. package/lib/types/equipment/item/Alchemicum.js +5 -0
  113. package/lib/types/equipment/item/Ammunition.d.ts +31 -0
  114. package/lib/types/equipment/item/Ammunition.js +5 -0
  115. package/lib/types/equipment/item/Animal.d.ts +18 -0
  116. package/lib/types/equipment/item/Animal.js +5 -0
  117. package/lib/types/equipment/item/AnimalCare.d.ts +48 -0
  118. package/lib/types/equipment/item/AnimalCare.js +5 -0
  119. package/lib/types/equipment/item/Armor.d.ts +185 -0
  120. package/lib/types/equipment/item/Armor.js +5 -0
  121. package/lib/types/equipment/item/BandageOrRemedy.d.ts +36 -0
  122. package/lib/types/equipment/item/BandageOrRemedy.js +5 -0
  123. package/lib/types/equipment/item/Book.d.ts +60 -0
  124. package/lib/types/equipment/item/Book.js +5 -0
  125. package/lib/types/equipment/item/CeremonialItem.d.ts +41 -0
  126. package/lib/types/equipment/item/CeremonialItem.js +5 -0
  127. package/lib/types/equipment/item/Clothes.d.ts +6 -0
  128. package/lib/types/equipment/item/Clothes.js +5 -0
  129. package/lib/types/equipment/item/Container.d.ts +6 -0
  130. package/lib/types/equipment/item/Container.js +5 -0
  131. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +28 -0
  132. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +5 -0
  133. package/lib/types/equipment/item/GemOrPreciousStone.d.ts +43 -0
  134. package/lib/types/equipment/item/GemOrPreciousStone.js +5 -0
  135. package/lib/types/equipment/item/IlluminationLightSource.d.ts +62 -0
  136. package/lib/types/equipment/item/IlluminationLightSource.js +9 -0
  137. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.d.ts +6 -0
  138. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.js +5 -0
  139. package/lib/types/equipment/item/Jewelry.d.ts +60 -0
  140. package/lib/types/equipment/item/Jewelry.js +5 -0
  141. package/lib/types/equipment/item/Liebesspielzeug.d.ts +6 -0
  142. package/lib/types/equipment/item/Liebesspielzeug.js +5 -0
  143. package/lib/types/equipment/item/LuxuryGood.d.ts +36 -0
  144. package/lib/types/equipment/item/LuxuryGood.js +5 -0
  145. package/lib/types/equipment/item/MagicalArtifact.d.ts +39 -0
  146. package/lib/types/equipment/item/MagicalArtifact.js +5 -0
  147. package/lib/types/equipment/item/MusicalInstrument.d.ts +22 -0
  148. package/lib/types/equipment/item/MusicalInstrument.js +5 -0
  149. package/lib/types/equipment/item/OrienteeringAid.d.ts +6 -0
  150. package/lib/types/equipment/item/OrienteeringAid.js +5 -0
  151. package/lib/types/equipment/item/Poison.d.ts +165 -0
  152. package/lib/types/equipment/item/Poison.js +12 -0
  153. package/lib/types/equipment/item/RopeOrChain.d.ts +6 -0
  154. package/lib/types/equipment/item/RopeOrChain.js +5 -0
  155. package/lib/types/equipment/item/Stationary.d.ts +6 -0
  156. package/lib/types/equipment/item/Stationary.js +5 -0
  157. package/lib/types/equipment/item/ThievesTool.d.ts +6 -0
  158. package/lib/types/equipment/item/ThievesTool.js +5 -0
  159. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +56 -0
  160. package/lib/types/equipment/item/ToolOfTheTrade.js +5 -0
  161. package/lib/types/equipment/item/TravelGearOrTool.d.ts +6 -0
  162. package/lib/types/equipment/item/TravelGearOrTool.js +5 -0
  163. package/lib/types/equipment/item/Vehicle.d.ts +18 -0
  164. package/lib/types/equipment/item/Vehicle.js +5 -0
  165. package/lib/types/equipment/item/Weapon.d.ts +152 -0
  166. package/lib/types/equipment/item/Weapon.js +5 -0
  167. package/lib/types/equipment/item/WeaponAccessory.d.ts +6 -0
  168. package/lib/types/equipment/item/WeaponAccessory.js +5 -0
  169. package/lib/types/equipment/item/_Item.d.ts +163 -0
  170. package/lib/types/equipment/item/_Item.js +1 -0
  171. package/lib/types/equipment/item/_MeleeWeapon.d.ts +115 -0
  172. package/lib/types/equipment/item/_MeleeWeapon.js +4 -0
  173. package/lib/types/equipment/item/_RangedWeapon.d.ts +110 -0
  174. package/lib/types/equipment/item/_RangedWeapon.js +4 -0
  175. package/lib/types/equipment/item/_Weapon.d.ts +57 -0
  176. package/lib/types/equipment/{_Weapon.js → item/_Weapon.js} +0 -3
  177. package/lib/types/equipment/item/sub/ArmorType.d.ts +36 -0
  178. package/lib/types/equipment/{ArmorType.js → item/sub/ArmorType.js} +1 -1
  179. package/lib/types/equipment/item/sub/Reach.d.ts +27 -0
  180. package/lib/types/equipment/{Reach.js → item/sub/Reach.js} +1 -1
  181. package/lib/types/magicalActions/AnimistPower.d.ts +170 -225
  182. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +9 -13
  183. package/lib/types/magicalActions/Curse.d.ts +116 -184
  184. package/lib/types/magicalActions/DominationRitual.d.ts +98 -136
  185. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +79 -123
  186. package/lib/types/magicalActions/GeodeRitual.d.ts +126 -111
  187. package/lib/types/magicalActions/JesterTrick.d.ts +117 -109
  188. package/lib/types/magicalActions/MagicalDance.d.ts +71 -138
  189. package/lib/types/magicalActions/MagicalMelody.d.ts +65 -75
  190. package/lib/types/magicalActions/MagicalRune.d.ts +155 -189
  191. package/lib/types/magicalActions/ZibiljaRitual.d.ts +57 -65
  192. package/lib/types/magicalActions/_MusicTradition.d.ts +21 -13
  193. package/lib/types/magicalActions/_MusicTradition.js +10 -1
  194. package/lib/types/magicalActions/_SkillReference.d.ts +1 -1
  195. package/lib/types/prerequisites/DisplayOption.d.ts +7 -8
  196. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +195 -16
  197. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +0 -3
  198. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +0 -1
  199. package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +0 -1
  200. package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +17 -14
  201. package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +0 -1
  202. package/lib/types/prerequisites/single/PactPrerequisite.d.ts +5 -14
  203. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +5 -6
  204. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +5 -1
  205. package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +0 -1
  206. package/lib/types/prerequisites/single/RacePrerequisite.d.ts +0 -1
  207. package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +32 -41
  208. package/lib/types/prerequisites/single/RulePrerequisite.d.ts +0 -1
  209. package/lib/types/prerequisites/single/SexPrerequisite.d.ts +0 -1
  210. package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +0 -1
  211. package/lib/types/prerequisites/single/StatePrerequisite.d.ts +0 -1
  212. package/lib/types/prerequisites/single/TextPrerequisite.d.ts +9 -14
  213. package/lib/types/prerequisites/single/TextPrerequisite.js +5 -1
  214. package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +18 -12
  215. package/lib/types/prerequisites/single/TraditionPrerequisite.js +18 -1
  216. package/lib/types/rule/CoreRule.d.ts +256 -206
  217. package/lib/types/rule/CoreRule.js +5 -0
  218. package/lib/types/rule/FocusRule.d.ts +19 -24
  219. package/lib/types/rule/FocusRule_Subject.d.ts +9 -13
  220. package/lib/types/rule/OptionalRule.d.ts +12 -35
  221. package/lib/types/rule/_Rule.d.ts +20 -0
  222. package/lib/types/rule/_Rule.js +1 -0
  223. package/lib/types/source/Publication.d.ts +39 -56
  224. package/lib/types/source/Publication.js +10 -0
  225. package/lib/types/source/_Erratum.d.ts +2 -1
  226. package/lib/types/source/_PublicationRef.d.ts +43 -37
  227. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +13 -17
  228. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +8 -12
  229. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +8 -12
  230. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +8 -12
  231. package/lib/types/specialAbility/AncestorGlyph.d.ts +8 -12
  232. package/lib/types/specialAbility/BlessedTradition.d.ts +95 -123
  233. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +9 -13
  234. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +9 -13
  235. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +13 -17
  236. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +10 -18
  237. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +1 -1
  238. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +8 -12
  239. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +8 -12
  240. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +8 -12
  241. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +8 -12
  242. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +8 -12
  243. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +8 -12
  244. package/lib/types/specialAbility/LycantropicGift.d.ts +8 -12
  245. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +8 -12
  246. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +8 -12
  247. package/lib/types/specialAbility/MagicalTradition.d.ts +38 -58
  248. package/lib/types/specialAbility/PactGift.d.ts +73 -62
  249. package/lib/types/specialAbility/PactGift.js +10 -0
  250. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +16 -23
  251. package/lib/types/specialAbility/Sermon.d.ts +8 -12
  252. package/lib/types/specialAbility/SexSpecialAbility.d.ts +8 -12
  253. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +8 -12
  254. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +8 -12
  255. package/lib/types/specialAbility/VampiricGift.d.ts +8 -12
  256. package/lib/types/specialAbility/Vision.d.ts +8 -12
  257. package/lib/types/specialAbility/_Tradition.d.ts +12 -0
  258. package/lib/types/specialAbility/_Tradition.js +1 -0
  259. package/lib/types/specialAbility/sub/Language.d.ts +78 -104
  260. package/lib/types/specialAbility/sub/Script.d.ts +24 -51
  261. package/lib/types/specialAbility/sub/TradeSecret.d.ts +14 -20
  262. package/lib/types/specialAbility/sub/_LanguageScript.d.ts +13 -0
  263. package/lib/types/specialAbility/sub/_LanguageScript.js +1 -0
  264. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +20 -24
  265. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +20 -24
  266. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +20 -24
  267. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +31 -34
  268. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +20 -24
  269. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +45 -25
  270. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +20 -24
  271. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +20 -24
  272. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +20 -24
  273. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +20 -24
  274. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +20 -24
  275. package/lib/types/traditionArtifacts/SickleRitual.d.ts +20 -24
  276. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +20 -24
  277. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +21 -25
  278. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +21 -25
  279. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +20 -24
  280. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +20 -24
  281. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +19 -24
  282. package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +24 -16
  283. package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +9 -13
  284. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +9 -13
  285. package/lib/types/traditionArtifacts/sub/Brew.d.ts +9 -13
  286. package/lib/validation/schema.d.ts +11 -2
  287. package/lib/validation/schema.js +16 -4
  288. package/package.json +8 -7
  289. package/schema/Advantage.schema.json +49 -42
  290. package/schema/AnimalDisease.schema.json +17 -325
  291. package/schema/AnimalType.schema.json +17 -15
  292. package/schema/ArcaneBardTradition.schema.json +4 -42
  293. package/schema/ArcaneDancerTradition.schema.json +4 -42
  294. package/schema/Aspect.schema.json +21 -20
  295. package/schema/Attribute.schema.json +27 -27
  296. package/schema/Blessing.schema.json +202 -147
  297. package/schema/Cantrip.schema.json +352 -292
  298. package/schema/Ceremony.schema.json +90 -149
  299. package/schema/CombatTechnique_Close.schema.json +56 -67
  300. package/schema/CombatTechnique_Ranged.schema.json +46 -30
  301. package/schema/Condition.schema.json +46 -50
  302. package/schema/Continent.schema.json +18 -15
  303. package/schema/Culture.schema.json +324 -495
  304. package/schema/DerivedCharacteristic.schema.json +8 -8
  305. package/schema/Disadvantage.schema.json +45 -40
  306. package/schema/Disease.schema.json +7 -193
  307. package/schema/Element.schema.json +18 -15
  308. package/schema/ExperienceLevel.schema.json +5 -5
  309. package/schema/EyeColor.schema.json +17 -15
  310. package/schema/FamiliarsTrick.schema.json +491 -513
  311. package/schema/HairColor.schema.json +17 -15
  312. package/schema/Kirchenpraegung.schema.json +4 -4
  313. package/schema/Lessons_Curriculum.schema.json +234 -236
  314. package/schema/Lessons_Guideline.schema.json +17 -15
  315. package/schema/LiturgicalChant.schema.json +90 -149
  316. package/schema/Locale.schema.json +5 -5
  317. package/schema/MetaCondition.schema.json +46 -50
  318. package/schema/PactCategory.schema.json +101 -89
  319. package/schema/Patron.schema.json +151 -229
  320. package/schema/PatronCategory.schema.json +18 -27
  321. package/schema/PersonalityTrait.schema.json +50 -57
  322. package/schema/Profession.schema.json +833 -993
  323. package/schema/Property.schema.json +18 -16
  324. package/schema/Race.schema.json +170 -311
  325. package/schema/Region.schema.json +17 -15
  326. package/schema/Ritual.schema.json +111 -158
  327. package/schema/Service.schema.json +33 -51
  328. package/schema/SexPractice.schema.json +37 -39
  329. package/schema/Skill.schema.json +95 -162
  330. package/schema/SkillGroup.schema.json +23 -22
  331. package/schema/SkillModificationLevel.schema.json +93 -82
  332. package/schema/SocialStatus.schema.json +17 -15
  333. package/schema/Spell.schema.json +110 -158
  334. package/schema/State.schema.json +26 -25
  335. package/schema/Talisman.schema.json +60 -121
  336. package/schema/TargetCategory.schema.json +35 -20
  337. package/schema/UI.schema.json +830 -834
  338. package/schema/_Activatable.schema.json +1612 -2261
  339. package/schema/_ActivatableSelectOptionCategory.schema.json +1172 -0
  340. package/schema/_ActivatableSkill.schema.json +96 -1692
  341. package/schema/_ActivatableSkillCastingTime.schema.json +177 -0
  342. package/schema/_ActivatableSkillCheckResultBased.schema.json +57 -0
  343. package/schema/_ActivatableSkillCost.schema.json +448 -0
  344. package/schema/_ActivatableSkillDuration.schema.json +335 -0
  345. package/schema/_ActivatableSkillEffect.schema.json +153 -0
  346. package/schema/_ActivatableSkillRange.schema.json +241 -0
  347. package/schema/_ActivatableSkillTargetCategory.schema.json +145 -0
  348. package/schema/_AlternativeNames.schema.json +23 -0
  349. package/schema/_ArcaneTradition.schema.json +51 -0
  350. package/schema/_Blessed.schema.json +64 -0
  351. package/schema/_CommonnessRatedAdvantageDisadvantage.schema.json +2 -2
  352. package/schema/_Dice.schema.json +3 -3
  353. package/schema/_DiseasePoison.schema.json +140 -0
  354. package/schema/_Enhancements.schema.json +29 -26
  355. package/schema/_I18n.schema.json +8 -12
  356. package/schema/_Identifier.schema.json +73 -22
  357. package/schema/_ImprovementCost.schema.json +2 -2
  358. package/schema/_Influence.schema.json +48 -45
  359. package/schema/_NonEmptyString.schema.json +14 -0
  360. package/schema/_Prerequisite.schema.json +830 -651
  361. package/schema/_ResponsiveText.schema.json +66 -0
  362. package/schema/_Sex.schema.json +6 -28
  363. package/schema/_SimpleReferences.schema.json +586 -0
  364. package/schema/_SkillCheck.schema.json +10 -69
  365. package/schema/_Spellwork.schema.json +54 -0
  366. package/schema/equipment/EquipmentPackage.schema.json +37 -32
  367. package/schema/equipment/item/Alchemicum.schema.json +10 -0
  368. package/schema/equipment/item/Ammunition.schema.json +56 -0
  369. package/schema/equipment/item/Animal.schema.json +36 -0
  370. package/schema/equipment/item/AnimalCare.schema.json +124 -0
  371. package/schema/equipment/item/Armor.schema.json +309 -0
  372. package/schema/equipment/item/BandageOrRemedy.schema.json +53 -0
  373. package/schema/equipment/item/Book.schema.json +89 -0
  374. package/schema/equipment/item/CeremonialItem.schema.json +59 -0
  375. package/schema/equipment/item/Clothes.schema.json +10 -0
  376. package/schema/equipment/item/Container.schema.json +10 -0
  377. package/schema/equipment/item/EquipmentOfBlessedOnes.schema.json +46 -0
  378. package/schema/equipment/item/GemOrPreciousStone.schema.json +69 -0
  379. package/schema/equipment/item/IlluminationLightSource.schema.json +122 -0
  380. package/schema/equipment/item/IlluminationRefillsOrSupplies.schema.json +10 -0
  381. package/schema/equipment/item/Jewelry.schema.json +113 -0
  382. package/schema/equipment/item/Liebesspielzeug.schema.json +10 -0
  383. package/schema/equipment/item/LuxuryGood.schema.json +53 -0
  384. package/schema/equipment/item/MagicalArtifact.schema.json +64 -0
  385. package/schema/equipment/item/MusicalInstrument.schema.json +41 -0
  386. package/schema/equipment/item/OrienteeringAid.schema.json +10 -0
  387. package/schema/equipment/item/Poison.schema.json +369 -0
  388. package/schema/equipment/item/RopeOrChain.schema.json +10 -0
  389. package/schema/equipment/item/Stationary.schema.json +10 -0
  390. package/schema/equipment/item/ThievesTool.schema.json +10 -0
  391. package/schema/equipment/item/ToolOfTheTrade.schema.json +82 -0
  392. package/schema/equipment/item/TravelGearOrTool.schema.json +10 -0
  393. package/schema/equipment/item/Vehicle.schema.json +36 -0
  394. package/schema/equipment/item/Weapon.schema.json +265 -0
  395. package/schema/equipment/item/WeaponAccessory.schema.json +10 -0
  396. package/schema/equipment/item/_Item.schema.json +403 -0
  397. package/schema/equipment/item/_MeleeWeapon.schema.json +180 -0
  398. package/schema/equipment/item/_RangedWeapon.schema.json +186 -0
  399. package/schema/equipment/item/_Weapon.schema.json +99 -0
  400. package/schema/equipment/item/sub/ArmorType.schema.json +53 -0
  401. package/schema/equipment/{Reach.schema.json → item/sub/Reach.schema.json} +18 -16
  402. package/schema/magicalActions/AnimistPower.schema.json +427 -402
  403. package/schema/magicalActions/AnimistPower_Tribe.schema.json +17 -15
  404. package/schema/magicalActions/Curse.schema.json +293 -313
  405. package/schema/magicalActions/DominationRitual.schema.json +233 -220
  406. package/schema/magicalActions/ElvenMagicalSong.schema.json +132 -154
  407. package/schema/magicalActions/GeodeRitual.schema.json +296 -220
  408. package/schema/magicalActions/JesterTrick.schema.json +269 -198
  409. package/schema/magicalActions/MagicalDance.schema.json +147 -251
  410. package/schema/magicalActions/MagicalMelody.schema.json +129 -164
  411. package/schema/magicalActions/MagicalRune.schema.json +341 -323
  412. package/schema/magicalActions/ZibiljaRitual.schema.json +139 -112
  413. package/schema/magicalActions/_MusicTradition.schema.json +44 -14
  414. package/schema/magicalActions/_SkillReference.schema.json +4 -4
  415. package/schema/prerequisites/ConditionalPrerequisites.schema.json +3 -3
  416. package/schema/prerequisites/DisplayOption.schema.json +33 -15
  417. package/schema/prerequisites/PrerequisiteGroups.schema.json +845 -62
  418. package/schema/prerequisites/single/ActivatablePrerequisite.schema.json +13 -25
  419. package/schema/prerequisites/single/AnimistPowerPrerequisite.schema.json +4 -7
  420. package/schema/prerequisites/single/CulturePrerequisite.schema.json +4 -8
  421. package/schema/prerequisites/single/EnhancementPrerequisite.schema.json +30 -23
  422. package/schema/prerequisites/single/InfluencePrerequisite.schema.json +3 -7
  423. package/schema/prerequisites/single/PactPrerequisite.schema.json +9 -19
  424. package/schema/prerequisites/single/PrimaryAttributePrerequisite.schema.json +10 -33
  425. package/schema/prerequisites/single/PublicationPrerequisite.schema.json +3 -7
  426. package/schema/prerequisites/single/RacePrerequisite.schema.json +4 -8
  427. package/schema/prerequisites/single/RatedPrerequisite.schema.json +104 -107
  428. package/schema/prerequisites/single/RulePrerequisite.schema.json +4 -8
  429. package/schema/prerequisites/single/SexPrerequisite.schema.json +4 -8
  430. package/schema/prerequisites/single/SocialStatusPrerequisite.schema.json +3 -7
  431. package/schema/prerequisites/single/StatePrerequisite.schema.json +4 -8
  432. package/schema/prerequisites/single/TextPrerequisite.schema.json +13 -34
  433. package/schema/prerequisites/single/TraditionPrerequisite.schema.json +22 -68
  434. package/schema/rule/CoreRule.schema.json +1295 -859
  435. package/schema/rule/FocusRule.schema.json +34 -30
  436. package/schema/rule/FocusRule_Subject.schema.json +17 -15
  437. package/schema/rule/OptionalRule.schema.json +24 -56
  438. package/schema/rule/_Rule.schema.json +59 -0
  439. package/schema/source/Publication.schema.json +47 -117
  440. package/schema/source/_Erratum.schema.json +5 -6
  441. package/schema/source/_PublicationRef.schema.json +103 -59
  442. package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +41 -38
  443. package/schema/specialAbility/AdvancedKarmaSpecialAbility.schema.json +35 -32
  444. package/schema/specialAbility/AdvancedMagicalSpecialAbility.schema.json +35 -32
  445. package/schema/specialAbility/AdvancedSkillSpecialAbility.schema.json +35 -32
  446. package/schema/specialAbility/AncestorGlyph.schema.json +33 -30
  447. package/schema/specialAbility/BlessedTradition.schema.json +251 -224
  448. package/schema/specialAbility/BrawlingSpecialAbility.schema.json +35 -32
  449. package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +36 -34
  450. package/schema/specialAbility/CombatSpecialAbility.schema.json +41 -38
  451. package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +39 -61
  452. package/schema/specialAbility/CommandSpecialAbility.schema.json +16 -16
  453. package/schema/specialAbility/FamiliarSpecialAbility.schema.json +33 -30
  454. package/schema/specialAbility/FatePointSexSpecialAbility.schema.json +33 -30
  455. package/schema/specialAbility/FatePointSpecialAbility.schema.json +35 -32
  456. package/schema/specialAbility/GeneralSpecialAbility.schema.json +35 -32
  457. package/schema/specialAbility/KarmaSpecialAbility.schema.json +33 -30
  458. package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +36 -33
  459. package/schema/specialAbility/LycantropicGift.schema.json +33 -30
  460. package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +36 -33
  461. package/schema/specialAbility/MagicalSpecialAbility.schema.json +35 -32
  462. package/schema/specialAbility/MagicalTradition.schema.json +66 -87
  463. package/schema/specialAbility/PactGift.schema.json +196 -174
  464. package/schema/specialAbility/ProtectiveWardingCircleSpecialAbility.schema.json +39 -38
  465. package/schema/specialAbility/Sermon.schema.json +33 -30
  466. package/schema/specialAbility/SexSpecialAbility.schema.json +35 -32
  467. package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +33 -30
  468. package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +34 -31
  469. package/schema/specialAbility/VampiricGift.schema.json +33 -30
  470. package/schema/specialAbility/Vision.schema.json +33 -30
  471. package/schema/specialAbility/_Tradition.schema.json +23 -0
  472. package/schema/specialAbility/sub/Language.schema.json +170 -162
  473. package/schema/specialAbility/sub/Script.schema.json +35 -72
  474. package/schema/specialAbility/sub/TradeSecret.schema.json +26 -25
  475. package/schema/specialAbility/sub/_LanguageScript.schema.json +26 -0
  476. package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +46 -43
  477. package/schema/traditionArtifacts/AttireEnchantment.schema.json +46 -43
  478. package/schema/traditionArtifacts/BowlEnchantment.schema.json +46 -43
  479. package/schema/traditionArtifacts/CauldronEnchantment.schema.json +63 -56
  480. package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +46 -43
  481. package/schema/traditionArtifacts/DaggerRitual.schema.json +132 -43
  482. package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +46 -43
  483. package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +46 -43
  484. package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +46 -43
  485. package/schema/traditionArtifacts/OrbEnchantment.schema.json +46 -43
  486. package/schema/traditionArtifacts/RingEnchantment.schema.json +46 -43
  487. package/schema/traditionArtifacts/SickleRitual.schema.json +46 -43
  488. package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +46 -43
  489. package/schema/traditionArtifacts/StaffEnchantment.schema.json +47 -43
  490. package/schema/traditionArtifacts/ToyEnchantment.schema.json +47 -43
  491. package/schema/traditionArtifacts/Trinkhornzauber.schema.json +46 -43
  492. package/schema/traditionArtifacts/WandEnchantment.schema.json +46 -43
  493. package/schema/traditionArtifacts/WeaponEnchantment.schema.json +46 -50
  494. package/schema/traditionArtifacts/sub/AnimalShape.schema.json +53 -25
  495. package/schema/traditionArtifacts/sub/AnimalShapePath.schema.json +17 -15
  496. package/schema/traditionArtifacts/sub/AnimalShapeSize.schema.json +17 -15
  497. package/schema/traditionArtifacts/sub/Brew.schema.json +17 -15
  498. package/lib/types/MagicalTraditionPlaceholder.d.ts +0 -32
  499. package/lib/types/MagicalTraditionPlaceholder.js +0 -5
  500. package/lib/types/Poison.d.ts +0 -208
  501. package/lib/types/Poison.js +0 -5
  502. package/lib/types/equipment/ArmorType.d.ts +0 -31
  503. package/lib/types/equipment/Item.d.ts +0 -308
  504. package/lib/types/equipment/Item.js +0 -35
  505. package/lib/types/equipment/ItemGroup.d.ts +0 -31
  506. package/lib/types/equipment/ItemGroup.js +0 -5
  507. package/lib/types/equipment/Reach.d.ts +0 -31
  508. package/lib/types/equipment/_Armor.d.ts +0 -70
  509. package/lib/types/equipment/_Weapon.d.ts +0 -330
  510. package/lib/types/prerequisites/single/CommonSuggestedByRCPPrerequisite.d.ts +0 -3
  511. package/schema/MagicalTraditionPlaceholder.schema.json +0 -45
  512. package/schema/Poison.schema.json +0 -417
  513. package/schema/equipment/ArmorType.schema.json +0 -45
  514. package/schema/equipment/Item.schema.json +0 -621
  515. package/schema/equipment/ItemGroup.schema.json +0 -45
  516. package/schema/equipment/_Armor.schema.json +0 -125
  517. package/schema/equipment/_Weapon.schema.json +0 -664
  518. package/schema/prerequisites/single/CommonSuggestedByRCPPrerequisite.schema.json +0 -18
@@ -1,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,13 +128,75 @@
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.",
133
+ "type": "object",
134
+ "properties": {
135
+ "is_fixed": {
136
+ "description": "`true` if the area knowledge has a fixed value, `false` if it can be\nadjusted.",
137
+ "type": "boolean"
138
+ }
139
+ },
140
+ "required": [
141
+ "is_fixed"
142
+ ],
143
+ "additionalProperties": false
144
+ },
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
+ "enum": [
148
+ "Mostly",
149
+ "Only"
150
+ ]
151
+ },
152
+ "CommonProfessionConstraintsOperation": {
153
+ "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).",
154
+ "enum": [
155
+ "Intersection",
156
+ "Difference"
157
+ ]
158
+ },
159
+ "Rarity": {
160
+ "description": "Some professions may be found in a culture, but are not that common.",
161
+ "enum": [
162
+ "Rare",
163
+ "VeryRare"
164
+ ]
165
+ },
166
+ "ProfessionConstraint": {
132
167
  "type": "object",
133
168
  "properties": {
134
169
  "id": {
135
- "description": "The language's identifier.",
170
+ "description": "The profession's identifier.",
136
171
  "type": "integer",
137
172
  "minimum": 1
173
+ },
174
+ "weighted_variants": {
175
+ "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.",
176
+ "type": "object",
177
+ "properties": {
178
+ "elements": {
179
+ "description": "The list of more common professions or profession variants.",
180
+ "type": "array",
181
+ "items": {
182
+ "$ref": "./_SimpleReferences.schema.json#/$defs/ProfessionVariantReference"
183
+ },
184
+ "minItems": 1
185
+ },
186
+ "weight": {
187
+ "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).",
188
+ "$ref": "#/$defs/Weight"
189
+ }
190
+ },
191
+ "required": [
192
+ "elements",
193
+ "weight"
194
+ ],
195
+ "additionalProperties": false
196
+ },
197
+ "rarity": {
198
+ "description": "Some professions may be found in a culture, but are not that\ncommon.",
199
+ "$ref": "#/$defs/Rarity"
138
200
  }
139
201
  },
140
202
  "required": [
@@ -142,13 +204,48 @@
142
204
  ],
143
205
  "additionalProperties": false
144
206
  },
145
- "Script": {
207
+ "MundaneProfessionSubgroupConstraint": {
208
+ "description": "Some professions may be found in a culture, but are not that common.",
209
+ "enum": [
210
+ "Profane",
211
+ "Fighter",
212
+ "Religious"
213
+ ]
214
+ },
215
+ "TraditionConstraint": {
146
216
  "type": "object",
147
217
  "properties": {
148
218
  "id": {
149
- "description": "The script's identifier.",
219
+ "description": "The magical tradition's identifier.",
150
220
  "type": "integer",
151
221
  "minimum": 1
222
+ },
223
+ "weighted_professions": {
224
+ "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.",
225
+ "type": "object",
226
+ "properties": {
227
+ "elements": {
228
+ "description": "The list of more common professions or profession variants.",
229
+ "type": "array",
230
+ "items": {
231
+ "$ref": "./_SimpleReferences.schema.json#/$defs/ProfessionReference"
232
+ },
233
+ "minItems": 1
234
+ },
235
+ "weight": {
236
+ "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).",
237
+ "$ref": "#/$defs/Weight"
238
+ }
239
+ },
240
+ "required": [
241
+ "elements",
242
+ "weight"
243
+ ],
244
+ "additionalProperties": false
245
+ },
246
+ "rarity": {
247
+ "description": "Some traditions may be found in a culture, but are not that common.",
248
+ "$ref": "#/$defs/Rarity"
152
249
  }
153
250
  },
154
251
  "required": [
@@ -156,18 +253,21 @@
156
253
  ],
157
254
  "additionalProperties": false
158
255
  },
159
- "AreaKnowledge": {
160
- "description": "If the area knowledge has a fixed value or can be adjusted.",
256
+ "MundaneCommonProfessionConstraint": {
161
257
  "oneOf": [
162
258
  {
163
259
  "type": "object",
164
260
  "properties": {
165
261
  "tag": {
166
- "const": "Fixed"
262
+ "const": "Profession"
263
+ },
264
+ "profession": {
265
+ "$ref": "#/$defs/ProfessionConstraint"
167
266
  }
168
267
  },
169
268
  "required": [
170
- "tag"
269
+ "tag",
270
+ "profession"
171
271
  ],
172
272
  "additionalProperties": false
173
273
  },
@@ -175,507 +275,235 @@
175
275
  "type": "object",
176
276
  "properties": {
177
277
  "tag": {
178
- "const": "Adjustable"
278
+ "const": "ProfessionSubgroup"
279
+ },
280
+ "profession_subgroup": {
281
+ "$ref": "#/$defs/ProfessionConstraint"
179
282
  }
180
283
  },
181
284
  "required": [
182
- "tag"
285
+ "tag",
286
+ "profession_subgroup"
183
287
  ],
184
288
  "additionalProperties": false
185
289
  }
186
290
  ]
187
291
  },
188
- "SocialStatus": {
189
- "type": "object",
190
- "properties": {
191
- "id": {
192
- "description": "The social status's identifier.",
193
- "type": "integer",
194
- "minimum": 1
195
- }
196
- },
197
- "required": [
198
- "id"
199
- ],
200
- "additionalProperties": false
201
- },
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": {
292
+ "MagicCommonProfessionConstraint": {
293
+ "oneOf": [
294
+ {
233
295
  "type": "object",
234
296
  "properties": {
235
297
  "tag": {
236
- "const": "Profession"
298
+ "const": "Tradition"
237
299
  },
238
- "id": {
239
- "description": "The profession's identifier.",
240
- "type": "integer",
241
- "minimum": 1
300
+ "tradition": {
301
+ "$ref": "#/$defs/TraditionConstraint"
242
302
  }
243
303
  },
244
304
  "required": [
245
305
  "tag",
246
- "id"
306
+ "tradition"
247
307
  ],
248
308
  "additionalProperties": false
249
309
  },
250
- "T": {
251
- "description": "A plain list of professions.",
310
+ {
252
311
  "type": "object",
253
312
  "properties": {
254
313
  "tag": {
255
- "const": "Plain"
314
+ "const": "MagicDilettante"
256
315
  },
257
- "constraints": {
258
- "description": "The list of professions.",
259
- "type": "array",
260
- "items": {
261
- "$ref": "#/definitions/CommonProfessions/Plain/Constraint"
262
- },
263
- "minItems": 1
316
+ "magic_dilettante": {
317
+ "type": "object",
318
+ "properties": {},
319
+ "required": [],
320
+ "additionalProperties": false
264
321
  }
265
322
  },
266
323
  "required": [
267
324
  "tag",
268
- "constraints"
325
+ "magic_dilettante"
269
326
  ],
270
327
  "additionalProperties": false
271
- }
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
- }
328
+ },
329
+ {
330
+ "type": "object",
331
+ "properties": {
332
+ "tag": {
333
+ "const": "Profession"
291
334
  },
292
- "required": [
293
- "variants",
294
- "weight"
295
- ],
296
- "additionalProperties": false
335
+ "profession": {
336
+ "$ref": "#/$defs/ProfessionConstraint"
337
+ }
297
338
  },
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
339
+ "required": [
340
+ "tag",
341
+ "profession"
342
+ ],
343
+ "additionalProperties": false
344
+ }
345
+ ]
346
+ },
347
+ "BlessedCommonProfessionConstraint": {
348
+ "oneOf": [
349
+ {
350
+ "type": "object",
351
+ "properties": {
352
+ "tag": {
353
+ "const": "Tradition"
339
354
  },
340
- {
341
- "type": "object",
342
- "properties": {
343
- "tag": {
344
- "const": "Only"
345
- }
346
- },
347
- "required": [
348
- "tag"
349
- ],
350
- "additionalProperties": false
355
+ "tradition": {
356
+ "$ref": "#/$defs/TraditionConstraint"
351
357
  }
352
- ]
358
+ },
359
+ "required": [
360
+ "tag",
361
+ "tradition"
362
+ ],
363
+ "additionalProperties": false
364
+ }
365
+ ]
366
+ },
367
+ "PlainCommonProfessions": {
368
+ "description": "A list of professions. The filter specifies how the list is applied to\nall mundane professions.",
369
+ "type": "object",
370
+ "properties": {
371
+ "constraints": {
372
+ "description": "The list of constraints.",
373
+ "type": "array",
374
+ "items": {
375
+ "$ref": "./_SimpleReferences.schema.json#/$defs/ProfessionReference"
376
+ },
377
+ "minItems": 1
353
378
  },
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
- }
379
+ "operation": {
380
+ "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).",
381
+ "$ref": "#/$defs/CommonProfessionConstraintsOperation"
382
+ }
383
+ },
384
+ "required": [
385
+ "constraints",
386
+ "operation"
387
+ ],
388
+ "additionalProperties": false
389
+ },
390
+ "GroupedCommonProfessions": {
391
+ "description": "Lists of professions by group.",
392
+ "type": "object",
393
+ "properties": {
394
+ "mundane": {
395
+ "description": "A list of professions. The filter specifies how the list is applied to\nall mundane professions.",
396
+ "type": "object",
397
+ "properties": {
398
+ "constraints": {
399
+ "description": "The list of constraints.",
400
+ "type": "array",
401
+ "items": {
402
+ "$ref": "#/$defs/MundaneCommonProfessionConstraint"
363
403
  },
364
- "required": [
365
- "tag"
366
- ],
367
- "additionalProperties": false
404
+ "minItems": 1
368
405
  },
369
- {
370
- "type": "object",
371
- "properties": {
372
- "tag": {
373
- "const": "VeryRare"
374
- }
375
- },
376
- "required": [
377
- "tag"
378
- ],
379
- "additionalProperties": false
406
+ "operation": {
407
+ "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).",
408
+ "$ref": "#/$defs/CommonProfessionConstraintsOperation"
380
409
  }
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
410
  },
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
- }
493
- },
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
411
+ "required": [
412
+ "constraints",
413
+ "operation"
414
+ ],
415
+ "additionalProperties": false
416
+ },
417
+ "magic": {
418
+ "description": "A list of professions. The filter specifies how the list is applied to\nall mundane professions.",
419
+ "type": "object",
420
+ "properties": {
421
+ "constraints": {
422
+ "description": "The list of constraints.",
423
+ "type": "array",
424
+ "items": {
425
+ "$ref": "#/$defs/MagicCommonProfessionConstraint"
513
426
  },
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
- }
427
+ "minItems": 1
518
428
  },
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
564
- },
565
- {
566
- "$ref": "#/definitions/CommonProfessions/Grouped/Constraints/Profession"
567
- }
568
- ]
429
+ "operation": {
430
+ "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).",
431
+ "$ref": "#/$defs/CommonProfessionConstraintsOperation"
432
+ }
569
433
  },
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
- }
581
- },
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
434
+ "required": [
435
+ "constraints",
436
+ "operation"
437
+ ],
438
+ "additionalProperties": false
439
+ },
440
+ "blessed": {
441
+ "description": "A list of professions. The filter specifies how the list is applied to\nall mundane professions.",
442
+ "type": "object",
443
+ "properties": {
444
+ "constraints": {
445
+ "description": "The list of constraints.",
446
+ "type": "array",
447
+ "items": {
448
+ "$ref": "#/$defs/BlessedCommonProfessionConstraint"
599
449
  },
600
- "rarity": {
601
- "description": "Some traditions may be found in a culture, but are not that common.",
602
- "$ref": "#/definitions/CommonProfessions/Grouped/Rarity"
603
- }
450
+ "minItems": 1
604
451
  },
605
- "required": [
606
- "tag",
607
- "id"
608
- ],
609
- "additionalProperties": false
452
+ "operation": {
453
+ "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).",
454
+ "$ref": "#/$defs/CommonProfessionConstraintsOperation"
455
+ }
610
456
  },
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
- }
457
+ "required": [
458
+ "constraints",
459
+ "operation"
460
+ ],
461
+ "additionalProperties": false
462
+ }
463
+ },
464
+ "required": [],
465
+ "minProperties": 2,
466
+ "additionalProperties": false
467
+ },
468
+ "CommonProfessions": {
469
+ "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).",
470
+ "oneOf": [
471
+ {
472
+ "type": "object",
473
+ "properties": {
474
+ "tag": {
475
+ "const": "Plain"
622
476
  },
623
- "required": [
624
- "constraints"
625
- ],
626
- "additionalProperties": false
627
- }
628
- },
629
- "T": {
630
- "description": "Lists of professions by group.",
477
+ "plain": {
478
+ "$ref": "#/$defs/PlainCommonProfessions"
479
+ }
480
+ },
481
+ "required": [
482
+ "tag",
483
+ "plain"
484
+ ],
485
+ "additionalProperties": false
486
+ },
487
+ {
631
488
  "type": "object",
632
489
  "properties": {
633
490
  "tag": {
634
491
  "const": "Grouped"
635
492
  },
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"
493
+ "grouped": {
494
+ "$ref": "#/$defs/GroupedCommonProfessions"
645
495
  }
646
496
  },
647
497
  "required": [
648
- "tag"
498
+ "tag",
499
+ "grouped"
649
500
  ],
650
- "minProperties": 2,
651
501
  "additionalProperties": false
652
502
  }
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
- }
503
+ ]
665
504
  },
666
505
  "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
506
+ "$ref": "./_SimpleReferences.schema.json#/$defs/SkillReference"
679
507
  },
680
508
  "CulturalPackageItem": {
681
509
  "type": "object",
@@ -698,7 +526,7 @@
698
526
  ],
699
527
  "additionalProperties": false
700
528
  },
701
- "Translation": {
529
+ "CultureTranslation": {
702
530
  "type": "object",
703
531
  "properties": {
704
532
  "name": {
@@ -708,34 +536,30 @@
708
536
  },
709
537
  "area_knowledge": {
710
538
  "description": "The description of the area knowledge.",
711
- "$ref": "#/definitions/AreaKnowledgeTranslation"
539
+ "$ref": "#/$defs/AreaKnowledgeTranslation"
712
540
  },
713
541
  "common_advantages": {
714
542
  "description": "The respective common advantages text from the source book.",
715
- "type": "string",
716
- "minLength": 1
543
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
717
544
  },
718
545
  "common_disadvantages": {
719
546
  "description": "The respective common disadvantages text from the source book.",
720
- "type": "string",
721
- "minLength": 1
547
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
722
548
  },
723
549
  "uncommon_advantages": {
724
550
  "description": "The respective uncommon advantages text from the source book.",
725
- "type": "string",
726
- "minLength": 1
551
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
727
552
  },
728
553
  "uncommon_disadvantages": {
729
554
  "description": "The respective uncommon disadvantages text from the source book.",
730
- "type": "string",
731
- "minLength": 1
555
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
732
556
  },
733
557
  "common_names": {
734
558
  "description": "Structured description of common names.",
735
- "$ref": "#/definitions/CommonNames"
559
+ "$ref": "#/$defs/CommonNames"
736
560
  },
737
561
  "errata": {
738
- "$ref": "./source/_Erratum.schema.json#/definitions/Errata"
562
+ "$ref": "./source/_Erratum.schema.json#/$defs/Errata"
739
563
  }
740
564
  },
741
565
  "required": [
@@ -763,7 +587,7 @@
763
587
  "description": "Examples of areas, if applicable.",
764
588
  "type": "array",
765
589
  "items": {
766
- "$ref": "#/definitions/AreaKnowledgeExample"
590
+ "$ref": "#/$defs/AreaKnowledgeExample"
767
591
  },
768
592
  "minItems": 1
769
593
  }
@@ -775,8 +599,17 @@
775
599
  "additionalProperties": false
776
600
  },
777
601
  "AreaKnowledgeExample": {
778
- "type": "string",
779
- "minLength": 1
602
+ "type": "object",
603
+ "properties": {
604
+ "area": {
605
+ "type": "string",
606
+ "minLength": 1
607
+ }
608
+ },
609
+ "required": [
610
+ "area"
611
+ ],
612
+ "additionalProperties": false
780
613
  },
781
614
  "CommonNames": {
782
615
  "description": "Structured description of common names.",
@@ -786,7 +619,7 @@
786
619
  "description": "First names can be gender-neutral, but they can also be for a specific\nbinary sex. They are sorted into groups.",
787
620
  "type": "array",
788
621
  "items": {
789
- "$ref": "#/definitions/NameGroup"
622
+ "$ref": "#/$defs/NameGroup"
790
623
  },
791
624
  "minItems": 1
792
625
  },
@@ -794,14 +627,13 @@
794
627
  "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
628
  "type": "array",
796
629
  "items": {
797
- "$ref": "#/definitions/NameGroup"
630
+ "$ref": "#/$defs/NameGroup"
798
631
  },
799
632
  "minItems": 1
800
633
  },
801
634
  "naming_rules": {
802
635
  "description": "Special naming rules.",
803
- "type": "string",
804
- "minLength": 1
636
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
805
637
  }
806
638
  },
807
639
  "required": [],
@@ -813,18 +645,17 @@
813
645
  "properties": {
814
646
  "label": {
815
647
  "description": "The group label.",
816
- "type": "string",
817
- "minLength": 1
648
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
818
649
  },
819
650
  "sex": {
820
651
  "description": "The binary sex if the group is only for a certain binary sex.",
821
- "$ref": "./_Sex.schema.json#/definitions/BinarySex"
652
+ "$ref": "./_Sex.schema.json#/$defs/BinarySex"
822
653
  },
823
654
  "names": {
824
655
  "description": "The names from the group.",
825
656
  "type": "array",
826
657
  "items": {
827
- "$ref": "#/definitions/Name"
658
+ "$ref": "#/$defs/Name"
828
659
  },
829
660
  "minItems": 1
830
661
  }
@@ -839,13 +670,11 @@
839
670
  "type": "object",
840
671
  "properties": {
841
672
  "name": {
842
- "type": "string",
843
- "minLength": 1
673
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
844
674
  },
845
675
  "note": {
846
676
  "description": "Additional information about the name, appended in parenthesis.",
847
- "type": "string",
848
- "minLength": 1
677
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
849
678
  }
850
679
  },
851
680
  "required": [