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,6 +4,8 @@
4
4
  import { Errata } from "../source/_Erratum.js";
5
5
  import { PublicationRefs } from "../source/_PublicationRef.js";
6
6
  import { CoreRuleDerivableContentIdentifier } from "../_Identifier.js";
7
+ import { LocaleMap } from "../_LocaleMap.js";
8
+ import { NonEmptyMarkdown, NonEmptyString } from "../_NonEmptyString.js";
7
9
  /**
8
10
  * @title Core Rule
9
11
  */
@@ -17,25 +19,32 @@ export declare type CoreRule = {
17
19
  /**
18
20
  * @minItems 1
19
21
  */
20
- content: (ChildNode | TextNode | ReferenceNode | ReferenceListNode)[];
22
+ content: ContentNode[];
21
23
  src: PublicationRefs;
22
24
  /**
23
25
  * All translations for the entry, identified by IETF language tag (BCP47).
24
- * @minProperties 1
25
26
  */
26
- translations: {
27
- /**
28
- * @patternProperties ^[a-z]{2}-[A-Z]{2}$
29
- */
30
- [localeId: string]: {
31
- /**
32
- * The name of the optional rule.
33
- * @minLength 1
34
- */
35
- name: string;
36
- errata?: Errata;
37
- };
38
- };
27
+ translations: LocaleMap<CoreRuleTranslation>;
28
+ };
29
+ export declare type CoreRuleTranslation = {
30
+ /**
31
+ * The name of the optional rule.
32
+ */
33
+ name: NonEmptyString;
34
+ errata?: Errata;
35
+ };
36
+ export declare type ContentNode = {
37
+ tag: "Child";
38
+ child: ChildNode;
39
+ } | {
40
+ tag: "Text";
41
+ text: TextNode;
42
+ } | {
43
+ tag: "Reference";
44
+ reference: ReferenceNode;
45
+ } | {
46
+ tag: "ReferenceList";
47
+ reference_list: ReferenceListNode;
39
48
  };
40
49
  /**
41
50
  * A core rule nested inside this core rule. It may be displayed as a separate
@@ -44,8 +53,7 @@ export declare type CoreRule = {
44
53
  * `Child` should follow a child node, since then it may look like the the text
45
54
  * may be part of the child node.
46
55
  */
47
- declare type ChildNode = {
48
- tag: "Child";
56
+ export declare type ChildNode = {
49
57
  /**
50
58
  * The nested core rule's identifier.
51
59
  * @integer
@@ -53,9 +61,9 @@ declare type ChildNode = {
53
61
  */
54
62
  id: number;
55
63
  /**
56
- * If `true`, integrate the nested core rule's content into this core rule and
57
- * add a proper heading. Otherwise create a link to a separate view of that
58
- * core rule.
64
+ * If the nested core rule's content should be integrated into this core rule
65
+ * and a proper heading should be added. Otherwise create a link to a separate
66
+ * view of that core rule.
59
67
  */
60
68
  include: boolean;
61
69
  };
@@ -63,202 +71,186 @@ declare type ChildNode = {
63
71
  * A simple text block, containing one or multiple paragraphs. Headings are not
64
72
  * allowed, they should be handled as nested core rules instead.
65
73
  */
66
- declare type TextNode = {
67
- tag: "Text";
74
+ export declare type TextNode = {
68
75
  /**
69
76
  * All translations for the entry, identified by IETF language tag (BCP47).
70
- * @minProperties 1
71
77
  */
72
- translations: {
73
- /**
74
- * @patternProperties ^[a-z]{2}-[A-Z]{2}$
75
- */
76
- [localeId: string]: {
77
- /**
78
- * Markdown-formatted text.
79
- * @markdown
80
- * @minLength 1
81
- */
82
- text: string;
83
- };
84
- };
78
+ translations: LocaleMap<TextNodeTranslation>;
79
+ };
80
+ export declare type TextNodeTranslation = {
81
+ /**
82
+ * Markdown-formatted text.
83
+ */
84
+ text: NonEmptyMarkdown;
85
85
  };
86
86
  /**
87
87
  * Generate a list or table from a specific entity type.
88
88
  */
89
- declare type ReferenceListNode = {
90
- tag: "DeriveMany";
91
- content: {
92
- source: {
93
- tag: "Attributes";
94
- } | {
95
- tag: "QualityLevels";
96
- } | {
97
- tag: "Conditions";
98
- } | {
99
- tag: "States";
100
- } | {
101
- tag: "ExperienceLevels";
102
- } | {
103
- tag: "Races";
104
- } | {
105
- tag: "Cultures";
106
- } | {
107
- tag: "Professions";
108
- } | {
109
- tag: "Advantages";
110
- } | {
111
- tag: "Disadvantages";
112
- } | {
113
- tag: "CombatTechniques";
114
- } | {
115
- tag: "SpecialAbilities";
116
- } | {
117
- tag: "PrimaryAttributes";
118
- } | {
119
- tag: "DerivedCharacteristics";
120
- } | {
121
- tag: "StartingAge";
122
- } | {
123
- tag: "Archetypes";
124
- } | {
125
- tag: "RequirementsForRoutineChecks";
126
- } | {
127
- tag: "GeneralSpecialAbilities";
128
- } | {
129
- tag: "FatePointSpecialAbilities";
130
- } | {
131
- tag: "LanguagesAndScripts";
132
- } | {
133
- tag: "CloseCombatBotch";
134
- } | {
135
- tag: "DefenseBotch";
136
- } | {
137
- tag: "MeleeCombatTechniques";
138
- } | {
139
- tag: "RangedCombatBotch";
140
- } | {
141
- tag: "RangedCombatDefenseBotch";
142
- } | {
143
- tag: "RangedCombatTechniques";
144
- } | {
145
- tag: "CombatSpecialAbilities";
146
- } | {
147
- tag: "Properties";
148
- } | {
149
- tag: "SpellBotch";
150
- } | {
151
- tag: "Services";
152
- } | {
153
- tag: "ProtectiveAndWardingCircles";
154
- } | {
155
- tag: "Elixirs";
156
- } | {
157
- tag: "StaffEnchantments";
158
- } | {
159
- tag: "FamiliarsTricks";
160
- } | {
161
- tag: "Curses";
162
- } | {
163
- tag: "ElvenMagicalSongs";
164
- } | {
165
- tag: "MagicalSpecialAbilities";
166
- } | {
167
- tag: "Cantrips";
168
- } | {
169
- tag: "Spells";
170
- } | {
171
- tag: "Rituals";
172
- } | {
173
- tag: "Aspects";
174
- } | {
175
- tag: "LiturgyBotch";
176
- } | {
177
- tag: "KarmaSpecialAbilities";
178
- } | {
179
- tag: "Blessings";
180
- } | {
181
- tag: "LiturgicalChants";
182
- } | {
183
- tag: "Ceremonies";
184
- } | {
185
- tag: "SocialStatuses";
186
- } | {
187
- tag: "Poisons";
188
- } | {
189
- tag: "Diseases";
190
- } | {
191
- tag: "HealingHerbs";
192
- } | {
193
- tag: "VisibilityModifier";
194
- } | {
195
- tag: "Demons";
196
- } | {
197
- tag: "Elementals";
198
- } | {
199
- tag: "Animals";
200
- } | {
201
- tag: "Familiars";
202
- } | {
203
- tag: "AnimalSpecialAbilities";
204
- } | {
205
- tag: "EquipmentPackages";
206
- } | {
207
- tag: "Items";
208
- } | {
209
- tag: "OptionalRules";
210
- } | {
211
- tag: "ImprovementCost";
212
- /**
213
- * Define if the cost for attributes or skills should be defined. The
214
- * cost for attributes start with value 9, while the cost for skills
215
- * start with 1 in addition to possible activation cost.
216
- */
217
- target: {
218
- tag: "Attributes";
219
- } | {
220
- tag: "Skills";
221
- };
222
- /**
223
- * The highest value the improvement cost are displayed for.
224
- *
225
- * The minimum maximum value should depend on what is the upper bound of
226
- * the range of adventure point cost that are equal across multiple
227
- * values (value increases for attributes are always 15 up to (and
228
- * including) value 14, while value increases for skills are always 1 to
229
- * 4, depending on the improvement cost, up to (and including) value
230
- * 12), since those ranges should be combined into a single table row.
231
- * @integer
232
- * @minimum 12
233
- */
234
- maximum_rating: number;
235
- };
236
- /**
237
- * All translations for the entry, identified by IETF language tag (BCP47).
238
- * @minProperties 1
239
- */
240
- translations: {
241
- /**
242
- * @patternProperties ^[a-z]{2}-[A-Z]{2}$
243
- */
244
- [localeId: string]: {
245
- /**
246
- * The list's or table's caption.
247
- * @minLength 1
248
- */
249
- caption: string;
250
- };
251
- };
252
- };
89
+ export declare type ReferenceListNode = {
90
+ source: ReferenceListNodeSource;
91
+ /**
92
+ * All translations for the entry, identified by IETF language tag (BCP47).
93
+ */
94
+ translations: LocaleMap<ReferenceListNodeTranslation>;
95
+ };
96
+ export declare type ReferenceListNodeSource = {
97
+ tag: "Attributes";
98
+ } | {
99
+ tag: "QualityLevels";
100
+ } | {
101
+ tag: "Conditions";
102
+ } | {
103
+ tag: "States";
104
+ } | {
105
+ tag: "ExperienceLevels";
106
+ } | {
107
+ tag: "Races";
108
+ } | {
109
+ tag: "Cultures";
110
+ } | {
111
+ tag: "Professions";
112
+ } | {
113
+ tag: "Advantages";
114
+ } | {
115
+ tag: "Disadvantages";
116
+ } | {
117
+ tag: "CombatTechniques";
118
+ } | {
119
+ tag: "SpecialAbilities";
120
+ } | {
121
+ tag: "PrimaryAttributes";
122
+ } | {
123
+ tag: "DerivedCharacteristics";
124
+ } | {
125
+ tag: "StartingAge";
126
+ } | {
127
+ tag: "Archetypes";
128
+ } | {
129
+ tag: "RequirementsForRoutineChecks";
130
+ } | {
131
+ tag: "GeneralSpecialAbilities";
132
+ } | {
133
+ tag: "FatePointSpecialAbilities";
134
+ } | {
135
+ tag: "LanguagesAndScripts";
136
+ } | {
137
+ tag: "CloseCombatBotch";
138
+ } | {
139
+ tag: "DefenseBotch";
140
+ } | {
141
+ tag: "MeleeCombatTechniques";
142
+ } | {
143
+ tag: "RangedCombatBotch";
144
+ } | {
145
+ tag: "RangedCombatDefenseBotch";
146
+ } | {
147
+ tag: "RangedCombatTechniques";
148
+ } | {
149
+ tag: "CombatSpecialAbilities";
150
+ } | {
151
+ tag: "Properties";
152
+ } | {
153
+ tag: "SpellBotch";
154
+ } | {
155
+ tag: "Services";
156
+ } | {
157
+ tag: "ProtectiveAndWardingCircles";
158
+ } | {
159
+ tag: "Elixirs";
160
+ } | {
161
+ tag: "StaffEnchantments";
162
+ } | {
163
+ tag: "FamiliarsTricks";
164
+ } | {
165
+ tag: "Curses";
166
+ } | {
167
+ tag: "ElvenMagicalSongs";
168
+ } | {
169
+ tag: "MagicalSpecialAbilities";
170
+ } | {
171
+ tag: "Cantrips";
172
+ } | {
173
+ tag: "Spells";
174
+ } | {
175
+ tag: "Rituals";
176
+ } | {
177
+ tag: "Aspects";
178
+ } | {
179
+ tag: "LiturgyBotch";
180
+ } | {
181
+ tag: "KarmaSpecialAbilities";
182
+ } | {
183
+ tag: "Blessings";
184
+ } | {
185
+ tag: "LiturgicalChants";
186
+ } | {
187
+ tag: "Ceremonies";
188
+ } | {
189
+ tag: "SocialStatuses";
190
+ } | {
191
+ tag: "Poisons";
192
+ } | {
193
+ tag: "Diseases";
194
+ } | {
195
+ tag: "HealingHerbs";
196
+ } | {
197
+ tag: "VisibilityModifier";
198
+ } | {
199
+ tag: "Demons";
200
+ } | {
201
+ tag: "Elementals";
202
+ } | {
203
+ tag: "Animals";
204
+ } | {
205
+ tag: "Familiars";
206
+ } | {
207
+ tag: "AnimalSpecialAbilities";
208
+ } | {
209
+ tag: "EquipmentPackages";
210
+ } | {
211
+ tag: "Items";
212
+ } | {
213
+ tag: "OptionalRules";
214
+ } | {
215
+ tag: "ImprovementCost";
216
+ improvement_cost: ReferenceListNodeImprovementCostSource;
217
+ };
218
+ export declare type ReferenceListNodeImprovementCostSource = {
219
+ /**
220
+ * Define if the cost for attributes or skills should be defined. The
221
+ * cost for attributes start with value 9, while the cost for skills
222
+ * start with 1 in addition to possible activation cost.
223
+ */
224
+ target: ReferenceListNodeImprovementCostSourceTarget;
225
+ /**
226
+ * The highest value the improvement cost are displayed for.
227
+ *
228
+ * The minimum maximum value should depend on what is the upper bound of
229
+ * the range of adventure point cost that are equal across multiple
230
+ * values (value increases for attributes are always 15 up to (and
231
+ * including) value 14, while value increases for skills are always 1 to
232
+ * 4, depending on the improvement cost, up to (and including) value
233
+ * 12), since those ranges should be combined into a single table row.
234
+ * @integer
235
+ * @minimum 12
236
+ */
237
+ maximum_rating: number;
238
+ };
239
+ export declare type ReferenceListNodeImprovementCostSourceTarget = {
240
+ tag: "Attributes";
241
+ } | {
242
+ tag: "Skills";
243
+ };
244
+ export declare type ReferenceListNodeTranslation = {
245
+ /**
246
+ * Markdown-formatted text.
247
+ */
248
+ text: NonEmptyMarkdown;
253
249
  };
254
250
  /**
255
251
  * Generate the full text for a single entry as part of this core rule's text.
256
252
  */
257
- declare type ReferenceNode = {
258
- tag: "DeriveOne";
259
- source: {
260
- id: CoreRuleDerivableContentIdentifier;
261
- };
253
+ export declare type ReferenceNode = {
254
+ id: CoreRuleDerivableContentIdentifier;
262
255
  };
263
256
  export declare const validateSchema: import("../../validation/schema.js").TypeValidator<CoreRule>;
264
- export {};
@@ -3,6 +3,10 @@
3
3
  */
4
4
  import { Errata } from "../source/_Erratum.js";
5
5
  import { PublicationRefs } from "../source/_PublicationRef.js";
6
+ import { LocaleMap } from "../_LocaleMap.js";
7
+ import { NonEmptyMarkdown, NonEmptyString } from "../_NonEmptyString.js";
8
+ import { FocusRuleSubjectReference } from "../_SimpleReferences.js";
9
+ import { Relevance } from "./_Rule.js";
6
10
  /**
7
11
  * @title Focus Rule
8
12
  */
@@ -14,11 +18,9 @@ export declare type FocusRule = {
14
18
  */
15
19
  id: number;
16
20
  /**
17
- * The focus rule's subject's identifier.
18
- * @integer
19
- * @minimum 1
21
+ * The associated subject.
20
22
  */
21
- subject_id: number;
23
+ subject: FocusRuleSubjectReference;
22
24
  /**
23
25
  * The focus rule's level.
24
26
  * @integer
@@ -26,29 +28,22 @@ export declare type FocusRule = {
26
28
  * @maximum 4
27
29
  */
28
30
  level: number;
31
+ relevance: Relevance;
29
32
  src: PublicationRefs;
30
33
  /**
31
34
  * All translations for the entry, identified by IETF language tag (BCP47).
32
- * @minProperties 1
33
35
  */
34
- translations: {
35
- /**
36
- * @patternProperties ^[a-z]{2}-[A-Z]{2}$
37
- */
38
- [localeId: string]: {
39
- /**
40
- * The name of the focus rule.
41
- * @minLength 1
42
- */
43
- name: string;
44
- /**
45
- * The description of the focus rule.
46
- * @markdown
47
- * @minLength 1
48
- */
49
- description: string;
50
- errata?: Errata;
51
- };
52
- };
36
+ translations: LocaleMap<FocusRuleTranslation>;
37
+ };
38
+ export declare type FocusRuleTranslation = {
39
+ /**
40
+ * The name of the focus rule.
41
+ */
42
+ name: NonEmptyString;
43
+ /**
44
+ * The description of the focus rule.
45
+ */
46
+ description: NonEmptyMarkdown;
47
+ errata?: Errata;
53
48
  };
54
49
  export declare const validateSchema: import("../../validation/schema.js").TypeValidator<FocusRule>;
@@ -1,6 +1,8 @@
1
1
  /**
2
2
  * @main Subject
3
3
  */
4
+ import { LocaleMap } from "../_LocaleMap.js";
5
+ import { NonEmptyString } from "../_NonEmptyString.js";
4
6
  /**
5
7
  * Subjects or Subject Areas are the categories of Focus Rules.
6
8
  * @title Subject
@@ -14,19 +16,13 @@ export declare type Subject = {
14
16
  id: number;
15
17
  /**
16
18
  * All translations for the entry, identified by IETF language tag (BCP47).
17
- * @minProperties 1
18
19
  */
19
- translations: {
20
- /**
21
- * @patternProperties ^[a-z]{2}-[A-Z]{2}$
22
- */
23
- [localeId: string]: {
24
- /**
25
- * The subject.
26
- * @minLength 1
27
- */
28
- name: string;
29
- };
30
- };
20
+ translations: LocaleMap<SubjectTranslation>;
21
+ };
22
+ export declare type SubjectTranslation = {
23
+ /**
24
+ * The subject.
25
+ */
26
+ name: NonEmptyString;
31
27
  };
32
28
  export declare const validateSchema: import("../../validation/schema.js").TypeValidator<Subject>;
@@ -3,6 +3,9 @@
3
3
  */
4
4
  import { Errata } from "../source/_Erratum.js";
5
5
  import { PublicationRefs } from "../source/_PublicationRef.js";
6
+ import { LocaleMap } from "../_LocaleMap.js";
7
+ import { NonEmptyMarkdown, NonEmptyString } from "../_NonEmptyString.js";
8
+ import { Relevance } from "./_Rule.js";
6
9
  /**
7
10
  * @title Optional Rule
8
11
  */
@@ -23,44 +26,18 @@ export declare type OptionalRule = {
23
26
  src: PublicationRefs;
24
27
  /**
25
28
  * All translations for the entry, identified by IETF language tag (BCP47).
26
- * @minProperties 1
27
29
  */
28
- translations: {
29
- /**
30
- * @patternProperties ^[a-z]{2}-[A-Z]{2}$
31
- */
32
- [localeId: string]: {
33
- /**
34
- * The name of the optional rule.
35
- * @minLength 1
36
- */
37
- name: string;
38
- /**
39
- * The description of the optional rule.
40
- * @markdown
41
- * @minLength 1
42
- */
43
- description: string;
44
- errata?: Errata;
45
- };
46
- };
30
+ translations: LocaleMap<OptionalRuleTranslation>;
47
31
  };
48
- /**
49
- * The relevance of the optional rule for Optolith. It may be that it influences
50
- * character creating but it may also just influnce the character sheet. If it
51
- * is linked to systems in Optolith, it may be specified if this rule has not
52
- * been implemented in Optolith yet.
53
- */
54
- declare type Relevance = {
55
- tag: "Extraneous";
56
- } | {
57
- tag: "Linked";
32
+ export declare type OptionalRuleTranslation = {
33
+ /**
34
+ * The name of the optional rule.
35
+ */
36
+ name: NonEmptyString;
58
37
  /**
59
- * Does the optional rule have an impact on character creation or character
60
- * sheet and this effect has not been implemented in Optolith yet? If
61
- * `true`, the optional rule cannot be activated.
38
+ * The description of the optional rule.
62
39
  */
63
- isMissingImplementation?: boolean;
40
+ description: NonEmptyMarkdown;
41
+ errata?: Errata;
64
42
  };
65
43
  export declare const validateSchema: import("../../validation/schema.js").TypeValidator<OptionalRule>;
66
- export {};
@@ -0,0 +1,19 @@
1
+ /**
2
+ * The relevance of the rule for Optolith. It may be that it influences
3
+ * character creating but it may also just influnce the character sheet. If it
4
+ * is linked to systems in Optolith, it may be specified if this rule has not
5
+ * been implemented in Optolith yet.
6
+ */
7
+ export declare type Relevance = {
8
+ tag: "Extraneous";
9
+ } | {
10
+ tag: "Linked";
11
+ linked: LinkedRelevance;
12
+ };
13
+ export declare type LinkedRelevance = {
14
+ /**
15
+ * Does the optional rule have an impact on character creation or character
16
+ * sheet and this effect has not been implemented in Optolith yet?
17
+ */
18
+ is_missing_implementation: boolean;
19
+ };
@@ -0,0 +1 @@
1
+ export {};