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": "/Lessons_Curriculum.schema.json",
4
- "$ref": "#/definitions/Curriculum",
5
- "definitions": {
4
+ "$ref": "#/$defs/Curriculum",
5
+ "$defs": {
6
6
  "Curriculum": {
7
7
  "title": "Curriculum",
8
8
  "description": "This is a curriculum of a specified academy, containing the guideline,\nelective and restricted spellworks as well as the lesson packages of that\nacademy.",
@@ -13,47 +13,31 @@
13
13
  "type": "integer",
14
14
  "minimum": 1
15
15
  },
16
- "guideline_id": {
17
- "description": "The institution's guideline's identifier.",
18
- "type": "integer",
19
- "maximum": 6,
20
- "minimum": 1
16
+ "guideline": {
17
+ "description": "The institution's guideline.",
18
+ "$ref": "./_SimpleReferences.schema.json#/$defs/GuidelineReference"
21
19
  },
22
20
  "elective_spellworks": {
23
21
  "description": "The academy's elective spellworks package.",
24
- "$ref": "#/definitions/ElectiveSpellworks"
22
+ "$ref": "#/$defs/ElectiveSpellworks"
25
23
  },
26
24
  "restricted_spellworks": {
27
25
  "description": "The academy's restricted spellworks package.",
28
- "$ref": "#/definitions/RestrictedSpellworks"
26
+ "$ref": "#/$defs/RestrictedSpellworks"
29
27
  },
30
28
  "lesson_packages": {
31
29
  "description": "A list of available lesson packages.",
32
- "$ref": "#/definitions/LessonPackages"
30
+ "$ref": "#/$defs/LessonPackages"
33
31
  },
34
32
  "src": {
35
- "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
33
+ "$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
36
34
  },
37
35
  "translations": {
38
36
  "description": "All translations for the entry, identified by IETF language tag (BCP47).",
39
37
  "type": "object",
40
38
  "patternProperties": {
41
39
  "^[a-z]{2}-[A-Z]{2}$": {
42
- "type": "object",
43
- "properties": {
44
- "name": {
45
- "description": "The name of the academy.",
46
- "type": "string",
47
- "minLength": 1
48
- },
49
- "errata": {
50
- "$ref": "./source/_Erratum.schema.json#/definitions/Errata"
51
- }
52
- },
53
- "required": [
54
- "name"
55
- ],
56
- "additionalProperties": false
40
+ "$ref": "#/$defs/CurriculumTranslation"
57
41
  }
58
42
  },
59
43
  "minProperties": 1,
@@ -62,13 +46,29 @@
62
46
  },
63
47
  "required": [
64
48
  "id",
65
- "guideline_id",
49
+ "guideline",
66
50
  "lesson_packages",
67
51
  "src",
68
52
  "translations"
69
53
  ],
70
54
  "additionalProperties": false
71
55
  },
56
+ "CurriculumTranslation": {
57
+ "type": "object",
58
+ "properties": {
59
+ "name": {
60
+ "description": "The name of the academy.",
61
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
62
+ },
63
+ "errata": {
64
+ "$ref": "./source/_Erratum.schema.json#/$defs/Errata"
65
+ }
66
+ },
67
+ "required": [
68
+ "name"
69
+ ],
70
+ "additionalProperties": false
71
+ },
72
72
  "ElectiveSpellworks": {
73
73
  "description": "The academy's elective spellworks package.",
74
74
  "oneOf": [
@@ -77,10 +77,17 @@
77
77
  "properties": {
78
78
  "tag": {
79
79
  "const": "DefinedByGameMaster"
80
+ },
81
+ "defined_by_game_master": {
82
+ "type": "object",
83
+ "properties": {},
84
+ "required": [],
85
+ "additionalProperties": false
80
86
  }
81
87
  },
82
88
  "required": [
83
- "tag"
89
+ "tag",
90
+ "defined_by_game_master"
84
91
  ],
85
92
  "additionalProperties": false
86
93
  },
@@ -88,33 +95,45 @@
88
95
  "type": "object",
89
96
  "properties": {
90
97
  "tag": {
91
- "const": "Explicit"
98
+ "const": "Specific"
92
99
  },
93
- "list": {
94
- "type": "array",
95
- "items": {
96
- "$ref": "#/definitions/ElectiveSpellwork"
97
- },
98
- "minItems": 1
100
+ "specific": {
101
+ "$ref": "#/$defs/SpecificElectiveSpellworks"
99
102
  }
100
103
  },
101
104
  "required": [
102
105
  "tag",
103
- "list"
106
+ "specific"
104
107
  ],
105
108
  "additionalProperties": false
106
109
  }
107
110
  ]
108
111
  },
112
+ "SpecificElectiveSpellworks": {
113
+ "type": "object",
114
+ "properties": {
115
+ "list": {
116
+ "type": "array",
117
+ "items": {
118
+ "$ref": "#/$defs/ElectiveSpellwork"
119
+ },
120
+ "minItems": 1
121
+ }
122
+ },
123
+ "required": [
124
+ "list"
125
+ ],
126
+ "additionalProperties": false
127
+ },
109
128
  "ElectiveSpellwork": {
110
129
  "type": "object",
111
130
  "properties": {
112
131
  "id": {
113
- "$ref": "#/definitions/SpellworkId"
132
+ "$ref": "./_Identifier.schema.json#/$defs/SpellworkIdentifier"
114
133
  },
115
134
  "restriction": {
116
135
  "description": "The elective spellwork may only take effect if a certain condition is met.\nThe condition may be related to professions or profession variants, but it\nis designed so that it can work without a specific profession, as multiple\nmay belong to an institute, but with referencing other entities instead.",
117
- "$ref": "#/definitions/ElectiveSpellworkRestriction"
136
+ "$ref": "#/$defs/ElectiveSpellworkRestriction"
118
137
  }
119
138
  },
120
139
  "required": [
@@ -146,7 +165,7 @@
146
165
  "description": "The academy's restricted spellworks package.",
147
166
  "type": "array",
148
167
  "items": {
149
- "$ref": "#/definitions/RestrictedSpellwork"
168
+ "$ref": "#/$defs/RestrictedSpellwork"
150
169
  },
151
170
  "minItems": 1
152
171
  },
@@ -159,42 +178,48 @@
159
178
  "tag": {
160
179
  "const": "Property"
161
180
  },
162
- "id": {
163
- "description": "The identifier of the property that spellworks are disallowed from.",
164
- "type": "integer",
165
- "minimum": 1
166
- },
167
- "exclude": {
168
- "description": "Exclude specific spellworks from the restriction.",
169
- "type": "array",
170
- "items": {
171
- "$ref": "#/definitions/SpellworkId"
172
- },
173
- "minItems": 1
174
- },
175
- "maximum": {
176
- "description": "Spellworks from this property up to a certain number are allowed.\nSpellworks excluded from this restriction definition using `exclude` do\nnot contribute to the maximum.",
177
- "type": "number"
181
+ "property": {
182
+ "$ref": "#/$defs/RestrictedProperty"
178
183
  }
179
184
  },
180
185
  "required": [
181
186
  "tag",
182
- "id"
187
+ "property"
183
188
  ],
184
189
  "additionalProperties": false
185
190
  },
186
191
  {
187
- "$ref": "#/definitions/SpellworkId"
192
+ "type": "object",
193
+ "properties": {
194
+ "tag": {
195
+ "const": "Spellwork"
196
+ },
197
+ "spellwork": {
198
+ "$ref": "./_Identifier.schema.json#/$defs/SpellworkIdentifier"
199
+ }
200
+ },
201
+ "required": [
202
+ "tag",
203
+ "spellwork"
204
+ ],
205
+ "additionalProperties": false
188
206
  },
189
207
  {
190
208
  "type": "object",
191
209
  "properties": {
192
210
  "tag": {
193
211
  "const": "DemonSummoning"
212
+ },
213
+ "demon_summoning": {
214
+ "type": "object",
215
+ "properties": {},
216
+ "required": [],
217
+ "additionalProperties": false
194
218
  }
195
219
  },
196
220
  "required": [
197
- "tag"
221
+ "tag",
222
+ "demon_summoning"
198
223
  ],
199
224
  "additionalProperties": false
200
225
  },
@@ -203,10 +228,17 @@
203
228
  "properties": {
204
229
  "tag": {
205
230
  "const": "Borbaradian"
231
+ },
232
+ "borbaradian": {
233
+ "type": "object",
234
+ "properties": {},
235
+ "required": [],
236
+ "additionalProperties": false
206
237
  }
207
238
  },
208
239
  "required": [
209
- "tag"
240
+ "tag",
241
+ "borbaradian"
210
242
  ],
211
243
  "additionalProperties": false
212
244
  },
@@ -215,24 +247,57 @@
215
247
  "properties": {
216
248
  "tag": {
217
249
  "const": "DamageIntelligent"
250
+ },
251
+ "damage_intelligent": {
252
+ "type": "object",
253
+ "properties": {},
254
+ "required": [],
255
+ "additionalProperties": false
218
256
  }
219
257
  },
220
258
  "required": [
221
- "tag"
259
+ "tag",
260
+ "damage_intelligent"
222
261
  ],
223
262
  "additionalProperties": false
224
263
  }
225
264
  ]
226
265
  },
266
+ "RestrictedProperty": {
267
+ "type": "object",
268
+ "properties": {
269
+ "id": {
270
+ "description": "The identifier of the property that spellworks are disallowed from.",
271
+ "type": "integer",
272
+ "minimum": 1
273
+ },
274
+ "exclude": {
275
+ "description": "Exclude specific spellworks from the restriction.",
276
+ "type": "array",
277
+ "items": {
278
+ "$ref": "./_Identifier.schema.json#/$defs/SpellworkIdentifier"
279
+ },
280
+ "minItems": 1
281
+ },
282
+ "maximum": {
283
+ "description": "Spellworks from this property up to a certain number are allowed.\nSpellworks excluded from this restriction definition using `exclude` do\nnot contribute to the maximum.",
284
+ "type": "number"
285
+ }
286
+ },
287
+ "required": [
288
+ "id"
289
+ ],
290
+ "additionalProperties": false
291
+ },
227
292
  "LessonPackages": {
228
293
  "description": "A list of available lesson packages.",
229
294
  "type": "array",
230
295
  "items": [
231
296
  {
232
- "$ref": "#/definitions/LessonPackage"
297
+ "$ref": "#/$defs/LessonPackage"
233
298
  },
234
299
  {
235
- "$ref": "#/definitions/LessonPackage"
300
+ "$ref": "#/$defs/LessonPackage"
236
301
  }
237
302
  ],
238
303
  "minItems": 2,
@@ -252,27 +317,14 @@
252
317
  "description": "The spell values difference of the lesson package. This field reflects the\nchanges (difference) to the field of the same name in the profession\npackage. If a spell gets to SR 0 because of this, it will be removed\ncompletely.",
253
318
  "type": "array",
254
319
  "items": {
255
- "type": "object",
256
- "properties": {
257
- "base": {
258
- "$ref": "#/definitions/SpellworkAdjustment"
259
- },
260
- "replacement": {
261
- "$ref": "#/definitions/SpellworkAdjustment"
262
- }
263
- },
264
- "required": [
265
- "base",
266
- "replacement"
267
- ],
268
- "additionalProperties": false
320
+ "$ref": "#/$defs/SpellworkChange"
269
321
  },
270
322
  "minItems": 1
271
323
  },
272
324
  "skills": {
273
325
  "type": "array",
274
326
  "items": {
275
- "$ref": "#/definitions/SkillAdjustment"
327
+ "$ref": "#/$defs/AbilityAdjustment"
276
328
  }
277
329
  },
278
330
  "translations": {
@@ -280,23 +332,7 @@
280
332
  "type": "object",
281
333
  "patternProperties": {
282
334
  "^[a-z]{2}-[A-Z]{2}$": {
283
- "type": "object",
284
- "properties": {
285
- "name": {
286
- "description": "The name of the lesson package.",
287
- "type": "string",
288
- "minLength": 1
289
- },
290
- "spellwork_changes": {
291
- "description": "The spell values difference of the lesson package. Use this field to\nspecify a text that is displayed instead of the generated\n`spellwork_changes` list. The field is displayed even if no list is\npresent.",
292
- "type": "string",
293
- "minLength": 1
294
- }
295
- },
296
- "required": [
297
- "name"
298
- ],
299
- "additionalProperties": false
335
+ "$ref": "#/$defs/LessonPackageTranslation"
300
336
  }
301
337
  },
302
338
  "minProperties": 1,
@@ -310,30 +346,54 @@
310
346
  "minProperties": 3,
311
347
  "additionalProperties": false
312
348
  },
313
- "SkillAdjustment": {
349
+ "SpellworkChange": {
350
+ "type": "object",
351
+ "properties": {
352
+ "base": {
353
+ "$ref": "#/$defs/SpellworkAdjustment"
354
+ },
355
+ "replacement": {
356
+ "$ref": "#/$defs/SpellworkAdjustment"
357
+ }
358
+ },
359
+ "required": [
360
+ "base",
361
+ "replacement"
362
+ ],
363
+ "additionalProperties": false
364
+ },
365
+ "LessonPackageTranslation": {
366
+ "type": "object",
367
+ "properties": {
368
+ "name": {
369
+ "description": "The name of the lesson package.",
370
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
371
+ },
372
+ "spellwork_changes": {
373
+ "description": "The spell values difference of the lesson package. Use this field to\nspecify a text that is displayed instead of the generated\n`spellwork_changes` list. The field is displayed even if no list is\npresent.",
374
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
375
+ }
376
+ },
377
+ "required": [
378
+ "name"
379
+ ],
380
+ "additionalProperties": false
381
+ },
382
+ "AbilityAdjustment": {
314
383
  "oneOf": [
315
384
  {
316
385
  "type": "object",
317
386
  "properties": {
318
387
  "tag": {
319
- "const": "MeleeCombatTechnique"
320
- },
321
- "id": {
322
- "description": "The melee combat technique's identifier.",
323
- "type": "integer",
324
- "minimum": 1
388
+ "const": "CombatTechnique"
325
389
  },
326
- "points": {
327
- "description": "The combat technique points that will be added to the current combat\ntechnique rating.",
328
- "type": "integer",
329
- "maximum": 6,
330
- "minimum": -6
390
+ "combat_technique": {
391
+ "$ref": "#/$defs/CombatTechniqueAdjustment"
331
392
  }
332
393
  },
333
394
  "required": [
334
395
  "tag",
335
- "id",
336
- "points"
396
+ "combat_technique"
337
397
  ],
338
398
  "additionalProperties": false
339
399
  },
@@ -341,24 +401,15 @@
341
401
  "type": "object",
342
402
  "properties": {
343
403
  "tag": {
344
- "const": "RangedCombatTechnique"
345
- },
346
- "id": {
347
- "description": "The ranged combat technique's identifier.",
348
- "type": "integer",
349
- "minimum": 1
404
+ "const": "Skill"
350
405
  },
351
- "points": {
352
- "description": "The combat technique points that will be added to the current combat\ntechnique rating.",
353
- "type": "integer",
354
- "maximum": 6,
355
- "minimum": -6
406
+ "skill": {
407
+ "$ref": "#/$defs/SkillAdjustment"
356
408
  }
357
409
  },
358
410
  "required": [
359
411
  "tag",
360
- "id",
361
- "points"
412
+ "skill"
362
413
  ],
363
414
  "additionalProperties": false
364
415
  },
@@ -366,135 +417,82 @@
366
417
  "type": "object",
367
418
  "properties": {
368
419
  "tag": {
369
- "const": "Skill"
420
+ "const": "Spellwork"
370
421
  },
371
- "id": {
372
- "description": "The skill's identifier.",
373
- "type": "integer",
374
- "minimum": 1
375
- },
376
- "points": {
377
- "description": "The skill points that will be added to the current skill rating.",
378
- "type": "integer",
379
- "maximum": 8,
380
- "minimum": -8
422
+ "spellwork": {
423
+ "$ref": "#/$defs/SpellworkAdjustment"
381
424
  }
382
425
  },
383
426
  "required": [
384
427
  "tag",
385
- "id",
386
- "points"
428
+ "spellwork"
387
429
  ],
388
430
  "additionalProperties": false
389
- },
390
- {
391
- "$ref": "#/definitions/SpellworkAdjustment"
392
431
  }
393
432
  ]
394
433
  },
395
- "SpellworkAdjustment": {
396
- "oneOf": [
397
- {
398
- "type": "object",
399
- "properties": {
400
- "tag": {
401
- "const": "Spell"
402
- },
403
- "id": {
404
- "description": "The spell's identifier.",
405
- "type": "integer",
406
- "minimum": 1
407
- },
408
- "points": {
409
- "description": "The skill points that will be added to the current skill rating. If a\nspell gets to a skill rating of 0 because of this, it will be removed\ncompletely.",
410
- "type": "integer",
411
- "maximum": 10,
412
- "minimum": -10
413
- },
414
- "tradition_id": {
415
- "description": "The target tradition's identifier. If the target spell is not from the\nGuild Mage tradition, specify the tradition identifier here.",
416
- "type": "integer",
417
- "minimum": 2
418
- }
419
- },
420
- "required": [
421
- "tag",
422
- "id",
423
- "points"
424
- ],
425
- "additionalProperties": false
434
+ "CombatTechniqueAdjustment": {
435
+ "type": "object",
436
+ "properties": {
437
+ "id": {
438
+ "$ref": "./_Identifier.schema.json#/$defs/CombatTechniqueIdentifier"
426
439
  },
427
- {
428
- "type": "object",
429
- "properties": {
430
- "tag": {
431
- "const": "Ritual"
432
- },
433
- "id": {
434
- "description": "The ritual's identifier.",
435
- "type": "integer",
436
- "minimum": 1
437
- },
438
- "points": {
439
- "description": "The skill points that will be added to the current skill rating. If a\nritual gets to a skill rating of 0 because of this, it will be removed\ncompletely.",
440
- "type": "integer",
441
- "maximum": 10,
442
- "minimum": -10
443
- },
444
- "tradition_id": {
445
- "description": "The target tradition's identifier. If the target ritual is not from the\nGuild Mage tradition, specify the tradition identifier here.",
446
- "type": "integer",
447
- "minimum": 2
448
- }
449
- },
450
- "required": [
451
- "tag",
452
- "id",
453
- "points"
454
- ],
455
- "additionalProperties": false
440
+ "points": {
441
+ "description": "The combat technique points that will be added to the current combat\ntechnique rating.",
442
+ "type": "integer",
443
+ "maximum": 6,
444
+ "minimum": -6
456
445
  }
457
- ]
446
+ },
447
+ "required": [
448
+ "id",
449
+ "points"
450
+ ],
451
+ "additionalProperties": false
458
452
  },
459
- "SpellworkId": {
460
- "oneOf": [
461
- {
462
- "type": "object",
463
- "properties": {
464
- "tag": {
465
- "const": "Spell"
466
- },
467
- "id": {
468
- "description": "The spell's identifier.",
469
- "type": "integer",
470
- "minimum": 1
471
- }
472
- },
473
- "required": [
474
- "tag",
475
- "id"
476
- ],
477
- "additionalProperties": false
453
+ "SkillAdjustment": {
454
+ "type": "object",
455
+ "properties": {
456
+ "id": {
457
+ "description": "The skill's identifier.",
458
+ "type": "integer",
459
+ "minimum": 1
478
460
  },
479
- {
480
- "type": "object",
481
- "properties": {
482
- "tag": {
483
- "const": "Ritual"
484
- },
485
- "id": {
486
- "description": "The ritual's identifier.",
487
- "type": "integer",
488
- "minimum": 1
489
- }
490
- },
491
- "required": [
492
- "tag",
493
- "id"
494
- ],
495
- "additionalProperties": false
461
+ "points": {
462
+ "description": "The skill points that will be added to the current skill rating.",
463
+ "type": "integer",
464
+ "maximum": 8,
465
+ "minimum": -8
496
466
  }
497
- ]
467
+ },
468
+ "required": [
469
+ "id",
470
+ "points"
471
+ ],
472
+ "additionalProperties": false
473
+ },
474
+ "SpellworkAdjustment": {
475
+ "type": "object",
476
+ "properties": {
477
+ "id": {
478
+ "$ref": "./_Identifier.schema.json#/$defs/SpellworkIdentifier"
479
+ },
480
+ "points": {
481
+ "description": "The skill points that will be added to the current skill rating. If a\nspell gets to a skill rating of 0 because of this, it will be removed\ncompletely.",
482
+ "type": "integer",
483
+ "maximum": 10,
484
+ "minimum": -10
485
+ },
486
+ "tradition": {
487
+ "description": "The target tradition. If the target spell is not from the Guild Mage\ntradition, specify the tradition identifier here.",
488
+ "$ref": "./_Identifier.schema.json#/$defs/MagicalTraditionIdentifier"
489
+ }
490
+ },
491
+ "required": [
492
+ "id",
493
+ "points"
494
+ ],
495
+ "additionalProperties": false
498
496
  }
499
497
  }
500
498
  }