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": "/Race.schema.json",
4
- "$ref": "#/definitions/Race",
5
- "definitions": {
4
+ "$ref": "#/$defs/Race",
5
+ "$defs": {
6
6
  "Race": {
7
7
  "title": "Race",
8
8
  "description": "A playable race with stats and skills.",
@@ -20,17 +20,17 @@
20
20
  },
21
21
  "base_values": {
22
22
  "description": "The race’s base values.",
23
- "$ref": "#/definitions/BaseValues"
23
+ "$ref": "#/$defs/BaseValues"
24
24
  },
25
25
  "attribute_adjustments": {
26
26
  "description": "Describes how to raise or lower maximum attribute values during character\ncreation.",
27
- "$ref": "#/definitions/AttributeAdjustments/Config"
27
+ "$ref": "#/$defs/AttributeAdjustments"
28
28
  },
29
29
  "automatic_advantages": {
30
30
  "description": "A list of automatically applied advantages. This does only work for\nadvantages with no further configuration such as level or special\nselection.",
31
31
  "type": "array",
32
32
  "items": {
33
- "$ref": "#/definitions/AutomaticAdvantage"
33
+ "$ref": "./_SimpleReferences.schema.json#/$defs/AdvantageReference"
34
34
  },
35
35
  "minItems": 1
36
36
  },
@@ -38,7 +38,7 @@
38
38
  "description": "A list of strongly recommended advantages.",
39
39
  "type": "array",
40
40
  "items": {
41
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
41
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
42
42
  },
43
43
  "minItems": 1
44
44
  },
@@ -46,7 +46,7 @@
46
46
  "description": "A list of strongly recommended disadvantages.",
47
47
  "type": "array",
48
48
  "items": {
49
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
49
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
50
50
  },
51
51
  "minItems": 1
52
52
  },
@@ -54,7 +54,7 @@
54
54
  "description": "A list of common advantages. If common advantages are defined by race\nvariants, leave this field empty. It is overridden by the same field in\nrace variants.",
55
55
  "type": "array",
56
56
  "items": {
57
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
57
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
58
58
  },
59
59
  "minItems": 1
60
60
  },
@@ -62,7 +62,7 @@
62
62
  "description": "A list of common disadvantages. If common disadvantages are defined by race\nvariants, leave this field empty. It is overridden by the same field in\nrace variants.",
63
63
  "type": "array",
64
64
  "items": {
65
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
65
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
66
66
  },
67
67
  "minItems": 1
68
68
  },
@@ -70,7 +70,7 @@
70
70
  "description": "A list of uncommon advantages. If uncommon advantages are defined by race\nvariants, leave this field empty. It is overridden by the same field in\nrace variants.",
71
71
  "type": "array",
72
72
  "items": {
73
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
73
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
74
74
  },
75
75
  "minItems": 1
76
76
  },
@@ -78,36 +78,36 @@
78
78
  "description": "A list of uncommon disadvantages. If uncommon disadvantages are defined by\nrace variants, leave this field empty. It is overridden by the same field\nin race variants.",
79
79
  "type": "array",
80
80
  "items": {
81
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
81
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
82
82
  },
83
83
  "minItems": 1
84
84
  },
85
85
  "weight": {
86
86
  "description": "Configuration for random weight generation.",
87
- "$ref": "#/definitions/Weight/Config"
87
+ "$ref": "#/$defs/Weight"
88
88
  },
89
89
  "starting_age": {
90
90
  "description": "Defines the starting ages for the race. It depends on the selected\nexperience level.",
91
91
  "type": "array",
92
92
  "items": {
93
- "$ref": "#/definitions/StartingAgeConfigForExperienceLevel"
93
+ "$ref": "#/$defs/StartingAgeConfigForExperienceLevel"
94
94
  },
95
95
  "minItems": 7,
96
96
  "maxItems": 7
97
97
  },
98
98
  "variant_dependent": {
99
99
  "description": "The race may have variants and associated configuration for each variant.\nIf the race is plain (has no variants), the values that would otherwise be\ndefined in the variant configuration need to be set for the whole race.\nThis excludes common and uncommon advantages and disadvantages, since they\nmay be defined for the whole race even if variants exist.",
100
- "$ref": "#/definitions/VariantDependent"
100
+ "$ref": "#/$defs/RaceVariantDependent"
101
101
  },
102
102
  "src": {
103
- "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
103
+ "$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
104
104
  },
105
105
  "translations": {
106
106
  "description": "All translations for the entry, identified by IETF language tag (BCP47).",
107
107
  "type": "object",
108
108
  "patternProperties": {
109
109
  "^[a-z]{2}-[A-Z]{2}$": {
110
- "$ref": "#/definitions/RaceTranslation"
110
+ "$ref": "#/$defs/RaceTranslation"
111
111
  }
112
112
  },
113
113
  "minProperties": 1,
@@ -158,190 +158,123 @@
158
158
  "additionalProperties": false
159
159
  },
160
160
  "AttributeAdjustments": {
161
- "Config": {
162
- "description": "Describes how to raise or lower maximum attribute values during character\ncreation.",
163
- "type": "object",
164
- "properties": {
165
- "fix": {
166
- "description": "An array of attribute maximum modifiers. The value will be added to the\ncurrent maximum of the ID-specified attribute (negative values will lower\nthe maximum).",
167
- "type": "array",
168
- "items": {
169
- "$ref": "#/definitions/AttributeAdjustments/Fix"
170
- },
171
- "minItems": 1
172
- },
173
- "selection": {
174
- "description": "Used if the player has to choose between different modifiers.",
175
- "$ref": "#/definitions/AttributeAdjustments/Selection"
176
- }
177
- },
178
- "required": [
179
- "selection"
180
- ],
181
- "additionalProperties": false
182
- },
183
- "Fix": {
184
- "type": "object",
185
- "properties": {
186
- "id": {
187
- "description": "The attribute's identifier.",
188
- "type": "integer",
189
- "maximum": 8,
190
- "minimum": 1
161
+ "description": "Describes how to raise or lower maximum attribute values during character\ncreation.",
162
+ "type": "array",
163
+ "items": {
164
+ "$ref": "#/$defs/AttributeAdjustment"
165
+ }
166
+ },
167
+ "AttributeAdjustment": {
168
+ "description": "An array of attribute maximum modifiers. The value will be added to the\ncurrent maximum of the selected attribute that has been chosen from the\nlisted attributes (negative values will lower the maximum).",
169
+ "type": "object",
170
+ "properties": {
171
+ "value": {
172
+ "description": "The value by which the selected attribute's maximum is modified\n(negative values will lower the maximum).",
173
+ "type": "integer"
174
+ },
175
+ "list": {
176
+ "description": "A list of attributes the player has to choose from. If only one attribute\nis listed, no attribute has to be chosen.",
177
+ "type": "array",
178
+ "items": {
179
+ "$ref": "./_SimpleReferences.schema.json#/$defs/AttributeReference"
191
180
  },
192
- "value": {
193
- "description": "The value by which the attribute's maximum is modified (negative values\nwill lower the maximum).",
194
- "type": "integer"
195
- }
196
- },
197
- "required": [
198
- "id",
199
- "value"
200
- ],
201
- "additionalProperties": false
181
+ "minItems": 1
182
+ }
202
183
  },
203
- "Selection": {
204
- "type": "object",
205
- "properties": {
206
- "value": {
207
- "description": "The value by which the selected attribute's maximum is modified\n(negative values will lower the maximum).",
208
- "type": "integer"
184
+ "required": [
185
+ "value",
186
+ "list"
187
+ ],
188
+ "additionalProperties": false
189
+ },
190
+ "Weight": {
191
+ "description": "Configuration for random weight generation.",
192
+ "type": "object",
193
+ "properties": {
194
+ "base": {
195
+ "description": "The base value used for random weight. The height subtrahend; in case of\n`Height - 110 + 2D6` it is `110`.",
196
+ "type": "integer",
197
+ "minimum": 1
198
+ },
199
+ "random": {
200
+ "description": "The dice used for random weight.",
201
+ "type": "array",
202
+ "items": {
203
+ "$ref": "#/$defs/WeightDice"
209
204
  },
210
- "list": {
211
- "description": "A list of attributes the player has to choose from.",
212
- "type": "array",
213
- "items": {
214
- "$ref": "#/definitions/AttributeAdjustments/SelectionItem"
215
- },
216
- "minItems": 2
217
- }
218
- },
219
- "required": [
220
- "value",
221
- "list"
222
- ],
223
- "additionalProperties": false
205
+ "minItems": 1
206
+ }
224
207
  },
225
- "SelectionItem": {
226
- "type": "object",
227
- "properties": {
228
- "id": {
229
- "description": "The attribute's identifier.",
230
- "type": "integer",
231
- "maximum": 8,
232
- "minimum": 1
233
- }
234
- },
235
- "required": [
236
- "id"
237
- ],
238
- "additionalProperties": false
239
- }
208
+ "required": [
209
+ "base",
210
+ "random"
211
+ ],
212
+ "additionalProperties": false
240
213
  },
241
- "AutomaticAdvantage": {
214
+ "WeightDice": {
242
215
  "type": "object",
243
216
  "properties": {
244
- "id": {
245
- "description": "The advantage's identifier.",
217
+ "number": {
218
+ "description": "Number of dice of the same type. Example: 2 in 2D6.",
246
219
  "type": "integer",
247
220
  "minimum": 1
221
+ },
222
+ "sides": {
223
+ "description": "Number of sides on every die. Example: 6 in 2D6.",
224
+ "$ref": "./_Dice.schema.json#/$defs/DieType"
225
+ },
226
+ "offset_strategy": {
227
+ "description": "The strategy how to offset the randomly generated values against the\nbase value. Either they are all added or subtracted or even results are\nadded and odd results are subtracted.",
228
+ "$ref": "#/$defs/WeightDiceOffsetStrategy"
248
229
  }
249
230
  },
250
231
  "required": [
251
- "id"
232
+ "number",
233
+ "sides",
234
+ "offset_strategy"
252
235
  ],
253
236
  "additionalProperties": false
254
237
  },
255
- "Weight": {
256
- "Config": {
257
- "description": "Configuration for random weight generation.",
258
- "type": "object",
259
- "properties": {
260
- "base": {
261
- "description": "The base value used for random weight. The height subtrahend; in case of\n`Height - 110 + 2D6` it is `110`.",
262
- "type": "integer",
263
- "minimum": 1
264
- },
265
- "random": {
266
- "description": "The dice used for random weight.",
267
- "type": "array",
268
- "items": {
269
- "$ref": "#/definitions/Weight/Die"
270
- },
271
- "minItems": 1
272
- }
273
- },
274
- "required": [
275
- "base",
276
- "random"
277
- ],
278
- "additionalProperties": false
279
- },
280
- "Die": {
281
- "type": "object",
282
- "properties": {
283
- "number": {
284
- "description": "Number of dice of the same type. Example: 2 in 2D6.",
285
- "type": "integer",
286
- "minimum": 1
287
- },
288
- "sides": {
289
- "description": "Number of sides on every die. Example: 6 in 2D6.",
290
- "$ref": "./_Dice.schema.json#/definitions/DieType"
238
+ "WeightDiceOffsetStrategy": {
239
+ "description": "The strategy how to offset the randomly generated values against the\nbase value. Either they are all added or subtracted or even results are\nadded and odd results are subtracted.",
240
+ "oneOf": [
241
+ {
242
+ "type": "object",
243
+ "properties": {
244
+ "tag": {
245
+ "const": "Add"
246
+ }
291
247
  },
292
- "offset_strategy": {
293
- "description": "The strategy how to offset the randomly generated values against the\nbase value. Either they are all added or subtracted or even results are\nadded and odd results are subtracted.",
294
- "$ref": "#/definitions/Weight/OffsetStrategy"
295
- }
296
- },
297
- "required": [
298
- "number",
299
- "sides",
300
- "offset_strategy"
301
- ],
302
- "additionalProperties": false
303
- },
304
- "OffsetStrategy": {
305
- "description": "The strategy how to offset the randomly generated values against the\nbase value. Either they are all added or subtracted or even results are\nadded and odd results are subtracted.",
306
- "oneOf": [
307
- {
308
- "type": "object",
309
- "properties": {
310
- "tag": {
311
- "const": "Add"
312
- }
313
- },
314
- "required": [
315
- "tag"
316
- ],
317
- "additionalProperties": false
248
+ "required": [
249
+ "tag"
250
+ ],
251
+ "additionalProperties": false
252
+ },
253
+ {
254
+ "type": "object",
255
+ "properties": {
256
+ "tag": {
257
+ "const": "Subtract"
258
+ }
318
259
  },
319
- {
320
- "type": "object",
321
- "properties": {
322
- "tag": {
323
- "const": "Subtract"
324
- }
325
- },
326
- "required": [
327
- "tag"
328
- ],
329
- "additionalProperties": false
260
+ "required": [
261
+ "tag"
262
+ ],
263
+ "additionalProperties": false
264
+ },
265
+ {
266
+ "type": "object",
267
+ "properties": {
268
+ "tag": {
269
+ "const": "AddEvenSubtractOdd"
270
+ }
330
271
  },
331
- {
332
- "type": "object",
333
- "properties": {
334
- "tag": {
335
- "const": "AddEvenSubtractOdd"
336
- }
337
- },
338
- "required": [
339
- "tag"
340
- ],
341
- "additionalProperties": false
342
- }
343
- ]
344
- }
272
+ "required": [
273
+ "tag"
274
+ ],
275
+ "additionalProperties": false
276
+ }
277
+ ]
345
278
  },
346
279
  "StartingAgeConfigForExperienceLevel": {
347
280
  "type": "object",
@@ -359,7 +292,7 @@
359
292
  },
360
293
  "random": {
361
294
  "description": "The random value for the selected experience level. It is going to be\nadded to the base value.",
362
- "$ref": "./_Dice.schema.json#/definitions/Dice"
295
+ "$ref": "./_Dice.schema.json#/$defs/Dice"
363
296
  }
364
297
  },
365
298
  "required": [
@@ -369,7 +302,7 @@
369
302
  ],
370
303
  "additionalProperties": false
371
304
  },
372
- "VariantDependent": {
305
+ "RaceVariantDependent": {
373
306
  "description": "The race may have variants and associated configuration for each variant.\nIf the race is plain (has no variants), the values that would otherwise be\ndefined in the variant configuration need to be set for the whole race.\nThis excludes common and uncommon advantages and disadvantages, since they\nmay be defined for the whole race even if variants exist.",
374
307
  "oneOf": [
375
308
  {
@@ -378,18 +311,13 @@
378
311
  "tag": {
379
312
  "const": "HasVariants"
380
313
  },
381
- "variants": {
382
- "description": "A list of available race variants.",
383
- "type": "array",
384
- "items": {
385
- "$ref": "#/definitions/RaceVariant"
386
- },
387
- "minItems": 1
314
+ "has_variants": {
315
+ "$ref": "#/$defs/RaceVariants"
388
316
  }
389
317
  },
390
318
  "required": [
391
319
  "tag",
392
- "variants"
320
+ "has_variants"
393
321
  ],
394
322
  "additionalProperties": false
395
323
  },
@@ -399,48 +327,68 @@
399
327
  "tag": {
400
328
  "const": "Plain"
401
329
  },
402
- "common_cultures": {
403
- "description": "The list of common cultures.",
404
- "type": "array",
405
- "items": {
406
- "$ref": "#/definitions/CommonCulture"
407
- },
408
- "minItems": 1
409
- },
410
- "hair_color": {
411
- "description": "An array containing 20 (numeric) hair color identifiers. The array also represents the 20-sided die for a random hair color.",
412
- "type": "array",
413
- "items": {
414
- "$ref": "#/definitions/HairColor"
415
- },
416
- "minItems": 20,
417
- "maxItems": 20
418
- },
419
- "eye_color": {
420
- "description": "An array containing 20 (numeric) eye color identifiers. The array also represents the 20-sided die for a random eye color.",
421
- "type": "array",
422
- "items": {
423
- "$ref": "#/definitions/EyeColor"
424
- },
425
- "minItems": 20,
426
- "maxItems": 20
427
- },
428
- "height": {
429
- "description": "Configuration for random height generation.",
430
- "$ref": "#/definitions/Height"
330
+ "plain": {
331
+ "$ref": "#/$defs/ValuesForRaceWithoutVariants"
431
332
  }
432
333
  },
433
334
  "required": [
434
335
  "tag",
435
- "common_cultures",
436
- "hair_color",
437
- "eye_color",
438
- "height"
336
+ "plain"
439
337
  ],
440
338
  "additionalProperties": false
441
339
  }
442
340
  ]
443
341
  },
342
+ "RaceVariants": {
343
+ "description": "A list of available race variants.",
344
+ "type": "array",
345
+ "items": {
346
+ "$ref": "#/$defs/RaceVariant"
347
+ },
348
+ "minItems": 1
349
+ },
350
+ "ValuesForRaceWithoutVariants": {
351
+ "type": "object",
352
+ "properties": {
353
+ "common_cultures": {
354
+ "description": "The list of common cultures.",
355
+ "type": "array",
356
+ "items": {
357
+ "$ref": "./_SimpleReferences.schema.json#/$defs/CultureReference"
358
+ },
359
+ "minItems": 1
360
+ },
361
+ "hair_color": {
362
+ "description": "An array containing 20 (numeric) hair color identifiers. The array also represents the 20-sided die for a random hair color.",
363
+ "type": "array",
364
+ "items": {
365
+ "$ref": "./_SimpleReferences.schema.json#/$defs/HairColorReference"
366
+ },
367
+ "minItems": 20,
368
+ "maxItems": 20
369
+ },
370
+ "eye_color": {
371
+ "description": "An array containing 20 (numeric) eye color identifiers. The array also represents the 20-sided die for a random eye color.",
372
+ "type": "array",
373
+ "items": {
374
+ "$ref": "./_SimpleReferences.schema.json#/$defs/EyeColorReference"
375
+ },
376
+ "minItems": 20,
377
+ "maxItems": 20
378
+ },
379
+ "height": {
380
+ "description": "Configuration for random height generation.",
381
+ "$ref": "#/$defs/Height"
382
+ }
383
+ },
384
+ "required": [
385
+ "common_cultures",
386
+ "hair_color",
387
+ "eye_color",
388
+ "height"
389
+ ],
390
+ "additionalProperties": false
391
+ },
444
392
  "RaceVariant": {
445
393
  "title": "Race Variant",
446
394
  "type": "object",
@@ -454,7 +402,7 @@
454
402
  "description": "The list of common cultures.",
455
403
  "type": "array",
456
404
  "items": {
457
- "$ref": "#/definitions/CommonCulture"
405
+ "$ref": "./_SimpleReferences.schema.json#/$defs/CultureReference"
458
406
  },
459
407
  "minItems": 1
460
408
  },
@@ -462,7 +410,7 @@
462
410
  "description": "A list of common advantages. If common advantages are defined by the base race, leave this field empty. This field overrides the same field of the base race, if both are defined.",
463
411
  "type": "array",
464
412
  "items": {
465
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
413
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
466
414
  },
467
415
  "minItems": 1
468
416
  },
@@ -470,7 +418,7 @@
470
418
  "description": "A list of common disadvantages. If common disadvantages are defined by the base race, leave this field empty. This field overrides the same field of the base race, if both are defined.",
471
419
  "type": "array",
472
420
  "items": {
473
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
421
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
474
422
  },
475
423
  "minItems": 1
476
424
  },
@@ -478,7 +426,7 @@
478
426
  "description": "A list of uncommon advantages. If uncommon advantages are defined by the base race, leave this field empty. This field overrides the same field of the base race, if both are defined.",
479
427
  "type": "array",
480
428
  "items": {
481
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
429
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
482
430
  },
483
431
  "minItems": 1
484
432
  },
@@ -486,7 +434,7 @@
486
434
  "description": "A list of uncommon disadvantages. If uncommon disadvantages are defined by the base race, leave this field empty. This field overrides the same field of the base race, if both are defined.",
487
435
  "type": "array",
488
436
  "items": {
489
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
437
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
490
438
  },
491
439
  "minItems": 1
492
440
  },
@@ -494,7 +442,7 @@
494
442
  "description": "An array containing 20 (numeric) hair color identifiers. The array also represents the 20-sided die for a random hair color.",
495
443
  "type": "array",
496
444
  "items": {
497
- "$ref": "#/definitions/HairColor"
445
+ "$ref": "./_SimpleReferences.schema.json#/$defs/HairColorReference"
498
446
  },
499
447
  "minItems": 20,
500
448
  "maxItems": 20
@@ -503,21 +451,21 @@
503
451
  "description": "An array containing 20 (numeric) eye color identifiers. The array also represents the 20-sided die for a random eye color.",
504
452
  "type": "array",
505
453
  "items": {
506
- "$ref": "#/definitions/EyeColor"
454
+ "$ref": "./_SimpleReferences.schema.json#/$defs/EyeColorReference"
507
455
  },
508
456
  "minItems": 20,
509
457
  "maxItems": 20
510
458
  },
511
459
  "height": {
512
460
  "description": "Configuration for random height generation.",
513
- "$ref": "#/definitions/Height"
461
+ "$ref": "#/$defs/Height"
514
462
  },
515
463
  "translations": {
516
464
  "description": "All translations for the entry, identified by IETF language tag (BCP47).",
517
465
  "type": "object",
518
466
  "patternProperties": {
519
467
  "^[a-z]{2}-[A-Z]{2}$": {
520
- "$ref": "#/definitions/RaceVariantTranslation"
468
+ "$ref": "#/$defs/RaceVariantTranslation"
521
469
  }
522
470
  },
523
471
  "minProperties": 1,
@@ -534,48 +482,6 @@
534
482
  ],
535
483
  "additionalProperties": false
536
484
  },
537
- "CommonCulture": {
538
- "type": "object",
539
- "properties": {
540
- "id": {
541
- "description": "The culture's identifier.",
542
- "type": "integer",
543
- "minimum": 1
544
- }
545
- },
546
- "required": [
547
- "id"
548
- ],
549
- "additionalProperties": false
550
- },
551
- "HairColor": {
552
- "type": "object",
553
- "properties": {
554
- "id": {
555
- "description": "The hair color's identifier.",
556
- "type": "integer",
557
- "minimum": 1
558
- }
559
- },
560
- "required": [
561
- "id"
562
- ],
563
- "additionalProperties": false
564
- },
565
- "EyeColor": {
566
- "type": "object",
567
- "properties": {
568
- "id": {
569
- "description": "The hair color's identifier.",
570
- "type": "integer",
571
- "minimum": 1
572
- }
573
- },
574
- "required": [
575
- "id"
576
- ],
577
- "additionalProperties": false
578
- },
579
485
  "Height": {
580
486
  "description": "Configuration for random height generation.",
581
487
  "type": "object",
@@ -589,7 +495,7 @@
589
495
  "description": "The dice used for random height.",
590
496
  "type": "array",
591
497
  "items": {
592
- "$ref": "./_Dice.schema.json#/definitions/Dice"
498
+ "$ref": "./_Dice.schema.json#/$defs/Dice"
593
499
  },
594
500
  "minItems": 1
595
501
  }
@@ -605,28 +511,23 @@
605
511
  "properties": {
606
512
  "name": {
607
513
  "description": "The race variant's name.",
608
- "type": "string",
609
- "minLength": 1
514
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
610
515
  },
611
516
  "common_advantages": {
612
517
  "description": "The respective common advantages text from the source book. If common\nadvantages are defined by the base race, leave this field empty. This field\noverrides the same field of the base race, if both are defined.",
613
- "type": "string",
614
- "minLength": 1
518
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
615
519
  },
616
520
  "common_disadvantages": {
617
521
  "description": "The respective common disadvantages text from the source book. If common\ndisadvantages are defined by the base race, leave this field empty. This\nfield overrides the same field of the base race, if both are defined.",
618
- "type": "string",
619
- "minLength": 1
522
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
620
523
  },
621
524
  "uncommon_advantages": {
622
525
  "description": "The respective uncommon advantages text from the source book. If uncommon\nadvantages are defined by the base race, leave this field empty. This field\noverrides the same field of the base race, if both are defined.",
623
- "type": "string",
624
- "minLength": 1
526
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
625
527
  },
626
528
  "uncommon_disadvantages": {
627
529
  "description": "The respective uncommon disadvantages text from the source book. If\nuncommon disadvantages are defined by the base race, leave this field\nempty. This field overrides the same field of the base race, if both are\ndefined.",
628
- "type": "string",
629
- "minLength": 1
530
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
630
531
  }
631
532
  },
632
533
  "required": [
@@ -639,51 +540,42 @@
639
540
  "properties": {
640
541
  "name": {
641
542
  "description": "The race's name.",
642
- "type": "string",
643
- "minLength": 1
543
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
644
544
  },
645
545
  "attribute_adjustments": {
646
546
  "description": "The respective attribute adjustments text from the source book.",
647
- "type": "string",
648
- "minLength": 1
547
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
649
548
  },
650
549
  "automatic_advantages": {
651
550
  "description": "The respective automatic advantages text from the source book.",
652
- "type": "string",
653
- "minLength": 1
551
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
654
552
  },
655
553
  "strongly_recommended_advantages": {
656
554
  "description": "The respective strongly recommended advantages text from the source book.",
657
- "type": "string",
658
- "minLength": 1
555
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
659
556
  },
660
557
  "strongly_recommended_disadvantages": {
661
- "description": "The respective strongly recommended disadvantages text from the source book.",
662
- "type": "string",
663
- "minLength": 1
558
+ "description": "The respective strongly recommended disadvantages text from the source\nbook.",
559
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
664
560
  },
665
561
  "common_advantages": {
666
562
  "description": "The respective common advantages text from the source book. If common\nadvantages are defined by race variants, leave this field empty. It is\noverridden by the same field in race variants.",
667
- "type": "string",
668
- "minLength": 1
563
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
669
564
  },
670
565
  "common_disadvantages": {
671
566
  "description": "The respective common disadvantages text from the source book. If common\ndisadvantages are defined by race variants, leave this field empty. It is\noverridden by the same field in race variants.",
672
- "type": "string",
673
- "minLength": 1
567
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
674
568
  },
675
569
  "uncommon_advantages": {
676
570
  "description": "The respective uncommon advantages text from the source book. If uncommon\nadvantages are defined by race variants, leave this field empty. It is\noverridden by the same field in race variants.",
677
- "type": "string",
678
- "minLength": 1
571
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
679
572
  },
680
573
  "uncommon_disadvantages": {
681
574
  "description": "The respective uncommon disadvantages text from the source book. If\nuncommon disadvantages are defined by race variants, leave this field\nempty. It is overridden by the same field in race variants.",
682
- "type": "string",
683
- "minLength": 1
575
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
684
576
  },
685
577
  "errata": {
686
- "$ref": "./source/_Erratum.schema.json#/definitions/Errata"
578
+ "$ref": "./source/_Erratum.schema.json#/$defs/Errata"
687
579
  }
688
580
  },
689
581
  "required": [