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
@@ -2,4 +2,10 @@
2
2
  * @main Profession
3
3
  */
4
4
  import { validateSchemaCreator } from "../validation/schema.js";
5
+ export var MundaneProfessionGroup;
6
+ (function (MundaneProfessionGroup) {
7
+ MundaneProfessionGroup["Profane"] = "Profane";
8
+ MundaneProfessionGroup["Fighter"] = "Fighter";
9
+ MundaneProfessionGroup["Religious"] = "Religious";
10
+ })(MundaneProfessionGroup || (MundaneProfessionGroup = {}));
5
11
  export const validateSchema = validateSchemaCreator(import.meta.url);
@@ -1,6 +1,8 @@
1
1
  /**
2
2
  * @main Property
3
3
  */
4
+ import { LocaleMap } from "./_LocaleMap.js";
5
+ import { NonEmptyString } from "./_NonEmptyString.js";
4
6
  import { SkillCheck } from "./_SkillCheck.js";
5
7
  /**
6
8
  * @title Property
@@ -19,19 +21,13 @@ export declare type Property = {
19
21
  check?: SkillCheck;
20
22
  /**
21
23
  * All translations for the entry, identified by IETF language tag (BCP47).
22
- * @minProperties 1
23
24
  */
24
- translations: {
25
- /**
26
- * @patternProperties ^[a-z]{2}-[A-Z]{2}$
27
- */
28
- [localeId: string]: {
29
- /**
30
- * The property's name.
31
- * @minLength 1
32
- */
33
- name: string;
34
- };
35
- };
25
+ translations: LocaleMap<PropertyTranslation>;
26
+ };
27
+ export declare type PropertyTranslation = {
28
+ /**
29
+ * The property's name.
30
+ */
31
+ name: NonEmptyString;
36
32
  };
37
33
  export declare const validateSchema: import("../validation/schema.js").TypeValidator<Property>;
@@ -4,7 +4,10 @@
4
4
  import { Errata } from "./source/_Erratum.js";
5
5
  import { PublicationRefs } from "./source/_PublicationRef.js";
6
6
  import { CommonnessRatedAdvantageDisadvantage } from "./_CommonnessRatedAdvantageDisadvantage.js";
7
- import { Dice, DieType } from "./_Dice.js";
7
+ import { Dice } from "./_Dice.js";
8
+ import { LocaleMap } from "./_LocaleMap.js";
9
+ import { NonEmptyString } from "./_NonEmptyString.js";
10
+ import { AdvantageReference, AttributeReference, CultureReference, EyeColorReference, HairColorReference } from "./_SimpleReferences.js";
8
11
  /**
9
12
  * A playable race with stats and skills.
10
13
  * @title Race
@@ -30,14 +33,14 @@ export declare type Race = {
30
33
  * Describes how to raise or lower maximum attribute values during character
31
34
  * creation.
32
35
  */
33
- attribute_adjustments: AttributeAdjustments.Config;
36
+ attribute_adjustments: AttributeAdjustments;
34
37
  /**
35
38
  * A list of automatically applied advantages. This does only work for
36
39
  * advantages with no further configuration such as level or special
37
40
  * selection.
38
41
  * @minItems 1
39
42
  */
40
- automatic_advantages?: AutomaticAdvantage[];
43
+ automatic_advantages?: AdvantageReference[];
41
44
  /**
42
45
  * A list of strongly recommended advantages.
43
46
  * @minItems 1
@@ -79,7 +82,7 @@ export declare type Race = {
79
82
  /**
80
83
  * Configuration for random weight generation.
81
84
  */
82
- weight: Weight.Config;
85
+ weight: Weight;
83
86
  /**
84
87
  * Defines the starting ages for the race. It depends on the selected
85
88
  * experience level.
@@ -94,23 +97,17 @@ export declare type Race = {
94
97
  * This excludes common and uncommon advantages and disadvantages, since they
95
98
  * may be defined for the whole race even if variants exist.
96
99
  */
97
- variant_dependent: VariantDependent;
100
+ variant_dependent: RaceVariantDependent;
98
101
  src: PublicationRefs;
99
102
  /**
100
103
  * All translations for the entry, identified by IETF language tag (BCP47).
101
- * @minProperties 1
102
- */
103
- translations: {
104
- /**
105
- * @patternProperties ^[a-z]{2}-[A-Z]{2}$
106
- */
107
- [localeId: string]: RaceTranslation;
108
- };
104
+ */
105
+ translations: LocaleMap<RaceTranslation>;
109
106
  };
110
107
  /**
111
108
  * The race’s base values.
112
109
  */
113
- declare type BaseValues = {
110
+ export declare type BaseValues = {
114
111
  /**
115
112
  * The race’s life point base value.
116
113
  * @integer
@@ -133,121 +130,67 @@ declare type BaseValues = {
133
130
  */
134
131
  movement: number;
135
132
  };
136
- declare namespace AttributeAdjustments {
133
+ /**
134
+ * Describes how to raise or lower maximum attribute values during character
135
+ * creation.
136
+ */
137
+ export declare type AttributeAdjustments = AttributeAdjustment[];
138
+ /**
139
+ * An array of attribute maximum modifiers. The value will be added to the
140
+ * current maximum of the selected attribute that has been chosen from the
141
+ * listed attributes (negative values will lower the maximum).
142
+ * @minItems 1
143
+ */
144
+ export declare type AttributeAdjustment = {
137
145
  /**
138
- * Describes how to raise or lower maximum attribute values during character
139
- * creation.
146
+ * The value by which the selected attribute's maximum is modified
147
+ * (negative values will lower the maximum).
148
+ * @integer
140
149
  */
141
- type Config = {
142
- /**
143
- * An array of attribute maximum modifiers. The value will be added to the
144
- * current maximum of the ID-specified attribute (negative values will lower
145
- * the maximum).
146
- * @minItems 1
147
- */
148
- fix?: Fix[];
149
- /**
150
- * Used if the player has to choose between different modifiers.
151
- */
152
- selection: Selection;
153
- };
154
- type Fix = {
155
- /**
156
- * The attribute's identifier.
157
- * @integer
158
- * @minimum 1
159
- * @maximum 8
160
- */
161
- id: number;
162
- /**
163
- * The value by which the attribute's maximum is modified (negative values
164
- * will lower the maximum).
165
- * @integer
166
- */
167
- value: number;
168
- };
169
- type Selection = {
170
- /**
171
- * The value by which the selected attribute's maximum is modified
172
- * (negative values will lower the maximum).
173
- * @integer
174
- */
175
- value: number;
176
- /**
177
- * A list of attributes the player has to choose from.
178
- * @minItems 2
179
- */
180
- list: SelectionItem[];
181
- };
182
- type SelectionItem = {
183
- /**
184
- * The attribute's identifier.
185
- * @integer
186
- * @minimum 1
187
- * @maximum 8
188
- */
189
- id: number;
190
- };
191
- }
192
- declare type AutomaticAdvantage = {
150
+ value: number;
151
+ /**
152
+ * A list of attributes the player has to choose from. If only one attribute
153
+ * is listed, no attribute has to be chosen.
154
+ * @minItems 1
155
+ */
156
+ list: AttributeReference[];
157
+ };
158
+ /**
159
+ * Configuration for random weight generation.
160
+ */
161
+ export declare type Weight = {
193
162
  /**
194
- * The advantage's identifier.
163
+ * The base value used for random weight. The height subtrahend; in case of
164
+ * `Height - 110 + 2D6` it is `110`.
195
165
  * @integer
196
166
  * @minimum 1
197
167
  */
198
- id: number;
199
- };
200
- declare namespace Weight {
168
+ base: number;
201
169
  /**
202
- * Configuration for random weight generation.
170
+ * The dice used for random weight.
171
+ * @minItems 1
203
172
  */
204
- export type Config = {
205
- /**
206
- * The base value used for random weight. The height subtrahend; in case of
207
- * `Height - 110 + 2D6` it is `110`.
208
- * @integer
209
- * @minimum 1
210
- */
211
- base: number;
212
- /**
213
- * The dice used for random weight.
214
- * @minItems 1
215
- */
216
- random: Die[];
217
- };
218
- type Die = {
219
- /**
220
- * Number of dice of the same type. Example: 2 in 2D6.
221
- * @integer
222
- * @minimum 1
223
- */
224
- number: number;
225
- /**
226
- * Number of sides on every die. Example: 6 in 2D6.
227
- */
228
- sides: DieType;
229
- /**
230
- * The strategy how to offset the randomly generated values against the
231
- * base value. Either they are all added or subtracted or even results are
232
- * added and odd results are subtracted.
233
- */
234
- offset_strategy: OffsetStrategy;
235
- };
173
+ random: WeightDice[];
174
+ };
175
+ export declare type WeightDice = Dice & {
236
176
  /**
237
177
  * The strategy how to offset the randomly generated values against the
238
178
  * base value. Either they are all added or subtracted or even results are
239
179
  * added and odd results are subtracted.
240
180
  */
241
- type OffsetStrategy = {
242
- tag: "Add";
243
- } | {
244
- tag: "Subtract";
245
- } | {
246
- tag: "AddEvenSubtractOdd";
247
- };
248
- export {};
181
+ offset_strategy: WeightDiceOffsetStrategy;
182
+ };
183
+ /**
184
+ * The strategy how to offset the randomly generated values against the
185
+ * base value. Either they are all added or subtracted or even results are
186
+ * added and odd results are subtracted.
187
+ */
188
+ export declare enum WeightDiceOffsetStrategy {
189
+ Add = "Add",
190
+ Subtract = "Subtract",
191
+ AddEvenSubtractOdd = "AddEvenSubtractOdd"
249
192
  }
250
- declare type StartingAgeConfigForExperienceLevel = {
193
+ export declare type StartingAgeConfigForExperienceLevel = {
251
194
  /**
252
195
  * The selected experience level's identifier.
253
196
  * @integer
@@ -274,32 +217,36 @@ declare type StartingAgeConfigForExperienceLevel = {
274
217
  * This excludes common and uncommon advantages and disadvantages, since they
275
218
  * may be defined for the whole race even if variants exist.
276
219
  */
277
- declare type VariantDependent = {
220
+ export declare type RaceVariantDependent = {
278
221
  tag: "HasVariants";
279
- /**
280
- * A list of available race variants.
281
- * @minItems 1
282
- */
283
- variants: RaceVariant[];
222
+ has_variants: RaceVariants;
284
223
  } | {
285
224
  tag: "Plain";
225
+ plain: ValuesForRaceWithoutVariants;
226
+ };
227
+ /**
228
+ * A list of available race variants.
229
+ * @minItems 1
230
+ */
231
+ export declare type RaceVariants = RaceVariant[];
232
+ export declare type ValuesForRaceWithoutVariants = {
286
233
  /**
287
234
  * The list of common cultures.
288
235
  * @minItems 1
289
236
  */
290
- common_cultures: CommonCulture[];
237
+ common_cultures: CultureReference[];
291
238
  /**
292
239
  * An array containing 20 (numeric) hair color identifiers. The array also represents the 20-sided die for a random hair color.
293
240
  * @minItems 20
294
241
  * @maxItems 20
295
242
  */
296
- hair_color: HairColor[];
243
+ hair_color: HairColorReference[];
297
244
  /**
298
245
  * An array containing 20 (numeric) eye color identifiers. The array also represents the 20-sided die for a random eye color.
299
246
  * @minItems 20
300
247
  * @maxItems 20
301
248
  */
302
- eye_color: EyeColor[];
249
+ eye_color: EyeColorReference[];
303
250
  /**
304
251
  * Configuration for random height generation.
305
252
  */
@@ -308,7 +255,7 @@ declare type VariantDependent = {
308
255
  /**
309
256
  * @title Race Variant
310
257
  */
311
- declare type RaceVariant = {
258
+ export declare type RaceVariant = {
312
259
  /**
313
260
  * An unique, increasing integer.
314
261
  * @integer
@@ -319,7 +266,7 @@ declare type RaceVariant = {
319
266
  * The list of common cultures.
320
267
  * @minItems 1
321
268
  */
322
- common_cultures: CommonCulture[];
269
+ common_cultures: CultureReference[];
323
270
  /**
324
271
  * 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.
325
272
  * @minItems 1
@@ -345,56 +292,26 @@ declare type RaceVariant = {
345
292
  * @minItems 20
346
293
  * @maxItems 20
347
294
  */
348
- hair_color: HairColor[];
295
+ hair_color: HairColorReference[];
349
296
  /**
350
297
  * An array containing 20 (numeric) eye color identifiers. The array also represents the 20-sided die for a random eye color.
351
298
  * @minItems 20
352
299
  * @maxItems 20
353
300
  */
354
- eye_color: EyeColor[];
301
+ eye_color: EyeColorReference[];
355
302
  /**
356
303
  * Configuration for random height generation.
357
304
  */
358
305
  height: Height;
359
306
  /**
360
307
  * All translations for the entry, identified by IETF language tag (BCP47).
361
- * @minProperties 1
362
- */
363
- translations: {
364
- /**
365
- * @patternProperties ^[a-z]{2}-[A-Z]{2}$
366
- */
367
- [localeId: string]: RaceVariantTranslation;
368
- };
369
- };
370
- declare type CommonCulture = {
371
- /**
372
- * The culture's identifier.
373
- * @integer
374
- * @minimum 1
375
308
  */
376
- id: number;
377
- };
378
- declare type HairColor = {
379
- /**
380
- * The hair color's identifier.
381
- * @integer
382
- * @minimum 1
383
- */
384
- id: number;
385
- };
386
- declare type EyeColor = {
387
- /**
388
- * The hair color's identifier.
389
- * @integer
390
- * @minimum 1
391
- */
392
- id: number;
309
+ translations: LocaleMap<RaceVariantTranslation>;
393
310
  };
394
311
  /**
395
312
  * Configuration for random height generation.
396
313
  */
397
- declare type Height = {
314
+ export declare type Height = {
398
315
  /**
399
316
  * The base value used for random height.
400
317
  * @integer
@@ -407,97 +324,83 @@ declare type Height = {
407
324
  */
408
325
  random: Dice[];
409
326
  };
410
- declare type RaceVariantTranslation = {
327
+ export declare type RaceVariantTranslation = {
411
328
  /**
412
329
  * The race variant's name.
413
- * @minLength 1
414
330
  */
415
- name: string;
331
+ name: NonEmptyString;
416
332
  /**
417
333
  * The respective common advantages text from the source book. If common
418
334
  * advantages are defined by the base race, leave this field empty. This field
419
335
  * overrides the same field of the base race, if both are defined.
420
- * @minLength 1
421
336
  */
422
- common_advantages?: string;
337
+ common_advantages?: NonEmptyString;
423
338
  /**
424
339
  * The respective common disadvantages text from the source book. If common
425
340
  * disadvantages are defined by the base race, leave this field empty. This
426
341
  * field overrides the same field of the base race, if both are defined.
427
- * @minLength 1
428
342
  */
429
- common_disadvantages?: string;
343
+ common_disadvantages?: NonEmptyString;
430
344
  /**
431
345
  * The respective uncommon advantages text from the source book. If uncommon
432
346
  * advantages are defined by the base race, leave this field empty. This field
433
347
  * overrides the same field of the base race, if both are defined.
434
- * @minLength 1
435
348
  */
436
- uncommon_advantages?: string;
349
+ uncommon_advantages?: NonEmptyString;
437
350
  /**
438
351
  * The respective uncommon disadvantages text from the source book. If
439
352
  * uncommon disadvantages are defined by the base race, leave this field
440
353
  * empty. This field overrides the same field of the base race, if both are
441
354
  * defined.
442
- * @minLength 1
443
355
  */
444
- uncommon_disadvantages?: string;
356
+ uncommon_disadvantages?: NonEmptyString;
445
357
  };
446
- declare type RaceTranslation = {
358
+ export declare type RaceTranslation = {
447
359
  /**
448
360
  * The race's name.
449
- * @minLength 1
450
361
  */
451
- name: string;
362
+ name: NonEmptyString;
452
363
  /**
453
364
  * The respective attribute adjustments text from the source book.
454
- * @minLength 1
455
365
  */
456
- attribute_adjustments: string;
366
+ attribute_adjustments: NonEmptyString;
457
367
  /**
458
368
  * The respective automatic advantages text from the source book.
459
- * @minLength 1
460
369
  */
461
- automatic_advantages?: string;
370
+ automatic_advantages?: NonEmptyString;
462
371
  /**
463
372
  * The respective strongly recommended advantages text from the source book.
464
- * @minLength 1
465
373
  */
466
- strongly_recommended_advantages?: string;
374
+ strongly_recommended_advantages?: NonEmptyString;
467
375
  /**
468
- * The respective strongly recommended disadvantages text from the source book.
469
- * @minLength 1
376
+ * The respective strongly recommended disadvantages text from the source
377
+ * book.
470
378
  */
471
- strongly_recommended_disadvantages?: string;
379
+ strongly_recommended_disadvantages?: NonEmptyString;
472
380
  /**
473
381
  * The respective common advantages text from the source book. If common
474
382
  * advantages are defined by race variants, leave this field empty. It is
475
383
  * overridden by the same field in race variants.
476
- * @minLength 1
477
384
  */
478
- common_advantages?: string;
385
+ common_advantages?: NonEmptyString;
479
386
  /**
480
387
  * The respective common disadvantages text from the source book. If common
481
388
  * disadvantages are defined by race variants, leave this field empty. It is
482
389
  * overridden by the same field in race variants.
483
- * @minLength 1
484
390
  */
485
- common_disadvantages?: string;
391
+ common_disadvantages?: NonEmptyString;
486
392
  /**
487
393
  * The respective uncommon advantages text from the source book. If uncommon
488
394
  * advantages are defined by race variants, leave this field empty. It is
489
395
  * overridden by the same field in race variants.
490
- * @minLength 1
491
396
  */
492
- uncommon_advantages?: string;
397
+ uncommon_advantages?: NonEmptyString;
493
398
  /**
494
399
  * The respective uncommon disadvantages text from the source book. If
495
400
  * uncommon disadvantages are defined by race variants, leave this field
496
401
  * empty. It is overridden by the same field in race variants.
497
- * @minLength 1
498
402
  */
499
- uncommon_disadvantages?: string;
403
+ uncommon_disadvantages?: NonEmptyString;
500
404
  errata?: Errata;
501
405
  };
502
406
  export declare const validateSchema: import("../validation/schema.js").TypeValidator<Race>;
503
- export {};
package/lib/types/Race.js CHANGED
@@ -2,4 +2,15 @@
2
2
  * @main Race
3
3
  */
4
4
  import { validateSchemaCreator } from "../validation/schema.js";
5
+ /**
6
+ * The strategy how to offset the randomly generated values against the
7
+ * base value. Either they are all added or subtracted or even results are
8
+ * added and odd results are subtracted.
9
+ */
10
+ export var WeightDiceOffsetStrategy;
11
+ (function (WeightDiceOffsetStrategy) {
12
+ WeightDiceOffsetStrategy["Add"] = "Add";
13
+ WeightDiceOffsetStrategy["Subtract"] = "Subtract";
14
+ WeightDiceOffsetStrategy["AddEvenSubtractOdd"] = "AddEvenSubtractOdd";
15
+ })(WeightDiceOffsetStrategy || (WeightDiceOffsetStrategy = {}));
5
16
  export const validateSchema = validateSchemaCreator(import.meta.url);
@@ -1,6 +1,8 @@
1
1
  /**
2
2
  * @main Region
3
3
  */
4
+ import { LocaleMap } from "./_LocaleMap.js";
5
+ import { NonEmptyString } from "./_NonEmptyString.js";
4
6
  /**
5
7
  * @title Region
6
8
  */
@@ -13,19 +15,13 @@ export declare type Region = {
13
15
  id: number;
14
16
  /**
15
17
  * All translations for the entry, identified by IETF language tag (BCP47).
16
- * @minProperties 1
17
18
  */
18
- translations: {
19
- /**
20
- * @patternProperties ^[a-z]{2}-[A-Z]{2}$
21
- */
22
- [localeId: string]: {
23
- /**
24
- * The region name.
25
- * @minLength 1
26
- */
27
- name: string;
28
- };
29
- };
19
+ translations: LocaleMap<RegionTranslation>;
20
+ };
21
+ export declare type RegionTranslation = {
22
+ /**
23
+ * The region name.
24
+ */
25
+ name: NonEmptyString;
30
26
  };
31
27
  export declare const validateSchema: import("../validation/schema.js").TypeValidator<Region>;