optolith-database-schema 0.1.4 → 0.1.7

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 (425) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/lib/config.d.ts +228 -0
  3. package/lib/config.js +224 -0
  4. package/lib/main.d.ts +16 -0
  5. package/lib/main.js +111 -1
  6. package/lib/types/Advantage.d.ts +7 -3
  7. package/lib/types/Advantage.js +2 -1
  8. package/lib/types/ArcaneBardTradition.d.ts +3 -2
  9. package/lib/types/ArcaneBardTradition.js +2 -1
  10. package/lib/types/ArcaneDancerTradition.d.ts +3 -2
  11. package/lib/types/ArcaneDancerTradition.js +2 -1
  12. package/lib/types/Aspect.d.ts +1 -0
  13. package/lib/types/Aspect.js +2 -1
  14. package/lib/types/Attribute.d.ts +2 -1
  15. package/lib/types/Attribute.js +3 -1
  16. package/lib/types/Blessing.d.ts +4 -3
  17. package/lib/types/Blessing.js +2 -1
  18. package/lib/types/Cantrip.d.ts +9 -13
  19. package/lib/types/Cantrip.js +2 -1
  20. package/lib/types/Ceremony.d.ts +9 -8
  21. package/lib/types/Ceremony.js +2 -1
  22. package/lib/types/CombatTechnique_Close.d.ts +4 -3
  23. package/lib/types/CombatTechnique_Close.js +2 -1
  24. package/lib/types/CombatTechnique_Ranged.d.ts +4 -3
  25. package/lib/types/CombatTechnique_Ranged.js +2 -1
  26. package/lib/types/Condition.d.ts +3 -2
  27. package/lib/types/Condition.js +2 -1
  28. package/lib/types/Continent.d.ts +1 -0
  29. package/lib/types/Continent.js +2 -1
  30. package/lib/types/Culture.d.ts +5 -4
  31. package/lib/types/Culture.js +2 -1
  32. package/lib/types/DerivedCharacteristic.d.ts +4 -3
  33. package/lib/types/DerivedCharacteristic.js +2 -1
  34. package/lib/types/Disadvantage.d.ts +7 -3
  35. package/lib/types/Disadvantage.js +2 -1
  36. package/lib/types/Element.d.ts +1 -0
  37. package/lib/types/Element.js +2 -1
  38. package/lib/types/ExperienceLevel.d.ts +1 -0
  39. package/lib/types/ExperienceLevel.js +2 -1
  40. package/lib/types/EyeColor.d.ts +1 -0
  41. package/lib/types/EyeColor.js +2 -1
  42. package/lib/types/FamiliarsTrick.d.ts +4 -3
  43. package/lib/types/FamiliarsTrick.js +2 -1
  44. package/lib/types/FamiliarsTrick_AnimalType.d.ts +1 -0
  45. package/lib/types/FamiliarsTrick_AnimalType.js +2 -1
  46. package/lib/types/HairColor.d.ts +1 -0
  47. package/lib/types/HairColor.js +2 -1
  48. package/lib/types/Lessons_Curriculum.d.ts +3 -2
  49. package/lib/types/Lessons_Curriculum.js +2 -1
  50. package/lib/types/Lessons_Guideline.d.ts +1 -0
  51. package/lib/types/Lessons_Guideline.js +2 -1
  52. package/lib/types/LiturgicalChant.d.ts +9 -8
  53. package/lib/types/LiturgicalChant.js +2 -1
  54. package/lib/types/Locale.d.ts +3 -2
  55. package/lib/types/Locale.js +2 -1
  56. package/lib/types/MetaCondition.d.ts +3 -2
  57. package/lib/types/MetaCondition.js +2 -1
  58. package/lib/types/PactCategory.d.ts +3 -2
  59. package/lib/types/PactCategory.js +2 -1
  60. package/lib/types/Patron.d.ts +2 -1
  61. package/lib/types/Patron.js +2 -1
  62. package/lib/types/PatronCategory.d.ts +1 -0
  63. package/lib/types/PatronCategory.js +2 -1
  64. package/lib/types/Property.d.ts +2 -1
  65. package/lib/types/Property.js +2 -1
  66. package/lib/types/Race.d.ts +4 -3
  67. package/lib/types/Race.js +2 -1
  68. package/lib/types/Region.d.ts +1 -0
  69. package/lib/types/Region.js +2 -1
  70. package/lib/types/Ritual.d.ts +9 -8
  71. package/lib/types/Ritual.js +2 -1
  72. package/lib/types/Service.d.ts +3 -2
  73. package/lib/types/Service.js +2 -1
  74. package/lib/types/SexPractice.d.ts +2 -1
  75. package/lib/types/SexPractice.js +2 -1
  76. package/lib/types/Skill.d.ts +5 -4
  77. package/lib/types/Skill.js +2 -1
  78. package/lib/types/SkillGroup.d.ts +2 -1
  79. package/lib/types/SkillGroup.js +2 -1
  80. package/lib/types/SkillModificationLevel.d.ts +1 -0
  81. package/lib/types/SkillModificationLevel.js +2 -0
  82. package/lib/types/SocialStatus.d.ts +1 -0
  83. package/lib/types/SocialStatus.js +2 -1
  84. package/lib/types/Spell.d.ts +9 -8
  85. package/lib/types/Spell.js +2 -1
  86. package/lib/types/State.d.ts +3 -2
  87. package/lib/types/State.js +2 -1
  88. package/lib/types/TargetCategory.d.ts +1 -0
  89. package/lib/types/TargetCategory.js +2 -1
  90. package/lib/types/_Activatable.d.ts +583 -15
  91. package/lib/types/_Activatable.js +44 -0
  92. package/lib/types/_ActivatableSkill.d.ts +1 -1
  93. package/lib/types/_Enhancements.d.ts +4 -4
  94. package/lib/types/_Identifier.d.ts +127 -96
  95. package/lib/types/_Identifier.js +110 -88
  96. package/lib/types/_Influence.d.ts +4 -2
  97. package/lib/types/_Prerequisite.d.ts +93 -397
  98. package/lib/types/_Prerequisite.js +1 -136
  99. package/lib/types/magicalActions/AnimistPower.d.ts +11 -5
  100. package/lib/types/magicalActions/AnimistPower.js +2 -1
  101. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +1 -0
  102. package/lib/types/magicalActions/AnimistPower_Tribe.js +2 -1
  103. package/lib/types/magicalActions/Curse.d.ts +5 -4
  104. package/lib/types/magicalActions/Curse.js +2 -1
  105. package/lib/types/magicalActions/DominationRitual.d.ts +5 -4
  106. package/lib/types/magicalActions/DominationRitual.js +2 -1
  107. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +7 -6
  108. package/lib/types/magicalActions/ElvenMagicalSong.js +2 -1
  109. package/lib/types/magicalActions/GeodeRitual.d.ts +8 -7
  110. package/lib/types/magicalActions/GeodeRitual.js +2 -1
  111. package/lib/types/magicalActions/JesterTrick.d.ts +6 -5
  112. package/lib/types/magicalActions/JesterTrick.js +2 -1
  113. package/lib/types/magicalActions/MagicalDance.d.ts +7 -6
  114. package/lib/types/magicalActions/MagicalDance.js +2 -1
  115. package/lib/types/magicalActions/MagicalMelody.d.ts +8 -7
  116. package/lib/types/magicalActions/MagicalMelody.js +2 -1
  117. package/lib/types/magicalActions/MagicalRune.d.ts +6 -5
  118. package/lib/types/magicalActions/MagicalRune.js +2 -1
  119. package/lib/types/magicalActions/ZibiljaRitual.d.ts +6 -5
  120. package/lib/types/magicalActions/ZibiljaRitual.js +2 -1
  121. package/lib/types/prerequisites/ConditionalPrerequisites.d.ts +10 -0
  122. package/lib/types/prerequisites/ConditionalPrerequisites.js +1 -0
  123. package/lib/types/prerequisites/DisplayOption.d.ts +19 -0
  124. package/lib/types/prerequisites/DisplayOption.js +1 -0
  125. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +32 -0
  126. package/lib/types/prerequisites/PrerequisiteGroups.js +1 -0
  127. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +95 -0
  128. package/lib/types/prerequisites/single/ActivatablePrerequisite.js +1 -0
  129. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +28 -0
  130. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.js +1 -0
  131. package/lib/types/prerequisites/single/CommonSuggestedByRCPPrerequisite.d.ts +3 -0
  132. package/lib/types/prerequisites/single/CommonSuggestedByRCPPrerequisite.js +1 -0
  133. package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +11 -0
  134. package/lib/types/prerequisites/single/CulturePrerequisite.js +1 -0
  135. package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +36 -0
  136. package/lib/types/prerequisites/single/EnhancementPrerequisite.js +1 -0
  137. package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +18 -0
  138. package/lib/types/prerequisites/single/InfluencePrerequisite.js +1 -0
  139. package/lib/types/prerequisites/single/PactPrerequisite.d.ts +32 -0
  140. package/lib/types/prerequisites/single/PactPrerequisite.js +1 -0
  141. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +22 -0
  142. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +1 -0
  143. package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +13 -0
  144. package/lib/types/prerequisites/single/PublicationPrerequisite.js +1 -0
  145. package/lib/types/prerequisites/single/RacePrerequisite.d.ts +14 -0
  146. package/lib/types/prerequisites/single/RacePrerequisite.js +1 -0
  147. package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +99 -0
  148. package/lib/types/prerequisites/single/RatedPrerequisite.js +1 -0
  149. package/lib/types/prerequisites/single/RulePrerequisite.d.ts +10 -0
  150. package/lib/types/prerequisites/single/RulePrerequisite.js +1 -0
  151. package/lib/types/prerequisites/single/SexPrerequisite.d.ts +11 -0
  152. package/lib/types/prerequisites/single/SexPrerequisite.js +1 -0
  153. package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +16 -0
  154. package/lib/types/prerequisites/single/SocialStatusPrerequisite.js +1 -0
  155. package/lib/types/prerequisites/single/StatePrerequisite.d.ts +11 -0
  156. package/lib/types/prerequisites/single/StatePrerequisite.js +1 -0
  157. package/lib/types/prerequisites/single/TextPrerequisite.d.ts +31 -0
  158. package/lib/types/prerequisites/single/TextPrerequisite.js +1 -0
  159. package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +33 -0
  160. package/lib/types/prerequisites/single/TraditionPrerequisite.js +1 -0
  161. package/lib/types/rule/FocusRule.d.ts +3 -2
  162. package/lib/types/rule/FocusRule.js +2 -1
  163. package/lib/types/rule/FocusRule_Subject.d.ts +1 -0
  164. package/lib/types/rule/FocusRule_Subject.js +2 -1
  165. package/lib/types/rule/OptionalRule.d.ts +3 -2
  166. package/lib/types/rule/OptionalRule.js +2 -1
  167. package/lib/types/source/Publication.d.ts +87 -0
  168. package/lib/types/source/Publication.js +2 -1
  169. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +11 -3
  170. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +2 -1
  171. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +7 -3
  172. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +2 -1
  173. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +7 -3
  174. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +2 -1
  175. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +7 -3
  176. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +2 -1
  177. package/lib/types/specialAbility/AncestorGlyph.d.ts +7 -3
  178. package/lib/types/specialAbility/AncestorGlyph.js +2 -1
  179. package/lib/types/specialAbility/BlessedTradition.d.ts +9 -5
  180. package/lib/types/specialAbility/BlessedTradition.js +2 -1
  181. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +7 -3
  182. package/lib/types/specialAbility/BrawlingSpecialAbility.js +2 -1
  183. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +7 -3
  184. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +2 -1
  185. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +11 -3
  186. package/lib/types/specialAbility/CombatSpecialAbility.js +2 -1
  187. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +7 -3
  188. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +2 -1
  189. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +10 -6
  190. package/lib/types/specialAbility/CommandSpecialAbility.js +3 -2
  191. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +7 -3
  192. package/lib/types/specialAbility/FamiliarSpecialAbility.js +2 -1
  193. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +7 -3
  194. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +2 -1
  195. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +7 -3
  196. package/lib/types/specialAbility/FatePointSpecialAbility.js +2 -1
  197. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +7 -3
  198. package/lib/types/specialAbility/GeneralSpecialAbility.js +2 -1
  199. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +7 -3
  200. package/lib/types/specialAbility/KarmaSpecialAbility.js +2 -1
  201. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +10 -6
  202. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +3 -2
  203. package/lib/types/specialAbility/LycantropicGift.d.ts +7 -3
  204. package/lib/types/specialAbility/LycantropicGift.js +2 -1
  205. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +7 -3
  206. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +2 -1
  207. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +7 -3
  208. package/lib/types/specialAbility/MagicalSpecialAbility.js +2 -1
  209. package/lib/types/specialAbility/MagicalTradition.d.ts +8 -4
  210. package/lib/types/specialAbility/MagicalTradition.js +2 -1
  211. package/lib/types/specialAbility/PactGift.d.ts +9 -5
  212. package/lib/types/specialAbility/PactGift.js +2 -1
  213. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +7 -3
  214. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +2 -1
  215. package/lib/types/specialAbility/Sermon.d.ts +7 -3
  216. package/lib/types/specialAbility/Sermon.js +2 -1
  217. package/lib/types/specialAbility/SexSpecialAbility.d.ts +7 -3
  218. package/lib/types/specialAbility/SexSpecialAbility.js +2 -1
  219. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +7 -3
  220. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +2 -1
  221. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +10 -6
  222. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +3 -2
  223. package/lib/types/specialAbility/VampiricGift.d.ts +7 -3
  224. package/lib/types/specialAbility/VampiricGift.js +2 -1
  225. package/lib/types/specialAbility/Vision.d.ts +7 -3
  226. package/lib/types/specialAbility/Vision.js +2 -1
  227. package/lib/types/specialAbility/sub/Language.d.ts +5 -4
  228. package/lib/types/specialAbility/sub/Language.js +2 -1
  229. package/lib/types/specialAbility/sub/Script.d.ts +3 -2
  230. package/lib/types/specialAbility/sub/Script.js +2 -1
  231. package/lib/types/specialAbility/sub/TradeSecret.d.ts +5 -2
  232. package/lib/types/specialAbility/sub/TradeSecret.js +2 -1
  233. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +19 -3
  234. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +2 -1
  235. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +19 -3
  236. package/lib/types/traditionArtifacts/AttireEnchantment.js +2 -1
  237. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +19 -3
  238. package/lib/types/traditionArtifacts/BowlEnchantment.js +2 -1
  239. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +19 -3
  240. package/lib/types/traditionArtifacts/CauldronEnchantment.js +2 -1
  241. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +19 -3
  242. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +2 -1
  243. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +19 -3
  244. package/lib/types/traditionArtifacts/DaggerRitual.js +2 -1
  245. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +19 -3
  246. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +2 -1
  247. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +19 -3
  248. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +2 -1
  249. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +19 -3
  250. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +2 -1
  251. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +19 -3
  252. package/lib/types/traditionArtifacts/OrbEnchantment.js +2 -1
  253. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +19 -3
  254. package/lib/types/traditionArtifacts/RingEnchantment.js +2 -1
  255. package/lib/types/traditionArtifacts/SickleRitual.d.ts +19 -3
  256. package/lib/types/traditionArtifacts/SickleRitual.js +2 -1
  257. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +19 -3
  258. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +2 -1
  259. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +19 -3
  260. package/lib/types/traditionArtifacts/StaffEnchantment.js +2 -1
  261. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +19 -3
  262. package/lib/types/traditionArtifacts/ToyEnchantment.js +2 -1
  263. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +19 -3
  264. package/lib/types/traditionArtifacts/Trinkhornzauber.js +2 -1
  265. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +19 -3
  266. package/lib/types/traditionArtifacts/WandEnchantment.js +2 -1
  267. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +19 -3
  268. package/lib/types/traditionArtifacts/WeaponEnchantment.js +2 -1
  269. package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +1 -0
  270. package/lib/types/traditionArtifacts/sub/AnimalShape.js +2 -1
  271. package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +1 -0
  272. package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +2 -1
  273. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +4 -3
  274. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +3 -2
  275. package/lib/types/traditionArtifacts/sub/Brew.d.ts +1 -0
  276. package/lib/types/traditionArtifacts/sub/Brew.js +2 -1
  277. package/lib/validation/schema.d.ts +10 -0
  278. package/lib/validation/schema.js +20 -0
  279. package/package.json +4 -2
  280. package/schema/Advantage.schema.json +7 -1
  281. package/schema/ArcaneBardTradition.schema.json +2 -2
  282. package/schema/ArcaneDancerTradition.schema.json +2 -2
  283. package/schema/Aspect.schema.json +1 -1
  284. package/schema/Attribute.schema.json +1 -1
  285. package/schema/Blessing.schema.json +1 -1
  286. package/schema/Cantrip.schema.json +5 -10
  287. package/schema/Ceremony.schema.json +2 -2
  288. package/schema/CombatTechnique_Close.schema.json +1 -1
  289. package/schema/CombatTechnique_Ranged.schema.json +1 -1
  290. package/schema/Condition.schema.json +1 -1
  291. package/schema/Continent.schema.json +1 -1
  292. package/schema/Culture.schema.json +1 -1
  293. package/schema/DerivedCharacteristic.schema.json +2 -2
  294. package/schema/Disadvantage.schema.json +7 -1
  295. package/schema/Element.schema.json +1 -1
  296. package/schema/ExperienceLevel.schema.json +1 -1
  297. package/schema/EyeColor.schema.json +1 -1
  298. package/schema/FamiliarsTrick.schema.json +1 -1
  299. package/schema/FamiliarsTrick_AnimalType.schema.json +1 -1
  300. package/schema/HairColor.schema.json +1 -1
  301. package/schema/Lessons_Curriculum.schema.json +1 -1
  302. package/schema/Lessons_Guideline.schema.json +1 -1
  303. package/schema/LiturgicalChant.schema.json +2 -2
  304. package/schema/Locale.schema.json +1 -1
  305. package/schema/MetaCondition.schema.json +1 -1
  306. package/schema/PactCategory.schema.json +1 -1
  307. package/schema/Patron.schema.json +1 -1
  308. package/schema/PatronCategory.schema.json +1 -1
  309. package/schema/Property.schema.json +1 -1
  310. package/schema/Race.schema.json +1 -1
  311. package/schema/Region.schema.json +1 -1
  312. package/schema/Ritual.schema.json +2 -2
  313. package/schema/Service.schema.json +1 -1
  314. package/schema/SexPractice.schema.json +1 -1
  315. package/schema/Skill.schema.json +1 -1
  316. package/schema/SkillGroup.schema.json +1 -1
  317. package/schema/SkillModificationLevel.schema.json +1 -1
  318. package/schema/SocialStatus.schema.json +1 -1
  319. package/schema/Spell.schema.json +2 -2
  320. package/schema/State.schema.json +1 -1
  321. package/schema/TargetCategory.schema.json +1 -1
  322. package/schema/_Activatable.schema.json +1002 -44
  323. package/schema/_ActivatableSkill.schema.json +1 -1
  324. package/schema/_CommonnessRatedAdvantageDisadvantage.schema.json +1 -1
  325. package/schema/_Enhancements.schema.json +2 -2
  326. package/schema/_I18n.schema.json +1 -1
  327. package/schema/_Identifier.schema.json +326 -189
  328. package/schema/_ImprovementCost.schema.json +1 -1
  329. package/schema/_Influence.schema.json +5 -1
  330. package/schema/_Prerequisite.schema.json +888 -676
  331. package/schema/_Sex.schema.json +1 -1
  332. package/schema/_SkillCheck.schema.json +1 -1
  333. package/schema/magicalActions/AnimistPower.schema.json +5 -1
  334. package/schema/magicalActions/AnimistPower_Tribe.schema.json +1 -1
  335. package/schema/magicalActions/Curse.schema.json +1 -1
  336. package/schema/magicalActions/DominationRitual.schema.json +1 -1
  337. package/schema/magicalActions/ElvenMagicalSong.schema.json +1 -1
  338. package/schema/magicalActions/GeodeRitual.schema.json +2 -2
  339. package/schema/magicalActions/JesterTrick.schema.json +1 -1
  340. package/schema/magicalActions/MagicalDance.schema.json +1 -1
  341. package/schema/magicalActions/MagicalMelody.schema.json +1 -1
  342. package/schema/magicalActions/MagicalRune.schema.json +1 -1
  343. package/schema/magicalActions/ZibiljaRitual.schema.json +1 -1
  344. package/schema/magicalActions/_MusicTradition.schema.json +1 -1
  345. package/schema/magicalActions/_SkillReference.schema.json +1 -1
  346. package/schema/prerequisites/ConditionalPrerequisites.schema.json +15 -0
  347. package/schema/prerequisites/DisplayOption.schema.json +48 -0
  348. package/schema/prerequisites/PrerequisiteGroups.schema.json +246 -0
  349. package/schema/prerequisites/single/ActivatablePrerequisite.schema.json +142 -0
  350. package/schema/prerequisites/single/AnimistPowerPrerequisite.schema.json +40 -0
  351. package/schema/prerequisites/single/CommonSuggestedByRCPPrerequisite.schema.json +18 -0
  352. package/schema/prerequisites/single/CulturePrerequisite.schema.json +27 -0
  353. package/schema/prerequisites/single/EnhancementPrerequisite.schema.json +54 -0
  354. package/schema/prerequisites/single/InfluencePrerequisite.schema.json +33 -0
  355. package/schema/prerequisites/single/PactPrerequisite.schema.json +46 -0
  356. package/schema/prerequisites/single/PrimaryAttributePrerequisite.schema.json +58 -0
  357. package/schema/prerequisites/single/PublicationPrerequisite.schema.json +27 -0
  358. package/schema/prerequisites/single/RacePrerequisite.schema.json +31 -0
  359. package/schema/prerequisites/single/RatedPrerequisite.schema.json +184 -0
  360. package/schema/prerequisites/single/RulePrerequisite.schema.json +26 -0
  361. package/schema/prerequisites/single/SexPrerequisite.schema.json +27 -0
  362. package/schema/prerequisites/single/SocialStatusPrerequisite.schema.json +30 -0
  363. package/schema/prerequisites/single/StatePrerequisite.schema.json +27 -0
  364. package/schema/prerequisites/single/TextPrerequisite.schema.json +63 -0
  365. package/schema/prerequisites/single/TraditionPrerequisite.schema.json +96 -0
  366. package/schema/rule/FocusRule.schema.json +1 -1
  367. package/schema/rule/FocusRule_Subject.schema.json +1 -1
  368. package/schema/rule/OptionalRule.schema.json +1 -1
  369. package/schema/source/Publication.schema.json +2 -2
  370. package/schema/source/_Erratum.schema.json +1 -1
  371. package/schema/source/_PublicationRef.schema.json +1 -1
  372. package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +10 -1
  373. package/schema/specialAbility/AdvancedKarmaSpecialAbility.schema.json +7 -1
  374. package/schema/specialAbility/AdvancedMagicalSpecialAbility.schema.json +7 -1
  375. package/schema/specialAbility/AdvancedSkillSpecialAbility.schema.json +7 -1
  376. package/schema/specialAbility/AncestorGlyph.schema.json +7 -1
  377. package/schema/specialAbility/BlessedTradition.schema.json +8 -2
  378. package/schema/specialAbility/BrawlingSpecialAbility.schema.json +7 -1
  379. package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +7 -1
  380. package/schema/specialAbility/CombatSpecialAbility.schema.json +10 -1
  381. package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +7 -1
  382. package/schema/specialAbility/CommandSpecialAbility.schema.json +10 -4
  383. package/schema/specialAbility/FamiliarSpecialAbility.schema.json +7 -1
  384. package/schema/specialAbility/FatePointSexSpecialAbility.schema.json +7 -1
  385. package/schema/specialAbility/FatePointSpecialAbility.schema.json +7 -1
  386. package/schema/specialAbility/GeneralSpecialAbility.schema.json +7 -1
  387. package/schema/specialAbility/KarmaSpecialAbility.schema.json +7 -1
  388. package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +10 -4
  389. package/schema/specialAbility/LycantropicGift.schema.json +7 -1
  390. package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +7 -1
  391. package/schema/specialAbility/MagicalSpecialAbility.schema.json +7 -1
  392. package/schema/specialAbility/MagicalTradition.schema.json +7 -1
  393. package/schema/specialAbility/PactGift.schema.json +8 -2
  394. package/schema/specialAbility/ProtectiveWardingCircleSpecialAbility.schema.json +7 -1
  395. package/schema/specialAbility/Sermon.schema.json +7 -1
  396. package/schema/specialAbility/SexSpecialAbility.schema.json +7 -1
  397. package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +7 -1
  398. package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +10 -4
  399. package/schema/specialAbility/VampiricGift.schema.json +7 -1
  400. package/schema/specialAbility/Vision.schema.json +7 -1
  401. package/schema/specialAbility/sub/Language.schema.json +2 -2
  402. package/schema/specialAbility/sub/Script.schema.json +1 -1
  403. package/schema/specialAbility/sub/TradeSecret.schema.json +4 -1
  404. package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +18 -2
  405. package/schema/traditionArtifacts/AttireEnchantment.schema.json +18 -2
  406. package/schema/traditionArtifacts/BowlEnchantment.schema.json +18 -2
  407. package/schema/traditionArtifacts/CauldronEnchantment.schema.json +18 -2
  408. package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +18 -2
  409. package/schema/traditionArtifacts/DaggerRitual.schema.json +18 -2
  410. package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +18 -2
  411. package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +18 -2
  412. package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +18 -2
  413. package/schema/traditionArtifacts/OrbEnchantment.schema.json +18 -2
  414. package/schema/traditionArtifacts/RingEnchantment.schema.json +18 -2
  415. package/schema/traditionArtifacts/SickleRitual.schema.json +18 -2
  416. package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +18 -2
  417. package/schema/traditionArtifacts/StaffEnchantment.schema.json +18 -2
  418. package/schema/traditionArtifacts/ToyEnchantment.schema.json +18 -2
  419. package/schema/traditionArtifacts/Trinkhornzauber.schema.json +18 -2
  420. package/schema/traditionArtifacts/WandEnchantment.schema.json +18 -2
  421. package/schema/traditionArtifacts/WeaponEnchantment.schema.json +18 -2
  422. package/schema/traditionArtifacts/sub/AnimalShape.schema.json +1 -1
  423. package/schema/traditionArtifacts/sub/AnimalShapePath.schema.json +1 -1
  424. package/schema/traditionArtifacts/sub/AnimalShapeSize.schema.json +4 -4
  425. package/schema/traditionArtifacts/sub/Brew.schema.json +1 -1
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * @main WandEnchantment
3
3
  */
4
- export {};
4
+ import { validateSchemaCreator } from "../../validation/schema.js";
5
+ export const validateSchema = validateSchemaCreator(import.meta.url);
@@ -1,16 +1,19 @@
1
1
  /**
2
2
  * @main WeaponEnchantment
3
3
  */
4
- import { Errata } from "../source/_Erratum";
5
- import { PublicationRefs } from "../source/_PublicationRef";
6
- import * as Activatable from "../_Activatable";
4
+ import { Errata } from "../source/_Erratum.js";
5
+ import { PublicationRefs } from "../source/_PublicationRef.js";
6
+ import * as Activatable from "../_Activatable.js";
7
+ import { GeneralPrerequisites } from "../_Prerequisite.js";
7
8
  /**
8
9
  * @title Weapon Enchantment
9
10
  */
10
11
  export declare type WeaponEnchantment = {
11
12
  id: Activatable.Id;
12
13
  levels?: Activatable.Levels;
14
+ select_options?: Activatable.SelectOptions;
13
15
  maximum?: Activatable.Maximum;
16
+ prerequisites?: GeneralPrerequisites;
14
17
  volume: Activatable.Volume;
15
18
  cost?: Activatable.EnchantmentCost;
16
19
  property: Activatable.Property;
@@ -28,7 +31,20 @@ export declare type WeaponEnchantment = {
28
31
  name: Activatable.Name;
29
32
  name_in_library?: Activatable.NameInLibrary;
30
33
  effect: Activatable.Effect;
34
+ /**
35
+ * @deprecated
36
+ */
37
+ volume: string;
38
+ /**
39
+ * @deprecated
40
+ */
41
+ aeCost?: string;
42
+ /**
43
+ * @deprecated
44
+ */
45
+ bindingCost?: string;
31
46
  errata?: Errata;
32
47
  };
33
48
  };
34
49
  };
50
+ export declare const validateSchema: import("../../validation/schema.js").TypeValidator<WeaponEnchantment>;
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * @main WeaponEnchantment
3
3
  */
4
- export {};
4
+ import { validateSchemaCreator } from "../../validation/schema.js";
5
+ export const validateSchema = validateSchemaCreator(import.meta.url);
@@ -40,3 +40,4 @@ export declare type AnimalShape = {
40
40
  };
41
41
  };
42
42
  };
43
+ export declare const validateSchema: import("../../../validation/schema.js").TypeValidator<AnimalShape>;
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * @main AnimalShape
3
3
  */
4
- export {};
4
+ import { validateSchemaCreator } from "../../../validation/schema.js";
5
+ export const validateSchema = validateSchemaCreator(import.meta.url);
@@ -28,3 +28,4 @@ export declare type AnimalShapePath = {
28
28
  };
29
29
  };
30
30
  };
31
+ export declare const validateSchema: import("../../../validation/schema.js").TypeValidator<AnimalShapePath>;
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * @main AnimalShapePath
3
3
  */
4
- export {};
4
+ import { validateSchemaCreator } from "../../../validation/schema.js";
5
+ export const validateSchema = validateSchemaCreator(import.meta.url);
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @main AnimalShape
2
+ * @main AnimalShapeSize
3
3
  */
4
4
  /**
5
- * @title Animal Shape
5
+ * @title Animal Shape Size
6
6
  */
7
- export declare type AnimalShape = {
7
+ export declare type AnimalShapeSize = {
8
8
  /**
9
9
  * The animal shape's identifier. An unique, increasing integer.
10
10
  * @integer
@@ -40,3 +40,4 @@ export declare type AnimalShape = {
40
40
  };
41
41
  };
42
42
  };
43
+ export declare const validateSchema: import("../../../validation/schema.js").TypeValidator<AnimalShapeSize>;
@@ -1,4 +1,5 @@
1
1
  /**
2
- * @main AnimalShape
2
+ * @main AnimalShapeSize
3
3
  */
4
- export {};
4
+ import { validateSchemaCreator } from "../../../validation/schema.js";
5
+ export const validateSchema = validateSchemaCreator(import.meta.url);
@@ -28,3 +28,4 @@ export declare type Brew = {
28
28
  };
29
29
  };
30
30
  };
31
+ export declare const validateSchema: import("../../../validation/schema.js").TypeValidator<Brew>;
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * @main Brew
3
3
  */
4
- export {};
4
+ import { validateSchemaCreator } from "../../../validation/schema.js";
5
+ export const validateSchema = validateSchemaCreator(import.meta.url);
@@ -0,0 +1,10 @@
1
+ import Ajv, { DefinedError } from "ajv";
2
+ export declare type TypeValidationResult<T> = {
3
+ tag: "Ok";
4
+ value: T;
5
+ } | {
6
+ tag: "Error";
7
+ errors: DefinedError[];
8
+ };
9
+ export declare type TypeValidator<T> = (validator: Ajv, data: unknown, filePath: string) => TypeValidationResult<T>;
10
+ export declare const validateSchemaCreator: <T>(importMetaUrl: string) => TypeValidator<T>;
@@ -0,0 +1,20 @@
1
+ import { basename, dirname, extname, join, relative, sep } from "path";
2
+ import { fileURLToPath } from "url";
3
+ import { libDir } from "../../build/directories.js";
4
+ const changeFileExtension = (path, ext) => join(dirname(path), basename(path, extname(path)) + ext);
5
+ const schemaIdFromSourcePath = (sourcePath) => {
6
+ const relativePathOfType = relative(libDir, fileURLToPath(sourcePath));
7
+ const relativePathOfSchema = changeFileExtension(relativePathOfType, ".schema.json");
8
+ return "/" + relativePathOfSchema.split(sep).join("/");
9
+ };
10
+ export const validateSchemaCreator = (importMetaUrl) => {
11
+ const schemaId = schemaIdFromSourcePath(importMetaUrl);
12
+ return (validator, data) => {
13
+ if (validator.validate(schemaId, data)) {
14
+ return { tag: "Ok", value: data };
15
+ }
16
+ else {
17
+ return { tag: "Error", errors: validator.errors };
18
+ }
19
+ };
20
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "optolith-database-schema",
3
- "version": "0.1.4",
3
+ "version": "0.1.7",
4
4
  "description": "Definitions and utilities for the flat-file database of Optolith, a character creation tool for the Pen and Paper RPG “The Dark Eye 5”, and its external integrations into other software.",
5
5
  "keywords": [
6
6
  "tde",
@@ -12,6 +12,7 @@
12
12
  "types": "./lib/main.d.ts",
13
13
  "scripts": {
14
14
  "build:ts": "tsc",
15
+ "watch:ts": "tsc -w",
15
16
  "build:gen": "node ./build/generate.js",
16
17
  "build": "npm run build:ts && npm run build:gen",
17
18
  "release": "standard-version",
@@ -21,11 +22,12 @@
21
22
  "license": "MPL-2.0",
22
23
  "dependencies": {
23
24
  "ajv": "^8.10.0",
25
+ "ajv-formats": "^2.1.1",
24
26
  "yaml": "^1.10.2"
25
27
  },
26
28
  "devDependencies": {
27
29
  "@types/node": "^17.0.21",
28
- "optolith-tsjsonschemamd": "^0.5.3",
30
+ "optolith-tsjsonschemamd": "^0.5.5",
29
31
  "standard-version": "^9.3.2",
30
32
  "typescript": "^4.6.2"
31
33
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Advantage.schema.json",
3
+ "$id": "/Advantage.schema.json",
4
4
  "$ref": "#/definitions/Advantage",
5
5
  "definitions": {
6
6
  "Advantage": {
@@ -13,6 +13,9 @@
13
13
  "levels": {
14
14
  "$ref": "./_Activatable.schema.json#/definitions/Levels"
15
15
  },
16
+ "select_options": {
17
+ "$ref": "./_Activatable.schema.json#/definitions/SelectOptions"
18
+ },
16
19
  "skill_applications": {
17
20
  "$ref": "./_Activatable.schema.json#/definitions/SkillApplications"
18
21
  },
@@ -22,6 +25,9 @@
22
25
  "maximum": {
23
26
  "$ref": "./_Activatable.schema.json#/definitions/Maximum"
24
27
  },
28
+ "prerequisites": {
29
+ "$ref": "./_Prerequisite.schema.json#/definitions/AdvantageDisadvantagePrerequisites"
30
+ },
25
31
  "ap_value": {
26
32
  "$ref": "./_Activatable.schema.json#/definitions/AdventurePointsValue"
27
33
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "ArcaneBardTradition.schema.json",
3
+ "$id": "/ArcaneBardTradition.schema.json",
4
4
  "$ref": "#/definitions/ArcaneBardTradition",
5
5
  "definitions": {
6
6
  "ArcaneBardTradition": {
@@ -13,7 +13,7 @@
13
13
  "minimum": 1
14
14
  },
15
15
  "prerequisites": {
16
- "$ref": "./_Prerequisite.schema.json#/definitions/Prerequisite/GroupCollection/ArcaneTradition"
16
+ "$ref": "./_Prerequisite.schema.json#/definitions/ArcaneTraditionPrerequisites"
17
17
  },
18
18
  "translations": {
19
19
  "description": "All translations for the entry, identified by IETF language tag (BCP47).",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "ArcaneDancerTradition.schema.json",
3
+ "$id": "/ArcaneDancerTradition.schema.json",
4
4
  "$ref": "#/definitions/ArcaneDancerTradition",
5
5
  "definitions": {
6
6
  "ArcaneDancerTradition": {
@@ -13,7 +13,7 @@
13
13
  "minimum": 1
14
14
  },
15
15
  "prerequisites": {
16
- "$ref": "./_Prerequisite.schema.json#/definitions/Prerequisite/GroupCollection/ArcaneTradition"
16
+ "$ref": "./_Prerequisite.schema.json#/definitions/ArcaneTraditionPrerequisites"
17
17
  },
18
18
  "translations": {
19
19
  "description": "All translations for the entry, identified by IETF language tag (BCP47).",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Aspect.schema.json",
3
+ "$id": "/Aspect.schema.json",
4
4
  "$ref": "#/definitions/Aspect",
5
5
  "definitions": {
6
6
  "Aspect": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Attribute.schema.json",
3
+ "$id": "/Attribute.schema.json",
4
4
  "$ref": "#/definitions/Attribute",
5
5
  "definitions": {
6
6
  "Attribute": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Blessing.schema.json",
3
+ "$id": "/Blessing.schema.json",
4
4
  "$ref": "#/definitions/Blessing",
5
5
  "definitions": {
6
6
  "Blessing": {
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Cantrip.schema.json",
3
+ "$id": "/Cantrip.schema.json",
4
4
  "$ref": "#/definitions/Spell",
5
5
  "definitions": {
6
- "Spell": {
7
- "title": "Spell",
6
+ "Cantrip": {
7
+ "title": "Cantrip",
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "id": {
11
- "description": "The spell's identifier. An unique, increasing integer.",
11
+ "description": "The cantrip's identifier. An unique, increasing integer.",
12
12
  "type": "integer",
13
13
  "minimum": 1
14
14
  },
15
15
  "parameters": {
16
- "description": "Measurable parameters of a spell.",
16
+ "description": "Measurable parameters of a cantrip.",
17
17
  "$ref": "#/definitions/PerformanceParameters"
18
18
  },
19
19
  "target": {
@@ -25,10 +25,6 @@
25
25
  "type": "integer",
26
26
  "minimum": 1
27
27
  },
28
- "improvement_cost": {
29
- "description": "States which column is used to improve the skill.",
30
- "$ref": "./_ImprovementCost.schema.json#/definitions/ImprovementCost"
31
- },
32
28
  "note": {
33
29
  "description": "A note specifying the dissemination of the cantrip in different traditions.\nSometimes a cantrip is exclusively available to one or more specific\ntraditions, but usually one the academies and traditions are listed the\ncantrip is most commonly teached in.",
34
30
  "oneOf": [
@@ -203,7 +199,6 @@
203
199
  "parameters",
204
200
  "target",
205
201
  "property_id",
206
- "improvement_cost",
207
202
  "note",
208
203
  "src",
209
204
  "translations"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Ceremony.schema.json",
3
+ "$id": "/Ceremony.schema.json",
4
4
  "$ref": "#/definitions/Ceremony",
5
5
  "definitions": {
6
6
  "Ceremony": {
@@ -41,7 +41,7 @@
41
41
  "$ref": "./_ImprovementCost.schema.json#/definitions/ImprovementCost"
42
42
  },
43
43
  "prerequisites": {
44
- "$ref": "./_Prerequisite.schema.json#/definitions/Prerequisite/GroupCollection/Liturgy"
44
+ "$ref": "./_Prerequisite.schema.json#/definitions/LiturgyPrerequisites"
45
45
  },
46
46
  "src": {
47
47
  "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "CombatTechnique_Close.schema.json",
3
+ "$id": "/CombatTechnique_Close.schema.json",
4
4
  "$ref": "#/definitions/CloseCombatTechnique",
5
5
  "definitions": {
6
6
  "CloseCombatTechnique": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "CombatTechnique_Ranged.schema.json",
3
+ "$id": "/CombatTechnique_Ranged.schema.json",
4
4
  "$ref": "#/definitions/RangedCombatTechnique",
5
5
  "definitions": {
6
6
  "RangedCombatTechnique": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Condition.schema.json",
3
+ "$id": "/Condition.schema.json",
4
4
  "$ref": "#/definitions/Condition",
5
5
  "definitions": {
6
6
  "Condition": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Continent.schema.json",
3
+ "$id": "/Continent.schema.json",
4
4
  "$ref": "#/definitions/Continent",
5
5
  "definitions": {
6
6
  "Continent": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Culture.schema.json",
3
+ "$id": "/Culture.schema.json",
4
4
  "$ref": "#/definitions/Culture",
5
5
  "definitions": {
6
6
  "Culture": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "DerivedCharacteristic.schema.json",
3
+ "$id": "/DerivedCharacteristic.schema.json",
4
4
  "$ref": "#/definitions/DerivedCharacteristic",
5
5
  "definitions": {
6
6
  "DerivedCharacteristic": {
@@ -13,7 +13,7 @@
13
13
  "minimum": 1
14
14
  },
15
15
  "prerequisites": {
16
- "$ref": "./_Prerequisite.schema.json#/definitions/Prerequisite/GroupCollection/DerivedCharacteristic"
16
+ "$ref": "./_Prerequisite.schema.json#/definitions/DerivedCharacteristicPrerequisites"
17
17
  },
18
18
  "src": {
19
19
  "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Disadvantage.schema.json",
3
+ "$id": "/Disadvantage.schema.json",
4
4
  "$ref": "#/definitions/Disadvantage",
5
5
  "definitions": {
6
6
  "Disadvantage": {
@@ -13,9 +13,15 @@
13
13
  "levels": {
14
14
  "$ref": "./_Activatable.schema.json#/definitions/Levels"
15
15
  },
16
+ "select_options": {
17
+ "$ref": "./_Activatable.schema.json#/definitions/SelectOptions"
18
+ },
16
19
  "maximum": {
17
20
  "$ref": "./_Activatable.schema.json#/definitions/Maximum"
18
21
  },
22
+ "prerequisites": {
23
+ "$ref": "./_Prerequisite.schema.json#/definitions/AdvantageDisadvantagePrerequisites"
24
+ },
19
25
  "ap_value": {
20
26
  "$ref": "./_Activatable.schema.json#/definitions/AdventurePointsValue"
21
27
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Element.schema.json",
3
+ "$id": "/Element.schema.json",
4
4
  "$ref": "#/definitions/Element",
5
5
  "definitions": {
6
6
  "Element": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "ExperienceLevel.schema.json",
3
+ "$id": "/ExperienceLevel.schema.json",
4
4
  "$ref": "#/definitions/ExperienceLevel",
5
5
  "definitions": {
6
6
  "ExperienceLevel": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "EyeColor.schema.json",
3
+ "$id": "/EyeColor.schema.json",
4
4
  "$ref": "#/definitions/EyeColor",
5
5
  "definitions": {
6
6
  "EyeColor": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "FamiliarsTrick.schema.json",
3
+ "$id": "/FamiliarsTrick.schema.json",
4
4
  "$ref": "#/definitions/FamiliarsTrick",
5
5
  "definitions": {
6
6
  "FamiliarsTrick": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "FamiliarsTrick_AnimalType.schema.json",
3
+ "$id": "/FamiliarsTrick_AnimalType.schema.json",
4
4
  "$ref": "#/definitions/AnimalType",
5
5
  "definitions": {
6
6
  "AnimalType": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "HairColor.schema.json",
3
+ "$id": "/HairColor.schema.json",
4
4
  "$ref": "#/definitions/HairColor",
5
5
  "definitions": {
6
6
  "HairColor": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Lessons_Curriculum.schema.json",
3
+ "$id": "/Lessons_Curriculum.schema.json",
4
4
  "$ref": "#/definitions/Curriculum",
5
5
  "definitions": {
6
6
  "Curriculum": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Lessons_Guideline.schema.json",
3
+ "$id": "/Lessons_Guideline.schema.json",
4
4
  "$ref": "#/definitions/Guideline",
5
5
  "definitions": {
6
6
  "Guideline": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "LiturgicalChant.schema.json",
3
+ "$id": "/LiturgicalChant.schema.json",
4
4
  "$ref": "#/definitions/LiturgicalChant",
5
5
  "definitions": {
6
6
  "LiturgicalChant": {
@@ -41,7 +41,7 @@
41
41
  "$ref": "./_ImprovementCost.schema.json#/definitions/ImprovementCost"
42
42
  },
43
43
  "prerequisites": {
44
- "$ref": "./_Prerequisite.schema.json#/definitions/Prerequisite/GroupCollection/Liturgy"
44
+ "$ref": "./_Prerequisite.schema.json#/definitions/LiturgyPrerequisites"
45
45
  },
46
46
  "src": {
47
47
  "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Locale.schema.json",
3
+ "$id": "/Locale.schema.json",
4
4
  "$ref": "#/definitions/Locales",
5
5
  "definitions": {
6
6
  "Locales": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "MetaCondition.schema.json",
3
+ "$id": "/MetaCondition.schema.json",
4
4
  "$ref": "#/definitions/MetaCondition",
5
5
  "definitions": {
6
6
  "MetaCondition": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "PactCategory.schema.json",
3
+ "$id": "/PactCategory.schema.json",
4
4
  "$ref": "#/definitions/PactCategory",
5
5
  "definitions": {
6
6
  "PactCategory": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Patron.schema.json",
3
+ "$id": "/Patron.schema.json",
4
4
  "$ref": "#/definitions/Patron",
5
5
  "definitions": {
6
6
  "Patron": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "PatronCategory.schema.json",
3
+ "$id": "/PatronCategory.schema.json",
4
4
  "$ref": "#/definitions/PatronCategory",
5
5
  "definitions": {
6
6
  "PatronCategory": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Property.schema.json",
3
+ "$id": "/Property.schema.json",
4
4
  "$ref": "#/definitions/Property",
5
5
  "definitions": {
6
6
  "Property": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Race.schema.json",
3
+ "$id": "/Race.schema.json",
4
4
  "$ref": "#/definitions/Race",
5
5
  "definitions": {
6
6
  "Race": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Region.schema.json",
3
+ "$id": "/Region.schema.json",
4
4
  "$ref": "#/definitions/Region",
5
5
  "definitions": {
6
6
  "Region": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Ritual.schema.json",
3
+ "$id": "/Ritual.schema.json",
4
4
  "$ref": "#/definitions/Ritual",
5
5
  "definitions": {
6
6
  "Ritual": {
@@ -91,7 +91,7 @@
91
91
  "$ref": "./_ImprovementCost.schema.json#/definitions/ImprovementCost"
92
92
  },
93
93
  "prerequisites": {
94
- "$ref": "./_Prerequisite.schema.json#/definitions/Prerequisite/GroupCollection/Spellwork"
94
+ "$ref": "./_Prerequisite.schema.json#/definitions/SpellworkPrerequisites"
95
95
  },
96
96
  "src": {
97
97
  "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "Service.schema.json",
3
+ "$id": "/Service.schema.json",
4
4
  "$ref": "#/definitions/Service",
5
5
  "definitions": {
6
6
  "Service": {