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
@@ -5,7 +5,10 @@ import { Errata } from "./source/_Erratum.js";
5
5
  import { PublicationRefs } from "./source/_PublicationRef.js";
6
6
  import { CommonnessRatedAdvantageDisadvantage } from "./_CommonnessRatedAdvantageDisadvantage.js";
7
7
  import { CombatTechniqueIdentifier, LiturgyIdentifier, MagicalActionIdentifier, RequirableSelectOptionIdentifier, SpecialAbilityIdentifier, SpellworkIdentifier } from "./_Identifier.js";
8
+ import { LocaleMap } from "./_LocaleMap.js";
9
+ import { NonEmptyString } from "./_NonEmptyString.js";
8
10
  import { ProfessionPrerequisites } from "./_Prerequisite.js";
11
+ import { CantripReference, CombatTechniqueReference, CurriculumReference, MagicalTraditionReference, SkillGroupReference, SkillReference } from "./_SimpleReferences.js";
9
12
  /**
10
13
  * @title Profession
11
14
  */
@@ -19,18 +22,7 @@ export declare type Profession = {
19
22
  /**
20
23
  * The profession group.
21
24
  */
22
- group: Group;
23
- /**
24
- * The curriculum/academy associated with this magical profession, if any.
25
- */
26
- curriculum?: {
27
- /**
28
- * The curriculum's identifier.
29
- * @integer
30
- * @minimum 1
31
- */
32
- id: number;
33
- };
25
+ group: ProfessionGroup;
34
26
  /**
35
27
  * A list of professions representing the same profession but with (slightly)
36
28
  * different stats. For example, there may be a profession in a regional
@@ -45,45 +37,86 @@ export declare type Profession = {
45
37
  * stats package, which targets the experience level *Experienced*.
46
38
  * @minItems 1
47
39
  */
48
- representations: ({
49
- tag: "Experienced";
50
- /**
51
- * The profession representation variant's identifier. An unique, increasing
52
- * integer.
53
- * @integer
54
- * @minimum 1
55
- */
56
- id: number;
57
- package: ProfessionRepresentationVariant;
58
- src: PublicationRefs;
59
- } | {
60
- tag: "ByExperienceLevel";
61
- /**
62
- * The profession representation variant's identifier. An unique, increasing
63
- * integer.
64
- * @integer
65
- * @minimum 1
66
- */
67
- id: number;
68
- packages: {
69
- /**
70
- * The experience level this profession targets. The experience level
71
- * must be unique for this representation.
72
- * @integer
73
- * @minimum 1
74
- * @maximum 7
75
- * @default 3
76
- */
77
- experience_level_id: number;
78
- package: ProfessionRepresentationVariant;
79
- }[];
80
- src: PublicationRefs;
81
- })[];
40
+ versions: ProfessionVersion[];
41
+ };
42
+ export declare type ProfessionGroup = {
43
+ tag: "Mundane";
44
+ mundane: MundaneProfessionGroup;
45
+ } | {
46
+ tag: "Magical";
47
+ magical?: MagicalProfessionGroup;
48
+ } | {
49
+ tag: "Blessed";
50
+ };
51
+ export declare type MundaneProfessionGroup = {
52
+ tag: "Profane";
53
+ } | {
54
+ tag: "Fighter";
55
+ } | {
56
+ tag: "Religious";
57
+ };
58
+ /**
59
+ * @minProperties 1
60
+ */
61
+ export declare type MagicalProfessionGroup = {
62
+ /**
63
+ * The curriculum/academy associated with this magical profession, if any.
64
+ */
65
+ curriculum?: CurriculumReference;
66
+ };
67
+ export declare type ProfessionVersion = {
68
+ tag: "Experienced";
69
+ experienced: ExperiencedProfessionPackage;
70
+ } | {
71
+ tag: "ByExperienceLevel";
72
+ by_experience_level: ProfessionPackagesForDifferentExperienceLevels;
73
+ };
74
+ export declare type ExperiencedProfessionPackage = {
75
+ /**
76
+ * The profession representation variant's identifier. An unique, increasing
77
+ * integer.
78
+ * @integer
79
+ * @minimum 1
80
+ */
81
+ id: number;
82
+ package: ProfessionPackage;
83
+ src: PublicationRefs;
84
+ /**
85
+ * All translations for the entry, identified by IETF language tag (BCP47).
86
+ */
87
+ translations: LocaleMap<ProfessionTranslation>;
88
+ };
89
+ export declare type ProfessionPackagesForDifferentExperienceLevels = {
90
+ /**
91
+ * The profession representation variant's identifier. An unique, increasing
92
+ * integer.
93
+ * @integer
94
+ * @minimum 1
95
+ */
96
+ id: number;
97
+ packages_map: ExperienceLevelDynamicProfessionPackage[];
98
+ src: PublicationRefs;
99
+ /**
100
+ * All translations for the entry, identified by IETF language tag (BCP47).
101
+ */
102
+ translations: LocaleMap<ProfessionTranslation>;
103
+ };
104
+ export declare type ExperienceLevelDynamicProfessionPackage = {
105
+ /**
106
+ * The experience level this profession targets. The experience level
107
+ * must be unique for this representation.
108
+ * @integer
109
+ * @minimum 1
110
+ * @maximum 7
111
+ * @default 3
112
+ */
113
+ experience_level_id: number;
114
+ package: ProfessionPackage;
82
115
  };
83
116
  /**
84
117
  * @title Profession Representation Variant
85
118
  */
86
- export declare type ProfessionRepresentationVariant = {
119
+ export declare type ProfessionPackage = {
87
120
  /**
88
121
  * What does the professional package cost in adventure points?
89
122
  * @integer
@@ -97,17 +130,10 @@ export declare type ProfessionRepresentationVariant = {
97
130
  */
98
131
  prerequisites?: ProfessionPrerequisites;
99
132
  /**
100
- * @minProperties 1
133
+ * In some areas, the profession package grants a loose set of stats where the
134
+ * player must choose between different options for the profession package.
101
135
  */
102
- options?: {
103
- skill_specialization?: SkillSpecializationOptions;
104
- languages_scripts?: LanguagesScriptsOptions;
105
- combat_techniques?: CombatTechniquesOptions;
106
- cantrips?: CantripsOptions;
107
- curses?: CursesOptions;
108
- terrain_knowledge?: TerrainKnowledgeOptions;
109
- skills?: SkillsOptions;
110
- };
136
+ options?: ProfessionPackageOptions;
111
137
  /**
112
138
  * Any special abilities the profession receives from the package.
113
139
  */
@@ -116,22 +142,22 @@ export declare type ProfessionRepresentationVariant = {
116
142
  * Provides ratings for the combat techniques that the hero receives from the
117
143
  * package.
118
144
  */
119
- combat_techniques?: CombatTechnique[];
145
+ combat_techniques?: CombatTechniqueRating[];
120
146
  /**
121
147
  * The skill ratings the package grants to the hero.
122
148
  */
123
- skills?: Skill[];
149
+ skills?: SkillRating[];
124
150
  /**
125
151
  * The skill ratings a magical profession receives for spells; these spells
126
152
  * are considered activated. Spells from an unfamiliar Tradition, if any, are
127
153
  * identified as such.
128
154
  */
129
- spells?: Spell[];
155
+ spells?: SpellRating[];
130
156
  /**
131
157
  * Clerical professions receive these liturgical chants at the listed skill
132
158
  * ratings. These liturgical chants are considered activated.
133
159
  */
134
- liturgical_chants?: LiturgicalChant[];
160
+ liturgical_chants?: LiturgicalChantRating[];
135
161
  /**
136
162
  * Typical advantages for the profession.
137
163
  * @minItems 1
@@ -161,67 +187,61 @@ export declare type ProfessionRepresentationVariant = {
161
187
  * a variant is optional, but there are some rare exceptions where picking a
162
188
  * variant is required.
163
189
  */
164
- variants?: {
165
- tag: "Required";
166
- /**
167
- * @minItems 2
168
- */
169
- list: ProfessionVariant[];
170
- } | {
171
- tag: "Optional";
172
- /**
173
- * @minItems 1
174
- */
175
- list: ProfessionVariant[];
176
- };
190
+ variants?: ProfessionVariants;
191
+ };
192
+ export declare type ProfessionTranslation = {
177
193
  /**
178
- * All translations for the entry, identified by IETF language tag (BCP47).
179
- * @minProperties 1
180
- */
181
- translations: {
182
- /**
183
- * @patternProperties ^[a-z]{2}-[A-Z]{2}$
184
- */
185
- [localeId: string]: {
186
- /**
187
- * Name of the basic profession.
188
- */
189
- name: Name;
190
- /**
191
- * A name addition of the profession. This will contain texts like name of
192
- * the academy or the witch circle. It is enclosed in parenthesis.
193
- */
194
- specification?: Name;
195
- /**
196
- * Typical advantages for the profession.
197
- * @minLength 1
198
- */
199
- suggested_advantages?: string;
200
- /**
201
- * Typical disadvantages for the profession.
202
- * @minLength 1
203
- */
204
- suggested_disadvantages?: string;
205
- /**
206
- * These advantages do not fit well with this profession; to be checked with
207
- * the GM before taking any of them.
208
- * @minLength 1
209
- */
210
- unsuitable_advantages?: string;
211
- /**
212
- * These disadvantages do not fit well with this profession; to be checked
213
- * with the GM before taking any of them.
214
- * @minLength 1
215
- */
216
- unsuitable_disadvantages?: string;
217
- errata?: Errata;
218
- };
219
- };
194
+ * Name of the basic profession.
195
+ */
196
+ name: ProfessionName;
197
+ /**
198
+ * A name addition of the profession. This will contain texts like name of
199
+ * the academy or the witch circle. It is enclosed in parenthesis, but the
200
+ * database entry must not contain parenthesis.
201
+ */
202
+ specification?: ProfessionName;
203
+ /**
204
+ * Typical advantages for the profession.
205
+ */
206
+ suggested_advantages?: NonEmptyString;
207
+ /**
208
+ * Typical disadvantages for the profession.
209
+ */
210
+ suggested_disadvantages?: NonEmptyString;
211
+ /**
212
+ * These advantages do not fit well with this profession; to be checked with
213
+ * the GM before taking any of them.
214
+ */
215
+ unsuitable_advantages?: NonEmptyString;
216
+ /**
217
+ * These disadvantages do not fit well with this profession; to be checked
218
+ * with the GM before taking any of them.
219
+ */
220
+ unsuitable_disadvantages?: NonEmptyString;
221
+ errata?: Errata;
222
+ };
223
+ /**
224
+ * Provides examples of variants for the profession, which may include changes
225
+ * to AP values and additional or modified skill ratings, special abilities, or
226
+ * combat techniques, as compared to the basic profession. Usually picking a
227
+ * variant is optional, but there are some rare exceptions where picking a
228
+ * variant is required.
229
+ */
230
+ export declare type ProfessionVariants = {
231
+ /**
232
+ * If the selection of a profession variant is required.
233
+ */
234
+ is_selection_required: boolean;
235
+ /**
236
+ * The list of profession variants.
237
+ * @minItems 1
238
+ */
239
+ list: ProfessionVariant[];
220
240
  };
221
241
  /**
222
242
  * @title Profession Variant
223
243
  */
224
- declare type ProfessionVariant = {
244
+ export declare type ProfessionVariant = {
225
245
  /**
226
246
  * The profession variant's identifier. An unique, increasing integer.
227
247
  * @integer
@@ -240,17 +260,9 @@ declare type ProfessionVariant = {
240
260
  */
241
261
  prerequisites?: ProfessionPrerequisites;
242
262
  /**
243
- * @minProperties 1
263
+ *
244
264
  */
245
- options?: {
246
- skill_specialization?: VariantOptionAction<SkillSpecializationOptions>;
247
- languages_scripts?: VariantOptionAction<LanguagesScriptsOptions>;
248
- combat_techniques?: VariantOptionAction<CombatTechniquesOptions>;
249
- cantrips?: VariantOptionAction<CantripsOptions>;
250
- curses?: VariantOptionAction<CursesOptions>;
251
- terrain_knowledge?: VariantOptionAction<TerrainKnowledgeOptions>;
252
- skills?: VariantOptionAction<SkillsOptions>;
253
- };
265
+ options?: ProfessionVariantPackageOptions;
254
266
  /**
255
267
  * Any special abilities the profession receives from the package variant.
256
268
  */
@@ -259,91 +271,52 @@ declare type ProfessionVariant = {
259
271
  * Provides ratings for the combat techniques that the hero receives from the
260
272
  * package variant.
261
273
  */
262
- combat_techniques?: VariantCombatTechnique[];
274
+ combat_techniques?: CombatTechniqueRating[];
263
275
  /**
264
276
  * The skill ratings the package variant grants to the hero.
265
277
  */
266
- skills?: VariantSkill[];
278
+ skills?: SkillRating[];
267
279
  /**
268
280
  * The skill ratings a magical profession variant receives for spells; these
269
281
  * spells are considered activated. Spells from an unfamiliar Tradition, if
270
282
  * any, are identified as such.
271
283
  */
272
- spells?: VariantSpell[];
284
+ spells?: SpellRating[];
273
285
  /**
274
286
  * Clerical professions receive these liturgical chants at the listed skill
275
287
  * ratings. These liturgical chants are considered activated.
276
288
  */
277
- liturgical_chants?: VariantLiturgicalChant[];
289
+ liturgical_chants?: LiturgicalChantRating[];
278
290
  /**
279
291
  * All translations for the entry, identified by IETF language tag (BCP47).
280
- * @minProperties 1
281
- */
282
- translations: {
283
- /**
284
- * @patternProperties ^[a-z]{2}-[A-Z]{2}$
285
- */
286
- [localeId: string]: {
287
- /**
288
- * Name of the profession variant.
289
- */
290
- name: Name;
291
- };
292
- };
293
- };
294
- declare type SpecialAbility = {
295
- tag: "Fixed";
296
- /**
297
- * The identifier of the combat technique to provide the rating for.
298
292
  */
299
- id: SpecialAbilityIdentifier;
300
- /**
301
- * The level of the received special ability.
302
- * @integer
303
- * @minimum 1
304
- */
305
- level?: number;
293
+ translations: LocaleMap<ProfessionVariantTranslation>;
294
+ };
295
+ export declare type ProfessionVariantTranslation = {
306
296
  /**
307
- * Received select options. Order is important. Typically, you only need the
308
- * first array index, though.
309
- * @minItems 1
297
+ * Name of the profession variant.
310
298
  */
311
- options?: RequirableSelectOptionIdentifier[];
299
+ name: ProfessionName;
300
+ };
301
+ export declare type SpecialAbility = {
302
+ tag: "Fixed";
303
+ fixed: FixedSpecialAbility;
312
304
  } | {
313
305
  tag: "Selection";
306
+ selection: SpecialAbilitySelection;
307
+ };
308
+ export declare type FixedSpecialAbility = SpecialAbilityDefinition;
309
+ export declare type SpecialAbilitySelection = {
314
310
  /**
315
311
  * @minItems 2
316
312
  */
317
- options: {
318
- /**
319
- * The identifier of the combat technique to provide the rating for.
320
- */
321
- id: SpecialAbilityIdentifier;
322
- /**
323
- * The level of the received special ability.
324
- * @integer
325
- * @minimum 1
326
- */
327
- level?: number;
328
- /**
329
- * Received select options. Order is important. Typically, you only need the
330
- * first array index, though.
331
- * @minItems 1
332
- */
333
- options?: RequirableSelectOptionIdentifier[];
334
- }[];
335
- };
336
- declare type VariantSpecialAbility = {
337
- tag: "Fixed";
313
+ options: SpecialAbilityDefinition[];
314
+ };
315
+ export declare type SpecialAbilityDefinition = {
338
316
  /**
339
317
  * The identifier of the combat technique to provide the rating for.
340
318
  */
341
319
  id: SpecialAbilityIdentifier;
342
- /**
343
- * if set to `false`, if the entry is granted by the basic package, it is
344
- * removed.
345
- */
346
- active?: false;
347
320
  /**
348
321
  * The level of the received special ability.
349
322
  * @integer
@@ -356,76 +329,50 @@ declare type VariantSpecialAbility = {
356
329
  * @minItems 1
357
330
  */
358
331
  options?: RequirableSelectOptionIdentifier[];
332
+ };
333
+ export declare type VariantSpecialAbility = {
334
+ tag: "Fixed";
335
+ fixed: FixedVariantSpecialAbility;
359
336
  } | {
360
337
  tag: "Selection";
338
+ selection: VariantSpecialAbilitySelection;
339
+ };
340
+ export declare type FixedVariantSpecialAbility = SpecialAbilityDefinition & {
361
341
  /**
362
342
  * if set to `false`, if the selection is granted by the basic package, it
363
343
  * is removed.
364
344
  */
365
345
  active?: false;
346
+ };
347
+ export declare type VariantSpecialAbilitySelection = {
366
348
  /**
367
- * @minItems 2
368
- */
369
- options: {
370
- /**
371
- * The identifier of the combat technique to provide the rating for.
372
- */
373
- id: SpecialAbilityIdentifier;
374
- /**
375
- * The level of the received special ability.
376
- * @integer
377
- * @minimum 1
378
- */
379
- level?: number;
380
- /**
381
- * Received select options. Order is important. Typically, you only need the
382
- * first array index, though.
383
- * @minItems 1
384
- */
385
- options?: RequirableSelectOptionIdentifier[];
386
- }[];
387
- };
388
- declare type CombatTechnique = {
389
- /**
390
- * The identifier of the combat technique to provide the rating for.
349
+ * if set to `false`, if the selection is granted by the basic package, it
350
+ * is removed.
391
351
  */
392
- id: CombatTechniqueIdentifier;
352
+ active?: false;
393
353
  /**
394
- * The rating provided for the combat technique.
395
- * @integer
396
- * @minimum 7
354
+ * @minItems 2
397
355
  */
398
- rating: number;
356
+ options: SpecialAbilityDefinition[];
399
357
  };
400
- declare type VariantCombatTechnique = {
358
+ export declare type CombatTechniqueRating = {
401
359
  /**
402
360
  * The identifier of the combat technique to provide the rating for.
403
361
  */
404
362
  id: CombatTechniqueIdentifier;
405
363
  /**
406
- * The rating provided for the combat technique. It overrides the basic
407
- * package's rating.
408
- * @integer
409
- * @minimum 6
410
- */
411
- rating: number;
412
- };
413
- declare type Skill = {
414
- /**
415
- * The identifier of the skill to provide the rating for.
416
- * @integer
417
- * @minimum 1
418
- * @maximum 59
419
- */
420
- id: number;
421
- /**
422
- * The rating provided for the skill.
364
+ * The rating bonus provided for the combat technique. If used in a profession
365
+ * variant, it can also be used to lower the bonus of the base profession.
366
+ *
367
+ * **Note:** This is a rating *bonus*, so it will be *added* to the default
368
+ * value of 6.
423
369
  * @integer
424
- * @minimum 1
370
+ * @minimum -6
371
+ * @maximum 6
425
372
  */
426
373
  rating: number;
427
374
  };
428
- declare type VariantSkill = {
375
+ export declare type SkillRating = {
429
376
  /**
430
377
  * The identifier of the skill to provide the rating for.
431
378
  * @integer
@@ -434,68 +381,39 @@ declare type VariantSkill = {
434
381
  */
435
382
  id: number;
436
383
  /**
437
- * The rating provided for the skill. It overrides the basic package's rating.
384
+ * The rating bonus provided for the skill. If used in a profession variant,
385
+ * it can also be used to lower the bonus of the base profession
438
386
  * @integer
439
- * @minimum 0
387
+ * @minimum -8
388
+ * @maximum 8
440
389
  */
441
390
  rating: number;
442
391
  };
443
- declare type Spell = {
444
- tag: "Fixed";
445
- /**
446
- * The identifier of the spell to provide the rating for.
447
- */
448
- id: SpellIdentifier;
449
- /**
450
- * The rating provided for the spell.
451
- * @integer
452
- * @minimum 1
453
- */
454
- rating: number;
455
- } | {
456
- tag: "Selection";
392
+ export declare type SpellRating = {
457
393
  /**
458
- * The identifiers of the spells to choose from to provide the rating for.
459
- * @minItems 2
394
+ * The identifier(s) of the spell(s) to choose from to provide the rating for.
395
+ * If multiple spells are provided, they must all have the same improvement
396
+ * cost.
397
+ * @minItems 1
460
398
  */
461
399
  id: SpellIdentifier[];
462
400
  /**
463
- * The rating provided for the selected spell.
401
+ * The rating bonus provided for the (selected) spell. If used in a profession
402
+ * variant, it can also be used to lower the bonus of the base profession.
464
403
  * @integer
465
- * @minimum 1
404
+ * @minimum -10
405
+ * @maximum 10
466
406
  */
467
407
  rating: number;
468
408
  };
469
- declare type VariantSpell = {
470
- tag: "Fixed";
471
- /**
472
- * The identifier of the spell to provide the rating for.
473
- */
474
- id: SpellIdentifier;
475
- /**
476
- * The rating provided for the spell. It overrides the basic package's
477
- * rating.
478
- * @integer
479
- * @minimum 0
480
- */
481
- rating: number;
409
+ export declare type SpellIdentifier = {
410
+ tag: "Spellwork";
411
+ spellwork: ProfessionSpellworkIdentifier;
482
412
  } | {
483
- tag: "Selection";
484
- /**
485
- * The identifiers of the spells to choose from to provide the rating for.
486
- * @minItems 2
487
- */
488
- id: SpellIdentifier[];
489
- /**
490
- * The rating provided for the selected spell. It overrides the basic
491
- * package's rating.
492
- * @integer
493
- * @minimum 0
494
- */
495
- rating: number;
413
+ tag: "MagicalAction";
414
+ magical_action: ProfessionMagicalActionIdentifier;
496
415
  };
497
- declare type SpellIdentifier = {
498
- tag: "Spellwork";
416
+ export declare type ProfessionSpellworkIdentifier = {
499
417
  /**
500
418
  * The identifier of the spell to provide the rating for.
501
419
  */
@@ -507,122 +425,92 @@ declare type SpellIdentifier = {
507
425
  * magical traditions are required and the spell is available to multiple
508
426
  * of them.
509
427
  */
510
- tradition?: {
511
- /**
512
- * The unfamiliar or ambiguous magical tradition's identifier.
513
- */
514
- id: number;
515
- };
516
- } | {
517
- tag: "MagicalAction";
428
+ tradition?: MagicalTraditionReference;
429
+ };
430
+ export declare type ProfessionMagicalActionIdentifier = {
518
431
  /**
519
432
  * The identifier of the magical action to provide the rating for.
520
433
  */
521
434
  id: MagicalActionIdentifier;
522
435
  };
523
- declare type LiturgicalChant = {
524
- tag: "Fixed";
525
- /**
526
- * The identifier of the liturgical chant to provide the rating for.
527
- */
528
- id: LiturgyIdentifier;
436
+ export declare type LiturgicalChantRating = {
529
437
  /**
530
- * The rating provided for the liturgical chant.
531
- * @integer
532
- * @minimum 1
533
- */
534
- rating: number;
535
- } | {
536
- tag: "Selection";
537
- /**
538
- * The identifiers of the liturgical chants to choose from to provide the
539
- * rating for.
540
- * @minItems 2
438
+ * The identifier(s) of the liturgical chant(s) to choose from to provide
439
+ * the rating for. If multiple liturgical chants are provided, they must all
440
+ * have the same improvement cost.
441
+ * @minItems 1
541
442
  */
542
443
  id: LiturgyIdentifier[];
543
444
  /**
544
- * The rating provided for the selected liturgical chant.
445
+ * The rating bonus provided for the selected liturgical chant. If used in a
446
+ * profession variant, it can also be used to lower the bonus of the base
447
+ * profession.
545
448
  * @integer
546
- * @minimum 1
449
+ * @minimum -10
450
+ * @maximum 10
547
451
  */
548
452
  rating: number;
549
453
  };
550
- declare type VariantLiturgicalChant = {
551
- tag: "Fixed";
552
- /**
553
- * The identifier of the liturgical chant to provide the rating for.
554
- */
555
- id: LiturgyIdentifier;
556
- /**
557
- * The rating provided for the liturgical chant. It overrides the basic
558
- * package's rating.
559
- * @integer
560
- * @minimum 0
561
- */
562
- rating: number;
563
- } | {
564
- tag: "Selection";
565
- /**
566
- * The identifiers of the liturgical chants to choose from to provide the
567
- * rating for.
568
- * @minItems 2
569
- */
570
- id: LiturgyIdentifier[];
571
- /**
572
- * The rating provided for the selected liturgical chant. It overrides the
573
- * basic package's rating.
574
- * @integer
575
- * @minimum 0
576
- */
577
- rating: number;
454
+ /**
455
+ * In some areas, the profession package grants a loose set of stats where the
456
+ * player must choose between different options for the profession package.
457
+ * @minProperties 1
458
+ */
459
+ export declare type ProfessionPackageOptions = {
460
+ skill_specialization?: SkillSpecializationOptions;
461
+ languages_scripts?: LanguagesScriptsOptions;
462
+ combat_techniques?: CombatTechniquesOptions;
463
+ cantrips?: CantripsOptions;
464
+ curses?: CursesOptions;
465
+ terrain_knowledge?: TerrainKnowledgeOptions;
466
+ skills?: SkillsOptions;
578
467
  };
579
- declare type VariantOptionAction<T> = {
468
+ /**
469
+ * In some areas, the profession package grants a loose set of stats where the
470
+ * player must choose between different options for the profession package. The
471
+ * variant may override or remove those options.
472
+ * @minProperties 1
473
+ */
474
+ export declare type ProfessionVariantPackageOptions = {
475
+ skill_specialization?: VariantOptionAction<SkillSpecializationOptions>;
476
+ languages_scripts?: VariantOptionAction<LanguagesScriptsOptions>;
477
+ combat_techniques?: VariantOptionAction<CombatTechniquesOptions>;
478
+ cantrips?: VariantOptionAction<CantripsOptions>;
479
+ curses?: VariantOptionAction<CursesOptions>;
480
+ terrain_knowledge?: VariantOptionAction<TerrainKnowledgeOptions>;
481
+ skills?: VariantOptionAction<SkillsOptions>;
482
+ };
483
+ export declare type VariantOptionAction<T> = {
580
484
  tag: "Remove";
581
485
  } | {
582
486
  tag: "Override";
583
- value: T;
487
+ override: T;
584
488
  };
585
489
  /**
586
490
  * Select an application from a skill or from one of a list of skills where you
587
491
  * get a skill specialization for. You can also specify a skill groups from
588
492
  * which you can choose a skill.
589
493
  */
590
- declare type SkillSpecializationOptions = {
494
+ export declare type SkillSpecializationOptions = {
591
495
  tag: "Single";
592
- /**
593
- * The referenced skill's identifier.
594
- * @integer
595
- * @minimum 1
596
- */
597
- id: number;
598
- } | {
599
- tag: "Selection";
600
- /**
601
- * Possible skills to get a skill specialization for.
602
- * @minItems 2
603
- */
604
- options: {
605
- /**
606
- * The referenced skill's identifier.
607
- * @integer
608
- * @minimum 1
609
- */
610
- id: number;
611
- }[];
496
+ single: SingleSkillSpecializationOption;
612
497
  } | {
613
498
  tag: "Group";
499
+ group: SkillGroupSkillSpecializationOption;
500
+ };
501
+ export declare type SingleSkillSpecializationOption = {
614
502
  /**
615
- * The referenced skill group's identifier.
616
- * @integer
617
- * @minimum 1
618
- * @maximum 5
503
+ * Possible skills to get a skill specialization for.
504
+ * @minItems 1
505
+ * @uniqueItems
619
506
  */
620
- id: number;
507
+ options: SkillReference[];
621
508
  };
509
+ export declare type SkillGroupSkillSpecializationOption = SkillGroupReference;
622
510
  /**
623
511
  * Buy languages and scripts for a specific amount of AP.
624
512
  */
625
- declare type LanguagesScriptsOptions = {
513
+ export declare type LanguagesScriptsOptions = {
626
514
  /**
627
515
  * The AP value you can buy languages and scripts for.
628
516
  * @integer
@@ -634,49 +522,50 @@ declare type LanguagesScriptsOptions = {
634
522
  /**
635
523
  * Select one or more combat techniques you get a CtR bonus for.
636
524
  */
637
- declare type CombatTechniquesOptions = {
525
+ export declare type CombatTechniquesOptions = {
638
526
  /**
639
527
  * Specify the number of combat techniques that can be selected so that they
640
528
  * get increased to a specific CtR. There can be multiple selections with
641
529
  * different CtRs.
642
530
  * @minItems 1
643
531
  */
644
- fixed: {
645
- /**
646
- * The number of selectable combat techniques.
647
- * @integer
648
- * @minimum 1
649
- */
650
- number: number;
651
- /**
652
- * The rating provided for the selected combat technique(s).
653
- * @integer
654
- * @minimum 7
655
- */
656
- rating: number;
657
- }[];
532
+ fixed: RatingForCombatTechniquesNumber[];
658
533
  /**
659
534
  * Define if after the fixed selections the remaining unselected combat
660
- * techniques will receive a certain rating as well.
535
+ * techniques will receive a certain rating bonus as well.
661
536
  * @integer
662
- * @minimum 7
537
+ * @minimum 1
538
+ * @maximum 6
663
539
  */
664
540
  rest_rating?: number;
665
541
  /**
666
542
  * The list of combat techniques to choose from.
667
543
  * @minItems 2
668
544
  */
669
- options: {
670
- /**
671
- * The combat technique's identifier.
672
- */
673
- id: CombatTechniqueIdentifier;
674
- }[];
545
+ options: CombatTechniqueReference[];
546
+ };
547
+ export declare type RatingForCombatTechniquesNumber = {
548
+ /**
549
+ * The number of selectable combat techniques.
550
+ * @integer
551
+ * @minimum 1
552
+ */
553
+ number: number;
554
+ /**
555
+ * The rating bonus provided for the selected combat technique(s).
556
+ *
557
+ * **Note:** This is a rating *bonus*, so it will be *added* to the default
558
+ * value of 6.
559
+ * @integer
560
+ * @minimum 1
561
+ * @maximum 6
562
+ */
563
+ rating: number;
675
564
  };
676
565
  /**
677
566
  * Select one or more cantrips you receive.
678
567
  */
679
- declare type CantripsOptions = {
568
+ export declare type CantripsOptions = {
680
569
  /**
681
570
  * The number of selectable cantrips.
682
571
  * @integer
@@ -687,19 +576,12 @@ declare type CantripsOptions = {
687
576
  * The list of cantrips to choose from.
688
577
  * @minItems 2
689
578
  */
690
- options: {
691
- /**
692
- * The cantrip's identifier.
693
- * @integer
694
- * @minimum 1
695
- */
696
- id: number;
697
- }[];
579
+ options: CantripReference[];
698
580
  };
699
581
  /**
700
582
  * Buy curses for a specific amount of AP.
701
583
  */
702
- declare type CursesOptions = {
584
+ export declare type CursesOptions = {
703
585
  /**
704
586
  * The AP value you can buy curses for.
705
587
  * @integer
@@ -711,32 +593,30 @@ declare type CursesOptions = {
711
593
  /**
712
594
  * Select one of a list of possible terrain knowledges
713
595
  */
714
- declare type TerrainKnowledgeOptions = {
596
+ export declare type TerrainKnowledgeOptions = {
715
597
  /**
716
598
  * The list of possible terrain knowledges.
717
599
  * @minItems 2
718
600
  */
719
- options: {
720
- /**
721
- * The terrain knowledge option's identifier.
722
- * @integer
723
- * @minimum 1
724
- * @maximum 10
725
- */
726
- id: number;
727
- }[];
601
+ options: TerrainKnowledgeOptionReference[];
602
+ };
603
+ export declare type TerrainKnowledgeOptionReference = {
604
+ /**
605
+ * The terrain knowledge option's identifier.
606
+ * @integer
607
+ * @minimum 1
608
+ * @maximum 10
609
+ */
610
+ id: number;
728
611
  };
729
612
  /**
730
613
  * Buy skills for a specific amount of AP.
731
614
  */
732
- declare type SkillsOptions = {
615
+ export declare type SkillsOptions = {
733
616
  /**
734
617
  * If specified, you may only choose from skills of the specified group.
735
- * @integer
736
- * @minimum 1
737
- * @maximum 1
738
618
  */
739
- group_id?: number;
619
+ group?: SkillGroupReference;
740
620
  /**
741
621
  * The AP value you can buy skills for.
742
622
  * @integer
@@ -747,7 +627,7 @@ declare type SkillsOptions = {
747
627
  /**
748
628
  * The name of the profession that may have sex-specific names.
749
629
  */
750
- declare type Name = NonEmptyString | {
630
+ export declare type ProfessionName = NonEmptyString | {
751
631
  /**
752
632
  * The name from the source publication.
753
633
  */
@@ -761,23 +641,4 @@ declare type Name = NonEmptyString | {
761
641
  */
762
642
  female: NonEmptyString;
763
643
  };
764
- declare type Group = {
765
- tag: "Mundane";
766
- sub: {
767
- tag: "Profane";
768
- } | {
769
- tag: "Fighter";
770
- } | {
771
- tag: "Religious";
772
- };
773
- } | {
774
- tag: "Magical";
775
- } | {
776
- tag: "Blessed";
777
- };
778
- /**
779
- * @minLength 1
780
- */
781
- declare type NonEmptyString = string;
782
644
  export declare const validateSchema: import("../validation/schema.js").TypeValidator<Profession>;
783
- export {};