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": "/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,90 @@
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"
291
- },
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
318
- },
319
- {
320
- "type": "object",
321
- "properties": {
322
- "tag": {
323
- "const": "Subtract"
324
- }
325
- },
326
- "required": [
327
- "tag"
328
- ],
329
- "additionalProperties": false
330
- },
331
- {
332
- "type": "object",
333
- "properties": {
334
- "tag": {
335
- "const": "AddEvenSubtractOdd"
336
- }
337
- },
338
- "required": [
339
- "tag"
340
- ],
341
- "additionalProperties": false
342
- }
343
- ]
344
- }
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
+ "enum": [
241
+ "Add",
242
+ "Subtract",
243
+ "AddEvenSubtractOdd"
244
+ ]
345
245
  },
346
246
  "StartingAgeConfigForExperienceLevel": {
347
247
  "type": "object",
@@ -359,7 +259,7 @@
359
259
  },
360
260
  "random": {
361
261
  "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"
262
+ "$ref": "./_Dice.schema.json#/$defs/Dice"
363
263
  }
364
264
  },
365
265
  "required": [
@@ -369,7 +269,7 @@
369
269
  ],
370
270
  "additionalProperties": false
371
271
  },
372
- "VariantDependent": {
272
+ "RaceVariantDependent": {
373
273
  "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
274
  "oneOf": [
375
275
  {
@@ -378,18 +278,13 @@
378
278
  "tag": {
379
279
  "const": "HasVariants"
380
280
  },
381
- "variants": {
382
- "description": "A list of available race variants.",
383
- "type": "array",
384
- "items": {
385
- "$ref": "#/definitions/RaceVariant"
386
- },
387
- "minItems": 1
281
+ "has_variants": {
282
+ "$ref": "#/$defs/RaceVariants"
388
283
  }
389
284
  },
390
285
  "required": [
391
286
  "tag",
392
- "variants"
287
+ "has_variants"
393
288
  ],
394
289
  "additionalProperties": false
395
290
  },
@@ -399,48 +294,68 @@
399
294
  "tag": {
400
295
  "const": "Plain"
401
296
  },
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"
297
+ "plain": {
298
+ "$ref": "#/$defs/ValuesForRaceWithoutVariants"
431
299
  }
432
300
  },
433
301
  "required": [
434
302
  "tag",
435
- "common_cultures",
436
- "hair_color",
437
- "eye_color",
438
- "height"
303
+ "plain"
439
304
  ],
440
305
  "additionalProperties": false
441
306
  }
442
307
  ]
443
308
  },
309
+ "RaceVariants": {
310
+ "description": "A list of available race variants.",
311
+ "type": "array",
312
+ "items": {
313
+ "$ref": "#/$defs/RaceVariant"
314
+ },
315
+ "minItems": 1
316
+ },
317
+ "ValuesForRaceWithoutVariants": {
318
+ "type": "object",
319
+ "properties": {
320
+ "common_cultures": {
321
+ "description": "The list of common cultures.",
322
+ "type": "array",
323
+ "items": {
324
+ "$ref": "./_SimpleReferences.schema.json#/$defs/CultureReference"
325
+ },
326
+ "minItems": 1
327
+ },
328
+ "hair_color": {
329
+ "description": "An array containing 20 (numeric) hair color identifiers. The array also represents the 20-sided die for a random hair color.",
330
+ "type": "array",
331
+ "items": {
332
+ "$ref": "./_SimpleReferences.schema.json#/$defs/HairColorReference"
333
+ },
334
+ "minItems": 20,
335
+ "maxItems": 20
336
+ },
337
+ "eye_color": {
338
+ "description": "An array containing 20 (numeric) eye color identifiers. The array also represents the 20-sided die for a random eye color.",
339
+ "type": "array",
340
+ "items": {
341
+ "$ref": "./_SimpleReferences.schema.json#/$defs/EyeColorReference"
342
+ },
343
+ "minItems": 20,
344
+ "maxItems": 20
345
+ },
346
+ "height": {
347
+ "description": "Configuration for random height generation.",
348
+ "$ref": "#/$defs/Height"
349
+ }
350
+ },
351
+ "required": [
352
+ "common_cultures",
353
+ "hair_color",
354
+ "eye_color",
355
+ "height"
356
+ ],
357
+ "additionalProperties": false
358
+ },
444
359
  "RaceVariant": {
445
360
  "title": "Race Variant",
446
361
  "type": "object",
@@ -454,7 +369,7 @@
454
369
  "description": "The list of common cultures.",
455
370
  "type": "array",
456
371
  "items": {
457
- "$ref": "#/definitions/CommonCulture"
372
+ "$ref": "./_SimpleReferences.schema.json#/$defs/CultureReference"
458
373
  },
459
374
  "minItems": 1
460
375
  },
@@ -462,7 +377,7 @@
462
377
  "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
378
  "type": "array",
464
379
  "items": {
465
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
380
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
466
381
  },
467
382
  "minItems": 1
468
383
  },
@@ -470,7 +385,7 @@
470
385
  "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
386
  "type": "array",
472
387
  "items": {
473
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
388
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
474
389
  },
475
390
  "minItems": 1
476
391
  },
@@ -478,7 +393,7 @@
478
393
  "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
394
  "type": "array",
480
395
  "items": {
481
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
396
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
482
397
  },
483
398
  "minItems": 1
484
399
  },
@@ -486,7 +401,7 @@
486
401
  "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
402
  "type": "array",
488
403
  "items": {
489
- "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/definitions/CommonnessRatedAdvantageDisadvantage"
404
+ "$ref": "./_CommonnessRatedAdvantageDisadvantage.schema.json#/$defs/CommonnessRatedAdvantageDisadvantage"
490
405
  },
491
406
  "minItems": 1
492
407
  },
@@ -494,7 +409,7 @@
494
409
  "description": "An array containing 20 (numeric) hair color identifiers. The array also represents the 20-sided die for a random hair color.",
495
410
  "type": "array",
496
411
  "items": {
497
- "$ref": "#/definitions/HairColor"
412
+ "$ref": "./_SimpleReferences.schema.json#/$defs/HairColorReference"
498
413
  },
499
414
  "minItems": 20,
500
415
  "maxItems": 20
@@ -503,21 +418,21 @@
503
418
  "description": "An array containing 20 (numeric) eye color identifiers. The array also represents the 20-sided die for a random eye color.",
504
419
  "type": "array",
505
420
  "items": {
506
- "$ref": "#/definitions/EyeColor"
421
+ "$ref": "./_SimpleReferences.schema.json#/$defs/EyeColorReference"
507
422
  },
508
423
  "minItems": 20,
509
424
  "maxItems": 20
510
425
  },
511
426
  "height": {
512
427
  "description": "Configuration for random height generation.",
513
- "$ref": "#/definitions/Height"
428
+ "$ref": "#/$defs/Height"
514
429
  },
515
430
  "translations": {
516
431
  "description": "All translations for the entry, identified by IETF language tag (BCP47).",
517
432
  "type": "object",
518
433
  "patternProperties": {
519
434
  "^[a-z]{2}-[A-Z]{2}$": {
520
- "$ref": "#/definitions/RaceVariantTranslation"
435
+ "$ref": "#/$defs/RaceVariantTranslation"
521
436
  }
522
437
  },
523
438
  "minProperties": 1,
@@ -534,48 +449,6 @@
534
449
  ],
535
450
  "additionalProperties": false
536
451
  },
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
452
  "Height": {
580
453
  "description": "Configuration for random height generation.",
581
454
  "type": "object",
@@ -589,7 +462,7 @@
589
462
  "description": "The dice used for random height.",
590
463
  "type": "array",
591
464
  "items": {
592
- "$ref": "./_Dice.schema.json#/definitions/Dice"
465
+ "$ref": "./_Dice.schema.json#/$defs/Dice"
593
466
  },
594
467
  "minItems": 1
595
468
  }
@@ -605,28 +478,23 @@
605
478
  "properties": {
606
479
  "name": {
607
480
  "description": "The race variant's name.",
608
- "type": "string",
609
- "minLength": 1
481
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
610
482
  },
611
483
  "common_advantages": {
612
484
  "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
485
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
615
486
  },
616
487
  "common_disadvantages": {
617
488
  "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
489
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
620
490
  },
621
491
  "uncommon_advantages": {
622
492
  "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
493
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
625
494
  },
626
495
  "uncommon_disadvantages": {
627
496
  "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
497
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
630
498
  }
631
499
  },
632
500
  "required": [
@@ -639,51 +507,42 @@
639
507
  "properties": {
640
508
  "name": {
641
509
  "description": "The race's name.",
642
- "type": "string",
643
- "minLength": 1
510
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
644
511
  },
645
512
  "attribute_adjustments": {
646
513
  "description": "The respective attribute adjustments text from the source book.",
647
- "type": "string",
648
- "minLength": 1
514
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
649
515
  },
650
516
  "automatic_advantages": {
651
517
  "description": "The respective automatic advantages text from the source book.",
652
- "type": "string",
653
- "minLength": 1
518
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
654
519
  },
655
520
  "strongly_recommended_advantages": {
656
521
  "description": "The respective strongly recommended advantages text from the source book.",
657
- "type": "string",
658
- "minLength": 1
522
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
659
523
  },
660
524
  "strongly_recommended_disadvantages": {
661
- "description": "The respective strongly recommended disadvantages text from the source book.",
662
- "type": "string",
663
- "minLength": 1
525
+ "description": "The respective strongly recommended disadvantages text from the source\nbook.",
526
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
664
527
  },
665
528
  "common_advantages": {
666
529
  "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
530
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
669
531
  },
670
532
  "common_disadvantages": {
671
533
  "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
534
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
674
535
  },
675
536
  "uncommon_advantages": {
676
537
  "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
538
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
679
539
  },
680
540
  "uncommon_disadvantages": {
681
541
  "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
542
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
684
543
  },
685
544
  "errata": {
686
- "$ref": "./source/_Erratum.schema.json#/definitions/Errata"
545
+ "$ref": "./source/_Erratum.schema.json#/$defs/Errata"
687
546
  }
688
547
  },
689
548
  "required": [