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,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,244 @@ 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
+ attributes: {};
99
+ } | {
100
+ tag: "QualityLevels";
101
+ quality_levels: {};
102
+ } | {
103
+ tag: "Conditions";
104
+ conditions: {};
105
+ } | {
106
+ tag: "States";
107
+ states: {};
108
+ } | {
109
+ tag: "ExperienceLevels";
110
+ experience_levels: {};
111
+ } | {
112
+ tag: "Races";
113
+ races: {};
114
+ } | {
115
+ tag: "Cultures";
116
+ cultures: {};
117
+ } | {
118
+ tag: "Professions";
119
+ professions: {};
120
+ } | {
121
+ tag: "Advantages";
122
+ advantages: {};
123
+ } | {
124
+ tag: "Disadvantages";
125
+ disadvantages: {};
126
+ } | {
127
+ tag: "CombatTechniques";
128
+ combat_techniques: {};
129
+ } | {
130
+ tag: "SpecialAbilities";
131
+ special_abilities: {};
132
+ } | {
133
+ tag: "PrimaryAttributes";
134
+ primary_attributes: {};
135
+ } | {
136
+ tag: "DerivedCharacteristics";
137
+ derived_characteristics: {};
138
+ } | {
139
+ tag: "StartingAge";
140
+ starting_age: {};
141
+ } | {
142
+ tag: "Archetypes";
143
+ archetypes: {};
144
+ } | {
145
+ tag: "RequirementsForRoutineChecks";
146
+ requirements_for_routine_checks: {};
147
+ } | {
148
+ tag: "GeneralSpecialAbilities";
149
+ general_special_abilities: {};
150
+ } | {
151
+ tag: "FatePointSpecialAbilities";
152
+ fate_point_special_abilities: {};
153
+ } | {
154
+ tag: "LanguagesAndScripts";
155
+ languages_and_scripts: {};
156
+ } | {
157
+ tag: "CloseCombatBotch";
158
+ close_combat_botch: {};
159
+ } | {
160
+ tag: "DefenseBotch";
161
+ defense_botch: {};
162
+ } | {
163
+ tag: "MeleeCombatTechniques";
164
+ melee_combat_techniques: {};
165
+ } | {
166
+ tag: "RangedCombatBotch";
167
+ ranged_combat_botch: {};
168
+ } | {
169
+ tag: "RangedCombatDefenseBotch";
170
+ ranged_combat_defense_botch: {};
171
+ } | {
172
+ tag: "RangedCombatTechniques";
173
+ ranged_combat_techniques: {};
174
+ } | {
175
+ tag: "CombatSpecialAbilities";
176
+ combat_special_abilities: {};
177
+ } | {
178
+ tag: "Properties";
179
+ properties: {};
180
+ } | {
181
+ tag: "SpellBotch";
182
+ spell_botch: {};
183
+ } | {
184
+ tag: "Services";
185
+ services: {};
186
+ } | {
187
+ tag: "ProtectiveAndWardingCircles";
188
+ protective_and_warding_circles: {};
189
+ } | {
190
+ tag: "Elixirs";
191
+ elixirs: {};
192
+ } | {
193
+ tag: "StaffEnchantments";
194
+ staff_enchantments: {};
195
+ } | {
196
+ tag: "FamiliarsTricks";
197
+ familiars_tricks: {};
198
+ } | {
199
+ tag: "Curses";
200
+ curses: {};
201
+ } | {
202
+ tag: "ElvenMagicalSongs";
203
+ elven_magical_songs: {};
204
+ } | {
205
+ tag: "MagicalSpecialAbilities";
206
+ magical_special_abilities: {};
207
+ } | {
208
+ tag: "Cantrips";
209
+ cantrips: {};
210
+ } | {
211
+ tag: "Spells";
212
+ spells: {};
213
+ } | {
214
+ tag: "Rituals";
215
+ rituals: {};
216
+ } | {
217
+ tag: "Aspects";
218
+ aspects: {};
219
+ } | {
220
+ tag: "LiturgyBotch";
221
+ liturgy_botch: {};
222
+ } | {
223
+ tag: "KarmaSpecialAbilities";
224
+ karma_special_abilities: {};
225
+ } | {
226
+ tag: "Blessings";
227
+ blessings: {};
228
+ } | {
229
+ tag: "LiturgicalChants";
230
+ liturgical_chants: {};
231
+ } | {
232
+ tag: "Ceremonies";
233
+ ceremonies: {};
234
+ } | {
235
+ tag: "SocialStatuses";
236
+ social_statuses: {};
237
+ } | {
238
+ tag: "Poisons";
239
+ poisons: {};
240
+ } | {
241
+ tag: "Diseases";
242
+ diseases: {};
243
+ } | {
244
+ tag: "HealingHerbs";
245
+ healing_herbs: {};
246
+ } | {
247
+ tag: "VisibilityModifier";
248
+ visibility_modifier: {};
249
+ } | {
250
+ tag: "Demons";
251
+ demons: {};
252
+ } | {
253
+ tag: "Elementals";
254
+ elementals: {};
255
+ } | {
256
+ tag: "Animals";
257
+ animals: {};
258
+ } | {
259
+ tag: "Familiars";
260
+ familiars: {};
261
+ } | {
262
+ tag: "AnimalSpecialAbilities";
263
+ animal_special_abilities: {};
264
+ } | {
265
+ tag: "EquipmentPackages";
266
+ equipment_packages: {};
267
+ } | {
268
+ tag: "Items";
269
+ items: {};
270
+ } | {
271
+ tag: "OptionalRules";
272
+ optional_rules: {};
273
+ } | {
274
+ tag: "ImprovementCost";
275
+ improvement_cost: ReferenceListNodeImprovementCostSource;
276
+ };
277
+ export declare type ReferenceListNodeImprovementCostSource = {
278
+ /**
279
+ * Define if the cost for attributes or skills should be defined. The
280
+ * cost for attributes start with value 9, while the cost for skills
281
+ * start with 1 in addition to possible activation cost.
282
+ */
283
+ target: ReferenceListNodeImprovementCostSourceTarget;
284
+ /**
285
+ * The highest value the improvement cost are displayed for.
286
+ *
287
+ * The minimum maximum value should depend on what is the upper bound of
288
+ * the range of adventure point cost that are equal across multiple
289
+ * values (value increases for attributes are always 15 up to (and
290
+ * including) value 14, while value increases for skills are always 1 to
291
+ * 4, depending on the improvement cost, up to (and including) value
292
+ * 12), since those ranges should be combined into a single table row.
293
+ * @integer
294
+ * @minimum 12
295
+ */
296
+ maximum_rating: number;
297
+ };
298
+ export declare enum ReferenceListNodeImprovementCostSourceTarget {
299
+ Attributes = "Attributes",
300
+ Skills = "Skills"
301
+ }
302
+ export declare type ReferenceListNodeTranslation = {
303
+ /**
304
+ * Markdown-formatted text.
305
+ */
306
+ text: NonEmptyMarkdown;
253
307
  };
254
308
  /**
255
309
  * Generate the full text for a single entry as part of this core rule's text.
256
310
  */
257
- declare type ReferenceNode = {
258
- tag: "DeriveOne";
259
- source: {
260
- id: CoreRuleDerivableContentIdentifier;
261
- };
311
+ export declare type ReferenceNode = {
312
+ id: CoreRuleDerivableContentIdentifier;
262
313
  };
263
314
  export declare const validateSchema: import("../../validation/schema.js").TypeValidator<CoreRule>;
264
- export {};
@@ -2,4 +2,9 @@
2
2
  * @main CoreRule
3
3
  */
4
4
  import { validateSchemaCreator } from "../../validation/schema.js";
5
+ export var ReferenceListNodeImprovementCostSourceTarget;
6
+ (function (ReferenceListNodeImprovementCostSourceTarget) {
7
+ ReferenceListNodeImprovementCostSourceTarget["Attributes"] = "Attributes";
8
+ ReferenceListNodeImprovementCostSourceTarget["Skills"] = "Skills";
9
+ })(ReferenceListNodeImprovementCostSourceTarget || (ReferenceListNodeImprovementCostSourceTarget = {}));
5
10
  export const validateSchema = validateSchemaCreator(import.meta.url);
@@ -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>;