optolith-database-schema 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (500) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/lib/config.d.ts +302 -250
  3. package/lib/config.js +302 -250
  4. package/lib/main.d.ts +3 -2
  5. package/lib/main.js +1 -1
  6. package/lib/types/Advantage.d.ts +22 -24
  7. package/lib/types/AnimalDisease.d.ts +18 -212
  8. package/lib/types/AnimalType.d.ts +9 -13
  9. package/lib/types/ArcaneBardTradition.d.ts +3 -27
  10. package/lib/types/ArcaneDancerTradition.d.ts +3 -27
  11. package/lib/types/Aspect.d.ts +14 -19
  12. package/lib/types/Attribute.d.ts +17 -23
  13. package/lib/types/Blessing.d.ts +78 -94
  14. package/lib/types/Cantrip.d.ts +132 -148
  15. package/lib/types/Ceremony.d.ts +55 -88
  16. package/lib/types/CombatTechnique_Close.d.ts +30 -39
  17. package/lib/types/CombatTechnique_Ranged.d.ts +28 -26
  18. package/lib/types/Condition.d.ts +18 -31
  19. package/lib/types/Continent.d.ts +9 -13
  20. package/lib/types/Culture.d.ts +168 -290
  21. package/lib/types/DerivedCharacteristic.d.ts +4 -10
  22. package/lib/types/Disadvantage.d.ts +19 -23
  23. package/lib/types/Disease.d.ts +5 -140
  24. package/lib/types/Element.d.ts +9 -13
  25. package/lib/types/ExperienceLevel.d.ts +3 -9
  26. package/lib/types/EyeColor.d.ts +9 -13
  27. package/lib/types/FamiliarsTrick.d.ts +201 -290
  28. package/lib/types/HairColor.d.ts +9 -13
  29. package/lib/types/Lessons_Curriculum.d.ts +73 -138
  30. package/lib/types/Lessons_Guideline.d.ts +9 -13
  31. package/lib/types/LiturgicalChant.d.ts +55 -88
  32. package/lib/types/Locale.d.ts +1 -1
  33. package/lib/types/Locale.js +1 -1
  34. package/lib/types/MetaCondition.d.ts +18 -31
  35. package/lib/types/PactCategory.d.ts +48 -62
  36. package/lib/types/Patron.d.ts +66 -76
  37. package/lib/types/PatronCategory.d.ts +11 -21
  38. package/lib/types/PersonalityTrait.d.ts +31 -39
  39. package/lib/types/Profession.d.ts +296 -435
  40. package/lib/types/Property.d.ts +9 -13
  41. package/lib/types/Race.d.ts +99 -194
  42. package/lib/types/Region.d.ts +9 -13
  43. package/lib/types/Ritual.d.ts +58 -83
  44. package/lib/types/Service.d.ts +20 -25
  45. package/lib/types/SexPractice.d.ts +26 -34
  46. package/lib/types/Skill.d.ts +65 -90
  47. package/lib/types/SkillGroup.d.ts +13 -18
  48. package/lib/types/SkillModificationLevel.d.ts +72 -76
  49. package/lib/types/SocialStatus.d.ts +9 -13
  50. package/lib/types/Spell.d.ts +58 -83
  51. package/lib/types/State.d.ts +14 -20
  52. package/lib/types/Talisman.d.ts +44 -54
  53. package/lib/types/TargetCategory.d.ts +21 -16
  54. package/lib/types/UI.d.ts +1 -5
  55. package/lib/types/_Activatable.d.ts +607 -1177
  56. package/lib/types/_Activatable.js +0 -12
  57. package/lib/types/_ActivatableSelectOptionCategory.d.ts +356 -0
  58. package/lib/types/{prerequisites/single/CommonSuggestedByRCPPrerequisite.js → _ActivatableSelectOptionCategory.js} +0 -0
  59. package/lib/types/_ActivatableSkill.d.ts +24 -1013
  60. package/lib/types/_ActivatableSkill.js +1 -31
  61. package/lib/types/_ActivatableSkillCastingTime.d.ts +69 -0
  62. package/lib/types/_ActivatableSkillCastingTime.js +5 -0
  63. package/lib/types/_ActivatableSkillCheckResultBased.d.ts +41 -0
  64. package/lib/types/{equipment/_Armor.js → _ActivatableSkillCheckResultBased.js} +0 -3
  65. package/lib/types/_ActivatableSkillCost.d.ts +223 -0
  66. package/lib/types/_ActivatableSkillCost.js +1 -0
  67. package/lib/types/_ActivatableSkillDuration.d.ts +138 -0
  68. package/lib/types/_ActivatableSkillDuration.js +13 -0
  69. package/lib/types/_ActivatableSkillEffect.d.ts +68 -0
  70. package/lib/types/_ActivatableSkillEffect.js +1 -0
  71. package/lib/types/_ActivatableSkillRange.d.ts +103 -0
  72. package/lib/types/_ActivatableSkillRange.js +5 -0
  73. package/lib/types/_ActivatableSkillTargetCategory.d.ts +35 -0
  74. package/lib/types/_ActivatableSkillTargetCategory.js +1 -0
  75. package/lib/types/_AlternativeNames.d.ts +11 -0
  76. package/lib/types/_AlternativeNames.js +1 -0
  77. package/lib/types/_ArcaneTradition.d.ts +28 -0
  78. package/lib/types/_ArcaneTradition.js +4 -0
  79. package/lib/types/_Blessed.d.ts +22 -0
  80. package/lib/types/_Blessed.js +1 -0
  81. package/lib/types/_DiseasePoison.d.ts +116 -0
  82. package/lib/types/_DiseasePoison.js +5 -0
  83. package/lib/types/_Enhancements.d.ts +16 -20
  84. package/lib/types/_I18n.d.ts +1 -5
  85. package/lib/types/_Identifier.d.ts +32 -0
  86. package/lib/types/_Identifier.js +32 -0
  87. package/lib/types/_Influence.d.ts +27 -32
  88. package/lib/types/_LocaleMap.d.ts +10 -0
  89. package/lib/types/_LocaleMap.js +1 -0
  90. package/lib/types/_NonEmptyString.d.ts +9 -0
  91. package/lib/types/_NonEmptyString.js +1 -0
  92. package/lib/types/_Prerequisite.d.ts +61 -65
  93. package/lib/types/_ResponsiveText.d.ts +54 -0
  94. package/lib/types/_ResponsiveText.js +1 -0
  95. package/lib/types/_SimpleReferences.d.ts +334 -0
  96. package/lib/types/_SimpleReferences.js +1 -0
  97. package/lib/types/_SkillCheck.d.ts +6 -11
  98. package/lib/types/_Spellwork.d.ts +17 -0
  99. package/lib/types/_Spellwork.js +1 -0
  100. package/lib/types/equipment/EquipmentPackage.d.ts +24 -28
  101. package/lib/types/equipment/item/Alchemicum.d.ts +6 -0
  102. package/lib/types/equipment/item/Alchemicum.js +5 -0
  103. package/lib/types/equipment/item/Ammunition.d.ts +31 -0
  104. package/lib/types/equipment/item/Ammunition.js +5 -0
  105. package/lib/types/equipment/item/Animal.d.ts +18 -0
  106. package/lib/types/equipment/item/Animal.js +5 -0
  107. package/lib/types/equipment/item/AnimalCare.d.ts +48 -0
  108. package/lib/types/equipment/item/AnimalCare.js +5 -0
  109. package/lib/types/equipment/item/Armor.d.ts +185 -0
  110. package/lib/types/equipment/item/Armor.js +5 -0
  111. package/lib/types/equipment/item/BandageOrRemedy.d.ts +6 -0
  112. package/lib/types/equipment/item/BandageOrRemedy.js +5 -0
  113. package/lib/types/equipment/item/Book.d.ts +60 -0
  114. package/lib/types/equipment/item/Book.js +5 -0
  115. package/lib/types/equipment/item/CeremonialItem.d.ts +6 -0
  116. package/lib/types/equipment/item/CeremonialItem.js +5 -0
  117. package/lib/types/equipment/item/Clothes.d.ts +6 -0
  118. package/lib/types/equipment/item/Clothes.js +5 -0
  119. package/lib/types/equipment/item/Container.d.ts +6 -0
  120. package/lib/types/equipment/item/Container.js +5 -0
  121. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +41 -0
  122. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +5 -0
  123. package/lib/types/equipment/item/GemOrPreciousStone.d.ts +43 -0
  124. package/lib/types/equipment/item/GemOrPreciousStone.js +5 -0
  125. package/lib/types/equipment/item/HealingHerb.d.ts +6 -0
  126. package/lib/types/equipment/item/HealingHerb.js +5 -0
  127. package/lib/types/equipment/item/Illumination.d.ts +6 -0
  128. package/lib/types/equipment/item/Illumination.js +5 -0
  129. package/lib/types/equipment/item/Jewelry.d.ts +60 -0
  130. package/lib/types/equipment/item/Jewelry.js +5 -0
  131. package/lib/types/equipment/item/Liebesspielzeug.d.ts +6 -0
  132. package/lib/types/equipment/item/Liebesspielzeug.js +5 -0
  133. package/lib/types/equipment/item/LuxuryGood.d.ts +6 -0
  134. package/lib/types/equipment/item/LuxuryGood.js +5 -0
  135. package/lib/types/equipment/item/MagicalArtifact.d.ts +39 -0
  136. package/lib/types/equipment/item/MagicalArtifact.js +5 -0
  137. package/lib/types/equipment/item/MusicalInstrument.d.ts +27 -0
  138. package/lib/types/equipment/item/MusicalInstrument.js +5 -0
  139. package/lib/types/equipment/item/OrienteeringAid.d.ts +6 -0
  140. package/lib/types/equipment/item/OrienteeringAid.js +5 -0
  141. package/lib/types/equipment/item/Poison.d.ts +163 -0
  142. package/lib/types/{Poison.js → equipment/item/Poison.js} +1 -1
  143. package/lib/types/equipment/item/RopeOrChain.d.ts +6 -0
  144. package/lib/types/equipment/item/RopeOrChain.js +5 -0
  145. package/lib/types/equipment/item/Stationary.d.ts +6 -0
  146. package/lib/types/equipment/item/Stationary.js +5 -0
  147. package/lib/types/equipment/item/ThievesTool.d.ts +6 -0
  148. package/lib/types/equipment/item/ThievesTool.js +5 -0
  149. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +56 -0
  150. package/lib/types/equipment/item/ToolOfTheTrade.js +5 -0
  151. package/lib/types/equipment/item/TravelGearOrTool.d.ts +6 -0
  152. package/lib/types/equipment/item/TravelGearOrTool.js +5 -0
  153. package/lib/types/equipment/item/Vehicle.d.ts +18 -0
  154. package/lib/types/equipment/item/Vehicle.js +5 -0
  155. package/lib/types/equipment/item/Weapon.d.ts +152 -0
  156. package/lib/types/equipment/item/Weapon.js +5 -0
  157. package/lib/types/equipment/item/WeaponAccessory.d.ts +6 -0
  158. package/lib/types/equipment/item/WeaponAccessory.js +5 -0
  159. package/lib/types/equipment/item/_Item.d.ts +157 -0
  160. package/lib/types/equipment/item/_Item.js +1 -0
  161. package/lib/types/equipment/item/_MeleeWeapon.d.ts +113 -0
  162. package/lib/types/equipment/item/_MeleeWeapon.js +4 -0
  163. package/lib/types/equipment/item/_RangedWeapon.d.ts +108 -0
  164. package/lib/types/equipment/item/_RangedWeapon.js +4 -0
  165. package/lib/types/equipment/item/_Weapon.d.ts +57 -0
  166. package/lib/types/equipment/{_Weapon.js → item/_Weapon.js} +0 -3
  167. package/lib/types/equipment/item/sub/ArmorType.d.ts +36 -0
  168. package/lib/types/equipment/{ArmorType.js → item/sub/ArmorType.js} +1 -1
  169. package/lib/types/equipment/item/sub/Reach.d.ts +27 -0
  170. package/lib/types/equipment/{Reach.js → item/sub/Reach.js} +1 -1
  171. package/lib/types/magicalActions/AnimistPower.d.ts +168 -225
  172. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +9 -13
  173. package/lib/types/magicalActions/Curse.d.ts +115 -184
  174. package/lib/types/magicalActions/DominationRitual.d.ts +98 -136
  175. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +79 -123
  176. package/lib/types/magicalActions/GeodeRitual.d.ts +124 -111
  177. package/lib/types/magicalActions/JesterTrick.d.ts +114 -109
  178. package/lib/types/magicalActions/MagicalDance.d.ts +71 -138
  179. package/lib/types/magicalActions/MagicalMelody.d.ts +65 -75
  180. package/lib/types/magicalActions/MagicalRune.d.ts +155 -189
  181. package/lib/types/magicalActions/ZibiljaRitual.d.ts +57 -65
  182. package/lib/types/magicalActions/_MusicTradition.d.ts +23 -13
  183. package/lib/types/magicalActions/_SkillReference.d.ts +1 -1
  184. package/lib/types/prerequisites/DisplayOption.d.ts +6 -8
  185. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +194 -16
  186. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +0 -3
  187. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +0 -1
  188. package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +0 -1
  189. package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +17 -14
  190. package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +0 -1
  191. package/lib/types/prerequisites/single/PactPrerequisite.d.ts +5 -14
  192. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +6 -6
  193. package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +0 -1
  194. package/lib/types/prerequisites/single/RacePrerequisite.d.ts +0 -1
  195. package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +32 -41
  196. package/lib/types/prerequisites/single/RulePrerequisite.d.ts +0 -1
  197. package/lib/types/prerequisites/single/SexPrerequisite.d.ts +0 -1
  198. package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +0 -1
  199. package/lib/types/prerequisites/single/StatePrerequisite.d.ts +0 -1
  200. package/lib/types/prerequisites/single/TextPrerequisite.d.ts +11 -15
  201. package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +20 -12
  202. package/lib/types/rule/CoreRule.d.ts +198 -206
  203. package/lib/types/rule/FocusRule.d.ts +19 -24
  204. package/lib/types/rule/FocusRule_Subject.d.ts +9 -13
  205. package/lib/types/rule/OptionalRule.d.ts +12 -35
  206. package/lib/types/rule/_Rule.d.ts +19 -0
  207. package/lib/types/rule/_Rule.js +1 -0
  208. package/lib/types/source/Publication.d.ts +34 -48
  209. package/lib/types/source/_Erratum.d.ts +2 -1
  210. package/lib/types/source/_PublicationRef.d.ts +41 -37
  211. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +13 -17
  212. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +8 -12
  213. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +8 -12
  214. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +8 -12
  215. package/lib/types/specialAbility/AncestorGlyph.d.ts +8 -12
  216. package/lib/types/specialAbility/BlessedTradition.d.ts +92 -123
  217. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +9 -13
  218. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +8 -12
  219. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +13 -17
  220. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +10 -18
  221. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +1 -1
  222. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +8 -12
  223. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +8 -12
  224. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +8 -12
  225. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +8 -12
  226. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +8 -12
  227. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +8 -12
  228. package/lib/types/specialAbility/LycantropicGift.d.ts +8 -12
  229. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +8 -12
  230. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +8 -12
  231. package/lib/types/specialAbility/MagicalTradition.d.ts +38 -58
  232. package/lib/types/specialAbility/PactGift.d.ts +75 -62
  233. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +16 -23
  234. package/lib/types/specialAbility/Sermon.d.ts +8 -12
  235. package/lib/types/specialAbility/SexSpecialAbility.d.ts +8 -12
  236. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +8 -12
  237. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +8 -12
  238. package/lib/types/specialAbility/VampiricGift.d.ts +8 -12
  239. package/lib/types/specialAbility/Vision.d.ts +8 -12
  240. package/lib/types/specialAbility/_Tradition.d.ts +12 -0
  241. package/lib/types/specialAbility/_Tradition.js +1 -0
  242. package/lib/types/specialAbility/sub/Language.d.ts +78 -104
  243. package/lib/types/specialAbility/sub/Script.d.ts +24 -51
  244. package/lib/types/specialAbility/sub/TradeSecret.d.ts +14 -20
  245. package/lib/types/specialAbility/sub/_LanguageScript.d.ts +13 -0
  246. package/lib/types/specialAbility/sub/_LanguageScript.js +1 -0
  247. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +20 -24
  248. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +21 -25
  249. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +20 -24
  250. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +31 -34
  251. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +20 -24
  252. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +45 -25
  253. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +20 -24
  254. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +20 -24
  255. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +20 -24
  256. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +20 -24
  257. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +20 -24
  258. package/lib/types/traditionArtifacts/SickleRitual.d.ts +20 -24
  259. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +20 -24
  260. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +21 -25
  261. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +21 -25
  262. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +20 -24
  263. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +20 -24
  264. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +19 -24
  265. package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +24 -16
  266. package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +9 -13
  267. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +9 -13
  268. package/lib/types/traditionArtifacts/sub/Brew.d.ts +9 -13
  269. package/lib/validation/schema.d.ts +11 -2
  270. package/lib/validation/schema.js +16 -4
  271. package/package.json +8 -7
  272. package/schema/Advantage.schema.json +49 -42
  273. package/schema/AnimalDisease.schema.json +17 -325
  274. package/schema/AnimalType.schema.json +17 -15
  275. package/schema/ArcaneBardTradition.schema.json +4 -42
  276. package/schema/ArcaneDancerTradition.schema.json +4 -42
  277. package/schema/Aspect.schema.json +21 -20
  278. package/schema/Attribute.schema.json +27 -27
  279. package/schema/Blessing.schema.json +188 -170
  280. package/schema/Cantrip.schema.json +334 -273
  281. package/schema/Ceremony.schema.json +90 -149
  282. package/schema/CombatTechnique_Close.schema.json +56 -67
  283. package/schema/CombatTechnique_Ranged.schema.json +46 -30
  284. package/schema/Condition.schema.json +46 -50
  285. package/schema/Continent.schema.json +18 -15
  286. package/schema/Culture.schema.json +408 -487
  287. package/schema/DerivedCharacteristic.schema.json +8 -8
  288. package/schema/Disadvantage.schema.json +45 -40
  289. package/schema/Disease.schema.json +7 -193
  290. package/schema/Element.schema.json +18 -15
  291. package/schema/ExperienceLevel.schema.json +5 -5
  292. package/schema/EyeColor.schema.json +17 -15
  293. package/schema/FamiliarsTrick.schema.json +491 -513
  294. package/schema/HairColor.schema.json +17 -15
  295. package/schema/Kirchenpraegung.schema.json +4 -4
  296. package/schema/Lessons_Curriculum.schema.json +202 -232
  297. package/schema/Lessons_Guideline.schema.json +17 -15
  298. package/schema/LiturgicalChant.schema.json +90 -149
  299. package/schema/Locale.schema.json +5 -5
  300. package/schema/MetaCondition.schema.json +46 -50
  301. package/schema/PactCategory.schema.json +101 -89
  302. package/schema/Patron.schema.json +239 -229
  303. package/schema/PatronCategory.schema.json +18 -27
  304. package/schema/PersonalityTrait.schema.json +50 -57
  305. package/schema/Profession.schema.json +810 -993
  306. package/schema/Property.schema.json +18 -16
  307. package/schema/Race.schema.json +200 -308
  308. package/schema/Region.schema.json +17 -15
  309. package/schema/Ritual.schema.json +111 -158
  310. package/schema/Service.schema.json +55 -51
  311. package/schema/SexPractice.schema.json +37 -39
  312. package/schema/Skill.schema.json +88 -89
  313. package/schema/SkillGroup.schema.json +23 -22
  314. package/schema/SkillModificationLevel.schema.json +93 -82
  315. package/schema/SocialStatus.schema.json +17 -15
  316. package/schema/Spell.schema.json +110 -158
  317. package/schema/State.schema.json +26 -25
  318. package/schema/Talisman.schema.json +115 -121
  319. package/schema/TargetCategory.schema.json +35 -20
  320. package/schema/UI.schema.json +830 -834
  321. package/schema/_Activatable.schema.json +1482 -2138
  322. package/schema/_ActivatableSelectOptionCategory.schema.json +1124 -0
  323. package/schema/_ActivatableSkill.schema.json +96 -1679
  324. package/schema/_ActivatableSkillCastingTime.schema.json +177 -0
  325. package/schema/_ActivatableSkillCheckResultBased.schema.json +101 -0
  326. package/schema/_ActivatableSkillCost.schema.json +448 -0
  327. package/schema/_ActivatableSkillDuration.schema.json +335 -0
  328. package/schema/_ActivatableSkillEffect.schema.json +153 -0
  329. package/schema/_ActivatableSkillRange.schema.json +221 -0
  330. package/schema/_ActivatableSkillTargetCategory.schema.json +117 -0
  331. package/schema/_AlternativeNames.schema.json +23 -0
  332. package/schema/_ArcaneTradition.schema.json +51 -0
  333. package/schema/_Blessed.schema.json +64 -0
  334. package/schema/_CommonnessRatedAdvantageDisadvantage.schema.json +2 -2
  335. package/schema/_Dice.schema.json +3 -3
  336. package/schema/_DiseasePoison.schema.json +173 -0
  337. package/schema/_Enhancements.schema.json +29 -26
  338. package/schema/_I18n.schema.json +8 -12
  339. package/schema/_Identifier.schema.json +73 -22
  340. package/schema/_ImprovementCost.schema.json +2 -2
  341. package/schema/_Influence.schema.json +48 -45
  342. package/schema/_NonEmptyString.schema.json +14 -0
  343. package/schema/_Prerequisite.schema.json +953 -765
  344. package/schema/_ResponsiveText.schema.json +66 -0
  345. package/schema/_Sex.schema.json +3 -3
  346. package/schema/_SimpleReferences.schema.json +586 -0
  347. package/schema/_SkillCheck.schema.json +5 -20
  348. package/schema/_Spellwork.schema.json +47 -0
  349. package/schema/equipment/EquipmentPackage.schema.json +37 -32
  350. package/schema/equipment/item/Alchemicum.schema.json +10 -0
  351. package/schema/equipment/item/Ammunition.schema.json +56 -0
  352. package/schema/equipment/item/Animal.schema.json +36 -0
  353. package/schema/equipment/item/AnimalCare.schema.json +124 -0
  354. package/schema/equipment/item/Armor.schema.json +288 -0
  355. package/schema/equipment/item/BandageOrRemedy.schema.json +10 -0
  356. package/schema/equipment/item/Book.schema.json +89 -0
  357. package/schema/equipment/item/CeremonialItem.schema.json +10 -0
  358. package/schema/equipment/item/Clothes.schema.json +10 -0
  359. package/schema/equipment/item/Container.schema.json +10 -0
  360. package/schema/equipment/item/EquipmentOfBlessedOnes.schema.json +59 -0
  361. package/schema/equipment/item/GemOrPreciousStone.schema.json +69 -0
  362. package/schema/equipment/item/HealingHerb.schema.json +10 -0
  363. package/schema/equipment/item/Illumination.schema.json +10 -0
  364. package/schema/equipment/item/Jewelry.schema.json +113 -0
  365. package/schema/equipment/item/Liebesspielzeug.schema.json +10 -0
  366. package/schema/equipment/item/LuxuryGood.schema.json +10 -0
  367. package/schema/equipment/item/MagicalArtifact.schema.json +64 -0
  368. package/schema/equipment/item/MusicalInstrument.schema.json +46 -0
  369. package/schema/equipment/item/OrienteeringAid.schema.json +10 -0
  370. package/schema/equipment/item/Poison.schema.json +378 -0
  371. package/schema/equipment/item/RopeOrChain.schema.json +10 -0
  372. package/schema/equipment/item/Stationary.schema.json +10 -0
  373. package/schema/equipment/item/ThievesTool.schema.json +10 -0
  374. package/schema/equipment/item/ToolOfTheTrade.schema.json +83 -0
  375. package/schema/equipment/item/TravelGearOrTool.schema.json +10 -0
  376. package/schema/equipment/item/Vehicle.schema.json +36 -0
  377. package/schema/equipment/item/Weapon.schema.json +265 -0
  378. package/schema/equipment/item/WeaponAccessory.schema.json +10 -0
  379. package/schema/equipment/item/_Item.schema.json +361 -0
  380. package/schema/equipment/item/_MeleeWeapon.schema.json +166 -0
  381. package/schema/equipment/item/_RangedWeapon.schema.json +172 -0
  382. package/schema/equipment/item/_Weapon.schema.json +99 -0
  383. package/schema/equipment/item/sub/ArmorType.schema.json +53 -0
  384. package/schema/equipment/{Reach.schema.json → item/sub/Reach.schema.json} +18 -16
  385. package/schema/magicalActions/AnimistPower.schema.json +413 -402
  386. package/schema/magicalActions/AnimistPower_Tribe.schema.json +17 -15
  387. package/schema/magicalActions/Curse.schema.json +288 -315
  388. package/schema/magicalActions/DominationRitual.schema.json +233 -220
  389. package/schema/magicalActions/ElvenMagicalSong.schema.json +132 -154
  390. package/schema/magicalActions/GeodeRitual.schema.json +284 -222
  391. package/schema/magicalActions/JesterTrick.schema.json +252 -202
  392. package/schema/magicalActions/MagicalDance.schema.json +147 -251
  393. package/schema/magicalActions/MagicalMelody.schema.json +129 -164
  394. package/schema/magicalActions/MagicalRune.schema.json +341 -323
  395. package/schema/magicalActions/ZibiljaRitual.schema.json +139 -112
  396. package/schema/magicalActions/_MusicTradition.schema.json +88 -14
  397. package/schema/magicalActions/_SkillReference.schema.json +4 -4
  398. package/schema/prerequisites/ConditionalPrerequisites.schema.json +3 -3
  399. package/schema/prerequisites/DisplayOption.schema.json +25 -14
  400. package/schema/prerequisites/PrerequisiteGroups.schema.json +928 -152
  401. package/schema/prerequisites/single/ActivatablePrerequisite.schema.json +13 -25
  402. package/schema/prerequisites/single/AnimistPowerPrerequisite.schema.json +4 -7
  403. package/schema/prerequisites/single/CulturePrerequisite.schema.json +4 -8
  404. package/schema/prerequisites/single/EnhancementPrerequisite.schema.json +30 -23
  405. package/schema/prerequisites/single/InfluencePrerequisite.schema.json +3 -7
  406. package/schema/prerequisites/single/PactPrerequisite.schema.json +9 -19
  407. package/schema/prerequisites/single/PrimaryAttributePrerequisite.schema.json +32 -33
  408. package/schema/prerequisites/single/PublicationPrerequisite.schema.json +3 -7
  409. package/schema/prerequisites/single/RacePrerequisite.schema.json +4 -8
  410. package/schema/prerequisites/single/RatedPrerequisite.schema.json +104 -107
  411. package/schema/prerequisites/single/RulePrerequisite.schema.json +4 -8
  412. package/schema/prerequisites/single/SexPrerequisite.schema.json +4 -8
  413. package/schema/prerequisites/single/SocialStatusPrerequisite.schema.json +3 -7
  414. package/schema/prerequisites/single/StatePrerequisite.schema.json +4 -8
  415. package/schema/prerequisites/single/TextPrerequisite.schema.json +36 -35
  416. package/schema/prerequisites/single/TraditionPrerequisite.schema.json +66 -68
  417. package/schema/rule/CoreRule.schema.json +904 -859
  418. package/schema/rule/FocusRule.schema.json +34 -30
  419. package/schema/rule/FocusRule_Subject.schema.json +17 -15
  420. package/schema/rule/OptionalRule.schema.json +24 -56
  421. package/schema/rule/_Rule.schema.json +52 -0
  422. package/schema/source/Publication.schema.json +45 -71
  423. package/schema/source/_Erratum.schema.json +5 -6
  424. package/schema/source/_PublicationRef.schema.json +87 -57
  425. package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +41 -38
  426. package/schema/specialAbility/AdvancedKarmaSpecialAbility.schema.json +35 -32
  427. package/schema/specialAbility/AdvancedMagicalSpecialAbility.schema.json +35 -32
  428. package/schema/specialAbility/AdvancedSkillSpecialAbility.schema.json +35 -32
  429. package/schema/specialAbility/AncestorGlyph.schema.json +33 -30
  430. package/schema/specialAbility/BlessedTradition.schema.json +230 -225
  431. package/schema/specialAbility/BrawlingSpecialAbility.schema.json +35 -32
  432. package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +36 -33
  433. package/schema/specialAbility/CombatSpecialAbility.schema.json +41 -38
  434. package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +39 -61
  435. package/schema/specialAbility/CommandSpecialAbility.schema.json +16 -16
  436. package/schema/specialAbility/FamiliarSpecialAbility.schema.json +33 -30
  437. package/schema/specialAbility/FatePointSexSpecialAbility.schema.json +33 -30
  438. package/schema/specialAbility/FatePointSpecialAbility.schema.json +35 -32
  439. package/schema/specialAbility/GeneralSpecialAbility.schema.json +35 -32
  440. package/schema/specialAbility/KarmaSpecialAbility.schema.json +33 -30
  441. package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +36 -33
  442. package/schema/specialAbility/LycantropicGift.schema.json +33 -30
  443. package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +36 -33
  444. package/schema/specialAbility/MagicalSpecialAbility.schema.json +35 -32
  445. package/schema/specialAbility/MagicalTradition.schema.json +66 -87
  446. package/schema/specialAbility/PactGift.schema.json +240 -174
  447. package/schema/specialAbility/ProtectiveWardingCircleSpecialAbility.schema.json +39 -38
  448. package/schema/specialAbility/Sermon.schema.json +33 -30
  449. package/schema/specialAbility/SexSpecialAbility.schema.json +35 -32
  450. package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +33 -30
  451. package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +34 -31
  452. package/schema/specialAbility/VampiricGift.schema.json +33 -30
  453. package/schema/specialAbility/Vision.schema.json +33 -30
  454. package/schema/specialAbility/_Tradition.schema.json +23 -0
  455. package/schema/specialAbility/sub/Language.schema.json +170 -162
  456. package/schema/specialAbility/sub/Script.schema.json +35 -72
  457. package/schema/specialAbility/sub/TradeSecret.schema.json +26 -25
  458. package/schema/specialAbility/sub/_LanguageScript.schema.json +26 -0
  459. package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +46 -43
  460. package/schema/traditionArtifacts/AttireEnchantment.schema.json +47 -43
  461. package/schema/traditionArtifacts/BowlEnchantment.schema.json +46 -43
  462. package/schema/traditionArtifacts/CauldronEnchantment.schema.json +63 -56
  463. package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +46 -43
  464. package/schema/traditionArtifacts/DaggerRitual.schema.json +132 -43
  465. package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +46 -43
  466. package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +46 -43
  467. package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +46 -43
  468. package/schema/traditionArtifacts/OrbEnchantment.schema.json +46 -43
  469. package/schema/traditionArtifacts/RingEnchantment.schema.json +46 -43
  470. package/schema/traditionArtifacts/SickleRitual.schema.json +46 -43
  471. package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +46 -43
  472. package/schema/traditionArtifacts/StaffEnchantment.schema.json +47 -43
  473. package/schema/traditionArtifacts/ToyEnchantment.schema.json +47 -43
  474. package/schema/traditionArtifacts/Trinkhornzauber.schema.json +46 -43
  475. package/schema/traditionArtifacts/WandEnchantment.schema.json +46 -43
  476. package/schema/traditionArtifacts/WeaponEnchantment.schema.json +46 -50
  477. package/schema/traditionArtifacts/sub/AnimalShape.schema.json +53 -25
  478. package/schema/traditionArtifacts/sub/AnimalShapePath.schema.json +17 -15
  479. package/schema/traditionArtifacts/sub/AnimalShapeSize.schema.json +17 -15
  480. package/schema/traditionArtifacts/sub/Brew.schema.json +17 -15
  481. package/lib/types/MagicalTraditionPlaceholder.d.ts +0 -32
  482. package/lib/types/MagicalTraditionPlaceholder.js +0 -5
  483. package/lib/types/Poison.d.ts +0 -208
  484. package/lib/types/equipment/ArmorType.d.ts +0 -31
  485. package/lib/types/equipment/Item.d.ts +0 -308
  486. package/lib/types/equipment/Item.js +0 -35
  487. package/lib/types/equipment/ItemGroup.d.ts +0 -31
  488. package/lib/types/equipment/ItemGroup.js +0 -5
  489. package/lib/types/equipment/Reach.d.ts +0 -31
  490. package/lib/types/equipment/_Armor.d.ts +0 -70
  491. package/lib/types/equipment/_Weapon.d.ts +0 -330
  492. package/lib/types/prerequisites/single/CommonSuggestedByRCPPrerequisite.d.ts +0 -3
  493. package/schema/MagicalTraditionPlaceholder.schema.json +0 -45
  494. package/schema/Poison.schema.json +0 -417
  495. package/schema/equipment/ArmorType.schema.json +0 -45
  496. package/schema/equipment/Item.schema.json +0 -621
  497. package/schema/equipment/ItemGroup.schema.json +0 -45
  498. package/schema/equipment/_Armor.schema.json +0 -125
  499. package/schema/equipment/_Weapon.schema.json +0 -664
  500. package/schema/prerequisites/single/CommonSuggestedByRCPPrerequisite.schema.json +0 -18
@@ -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 { LocaleMap } from "./_LocaleMap.js";
8
+ import { NonEmptyString } from "./_NonEmptyString.js";
7
9
  import { BinarySex } from "./_Sex.js";
10
+ import { LanguageReference, ProfessionReference, ProfessionVariantReference, ScriptReference, SkillReference, SocialStatusReference } from "./_SimpleReferences.js";
8
11
  /**
9
12
  * @title Culture
10
13
  */
@@ -19,13 +22,13 @@ export declare type Culture = {
19
22
  * A list of native languages (usually it is only one).
20
23
  * @minItems 1
21
24
  */
22
- language: Language[];
25
+ language: LanguageReference[];
23
26
  /**
24
27
  * A list of native scripts (usually it is only one). If the culture does not
25
28
  * use any script, leave this field empty.
26
29
  * @minItems 1
27
30
  */
28
- script?: Script[];
31
+ script?: ScriptReference[];
29
32
  /**
30
33
  * If the area knowledge has a fixed value or can be adjusted.
31
34
  */
@@ -34,14 +37,14 @@ export declare type Culture = {
34
37
  * A list of possible social status in the respective culture.
35
38
  * @minItems 1
36
39
  */
37
- social_status: SocialStatus[];
40
+ social_status: SocialStatusReference[];
38
41
  /**
39
42
  * A list of professions that are typical for the culture, as well as
40
43
  * professions that are rarely practiced or encountered in the culture. The
41
44
  * list is either defined by group (as multiple lists) or plain (as a single
42
45
  * list).
43
46
  */
44
- common_professions: CommonProfessions.Config;
47
+ common_professions: CommonProfessions;
45
48
  /**
46
49
  * A list of common advantages.
47
50
  * @minItems 1
@@ -80,291 +83,174 @@ export declare type Culture = {
80
83
  src: PublicationRefs;
81
84
  /**
82
85
  * All translations for the entry, identified by IETF language tag (BCP47).
83
- * @minProperties 1
84
- */
85
- translations: {
86
- /**
87
- * @patternProperties ^[a-z]{2}-[A-Z]{2}$
88
- */
89
- [localeId: string]: Translation;
90
- };
86
+ */
87
+ translations: LocaleMap<CultureTranslation>;
91
88
  };
92
- declare type Language = {
89
+ /**
90
+ * If the area knowledge has a fixed value or can be adjusted.
91
+ */
92
+ export declare type AreaKnowledge = {
93
93
  /**
94
- * The language's identifier.
95
- * @integer
96
- * @minimum 1
94
+ * `true` if the area knowledge has a fixed value, `false` if it can be
95
+ * adjusted.
97
96
  */
98
- id: number;
97
+ is_fixed: boolean;
98
+ };
99
+ /**
100
+ * The "weight" difference compared to other professions or profession variants.
101
+ * Some professions or profession variants are simply more common (Mostly), but
102
+ * sometimes only specific elements are used (Only).
103
+ */
104
+ export declare type Weight = {
105
+ tag: "Mostly";
106
+ } | {
107
+ tag: "Only";
99
108
  };
100
- declare type Script = {
109
+ /**
110
+ * Some professions or profession variants are more common than others. There
111
+ * may be cultures where some professions or profession variants are not
112
+ * represented at all.
113
+ */
114
+ export declare type Weighted<ProfessionOrVariant> = {
101
115
  /**
102
- * The script's identifier.
103
- * @integer
104
- * @minimum 1
116
+ * The list of more common professions or profession variants.
117
+ * @minItems 1
105
118
  */
106
- id: number;
119
+ elements: ProfessionOrVariant[];
120
+ /**
121
+ * The "weight" difference compared to other professions or profession
122
+ * variants. Some professions or profession variants are simply more common
123
+ * (Mostly), but sometimes only specific elements are used (Only).
124
+ */
125
+ weight: Weight;
107
126
  };
108
127
  /**
109
- * If the area knowledge has a fixed value or can be adjusted.
128
+ * This defines how the list of constraints should be offset against the
129
+ * list of all mundane professions: Either only the professions are kept
130
+ * that intersect with the constraints (include) or only the professions
131
+ * are kept that are different from the constraints (exclude).
110
132
  */
111
- declare type AreaKnowledge = {
112
- tag: "Fixed";
133
+ export declare type CommonProfessionConstraintsOperation = {
134
+ tag: "Intersection";
113
135
  } | {
114
- tag: "Adjustable";
136
+ tag: "Difference";
115
137
  };
116
- declare type SocialStatus = {
138
+ /**
139
+ * A list of professions. The filter specifies how the list is applied to
140
+ * all mundane professions.
141
+ */
142
+ export declare type CommonProfessionConstraints<Constraint> = {
143
+ /**
144
+ * The list of constraints.
145
+ * @minItems 1
146
+ */
147
+ constraints: Constraint[];
148
+ /**
149
+ * This defines how the list of constraints should be offset against the
150
+ * list of all mundane professions: Either only the professions are kept
151
+ * that intersect with the constraints (include) or only the professions
152
+ * are kept that are different from the constraints (exclude).
153
+ */
154
+ operation: CommonProfessionConstraintsOperation;
155
+ };
156
+ /**
157
+ * Some professions may be found in a culture, but are not that common.
158
+ */
159
+ export declare type Rarity = {
160
+ tag: "Rare";
161
+ } | {
162
+ tag: "VeryRare";
163
+ };
164
+ export declare type ProfessionConstraint = {
117
165
  /**
118
- * The social status's identifier.
166
+ * The profession's identifier.
119
167
  * @integer
120
168
  * @minimum 1
121
169
  */
122
170
  id: number;
171
+ /**
172
+ * Some profession variants are more common than others. There may be
173
+ * cultures where some variants are not represented at all.
174
+ */
175
+ weighted_variants?: Weighted<ProfessionVariantReference>;
176
+ /**
177
+ * Some professions may be found in a culture, but are not that
178
+ * common.
179
+ */
180
+ rarity?: Rarity;
123
181
  };
124
182
  /**
125
- * @title Common Professions
183
+ * Some professions may be found in a culture, but are not that common.
126
184
  */
127
- declare namespace CommonProfessions {
128
- type Profession = {
129
- /**
130
- * The profession's identifier.
131
- * @integer
132
- * @minimum 1
133
- */
134
- id: number;
135
- };
136
- type ProfessionVariant = {
137
- /**
138
- * The profession variant's identifier.
139
- * @integer
140
- * @minimum 1
141
- */
142
- id: number;
143
- };
144
- namespace Plain {
145
- type Constraint = {
146
- tag: "Profession";
147
- /**
148
- * The profession's identifier.
149
- * @integer
150
- * @minimum 1
151
- */
152
- id: number;
153
- };
154
- /**
155
- * A plain list of professions.
156
- */
157
- type T = {
158
- tag: "Plain";
159
- /**
160
- * The list of professions.
161
- * @minItems 1
162
- */
163
- constraints: Constraint[];
164
- };
165
- }
166
- namespace Grouped {
167
- namespace Constraints {
168
- /**
169
- * Some profession variants are more common than others. There may be
170
- * cultures where some variants are not represented at all.
171
- */
172
- type WeightedVariants = {
173
- /**
174
- * The list of more common variants.
175
- * @minItems 1
176
- */
177
- variants: ProfessionVariant[];
178
- /**
179
- * The "weight" difference compared to other variants. Some variants are
180
- * simply more common (Mostly), but sometimes only specific variants are
181
- * used (Only).
182
- */
183
- weight: Weight;
184
- };
185
- type Profession = {
186
- tag: "Profession";
187
- /**
188
- * The profession's identifier.
189
- * @integer
190
- * @minimum 1
191
- */
192
- id: number;
193
- /**
194
- * Some profession variants are more common than others. There may be
195
- * cultures where some variants are not represented at all.
196
- */
197
- weighted_variants?: WeightedVariants;
198
- /**
199
- * Some professions may be found in a culture, but are not that
200
- * common.
201
- */
202
- rarity?: Rarity;
203
- };
204
- }
205
- /**
206
- * The "weight" difference compared to other variants. Some variants are
207
- * simply more common (Mostly), but sometimes only specific variants are
208
- * used (Only).
209
- */
210
- type Weight = {
211
- tag: "Mostly";
212
- } | {
213
- tag: "Only";
214
- };
215
- /**
216
- * Some professions may be found in a culture, but are not that common.
217
- */
218
- type Rarity = {
219
- tag: "Rare";
220
- } | {
221
- tag: "VeryRare";
222
- };
223
- namespace Mundane {
224
- /**
225
- * Some professions may be found in a culture, but are not that common.
226
- */
227
- type ProfessionSubgroup = {
228
- tag: "Profane";
229
- } | {
230
- tag: "Fighter";
231
- } | {
232
- tag: "Religious";
233
- };
234
- type Constraint = Constraints.Profession | {
235
- tag: "ProfessionSubgroup";
236
- subgroup: ProfessionSubgroup;
237
- };
238
- /**
239
- * This defines how the list of constraints should be offset against the
240
- * list of all mundane professions: Either only the professions are kept
241
- * that intersect with the constraints (include) or only the professions
242
- * are kept that are different from the constraints (exclude).
243
- */
244
- type Operation = {
245
- tag: "Intersection";
246
- } | {
247
- tag: "Difference";
248
- };
249
- /**
250
- * A list of professions. The filter specifies how the list is applied to
251
- * all mundane professions.
252
- */
253
- type T = {
254
- /**
255
- * The list of professions.
256
- * @minItems 1
257
- */
258
- constraints: Constraint[];
259
- /**
260
- * This defines how the list of constraints should be offset against the
261
- * list of all mundane professions: Either only the professions are kept
262
- * that intersect with the constraints (include) or only the professions
263
- * are kept that are different from the constraints (exclude).
264
- */
265
- operation: Operation;
266
- };
267
- }
268
- namespace Magic {
269
- /**
270
- * Some professions are more common than others. There may be cultures
271
- * where some professions are not represented at all.
272
- */
273
- type WeightedProfessions = {
274
- /**
275
- * The list of more common variants.
276
- * @minItems 1
277
- */
278
- professions: Profession[];
279
- /**
280
- * The "weight" difference compared to other professions. Some
281
- * professions are simply more common (Mostly), but sometimes only
282
- * specific professions are used (Only).
283
- */
284
- weight: Weight;
285
- };
286
- type Constraint = {
287
- tag: "Tradition";
288
- /**
289
- * The magical tradition's identifier.
290
- * @integer
291
- * @minimum 1
292
- */
293
- id: number;
294
- /**
295
- * Some professions are more common than others. There may be cultures
296
- * where some professions are not represented at all.
297
- */
298
- weighted_professions?: WeightedProfessions;
299
- /**
300
- * Some traditions may be found in a culture, but are not that common.
301
- */
302
- rarity?: Rarity;
303
- } | {
304
- tag: "MagicDilettante";
305
- } | Constraints.Profession;
306
- type T = {
307
- /**
308
- * The list of professions.
309
- * @minItems 1
310
- */
311
- constraints: Constraint[];
312
- };
313
- }
314
- namespace Blessed {
315
- type Constraint = {
316
- tag: "Tradition";
317
- /**
318
- * The blessed tradition's identifier.
319
- * @integer
320
- * @minimum 1
321
- */
322
- id: number;
323
- /**
324
- * Some traditions may be found in a culture, but are not that common.
325
- */
326
- rarity?: Rarity;
327
- };
328
- type T = {
329
- /**
330
- * The list of professions.
331
- * @minItems 1
332
- */
333
- constraints: Constraint[];
334
- };
335
- }
336
- /**
337
- * Lists of professions by group.
338
- * @minProperties 2
339
- */
340
- type T = {
341
- tag: "Grouped";
342
- /**
343
- * A list of professions. The filter specifies how the list is applied to
344
- * all mundane professions.
345
- */
346
- mundane?: Mundane.T;
347
- magic?: Magic.T;
348
- blessed?: Blessed.T;
349
- };
350
- }
351
- /**
352
- * A list of professions that are typical for the culture, as well as
353
- * professions that are rarely practiced or encountered in the culture. The
354
- * list is either defined by group (as multiple lists) or plain (as a single
355
- * list).
356
- */
357
- type Config = Plain.T | Grouped.T;
358
- }
359
- declare type CommonnessRatedSkill = {
185
+ export declare type MundaneProfessionSubgroupConstraint = {
186
+ tag: "Profane";
187
+ } | {
188
+ tag: "Fighter";
189
+ } | {
190
+ tag: "Religious";
191
+ };
192
+ export declare type TraditionConstraint = {
360
193
  /**
361
- * The skill's identifier.
194
+ * The magical tradition's identifier.
362
195
  * @integer
363
196
  * @minimum 1
364
197
  */
365
198
  id: number;
199
+ /**
200
+ * Some professions are more common than others. There may be cultures
201
+ * where some professions are not represented at all.
202
+ */
203
+ weighted_professions?: Weighted<ProfessionReference>;
204
+ /**
205
+ * Some traditions may be found in a culture, but are not that common.
206
+ */
207
+ rarity?: Rarity;
208
+ };
209
+ export declare type MundaneCommonProfessionConstraint = {
210
+ tag: "Profession";
211
+ profession: ProfessionConstraint;
212
+ } | {
213
+ tag: "ProfessionSubgroup";
214
+ profession_subgroup: ProfessionConstraint;
215
+ };
216
+ export declare type MagicCommonProfessionConstraint = {
217
+ tag: "Tradition";
218
+ tradition: TraditionConstraint;
219
+ } | {
220
+ tag: "MagicDilettante";
221
+ } | {
222
+ tag: "Profession";
223
+ profession: ProfessionConstraint;
224
+ };
225
+ export declare type BlessedCommonProfessionConstraint = {
226
+ tag: "Tradition";
227
+ tradition: TraditionConstraint;
228
+ };
229
+ export declare type PlainCommonProfessions = CommonProfessionConstraints<ProfessionReference>;
230
+ /**
231
+ * Lists of professions by group.
232
+ * @minProperties 2
233
+ */
234
+ export declare type GroupedCommonProfessions = {
235
+ mundane?: CommonProfessionConstraints<MundaneCommonProfessionConstraint>;
236
+ magic?: CommonProfessionConstraints<MagicCommonProfessionConstraint>;
237
+ blessed?: CommonProfessionConstraints<BlessedCommonProfessionConstraint>;
238
+ };
239
+ /**
240
+ * A list of professions that are typical for the culture, as well as
241
+ * professions that are rarely practiced or encountered in the culture. The
242
+ * list is either defined by group (as multiple lists) or plain (as a single
243
+ * list).
244
+ */
245
+ export declare type CommonProfessions = {
246
+ tag: "Plain";
247
+ plain: PlainCommonProfessions;
248
+ } | {
249
+ tag: "Grouped";
250
+ grouped: GroupedCommonProfessions;
366
251
  };
367
- declare type CulturalPackageItem = {
252
+ export declare type CommonnessRatedSkill = SkillReference;
253
+ export declare type CulturalPackageItem = {
368
254
  /**
369
255
  * The skill's identifier.
370
256
  * @integer
@@ -380,7 +266,7 @@ declare type CulturalPackageItem = {
380
266
  */
381
267
  points: number;
382
268
  };
383
- declare type Translation = {
269
+ export declare type CultureTranslation = {
384
270
  /**
385
271
  * The name of the state.
386
272
  * @minLength 1
@@ -392,24 +278,20 @@ declare type Translation = {
392
278
  area_knowledge: AreaKnowledgeTranslation;
393
279
  /**
394
280
  * The respective common advantages text from the source book.
395
- * @minLength 1
396
281
  */
397
- common_advantages?: string;
282
+ common_advantages?: NonEmptyString;
398
283
  /**
399
284
  * The respective common disadvantages text from the source book.
400
- * @minLength 1
401
285
  */
402
- common_disadvantages?: string;
286
+ common_disadvantages?: NonEmptyString;
403
287
  /**
404
288
  * The respective uncommon advantages text from the source book.
405
- * @minLength 1
406
289
  */
407
- uncommon_advantages?: string;
290
+ uncommon_advantages?: NonEmptyString;
408
291
  /**
409
292
  * The respective uncommon disadvantages text from the source book.
410
- * @minLength 1
411
293
  */
412
- uncommon_disadvantages?: string;
294
+ uncommon_disadvantages?: NonEmptyString;
413
295
  /**
414
296
  * Structured description of common names.
415
297
  */
@@ -437,15 +319,17 @@ declare type AreaKnowledgeTranslation = {
437
319
  */
438
320
  examples?: AreaKnowledgeExample[];
439
321
  };
440
- /**
441
- * @minLength 1
442
- */
443
- declare type AreaKnowledgeExample = string;
322
+ export declare type AreaKnowledgeExample = {
323
+ /**
324
+ * @minLength 1
325
+ */
326
+ area: string;
327
+ };
444
328
  /**
445
329
  * Structured description of common names.
446
330
  * @minProperties 1
447
331
  */
448
- declare type CommonNames = {
332
+ export declare type CommonNames = {
449
333
  /**
450
334
  * First names can be gender-neutral, but they can also be for a specific
451
335
  * binary sex. They are sorted into groups.
@@ -460,16 +344,14 @@ declare type CommonNames = {
460
344
  last_name_groups?: NameGroup[];
461
345
  /**
462
346
  * Special naming rules.
463
- * @minLength 1
464
347
  */
465
- naming_rules?: string;
348
+ naming_rules?: NonEmptyString;
466
349
  };
467
- declare type NameGroup = {
350
+ export declare type NameGroup = {
468
351
  /**
469
352
  * The group label.
470
- * @minLength 1
471
353
  */
472
- label: string;
354
+ label: NonEmptyString;
473
355
  /**
474
356
  * The binary sex if the group is only for a certain binary sex.
475
357
  */
@@ -480,16 +362,12 @@ declare type NameGroup = {
480
362
  */
481
363
  names: Name[];
482
364
  };
483
- declare type Name = {
484
- /**
485
- * @minLength 1
486
- */
487
- name: string;
365
+ export declare type Name = {
366
+ name: NonEmptyString;
488
367
  /**
489
368
  * Additional information about the name, appended in parenthesis.
490
- * @minLength 1
491
369
  */
492
- note?: string;
370
+ note?: NonEmptyString;
493
371
  };
494
372
  export declare const validateSchema: import("../validation/schema.js").TypeValidator<Culture>;
495
373
  export {};
@@ -2,6 +2,7 @@
2
2
  * @main DerivedCharacteristic
3
3
  */
4
4
  import { PublicationRefs } from "./source/_PublicationRef.js";
5
+ import { LocaleMap } from "./_LocaleMap.js";
5
6
  import { DerivedCharacteristicPrerequisites } from "./_Prerequisite.js";
6
7
  /**
7
8
  * @title Derived Characteristic
@@ -17,16 +18,10 @@ export declare type DerivedCharacteristic = {
17
18
  src: PublicationRefs;
18
19
  /**
19
20
  * All translations for the entry, identified by IETF language tag (BCP47).
20
- * @minProperties 1
21
21
  */
22
- translations: {
23
- /**
24
- * @patternProperties ^[a-z]{2}-[A-Z]{2}$
25
- */
26
- [localeId: string]: Translation;
27
- };
22
+ translations: LocaleMap<DerivedCharacteristicTranslation>;
28
23
  };
29
- declare type Translation = {
24
+ export declare type DerivedCharacteristicTranslation = {
30
25
  /**
31
26
  * The characteristic's name.
32
27
  * @minLength 1
@@ -45,7 +40,7 @@ declare type Translation = {
45
40
  /**
46
41
  * Possible calculation strings for the final value.
47
42
  */
48
- declare type Calculation = {
43
+ export declare type Calculation = {
49
44
  /**
50
45
  * The default calculation string.
51
46
  * @minLength 1
@@ -63,4 +58,3 @@ declare type Calculation = {
63
58
  no_primary?: string;
64
59
  };
65
60
  export declare const validateSchema: import("../validation/schema.js").TypeValidator<DerivedCharacteristic>;
66
- export {};
@@ -4,6 +4,7 @@
4
4
  import { Errata } from "./source/_Erratum.js";
5
5
  import { PublicationRefs } from "./source/_PublicationRef.js";
6
6
  import * as Activatable from "./_Activatable.js";
7
+ import { LocaleMap } from "./_LocaleMap.js";
7
8
  import { AdvantageDisadvantagePrerequisites } from "./_Prerequisite.js";
8
9
  /**
9
10
  * @title Disadvantage
@@ -16,36 +17,31 @@ export declare type Disadvantage = {
16
17
  prerequisites?: AdvantageDisadvantagePrerequisites;
17
18
  ap_value: Activatable.AdventurePointsValue;
18
19
  /**
19
- * Does this disadvantage not count towards the maximum of AP to be granted by
20
+ * Does this disadvantage count towards the maximum of AP to be spent on
20
21
  * disadvantages?
21
22
  */
22
- has_no_maximum_spent_influence?: true;
23
+ has_maximum_spent_influence: boolean;
23
24
  /**
24
- * Does this disadvantage exclusively applies to arcane spellworks but not
25
- * to magical actions and applications?
25
+ * Does this disadvantage exclusively applies to arcane spellworks and not
26
+ * to magical actions and magical applications?
26
27
  */
27
- is_exclusive_to_arcane_spellworks?: true;
28
+ is_exclusive_to_arcane_spellworks: boolean;
28
29
  src: PublicationRefs;
29
30
  /**
30
31
  * All translations for the entry, identified by IETF language tag (BCP47).
31
- * @minProperties 1
32
32
  */
33
- translations: {
34
- /**
35
- * @patternProperties ^[a-z]{2}-[A-Z]{2}$
36
- */
37
- [localeId: string]: {
38
- name: Activatable.Name;
39
- name_in_library?: Activatable.NameInLibrary;
40
- rules: Activatable.Rules;
41
- /**
42
- * The range.
43
- * @markdown
44
- * @minLength 1
45
- */
46
- range?: string;
47
- errata?: Errata;
48
- };
49
- };
33
+ translations: LocaleMap<DisadvantageTranslation>;
34
+ };
35
+ export declare type DisadvantageTranslation = {
36
+ name: Activatable.Name;
37
+ name_in_library?: Activatable.NameInLibrary;
38
+ rules: Activatable.Rules;
39
+ /**
40
+ * The range.
41
+ * @markdown
42
+ * @minLength 1
43
+ */
44
+ range?: string;
45
+ errata?: Errata;
50
46
  };
51
47
  export declare const validateSchema: import("../validation/schema.js").TypeValidator<Disadvantage>;