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
@@ -1,8 +1,8 @@
1
1
  {
2
- "$schema": "http://json-schema.org/draft-07/schema",
2
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
3
3
  "$id": "/rule/CoreRule.schema.json",
4
- "$ref": "#/definitions/CoreRule",
5
- "definitions": {
4
+ "$ref": "#/$defs/CoreRule",
5
+ "$defs": {
6
6
  "CoreRule": {
7
7
  "title": "Core Rule",
8
8
  "type": "object",
@@ -15,46 +15,19 @@
15
15
  "content": {
16
16
  "type": "array",
17
17
  "items": {
18
- "oneOf": [
19
- {
20
- "$ref": "#/definitions/ChildNode"
21
- },
22
- {
23
- "$ref": "#/definitions/TextNode"
24
- },
25
- {
26
- "$ref": "#/definitions/ReferenceNode"
27
- },
28
- {
29
- "$ref": "#/definitions/ReferenceListNode"
30
- }
31
- ]
18
+ "$ref": "#/$defs/ContentNode"
32
19
  },
33
20
  "minItems": 1
34
21
  },
35
22
  "src": {
36
- "$ref": "../source/_PublicationRef.schema.json#/definitions/PublicationRefs"
23
+ "$ref": "../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
37
24
  },
38
25
  "translations": {
39
26
  "description": "All translations for the entry, identified by IETF language tag (BCP47).",
40
27
  "type": "object",
41
28
  "patternProperties": {
42
29
  "^[a-z]{2}-[A-Z]{2}$": {
43
- "type": "object",
44
- "properties": {
45
- "name": {
46
- "description": "The name of the optional rule.",
47
- "type": "string",
48
- "minLength": 1
49
- },
50
- "errata": {
51
- "$ref": "../source/_Erratum.schema.json#/definitions/Errata"
52
- }
53
- },
54
- "required": [
55
- "name"
56
- ],
57
- "additionalProperties": false
30
+ "$ref": "#/$defs/CoreRuleTranslation"
58
31
  }
59
32
  },
60
33
  "minProperties": 1,
@@ -69,25 +42,105 @@
69
42
  ],
70
43
  "additionalProperties": false
71
44
  },
45
+ "CoreRuleTranslation": {
46
+ "type": "object",
47
+ "properties": {
48
+ "name": {
49
+ "description": "The name of the optional rule.",
50
+ "$ref": "../_NonEmptyString.schema.json#/$defs/NonEmptyString"
51
+ },
52
+ "errata": {
53
+ "$ref": "../source/_Erratum.schema.json#/$defs/Errata"
54
+ }
55
+ },
56
+ "required": [
57
+ "name"
58
+ ],
59
+ "additionalProperties": false
60
+ },
61
+ "ContentNode": {
62
+ "oneOf": [
63
+ {
64
+ "type": "object",
65
+ "properties": {
66
+ "tag": {
67
+ "const": "Child"
68
+ },
69
+ "child": {
70
+ "$ref": "#/$defs/ChildNode"
71
+ }
72
+ },
73
+ "required": [
74
+ "tag",
75
+ "child"
76
+ ],
77
+ "additionalProperties": false
78
+ },
79
+ {
80
+ "type": "object",
81
+ "properties": {
82
+ "tag": {
83
+ "const": "Text"
84
+ },
85
+ "text": {
86
+ "$ref": "#/$defs/TextNode"
87
+ }
88
+ },
89
+ "required": [
90
+ "tag",
91
+ "text"
92
+ ],
93
+ "additionalProperties": false
94
+ },
95
+ {
96
+ "type": "object",
97
+ "properties": {
98
+ "tag": {
99
+ "const": "Reference"
100
+ },
101
+ "reference": {
102
+ "$ref": "#/$defs/ReferenceNode"
103
+ }
104
+ },
105
+ "required": [
106
+ "tag",
107
+ "reference"
108
+ ],
109
+ "additionalProperties": false
110
+ },
111
+ {
112
+ "type": "object",
113
+ "properties": {
114
+ "tag": {
115
+ "const": "ReferenceList"
116
+ },
117
+ "reference_list": {
118
+ "$ref": "#/$defs/ReferenceListNode"
119
+ }
120
+ },
121
+ "required": [
122
+ "tag",
123
+ "reference_list"
124
+ ],
125
+ "additionalProperties": false
126
+ }
127
+ ]
128
+ },
72
129
  "ChildNode": {
73
130
  "description": "A core rule nested inside this core rule. It may be displayed as a separate\npage or its content may be included in this rule's text, which will\nautomatically generate a proper heading. No content node of a type other than\n`Child` should follow a child node, since then it may look like the the text\nmay be part of the child node.",
74
131
  "type": "object",
75
132
  "properties": {
76
- "tag": {
77
- "const": "Child"
78
- },
79
133
  "id": {
80
134
  "description": "The nested core rule's identifier.",
81
135
  "type": "integer",
82
136
  "minimum": 1
83
137
  },
84
138
  "include": {
85
- "description": "If `true`, integrate the nested core rule's content into this core rule and\nadd a proper heading. Otherwise create a link to a separate view of that\ncore rule.",
139
+ "description": "If the nested core rule's content should be integrated into this core rule\nand a proper heading should be added. Otherwise create a link to a separate\nview of that core rule.",
86
140
  "type": "boolean"
87
141
  }
88
142
  },
89
143
  "required": [
90
- "tag",
91
144
  "id",
92
145
  "include"
93
146
  ],
@@ -97,26 +150,12 @@
97
150
  "description": "A simple text block, containing one or multiple paragraphs. Headings are not\nallowed, they should be handled as nested core rules instead.",
98
151
  "type": "object",
99
152
  "properties": {
100
- "tag": {
101
- "const": "Text"
102
- },
103
153
  "translations": {
104
154
  "description": "All translations for the entry, identified by IETF language tag (BCP47).",
105
155
  "type": "object",
106
156
  "patternProperties": {
107
157
  "^[a-z]{2}-[A-Z]{2}$": {
108
- "type": "object",
109
- "properties": {
110
- "text": {
111
- "description": "Markdown-formatted text.",
112
- "type": "string",
113
- "minLength": 1
114
- }
115
- },
116
- "required": [
117
- "text"
118
- ],
119
- "additionalProperties": false
158
+ "$ref": "#/$defs/TextNodeTranslation"
120
159
  }
121
160
  },
122
161
  "minProperties": 1,
@@ -124,840 +163,1237 @@
124
163
  }
125
164
  },
126
165
  "required": [
127
- "tag",
128
166
  "translations"
129
167
  ],
130
168
  "additionalProperties": false
131
169
  },
170
+ "TextNodeTranslation": {
171
+ "type": "object",
172
+ "properties": {
173
+ "text": {
174
+ "description": "Markdown-formatted text.",
175
+ "$ref": "../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
176
+ }
177
+ },
178
+ "required": [
179
+ "text"
180
+ ],
181
+ "additionalProperties": false
182
+ },
132
183
  "ReferenceListNode": {
133
184
  "description": "Generate a list or table from a specific entity type.",
134
185
  "type": "object",
135
186
  "properties": {
136
- "tag": {
137
- "const": "DeriveMany"
187
+ "source": {
188
+ "$ref": "#/$defs/ReferenceListNodeSource"
138
189
  },
139
- "content": {
190
+ "translations": {
191
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
140
192
  "type": "object",
141
- "properties": {
142
- "source": {
143
- "oneOf": [
144
- {
145
- "type": "object",
146
- "properties": {
147
- "tag": {
148
- "const": "Attributes"
149
- }
150
- },
151
- "required": [
152
- "tag"
153
- ],
154
- "additionalProperties": false
155
- },
156
- {
157
- "type": "object",
158
- "properties": {
159
- "tag": {
160
- "const": "QualityLevels"
161
- }
162
- },
163
- "required": [
164
- "tag"
165
- ],
166
- "additionalProperties": false
167
- },
168
- {
169
- "type": "object",
170
- "properties": {
171
- "tag": {
172
- "const": "Conditions"
173
- }
174
- },
175
- "required": [
176
- "tag"
177
- ],
178
- "additionalProperties": false
179
- },
180
- {
181
- "type": "object",
182
- "properties": {
183
- "tag": {
184
- "const": "States"
185
- }
186
- },
187
- "required": [
188
- "tag"
189
- ],
190
- "additionalProperties": false
191
- },
192
- {
193
- "type": "object",
194
- "properties": {
195
- "tag": {
196
- "const": "ExperienceLevels"
197
- }
198
- },
199
- "required": [
200
- "tag"
201
- ],
202
- "additionalProperties": false
203
- },
204
- {
205
- "type": "object",
206
- "properties": {
207
- "tag": {
208
- "const": "Races"
209
- }
210
- },
211
- "required": [
212
- "tag"
213
- ],
214
- "additionalProperties": false
215
- },
216
- {
217
- "type": "object",
218
- "properties": {
219
- "tag": {
220
- "const": "Cultures"
221
- }
222
- },
223
- "required": [
224
- "tag"
225
- ],
226
- "additionalProperties": false
227
- },
228
- {
229
- "type": "object",
230
- "properties": {
231
- "tag": {
232
- "const": "Professions"
233
- }
234
- },
235
- "required": [
236
- "tag"
237
- ],
238
- "additionalProperties": false
239
- },
240
- {
241
- "type": "object",
242
- "properties": {
243
- "tag": {
244
- "const": "Advantages"
245
- }
246
- },
247
- "required": [
248
- "tag"
249
- ],
250
- "additionalProperties": false
251
- },
252
- {
253
- "type": "object",
254
- "properties": {
255
- "tag": {
256
- "const": "Disadvantages"
257
- }
258
- },
259
- "required": [
260
- "tag"
261
- ],
262
- "additionalProperties": false
263
- },
264
- {
265
- "type": "object",
266
- "properties": {
267
- "tag": {
268
- "const": "CombatTechniques"
269
- }
270
- },
271
- "required": [
272
- "tag"
273
- ],
274
- "additionalProperties": false
275
- },
276
- {
277
- "type": "object",
278
- "properties": {
279
- "tag": {
280
- "const": "SpecialAbilities"
281
- }
282
- },
283
- "required": [
284
- "tag"
285
- ],
286
- "additionalProperties": false
287
- },
288
- {
289
- "type": "object",
290
- "properties": {
291
- "tag": {
292
- "const": "PrimaryAttributes"
293
- }
294
- },
295
- "required": [
296
- "tag"
297
- ],
298
- "additionalProperties": false
299
- },
300
- {
301
- "type": "object",
302
- "properties": {
303
- "tag": {
304
- "const": "DerivedCharacteristics"
305
- }
306
- },
307
- "required": [
308
- "tag"
309
- ],
310
- "additionalProperties": false
311
- },
312
- {
313
- "type": "object",
314
- "properties": {
315
- "tag": {
316
- "const": "StartingAge"
317
- }
318
- },
319
- "required": [
320
- "tag"
321
- ],
322
- "additionalProperties": false
323
- },
324
- {
325
- "type": "object",
326
- "properties": {
327
- "tag": {
328
- "const": "Archetypes"
329
- }
330
- },
331
- "required": [
332
- "tag"
333
- ],
334
- "additionalProperties": false
335
- },
336
- {
337
- "type": "object",
338
- "properties": {
339
- "tag": {
340
- "const": "RequirementsForRoutineChecks"
341
- }
342
- },
343
- "required": [
344
- "tag"
345
- ],
346
- "additionalProperties": false
347
- },
348
- {
349
- "type": "object",
350
- "properties": {
351
- "tag": {
352
- "const": "GeneralSpecialAbilities"
353
- }
354
- },
355
- "required": [
356
- "tag"
357
- ],
358
- "additionalProperties": false
359
- },
360
- {
361
- "type": "object",
362
- "properties": {
363
- "tag": {
364
- "const": "FatePointSpecialAbilities"
365
- }
366
- },
367
- "required": [
368
- "tag"
369
- ],
370
- "additionalProperties": false
371
- },
372
- {
373
- "type": "object",
374
- "properties": {
375
- "tag": {
376
- "const": "LanguagesAndScripts"
377
- }
378
- },
379
- "required": [
380
- "tag"
381
- ],
382
- "additionalProperties": false
383
- },
384
- {
385
- "type": "object",
386
- "properties": {
387
- "tag": {
388
- "const": "CloseCombatBotch"
389
- }
390
- },
391
- "required": [
392
- "tag"
393
- ],
394
- "additionalProperties": false
395
- },
396
- {
397
- "type": "object",
398
- "properties": {
399
- "tag": {
400
- "const": "DefenseBotch"
401
- }
402
- },
403
- "required": [
404
- "tag"
405
- ],
406
- "additionalProperties": false
407
- },
408
- {
409
- "type": "object",
410
- "properties": {
411
- "tag": {
412
- "const": "MeleeCombatTechniques"
413
- }
414
- },
415
- "required": [
416
- "tag"
417
- ],
418
- "additionalProperties": false
419
- },
420
- {
421
- "type": "object",
422
- "properties": {
423
- "tag": {
424
- "const": "RangedCombatBotch"
425
- }
426
- },
427
- "required": [
428
- "tag"
429
- ],
430
- "additionalProperties": false
431
- },
432
- {
433
- "type": "object",
434
- "properties": {
435
- "tag": {
436
- "const": "RangedCombatDefenseBotch"
437
- }
438
- },
439
- "required": [
440
- "tag"
441
- ],
442
- "additionalProperties": false
443
- },
444
- {
445
- "type": "object",
446
- "properties": {
447
- "tag": {
448
- "const": "RangedCombatTechniques"
449
- }
450
- },
451
- "required": [
452
- "tag"
453
- ],
454
- "additionalProperties": false
455
- },
456
- {
457
- "type": "object",
458
- "properties": {
459
- "tag": {
460
- "const": "CombatSpecialAbilities"
461
- }
462
- },
463
- "required": [
464
- "tag"
465
- ],
466
- "additionalProperties": false
467
- },
468
- {
469
- "type": "object",
470
- "properties": {
471
- "tag": {
472
- "const": "Properties"
473
- }
474
- },
475
- "required": [
476
- "tag"
477
- ],
478
- "additionalProperties": false
479
- },
480
- {
481
- "type": "object",
482
- "properties": {
483
- "tag": {
484
- "const": "SpellBotch"
485
- }
486
- },
487
- "required": [
488
- "tag"
489
- ],
490
- "additionalProperties": false
491
- },
492
- {
493
- "type": "object",
494
- "properties": {
495
- "tag": {
496
- "const": "Services"
497
- }
498
- },
499
- "required": [
500
- "tag"
501
- ],
502
- "additionalProperties": false
503
- },
504
- {
505
- "type": "object",
506
- "properties": {
507
- "tag": {
508
- "const": "ProtectiveAndWardingCircles"
509
- }
510
- },
511
- "required": [
512
- "tag"
513
- ],
514
- "additionalProperties": false
515
- },
516
- {
517
- "type": "object",
518
- "properties": {
519
- "tag": {
520
- "const": "Elixirs"
521
- }
522
- },
523
- "required": [
524
- "tag"
525
- ],
526
- "additionalProperties": false
527
- },
528
- {
529
- "type": "object",
530
- "properties": {
531
- "tag": {
532
- "const": "StaffEnchantments"
533
- }
534
- },
535
- "required": [
536
- "tag"
537
- ],
538
- "additionalProperties": false
539
- },
540
- {
541
- "type": "object",
542
- "properties": {
543
- "tag": {
544
- "const": "FamiliarsTricks"
545
- }
546
- },
547
- "required": [
548
- "tag"
549
- ],
550
- "additionalProperties": false
551
- },
552
- {
553
- "type": "object",
554
- "properties": {
555
- "tag": {
556
- "const": "Curses"
557
- }
558
- },
559
- "required": [
560
- "tag"
561
- ],
562
- "additionalProperties": false
563
- },
564
- {
565
- "type": "object",
566
- "properties": {
567
- "tag": {
568
- "const": "ElvenMagicalSongs"
569
- }
570
- },
571
- "required": [
572
- "tag"
573
- ],
574
- "additionalProperties": false
575
- },
576
- {
577
- "type": "object",
578
- "properties": {
579
- "tag": {
580
- "const": "MagicalSpecialAbilities"
581
- }
582
- },
583
- "required": [
584
- "tag"
585
- ],
586
- "additionalProperties": false
587
- },
588
- {
589
- "type": "object",
590
- "properties": {
591
- "tag": {
592
- "const": "Cantrips"
593
- }
594
- },
595
- "required": [
596
- "tag"
597
- ],
598
- "additionalProperties": false
599
- },
600
- {
601
- "type": "object",
602
- "properties": {
603
- "tag": {
604
- "const": "Spells"
605
- }
606
- },
607
- "required": [
608
- "tag"
609
- ],
610
- "additionalProperties": false
611
- },
612
- {
613
- "type": "object",
614
- "properties": {
615
- "tag": {
616
- "const": "Rituals"
617
- }
618
- },
619
- "required": [
620
- "tag"
621
- ],
622
- "additionalProperties": false
623
- },
624
- {
625
- "type": "object",
626
- "properties": {
627
- "tag": {
628
- "const": "Aspects"
629
- }
630
- },
631
- "required": [
632
- "tag"
633
- ],
634
- "additionalProperties": false
635
- },
636
- {
637
- "type": "object",
638
- "properties": {
639
- "tag": {
640
- "const": "LiturgyBotch"
641
- }
642
- },
643
- "required": [
644
- "tag"
645
- ],
646
- "additionalProperties": false
647
- },
648
- {
649
- "type": "object",
650
- "properties": {
651
- "tag": {
652
- "const": "KarmaSpecialAbilities"
653
- }
654
- },
655
- "required": [
656
- "tag"
657
- ],
658
- "additionalProperties": false
659
- },
660
- {
661
- "type": "object",
662
- "properties": {
663
- "tag": {
664
- "const": "Blessings"
665
- }
666
- },
667
- "required": [
668
- "tag"
669
- ],
670
- "additionalProperties": false
671
- },
672
- {
673
- "type": "object",
674
- "properties": {
675
- "tag": {
676
- "const": "LiturgicalChants"
677
- }
678
- },
679
- "required": [
680
- "tag"
681
- ],
682
- "additionalProperties": false
683
- },
684
- {
685
- "type": "object",
686
- "properties": {
687
- "tag": {
688
- "const": "Ceremonies"
689
- }
690
- },
691
- "required": [
692
- "tag"
693
- ],
694
- "additionalProperties": false
695
- },
696
- {
697
- "type": "object",
698
- "properties": {
699
- "tag": {
700
- "const": "SocialStatuses"
701
- }
702
- },
703
- "required": [
704
- "tag"
705
- ],
706
- "additionalProperties": false
707
- },
708
- {
709
- "type": "object",
710
- "properties": {
711
- "tag": {
712
- "const": "Poisons"
713
- }
714
- },
715
- "required": [
716
- "tag"
717
- ],
718
- "additionalProperties": false
719
- },
720
- {
721
- "type": "object",
722
- "properties": {
723
- "tag": {
724
- "const": "Diseases"
725
- }
726
- },
727
- "required": [
728
- "tag"
729
- ],
730
- "additionalProperties": false
731
- },
732
- {
733
- "type": "object",
734
- "properties": {
735
- "tag": {
736
- "const": "HealingHerbs"
737
- }
738
- },
739
- "required": [
740
- "tag"
741
- ],
742
- "additionalProperties": false
743
- },
744
- {
745
- "type": "object",
746
- "properties": {
747
- "tag": {
748
- "const": "VisibilityModifier"
749
- }
750
- },
751
- "required": [
752
- "tag"
753
- ],
754
- "additionalProperties": false
755
- },
756
- {
757
- "type": "object",
758
- "properties": {
759
- "tag": {
760
- "const": "Demons"
761
- }
762
- },
763
- "required": [
764
- "tag"
765
- ],
766
- "additionalProperties": false
767
- },
768
- {
769
- "type": "object",
770
- "properties": {
771
- "tag": {
772
- "const": "Elementals"
773
- }
774
- },
775
- "required": [
776
- "tag"
777
- ],
778
- "additionalProperties": false
779
- },
780
- {
781
- "type": "object",
782
- "properties": {
783
- "tag": {
784
- "const": "Animals"
785
- }
786
- },
787
- "required": [
788
- "tag"
789
- ],
790
- "additionalProperties": false
791
- },
792
- {
793
- "type": "object",
794
- "properties": {
795
- "tag": {
796
- "const": "Familiars"
797
- }
798
- },
799
- "required": [
800
- "tag"
801
- ],
802
- "additionalProperties": false
803
- },
804
- {
805
- "type": "object",
806
- "properties": {
807
- "tag": {
808
- "const": "AnimalSpecialAbilities"
809
- }
810
- },
811
- "required": [
812
- "tag"
813
- ],
814
- "additionalProperties": false
815
- },
816
- {
817
- "type": "object",
818
- "properties": {
819
- "tag": {
820
- "const": "EquipmentPackages"
821
- }
822
- },
823
- "required": [
824
- "tag"
825
- ],
826
- "additionalProperties": false
827
- },
828
- {
829
- "type": "object",
830
- "properties": {
831
- "tag": {
832
- "const": "Items"
833
- }
834
- },
835
- "required": [
836
- "tag"
837
- ],
838
- "additionalProperties": false
839
- },
840
- {
841
- "type": "object",
842
- "properties": {
843
- "tag": {
844
- "const": "OptionalRules"
845
- }
846
- },
847
- "required": [
848
- "tag"
849
- ],
850
- "additionalProperties": false
851
- },
852
- {
853
- "type": "object",
854
- "properties": {
855
- "tag": {
856
- "const": "ImprovementCost"
857
- },
858
- "target": {
859
- "description": "Define if the cost for attributes or skills should be defined. The\ncost for attributes start with value 9, while the cost for skills\nstart with 1 in addition to possible activation cost.",
860
- "oneOf": [
861
- {
862
- "type": "object",
863
- "properties": {
864
- "tag": {
865
- "const": "Attributes"
866
- }
867
- },
868
- "required": [
869
- "tag"
870
- ],
871
- "additionalProperties": false
872
- },
873
- {
874
- "type": "object",
875
- "properties": {
876
- "tag": {
877
- "const": "Skills"
878
- }
879
- },
880
- "required": [
881
- "tag"
882
- ],
883
- "additionalProperties": false
884
- }
885
- ]
886
- },
887
- "maximum_rating": {
888
- "description": "The highest value the improvement cost are displayed for.\n\nThe minimum maximum value should depend on what is the upper bound of\nthe range of adventure point cost that are equal across multiple\nvalues (value increases for attributes are always 15 up to (and\nincluding) value 14, while value increases for skills are always 1 to\n4, depending on the improvement cost, up to (and including) value\n12), since those ranges should be combined into a single table row.",
889
- "type": "integer",
890
- "minimum": 12
891
- }
892
- },
893
- "required": [
894
- "tag",
895
- "target",
896
- "maximum_rating"
897
- ],
898
- "additionalProperties": false
899
- }
900
- ]
901
- },
902
- "translations": {
903
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
904
- "type": "object",
905
- "patternProperties": {
906
- "^[a-z]{2}-[A-Z]{2}$": {
907
- "type": "object",
908
- "properties": {
909
- "caption": {
910
- "description": "The list's or table's caption.",
911
- "type": "string",
912
- "minLength": 1
913
- }
914
- },
915
- "required": [
916
- "caption"
917
- ],
918
- "additionalProperties": false
919
- }
920
- },
921
- "minProperties": 1,
922
- "additionalProperties": false
923
- }
924
- },
925
- "required": [
926
- "source",
927
- "translations"
928
- ],
193
+ "patternProperties": {
194
+ "^[a-z]{2}-[A-Z]{2}$": {
195
+ "$ref": "#/$defs/ReferenceListNodeTranslation"
196
+ }
197
+ },
198
+ "minProperties": 1,
929
199
  "additionalProperties": false
930
200
  }
931
201
  },
932
202
  "required": [
933
- "tag",
934
- "content"
203
+ "source",
204
+ "translations"
935
205
  ],
936
206
  "additionalProperties": false
937
207
  },
938
- "ReferenceNode": {
939
- "description": "Generate the full text for a single entry as part of this core rule's text.",
940
- "type": "object",
941
- "properties": {
942
- "tag": {
943
- "const": "DeriveOne"
208
+ "ReferenceListNodeSource": {
209
+ "oneOf": [
210
+ {
211
+ "type": "object",
212
+ "properties": {
213
+ "tag": {
214
+ "const": "Attributes"
215
+ },
216
+ "attributes": {
217
+ "type": "object",
218
+ "properties": {},
219
+ "required": [],
220
+ "additionalProperties": false
221
+ }
222
+ },
223
+ "required": [
224
+ "tag",
225
+ "attributes"
226
+ ],
227
+ "additionalProperties": false
944
228
  },
945
- "source": {
229
+ {
230
+ "type": "object",
231
+ "properties": {
232
+ "tag": {
233
+ "const": "QualityLevels"
234
+ },
235
+ "quality_levels": {
236
+ "type": "object",
237
+ "properties": {},
238
+ "required": [],
239
+ "additionalProperties": false
240
+ }
241
+ },
242
+ "required": [
243
+ "tag",
244
+ "quality_levels"
245
+ ],
246
+ "additionalProperties": false
247
+ },
248
+ {
249
+ "type": "object",
250
+ "properties": {
251
+ "tag": {
252
+ "const": "Conditions"
253
+ },
254
+ "conditions": {
255
+ "type": "object",
256
+ "properties": {},
257
+ "required": [],
258
+ "additionalProperties": false
259
+ }
260
+ },
261
+ "required": [
262
+ "tag",
263
+ "conditions"
264
+ ],
265
+ "additionalProperties": false
266
+ },
267
+ {
268
+ "type": "object",
269
+ "properties": {
270
+ "tag": {
271
+ "const": "States"
272
+ },
273
+ "states": {
274
+ "type": "object",
275
+ "properties": {},
276
+ "required": [],
277
+ "additionalProperties": false
278
+ }
279
+ },
280
+ "required": [
281
+ "tag",
282
+ "states"
283
+ ],
284
+ "additionalProperties": false
285
+ },
286
+ {
287
+ "type": "object",
288
+ "properties": {
289
+ "tag": {
290
+ "const": "ExperienceLevels"
291
+ },
292
+ "experience_levels": {
293
+ "type": "object",
294
+ "properties": {},
295
+ "required": [],
296
+ "additionalProperties": false
297
+ }
298
+ },
299
+ "required": [
300
+ "tag",
301
+ "experience_levels"
302
+ ],
303
+ "additionalProperties": false
304
+ },
305
+ {
306
+ "type": "object",
307
+ "properties": {
308
+ "tag": {
309
+ "const": "Races"
310
+ },
311
+ "races": {
312
+ "type": "object",
313
+ "properties": {},
314
+ "required": [],
315
+ "additionalProperties": false
316
+ }
317
+ },
318
+ "required": [
319
+ "tag",
320
+ "races"
321
+ ],
322
+ "additionalProperties": false
323
+ },
324
+ {
325
+ "type": "object",
326
+ "properties": {
327
+ "tag": {
328
+ "const": "Cultures"
329
+ },
330
+ "cultures": {
331
+ "type": "object",
332
+ "properties": {},
333
+ "required": [],
334
+ "additionalProperties": false
335
+ }
336
+ },
337
+ "required": [
338
+ "tag",
339
+ "cultures"
340
+ ],
341
+ "additionalProperties": false
342
+ },
343
+ {
344
+ "type": "object",
345
+ "properties": {
346
+ "tag": {
347
+ "const": "Professions"
348
+ },
349
+ "professions": {
350
+ "type": "object",
351
+ "properties": {},
352
+ "required": [],
353
+ "additionalProperties": false
354
+ }
355
+ },
356
+ "required": [
357
+ "tag",
358
+ "professions"
359
+ ],
360
+ "additionalProperties": false
361
+ },
362
+ {
363
+ "type": "object",
364
+ "properties": {
365
+ "tag": {
366
+ "const": "Advantages"
367
+ },
368
+ "advantages": {
369
+ "type": "object",
370
+ "properties": {},
371
+ "required": [],
372
+ "additionalProperties": false
373
+ }
374
+ },
375
+ "required": [
376
+ "tag",
377
+ "advantages"
378
+ ],
379
+ "additionalProperties": false
380
+ },
381
+ {
382
+ "type": "object",
383
+ "properties": {
384
+ "tag": {
385
+ "const": "Disadvantages"
386
+ },
387
+ "disadvantages": {
388
+ "type": "object",
389
+ "properties": {},
390
+ "required": [],
391
+ "additionalProperties": false
392
+ }
393
+ },
394
+ "required": [
395
+ "tag",
396
+ "disadvantages"
397
+ ],
398
+ "additionalProperties": false
399
+ },
400
+ {
401
+ "type": "object",
402
+ "properties": {
403
+ "tag": {
404
+ "const": "CombatTechniques"
405
+ },
406
+ "combat_techniques": {
407
+ "type": "object",
408
+ "properties": {},
409
+ "required": [],
410
+ "additionalProperties": false
411
+ }
412
+ },
413
+ "required": [
414
+ "tag",
415
+ "combat_techniques"
416
+ ],
417
+ "additionalProperties": false
418
+ },
419
+ {
420
+ "type": "object",
421
+ "properties": {
422
+ "tag": {
423
+ "const": "SpecialAbilities"
424
+ },
425
+ "special_abilities": {
426
+ "type": "object",
427
+ "properties": {},
428
+ "required": [],
429
+ "additionalProperties": false
430
+ }
431
+ },
432
+ "required": [
433
+ "tag",
434
+ "special_abilities"
435
+ ],
436
+ "additionalProperties": false
437
+ },
438
+ {
439
+ "type": "object",
440
+ "properties": {
441
+ "tag": {
442
+ "const": "PrimaryAttributes"
443
+ },
444
+ "primary_attributes": {
445
+ "type": "object",
446
+ "properties": {},
447
+ "required": [],
448
+ "additionalProperties": false
449
+ }
450
+ },
451
+ "required": [
452
+ "tag",
453
+ "primary_attributes"
454
+ ],
455
+ "additionalProperties": false
456
+ },
457
+ {
458
+ "type": "object",
459
+ "properties": {
460
+ "tag": {
461
+ "const": "DerivedCharacteristics"
462
+ },
463
+ "derived_characteristics": {
464
+ "type": "object",
465
+ "properties": {},
466
+ "required": [],
467
+ "additionalProperties": false
468
+ }
469
+ },
470
+ "required": [
471
+ "tag",
472
+ "derived_characteristics"
473
+ ],
474
+ "additionalProperties": false
475
+ },
476
+ {
477
+ "type": "object",
478
+ "properties": {
479
+ "tag": {
480
+ "const": "StartingAge"
481
+ },
482
+ "starting_age": {
483
+ "type": "object",
484
+ "properties": {},
485
+ "required": [],
486
+ "additionalProperties": false
487
+ }
488
+ },
489
+ "required": [
490
+ "tag",
491
+ "starting_age"
492
+ ],
493
+ "additionalProperties": false
494
+ },
495
+ {
496
+ "type": "object",
497
+ "properties": {
498
+ "tag": {
499
+ "const": "Archetypes"
500
+ },
501
+ "archetypes": {
502
+ "type": "object",
503
+ "properties": {},
504
+ "required": [],
505
+ "additionalProperties": false
506
+ }
507
+ },
508
+ "required": [
509
+ "tag",
510
+ "archetypes"
511
+ ],
512
+ "additionalProperties": false
513
+ },
514
+ {
946
515
  "type": "object",
947
516
  "properties": {
948
- "id": {
949
- "$ref": "../_Identifier.schema.json#/definitions/CoreRuleDerivableContentIdentifier"
517
+ "tag": {
518
+ "const": "RequirementsForRoutineChecks"
519
+ },
520
+ "requirements_for_routine_checks": {
521
+ "type": "object",
522
+ "properties": {},
523
+ "required": [],
524
+ "additionalProperties": false
950
525
  }
951
526
  },
952
527
  "required": [
953
- "id"
528
+ "tag",
529
+ "requirements_for_routine_checks"
954
530
  ],
955
531
  "additionalProperties": false
532
+ },
533
+ {
534
+ "type": "object",
535
+ "properties": {
536
+ "tag": {
537
+ "const": "GeneralSpecialAbilities"
538
+ },
539
+ "general_special_abilities": {
540
+ "type": "object",
541
+ "properties": {},
542
+ "required": [],
543
+ "additionalProperties": false
544
+ }
545
+ },
546
+ "required": [
547
+ "tag",
548
+ "general_special_abilities"
549
+ ],
550
+ "additionalProperties": false
551
+ },
552
+ {
553
+ "type": "object",
554
+ "properties": {
555
+ "tag": {
556
+ "const": "FatePointSpecialAbilities"
557
+ },
558
+ "fate_point_special_abilities": {
559
+ "type": "object",
560
+ "properties": {},
561
+ "required": [],
562
+ "additionalProperties": false
563
+ }
564
+ },
565
+ "required": [
566
+ "tag",
567
+ "fate_point_special_abilities"
568
+ ],
569
+ "additionalProperties": false
570
+ },
571
+ {
572
+ "type": "object",
573
+ "properties": {
574
+ "tag": {
575
+ "const": "LanguagesAndScripts"
576
+ },
577
+ "languages_and_scripts": {
578
+ "type": "object",
579
+ "properties": {},
580
+ "required": [],
581
+ "additionalProperties": false
582
+ }
583
+ },
584
+ "required": [
585
+ "tag",
586
+ "languages_and_scripts"
587
+ ],
588
+ "additionalProperties": false
589
+ },
590
+ {
591
+ "type": "object",
592
+ "properties": {
593
+ "tag": {
594
+ "const": "CloseCombatBotch"
595
+ },
596
+ "close_combat_botch": {
597
+ "type": "object",
598
+ "properties": {},
599
+ "required": [],
600
+ "additionalProperties": false
601
+ }
602
+ },
603
+ "required": [
604
+ "tag",
605
+ "close_combat_botch"
606
+ ],
607
+ "additionalProperties": false
608
+ },
609
+ {
610
+ "type": "object",
611
+ "properties": {
612
+ "tag": {
613
+ "const": "DefenseBotch"
614
+ },
615
+ "defense_botch": {
616
+ "type": "object",
617
+ "properties": {},
618
+ "required": [],
619
+ "additionalProperties": false
620
+ }
621
+ },
622
+ "required": [
623
+ "tag",
624
+ "defense_botch"
625
+ ],
626
+ "additionalProperties": false
627
+ },
628
+ {
629
+ "type": "object",
630
+ "properties": {
631
+ "tag": {
632
+ "const": "MeleeCombatTechniques"
633
+ },
634
+ "melee_combat_techniques": {
635
+ "type": "object",
636
+ "properties": {},
637
+ "required": [],
638
+ "additionalProperties": false
639
+ }
640
+ },
641
+ "required": [
642
+ "tag",
643
+ "melee_combat_techniques"
644
+ ],
645
+ "additionalProperties": false
646
+ },
647
+ {
648
+ "type": "object",
649
+ "properties": {
650
+ "tag": {
651
+ "const": "RangedCombatBotch"
652
+ },
653
+ "ranged_combat_botch": {
654
+ "type": "object",
655
+ "properties": {},
656
+ "required": [],
657
+ "additionalProperties": false
658
+ }
659
+ },
660
+ "required": [
661
+ "tag",
662
+ "ranged_combat_botch"
663
+ ],
664
+ "additionalProperties": false
665
+ },
666
+ {
667
+ "type": "object",
668
+ "properties": {
669
+ "tag": {
670
+ "const": "RangedCombatDefenseBotch"
671
+ },
672
+ "ranged_combat_defense_botch": {
673
+ "type": "object",
674
+ "properties": {},
675
+ "required": [],
676
+ "additionalProperties": false
677
+ }
678
+ },
679
+ "required": [
680
+ "tag",
681
+ "ranged_combat_defense_botch"
682
+ ],
683
+ "additionalProperties": false
684
+ },
685
+ {
686
+ "type": "object",
687
+ "properties": {
688
+ "tag": {
689
+ "const": "RangedCombatTechniques"
690
+ },
691
+ "ranged_combat_techniques": {
692
+ "type": "object",
693
+ "properties": {},
694
+ "required": [],
695
+ "additionalProperties": false
696
+ }
697
+ },
698
+ "required": [
699
+ "tag",
700
+ "ranged_combat_techniques"
701
+ ],
702
+ "additionalProperties": false
703
+ },
704
+ {
705
+ "type": "object",
706
+ "properties": {
707
+ "tag": {
708
+ "const": "CombatSpecialAbilities"
709
+ },
710
+ "combat_special_abilities": {
711
+ "type": "object",
712
+ "properties": {},
713
+ "required": [],
714
+ "additionalProperties": false
715
+ }
716
+ },
717
+ "required": [
718
+ "tag",
719
+ "combat_special_abilities"
720
+ ],
721
+ "additionalProperties": false
722
+ },
723
+ {
724
+ "type": "object",
725
+ "properties": {
726
+ "tag": {
727
+ "const": "Properties"
728
+ },
729
+ "properties": {
730
+ "type": "object",
731
+ "properties": {},
732
+ "required": [],
733
+ "additionalProperties": false
734
+ }
735
+ },
736
+ "required": [
737
+ "tag",
738
+ "properties"
739
+ ],
740
+ "additionalProperties": false
741
+ },
742
+ {
743
+ "type": "object",
744
+ "properties": {
745
+ "tag": {
746
+ "const": "SpellBotch"
747
+ },
748
+ "spell_botch": {
749
+ "type": "object",
750
+ "properties": {},
751
+ "required": [],
752
+ "additionalProperties": false
753
+ }
754
+ },
755
+ "required": [
756
+ "tag",
757
+ "spell_botch"
758
+ ],
759
+ "additionalProperties": false
760
+ },
761
+ {
762
+ "type": "object",
763
+ "properties": {
764
+ "tag": {
765
+ "const": "Services"
766
+ },
767
+ "services": {
768
+ "type": "object",
769
+ "properties": {},
770
+ "required": [],
771
+ "additionalProperties": false
772
+ }
773
+ },
774
+ "required": [
775
+ "tag",
776
+ "services"
777
+ ],
778
+ "additionalProperties": false
779
+ },
780
+ {
781
+ "type": "object",
782
+ "properties": {
783
+ "tag": {
784
+ "const": "ProtectiveAndWardingCircles"
785
+ },
786
+ "protective_and_warding_circles": {
787
+ "type": "object",
788
+ "properties": {},
789
+ "required": [],
790
+ "additionalProperties": false
791
+ }
792
+ },
793
+ "required": [
794
+ "tag",
795
+ "protective_and_warding_circles"
796
+ ],
797
+ "additionalProperties": false
798
+ },
799
+ {
800
+ "type": "object",
801
+ "properties": {
802
+ "tag": {
803
+ "const": "Elixirs"
804
+ },
805
+ "elixirs": {
806
+ "type": "object",
807
+ "properties": {},
808
+ "required": [],
809
+ "additionalProperties": false
810
+ }
811
+ },
812
+ "required": [
813
+ "tag",
814
+ "elixirs"
815
+ ],
816
+ "additionalProperties": false
817
+ },
818
+ {
819
+ "type": "object",
820
+ "properties": {
821
+ "tag": {
822
+ "const": "StaffEnchantments"
823
+ },
824
+ "staff_enchantments": {
825
+ "type": "object",
826
+ "properties": {},
827
+ "required": [],
828
+ "additionalProperties": false
829
+ }
830
+ },
831
+ "required": [
832
+ "tag",
833
+ "staff_enchantments"
834
+ ],
835
+ "additionalProperties": false
836
+ },
837
+ {
838
+ "type": "object",
839
+ "properties": {
840
+ "tag": {
841
+ "const": "FamiliarsTricks"
842
+ },
843
+ "familiars_tricks": {
844
+ "type": "object",
845
+ "properties": {},
846
+ "required": [],
847
+ "additionalProperties": false
848
+ }
849
+ },
850
+ "required": [
851
+ "tag",
852
+ "familiars_tricks"
853
+ ],
854
+ "additionalProperties": false
855
+ },
856
+ {
857
+ "type": "object",
858
+ "properties": {
859
+ "tag": {
860
+ "const": "Curses"
861
+ },
862
+ "curses": {
863
+ "type": "object",
864
+ "properties": {},
865
+ "required": [],
866
+ "additionalProperties": false
867
+ }
868
+ },
869
+ "required": [
870
+ "tag",
871
+ "curses"
872
+ ],
873
+ "additionalProperties": false
874
+ },
875
+ {
876
+ "type": "object",
877
+ "properties": {
878
+ "tag": {
879
+ "const": "ElvenMagicalSongs"
880
+ },
881
+ "elven_magical_songs": {
882
+ "type": "object",
883
+ "properties": {},
884
+ "required": [],
885
+ "additionalProperties": false
886
+ }
887
+ },
888
+ "required": [
889
+ "tag",
890
+ "elven_magical_songs"
891
+ ],
892
+ "additionalProperties": false
893
+ },
894
+ {
895
+ "type": "object",
896
+ "properties": {
897
+ "tag": {
898
+ "const": "MagicalSpecialAbilities"
899
+ },
900
+ "magical_special_abilities": {
901
+ "type": "object",
902
+ "properties": {},
903
+ "required": [],
904
+ "additionalProperties": false
905
+ }
906
+ },
907
+ "required": [
908
+ "tag",
909
+ "magical_special_abilities"
910
+ ],
911
+ "additionalProperties": false
912
+ },
913
+ {
914
+ "type": "object",
915
+ "properties": {
916
+ "tag": {
917
+ "const": "Cantrips"
918
+ },
919
+ "cantrips": {
920
+ "type": "object",
921
+ "properties": {},
922
+ "required": [],
923
+ "additionalProperties": false
924
+ }
925
+ },
926
+ "required": [
927
+ "tag",
928
+ "cantrips"
929
+ ],
930
+ "additionalProperties": false
931
+ },
932
+ {
933
+ "type": "object",
934
+ "properties": {
935
+ "tag": {
936
+ "const": "Spells"
937
+ },
938
+ "spells": {
939
+ "type": "object",
940
+ "properties": {},
941
+ "required": [],
942
+ "additionalProperties": false
943
+ }
944
+ },
945
+ "required": [
946
+ "tag",
947
+ "spells"
948
+ ],
949
+ "additionalProperties": false
950
+ },
951
+ {
952
+ "type": "object",
953
+ "properties": {
954
+ "tag": {
955
+ "const": "Rituals"
956
+ },
957
+ "rituals": {
958
+ "type": "object",
959
+ "properties": {},
960
+ "required": [],
961
+ "additionalProperties": false
962
+ }
963
+ },
964
+ "required": [
965
+ "tag",
966
+ "rituals"
967
+ ],
968
+ "additionalProperties": false
969
+ },
970
+ {
971
+ "type": "object",
972
+ "properties": {
973
+ "tag": {
974
+ "const": "Aspects"
975
+ },
976
+ "aspects": {
977
+ "type": "object",
978
+ "properties": {},
979
+ "required": [],
980
+ "additionalProperties": false
981
+ }
982
+ },
983
+ "required": [
984
+ "tag",
985
+ "aspects"
986
+ ],
987
+ "additionalProperties": false
988
+ },
989
+ {
990
+ "type": "object",
991
+ "properties": {
992
+ "tag": {
993
+ "const": "LiturgyBotch"
994
+ },
995
+ "liturgy_botch": {
996
+ "type": "object",
997
+ "properties": {},
998
+ "required": [],
999
+ "additionalProperties": false
1000
+ }
1001
+ },
1002
+ "required": [
1003
+ "tag",
1004
+ "liturgy_botch"
1005
+ ],
1006
+ "additionalProperties": false
1007
+ },
1008
+ {
1009
+ "type": "object",
1010
+ "properties": {
1011
+ "tag": {
1012
+ "const": "KarmaSpecialAbilities"
1013
+ },
1014
+ "karma_special_abilities": {
1015
+ "type": "object",
1016
+ "properties": {},
1017
+ "required": [],
1018
+ "additionalProperties": false
1019
+ }
1020
+ },
1021
+ "required": [
1022
+ "tag",
1023
+ "karma_special_abilities"
1024
+ ],
1025
+ "additionalProperties": false
1026
+ },
1027
+ {
1028
+ "type": "object",
1029
+ "properties": {
1030
+ "tag": {
1031
+ "const": "Blessings"
1032
+ },
1033
+ "blessings": {
1034
+ "type": "object",
1035
+ "properties": {},
1036
+ "required": [],
1037
+ "additionalProperties": false
1038
+ }
1039
+ },
1040
+ "required": [
1041
+ "tag",
1042
+ "blessings"
1043
+ ],
1044
+ "additionalProperties": false
1045
+ },
1046
+ {
1047
+ "type": "object",
1048
+ "properties": {
1049
+ "tag": {
1050
+ "const": "LiturgicalChants"
1051
+ },
1052
+ "liturgical_chants": {
1053
+ "type": "object",
1054
+ "properties": {},
1055
+ "required": [],
1056
+ "additionalProperties": false
1057
+ }
1058
+ },
1059
+ "required": [
1060
+ "tag",
1061
+ "liturgical_chants"
1062
+ ],
1063
+ "additionalProperties": false
1064
+ },
1065
+ {
1066
+ "type": "object",
1067
+ "properties": {
1068
+ "tag": {
1069
+ "const": "Ceremonies"
1070
+ },
1071
+ "ceremonies": {
1072
+ "type": "object",
1073
+ "properties": {},
1074
+ "required": [],
1075
+ "additionalProperties": false
1076
+ }
1077
+ },
1078
+ "required": [
1079
+ "tag",
1080
+ "ceremonies"
1081
+ ],
1082
+ "additionalProperties": false
1083
+ },
1084
+ {
1085
+ "type": "object",
1086
+ "properties": {
1087
+ "tag": {
1088
+ "const": "SocialStatuses"
1089
+ },
1090
+ "social_statuses": {
1091
+ "type": "object",
1092
+ "properties": {},
1093
+ "required": [],
1094
+ "additionalProperties": false
1095
+ }
1096
+ },
1097
+ "required": [
1098
+ "tag",
1099
+ "social_statuses"
1100
+ ],
1101
+ "additionalProperties": false
1102
+ },
1103
+ {
1104
+ "type": "object",
1105
+ "properties": {
1106
+ "tag": {
1107
+ "const": "Poisons"
1108
+ },
1109
+ "poisons": {
1110
+ "type": "object",
1111
+ "properties": {},
1112
+ "required": [],
1113
+ "additionalProperties": false
1114
+ }
1115
+ },
1116
+ "required": [
1117
+ "tag",
1118
+ "poisons"
1119
+ ],
1120
+ "additionalProperties": false
1121
+ },
1122
+ {
1123
+ "type": "object",
1124
+ "properties": {
1125
+ "tag": {
1126
+ "const": "Diseases"
1127
+ },
1128
+ "diseases": {
1129
+ "type": "object",
1130
+ "properties": {},
1131
+ "required": [],
1132
+ "additionalProperties": false
1133
+ }
1134
+ },
1135
+ "required": [
1136
+ "tag",
1137
+ "diseases"
1138
+ ],
1139
+ "additionalProperties": false
1140
+ },
1141
+ {
1142
+ "type": "object",
1143
+ "properties": {
1144
+ "tag": {
1145
+ "const": "HealingHerbs"
1146
+ },
1147
+ "healing_herbs": {
1148
+ "type": "object",
1149
+ "properties": {},
1150
+ "required": [],
1151
+ "additionalProperties": false
1152
+ }
1153
+ },
1154
+ "required": [
1155
+ "tag",
1156
+ "healing_herbs"
1157
+ ],
1158
+ "additionalProperties": false
1159
+ },
1160
+ {
1161
+ "type": "object",
1162
+ "properties": {
1163
+ "tag": {
1164
+ "const": "VisibilityModifier"
1165
+ },
1166
+ "visibility_modifier": {
1167
+ "type": "object",
1168
+ "properties": {},
1169
+ "required": [],
1170
+ "additionalProperties": false
1171
+ }
1172
+ },
1173
+ "required": [
1174
+ "tag",
1175
+ "visibility_modifier"
1176
+ ],
1177
+ "additionalProperties": false
1178
+ },
1179
+ {
1180
+ "type": "object",
1181
+ "properties": {
1182
+ "tag": {
1183
+ "const": "Demons"
1184
+ },
1185
+ "demons": {
1186
+ "type": "object",
1187
+ "properties": {},
1188
+ "required": [],
1189
+ "additionalProperties": false
1190
+ }
1191
+ },
1192
+ "required": [
1193
+ "tag",
1194
+ "demons"
1195
+ ],
1196
+ "additionalProperties": false
1197
+ },
1198
+ {
1199
+ "type": "object",
1200
+ "properties": {
1201
+ "tag": {
1202
+ "const": "Elementals"
1203
+ },
1204
+ "elementals": {
1205
+ "type": "object",
1206
+ "properties": {},
1207
+ "required": [],
1208
+ "additionalProperties": false
1209
+ }
1210
+ },
1211
+ "required": [
1212
+ "tag",
1213
+ "elementals"
1214
+ ],
1215
+ "additionalProperties": false
1216
+ },
1217
+ {
1218
+ "type": "object",
1219
+ "properties": {
1220
+ "tag": {
1221
+ "const": "Animals"
1222
+ },
1223
+ "animals": {
1224
+ "type": "object",
1225
+ "properties": {},
1226
+ "required": [],
1227
+ "additionalProperties": false
1228
+ }
1229
+ },
1230
+ "required": [
1231
+ "tag",
1232
+ "animals"
1233
+ ],
1234
+ "additionalProperties": false
1235
+ },
1236
+ {
1237
+ "type": "object",
1238
+ "properties": {
1239
+ "tag": {
1240
+ "const": "Familiars"
1241
+ },
1242
+ "familiars": {
1243
+ "type": "object",
1244
+ "properties": {},
1245
+ "required": [],
1246
+ "additionalProperties": false
1247
+ }
1248
+ },
1249
+ "required": [
1250
+ "tag",
1251
+ "familiars"
1252
+ ],
1253
+ "additionalProperties": false
1254
+ },
1255
+ {
1256
+ "type": "object",
1257
+ "properties": {
1258
+ "tag": {
1259
+ "const": "AnimalSpecialAbilities"
1260
+ },
1261
+ "animal_special_abilities": {
1262
+ "type": "object",
1263
+ "properties": {},
1264
+ "required": [],
1265
+ "additionalProperties": false
1266
+ }
1267
+ },
1268
+ "required": [
1269
+ "tag",
1270
+ "animal_special_abilities"
1271
+ ],
1272
+ "additionalProperties": false
1273
+ },
1274
+ {
1275
+ "type": "object",
1276
+ "properties": {
1277
+ "tag": {
1278
+ "const": "EquipmentPackages"
1279
+ },
1280
+ "equipment_packages": {
1281
+ "type": "object",
1282
+ "properties": {},
1283
+ "required": [],
1284
+ "additionalProperties": false
1285
+ }
1286
+ },
1287
+ "required": [
1288
+ "tag",
1289
+ "equipment_packages"
1290
+ ],
1291
+ "additionalProperties": false
1292
+ },
1293
+ {
1294
+ "type": "object",
1295
+ "properties": {
1296
+ "tag": {
1297
+ "const": "Items"
1298
+ },
1299
+ "items": {
1300
+ "type": "object",
1301
+ "properties": {},
1302
+ "required": [],
1303
+ "additionalProperties": false
1304
+ }
1305
+ },
1306
+ "required": [
1307
+ "tag",
1308
+ "items"
1309
+ ],
1310
+ "additionalProperties": false
1311
+ },
1312
+ {
1313
+ "type": "object",
1314
+ "properties": {
1315
+ "tag": {
1316
+ "const": "OptionalRules"
1317
+ },
1318
+ "optional_rules": {
1319
+ "type": "object",
1320
+ "properties": {},
1321
+ "required": [],
1322
+ "additionalProperties": false
1323
+ }
1324
+ },
1325
+ "required": [
1326
+ "tag",
1327
+ "optional_rules"
1328
+ ],
1329
+ "additionalProperties": false
1330
+ },
1331
+ {
1332
+ "type": "object",
1333
+ "properties": {
1334
+ "tag": {
1335
+ "const": "ImprovementCost"
1336
+ },
1337
+ "improvement_cost": {
1338
+ "$ref": "#/$defs/ReferenceListNodeImprovementCostSource"
1339
+ }
1340
+ },
1341
+ "required": [
1342
+ "tag",
1343
+ "improvement_cost"
1344
+ ],
1345
+ "additionalProperties": false
1346
+ }
1347
+ ]
1348
+ },
1349
+ "ReferenceListNodeImprovementCostSource": {
1350
+ "type": "object",
1351
+ "properties": {
1352
+ "target": {
1353
+ "description": "Define if the cost for attributes or skills should be defined. The\ncost for attributes start with value 9, while the cost for skills\nstart with 1 in addition to possible activation cost.",
1354
+ "$ref": "#/$defs/ReferenceListNodeImprovementCostSourceTarget"
1355
+ },
1356
+ "maximum_rating": {
1357
+ "description": "The highest value the improvement cost are displayed for.\n\nThe minimum maximum value should depend on what is the upper bound of\nthe range of adventure point cost that are equal across multiple\nvalues (value increases for attributes are always 15 up to (and\nincluding) value 14, while value increases for skills are always 1 to\n4, depending on the improvement cost, up to (and including) value\n12), since those ranges should be combined into a single table row.",
1358
+ "type": "integer",
1359
+ "minimum": 12
1360
+ }
1361
+ },
1362
+ "required": [
1363
+ "target",
1364
+ "maximum_rating"
1365
+ ],
1366
+ "additionalProperties": false
1367
+ },
1368
+ "ReferenceListNodeImprovementCostSourceTarget": {
1369
+ "enum": [
1370
+ "Attributes",
1371
+ "Skills"
1372
+ ]
1373
+ },
1374
+ "ReferenceListNodeTranslation": {
1375
+ "type": "object",
1376
+ "properties": {
1377
+ "text": {
1378
+ "description": "Markdown-formatted text.",
1379
+ "$ref": "../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
1380
+ }
1381
+ },
1382
+ "required": [
1383
+ "text"
1384
+ ],
1385
+ "additionalProperties": false
1386
+ },
1387
+ "ReferenceNode": {
1388
+ "description": "Generate the full text for a single entry as part of this core rule's text.",
1389
+ "type": "object",
1390
+ "properties": {
1391
+ "id": {
1392
+ "$ref": "../_Identifier.schema.json#/$defs/CoreRuleDerivableContentIdentifier"
956
1393
  }
957
1394
  },
958
1395
  "required": [
959
- "tag",
960
- "source"
1396
+ "id"
961
1397
  ],
962
1398
  "additionalProperties": false
963
1399
  }