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
@@ -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,170 @@ 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;
99
98
  };
100
- declare type Script = {
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 enum Weight {
105
+ Mostly = "Mostly",
106
+ Only = "Only"
107
+ }
108
+ /**
109
+ * Some professions or profession variants are more common than others. There
110
+ * may be cultures where some professions or profession variants are not
111
+ * represented at all.
112
+ */
113
+ export declare type Weighted<ProfessionOrVariant> = {
101
114
  /**
102
- * The script's identifier.
103
- * @integer
104
- * @minimum 1
115
+ * The list of more common professions or profession variants.
116
+ * @minItems 1
105
117
  */
106
- id: number;
118
+ elements: ProfessionOrVariant[];
119
+ /**
120
+ * The "weight" difference compared to other professions or profession
121
+ * variants. Some professions or profession variants are simply more common
122
+ * (Mostly), but sometimes only specific elements are used (Only).
123
+ */
124
+ weight: Weight;
107
125
  };
108
126
  /**
109
- * If the area knowledge has a fixed value or can be adjusted.
127
+ * This defines how the list of constraints should be offset against the
128
+ * list of all mundane professions: Either only the professions are kept
129
+ * that intersect with the constraints (include) or only the professions
130
+ * are kept that are different from the constraints (exclude).
110
131
  */
111
- declare type AreaKnowledge = {
112
- tag: "Fixed";
113
- } | {
114
- tag: "Adjustable";
132
+ export declare enum CommonProfessionConstraintsOperation {
133
+ Intersection = "Intersection",
134
+ Difference = "Difference"
135
+ }
136
+ /**
137
+ * A list of professions. The filter specifies how the list is applied to
138
+ * all mundane professions.
139
+ */
140
+ export declare type CommonProfessionConstraints<Constraint> = {
141
+ /**
142
+ * The list of constraints.
143
+ * @minItems 1
144
+ */
145
+ constraints: Constraint[];
146
+ /**
147
+ * This defines how the list of constraints should be offset against the
148
+ * list of all mundane professions: Either only the professions are kept
149
+ * that intersect with the constraints (include) or only the professions
150
+ * are kept that are different from the constraints (exclude).
151
+ */
152
+ operation: CommonProfessionConstraintsOperation;
115
153
  };
116
- declare type SocialStatus = {
154
+ /**
155
+ * Some professions may be found in a culture, but are not that common.
156
+ */
157
+ export declare enum Rarity {
158
+ Rare = "Rare",
159
+ VeryRare = "VeryRare"
160
+ }
161
+ export declare type ProfessionConstraint = {
117
162
  /**
118
- * The social status's identifier.
163
+ * The profession's identifier.
119
164
  * @integer
120
165
  * @minimum 1
121
166
  */
122
167
  id: number;
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
+ weighted_variants?: Weighted<ProfessionVariantReference>;
173
+ /**
174
+ * Some professions may be found in a culture, but are not that
175
+ * common.
176
+ */
177
+ rarity?: Rarity;
123
178
  };
124
179
  /**
125
- * @title Common Professions
180
+ * Some professions may be found in a culture, but are not that common.
126
181
  */
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;
182
+ export declare enum MundaneProfessionSubgroupConstraint {
183
+ Profane = "Profane",
184
+ Fighter = "Fighter",
185
+ Religious = "Religious"
358
186
  }
359
- declare type CommonnessRatedSkill = {
187
+ export declare type TraditionConstraint = {
360
188
  /**
361
- * The skill's identifier.
189
+ * The magical tradition's identifier.
362
190
  * @integer
363
191
  * @minimum 1
364
192
  */
365
193
  id: number;
194
+ /**
195
+ * Some professions are more common than others. There may be cultures
196
+ * where some professions are not represented at all.
197
+ */
198
+ weighted_professions?: Weighted<ProfessionReference>;
199
+ /**
200
+ * Some traditions may be found in a culture, but are not that common.
201
+ */
202
+ rarity?: Rarity;
203
+ };
204
+ export declare type MundaneCommonProfessionConstraint = {
205
+ tag: "Profession";
206
+ profession: ProfessionConstraint;
207
+ } | {
208
+ tag: "ProfessionSubgroup";
209
+ profession_subgroup: ProfessionConstraint;
210
+ };
211
+ export declare type MagicCommonProfessionConstraint = {
212
+ tag: "Tradition";
213
+ tradition: TraditionConstraint;
214
+ } | {
215
+ tag: "MagicDilettante";
216
+ magic_dilettante: {};
217
+ } | {
218
+ tag: "Profession";
219
+ profession: ProfessionConstraint;
220
+ };
221
+ export declare type BlessedCommonProfessionConstraint = {
222
+ tag: "Tradition";
223
+ tradition: TraditionConstraint;
224
+ };
225
+ export declare type PlainCommonProfessions = CommonProfessionConstraints<ProfessionReference>;
226
+ /**
227
+ * Lists of professions by group.
228
+ * @minProperties 2
229
+ */
230
+ export declare type GroupedCommonProfessions = {
231
+ mundane?: CommonProfessionConstraints<MundaneCommonProfessionConstraint>;
232
+ magic?: CommonProfessionConstraints<MagicCommonProfessionConstraint>;
233
+ blessed?: CommonProfessionConstraints<BlessedCommonProfessionConstraint>;
234
+ };
235
+ /**
236
+ * A list of professions that are typical for the culture, as well as
237
+ * professions that are rarely practiced or encountered in the culture. The
238
+ * list is either defined by group (as multiple lists) or plain (as a single
239
+ * list).
240
+ */
241
+ export declare type CommonProfessions = {
242
+ tag: "Plain";
243
+ plain: PlainCommonProfessions;
244
+ } | {
245
+ tag: "Grouped";
246
+ grouped: GroupedCommonProfessions;
366
247
  };
367
- declare type CulturalPackageItem = {
248
+ export declare type CommonnessRatedSkill = SkillReference;
249
+ export declare type CulturalPackageItem = {
368
250
  /**
369
251
  * The skill's identifier.
370
252
  * @integer
@@ -380,7 +262,7 @@ declare type CulturalPackageItem = {
380
262
  */
381
263
  points: number;
382
264
  };
383
- declare type Translation = {
265
+ export declare type CultureTranslation = {
384
266
  /**
385
267
  * The name of the state.
386
268
  * @minLength 1
@@ -392,24 +274,20 @@ declare type Translation = {
392
274
  area_knowledge: AreaKnowledgeTranslation;
393
275
  /**
394
276
  * The respective common advantages text from the source book.
395
- * @minLength 1
396
277
  */
397
- common_advantages?: string;
278
+ common_advantages?: NonEmptyString;
398
279
  /**
399
280
  * The respective common disadvantages text from the source book.
400
- * @minLength 1
401
281
  */
402
- common_disadvantages?: string;
282
+ common_disadvantages?: NonEmptyString;
403
283
  /**
404
284
  * The respective uncommon advantages text from the source book.
405
- * @minLength 1
406
285
  */
407
- uncommon_advantages?: string;
286
+ uncommon_advantages?: NonEmptyString;
408
287
  /**
409
288
  * The respective uncommon disadvantages text from the source book.
410
- * @minLength 1
411
289
  */
412
- uncommon_disadvantages?: string;
290
+ uncommon_disadvantages?: NonEmptyString;
413
291
  /**
414
292
  * Structured description of common names.
415
293
  */
@@ -437,15 +315,17 @@ declare type AreaKnowledgeTranslation = {
437
315
  */
438
316
  examples?: AreaKnowledgeExample[];
439
317
  };
440
- /**
441
- * @minLength 1
442
- */
443
- declare type AreaKnowledgeExample = string;
318
+ export declare type AreaKnowledgeExample = {
319
+ /**
320
+ * @minLength 1
321
+ */
322
+ area: string;
323
+ };
444
324
  /**
445
325
  * Structured description of common names.
446
326
  * @minProperties 1
447
327
  */
448
- declare type CommonNames = {
328
+ export declare type CommonNames = {
449
329
  /**
450
330
  * First names can be gender-neutral, but they can also be for a specific
451
331
  * binary sex. They are sorted into groups.
@@ -460,16 +340,14 @@ declare type CommonNames = {
460
340
  last_name_groups?: NameGroup[];
461
341
  /**
462
342
  * Special naming rules.
463
- * @minLength 1
464
343
  */
465
- naming_rules?: string;
344
+ naming_rules?: NonEmptyString;
466
345
  };
467
- declare type NameGroup = {
346
+ export declare type NameGroup = {
468
347
  /**
469
348
  * The group label.
470
- * @minLength 1
471
349
  */
472
- label: string;
350
+ label: NonEmptyString;
473
351
  /**
474
352
  * The binary sex if the group is only for a certain binary sex.
475
353
  */
@@ -480,16 +358,12 @@ declare type NameGroup = {
480
358
  */
481
359
  names: Name[];
482
360
  };
483
- declare type Name = {
484
- /**
485
- * @minLength 1
486
- */
487
- name: string;
361
+ export declare type Name = {
362
+ name: NonEmptyString;
488
363
  /**
489
364
  * Additional information about the name, appended in parenthesis.
490
- * @minLength 1
491
365
  */
492
- note?: string;
366
+ note?: NonEmptyString;
493
367
  };
494
368
  export declare const validateSchema: import("../validation/schema.js").TypeValidator<Culture>;
495
369
  export {};
@@ -2,4 +2,42 @@
2
2
  * @main Culture
3
3
  */
4
4
  import { validateSchemaCreator } from "../validation/schema.js";
5
+ /**
6
+ * The "weight" difference compared to other professions or profession variants.
7
+ * Some professions or profession variants are simply more common (Mostly), but
8
+ * sometimes only specific elements are used (Only).
9
+ */
10
+ export var Weight;
11
+ (function (Weight) {
12
+ Weight["Mostly"] = "Mostly";
13
+ Weight["Only"] = "Only";
14
+ })(Weight || (Weight = {}));
15
+ /**
16
+ * This defines how the list of constraints should be offset against the
17
+ * list of all mundane professions: Either only the professions are kept
18
+ * that intersect with the constraints (include) or only the professions
19
+ * are kept that are different from the constraints (exclude).
20
+ */
21
+ export var CommonProfessionConstraintsOperation;
22
+ (function (CommonProfessionConstraintsOperation) {
23
+ CommonProfessionConstraintsOperation["Intersection"] = "Intersection";
24
+ CommonProfessionConstraintsOperation["Difference"] = "Difference";
25
+ })(CommonProfessionConstraintsOperation || (CommonProfessionConstraintsOperation = {}));
26
+ /**
27
+ * Some professions may be found in a culture, but are not that common.
28
+ */
29
+ export var Rarity;
30
+ (function (Rarity) {
31
+ Rarity["Rare"] = "Rare";
32
+ Rarity["VeryRare"] = "VeryRare";
33
+ })(Rarity || (Rarity = {}));
34
+ /**
35
+ * Some professions may be found in a culture, but are not that common.
36
+ */
37
+ export var MundaneProfessionSubgroupConstraint;
38
+ (function (MundaneProfessionSubgroupConstraint) {
39
+ MundaneProfessionSubgroupConstraint["Profane"] = "Profane";
40
+ MundaneProfessionSubgroupConstraint["Fighter"] = "Fighter";
41
+ MundaneProfessionSubgroupConstraint["Religious"] = "Religious";
42
+ })(MundaneProfessionSubgroupConstraint || (MundaneProfessionSubgroupConstraint = {}));
5
43
  export const validateSchema = validateSchemaCreator(import.meta.url);
@@ -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 {};