optolith-database-schema 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (500) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/lib/config.d.ts +302 -250
  3. package/lib/config.js +302 -250
  4. package/lib/main.d.ts +3 -2
  5. package/lib/main.js +1 -1
  6. package/lib/types/Advantage.d.ts +22 -24
  7. package/lib/types/AnimalDisease.d.ts +18 -212
  8. package/lib/types/AnimalType.d.ts +9 -13
  9. package/lib/types/ArcaneBardTradition.d.ts +3 -27
  10. package/lib/types/ArcaneDancerTradition.d.ts +3 -27
  11. package/lib/types/Aspect.d.ts +14 -19
  12. package/lib/types/Attribute.d.ts +17 -23
  13. package/lib/types/Blessing.d.ts +78 -94
  14. package/lib/types/Cantrip.d.ts +132 -148
  15. package/lib/types/Ceremony.d.ts +55 -88
  16. package/lib/types/CombatTechnique_Close.d.ts +30 -39
  17. package/lib/types/CombatTechnique_Ranged.d.ts +28 -26
  18. package/lib/types/Condition.d.ts +18 -31
  19. package/lib/types/Continent.d.ts +9 -13
  20. package/lib/types/Culture.d.ts +168 -290
  21. package/lib/types/DerivedCharacteristic.d.ts +4 -10
  22. package/lib/types/Disadvantage.d.ts +19 -23
  23. package/lib/types/Disease.d.ts +5 -140
  24. package/lib/types/Element.d.ts +9 -13
  25. package/lib/types/ExperienceLevel.d.ts +3 -9
  26. package/lib/types/EyeColor.d.ts +9 -13
  27. package/lib/types/FamiliarsTrick.d.ts +201 -290
  28. package/lib/types/HairColor.d.ts +9 -13
  29. package/lib/types/Lessons_Curriculum.d.ts +73 -138
  30. package/lib/types/Lessons_Guideline.d.ts +9 -13
  31. package/lib/types/LiturgicalChant.d.ts +55 -88
  32. package/lib/types/Locale.d.ts +1 -1
  33. package/lib/types/Locale.js +1 -1
  34. package/lib/types/MetaCondition.d.ts +18 -31
  35. package/lib/types/PactCategory.d.ts +48 -62
  36. package/lib/types/Patron.d.ts +66 -76
  37. package/lib/types/PatronCategory.d.ts +11 -21
  38. package/lib/types/PersonalityTrait.d.ts +31 -39
  39. package/lib/types/Profession.d.ts +296 -435
  40. package/lib/types/Property.d.ts +9 -13
  41. package/lib/types/Race.d.ts +99 -194
  42. package/lib/types/Region.d.ts +9 -13
  43. package/lib/types/Ritual.d.ts +58 -83
  44. package/lib/types/Service.d.ts +20 -25
  45. package/lib/types/SexPractice.d.ts +26 -34
  46. package/lib/types/Skill.d.ts +65 -90
  47. package/lib/types/SkillGroup.d.ts +13 -18
  48. package/lib/types/SkillModificationLevel.d.ts +72 -76
  49. package/lib/types/SocialStatus.d.ts +9 -13
  50. package/lib/types/Spell.d.ts +58 -83
  51. package/lib/types/State.d.ts +14 -20
  52. package/lib/types/Talisman.d.ts +44 -54
  53. package/lib/types/TargetCategory.d.ts +21 -16
  54. package/lib/types/UI.d.ts +1 -5
  55. package/lib/types/_Activatable.d.ts +607 -1177
  56. package/lib/types/_Activatable.js +0 -12
  57. package/lib/types/_ActivatableSelectOptionCategory.d.ts +356 -0
  58. package/lib/types/{prerequisites/single/CommonSuggestedByRCPPrerequisite.js → _ActivatableSelectOptionCategory.js} +0 -0
  59. package/lib/types/_ActivatableSkill.d.ts +24 -1013
  60. package/lib/types/_ActivatableSkill.js +1 -31
  61. package/lib/types/_ActivatableSkillCastingTime.d.ts +69 -0
  62. package/lib/types/_ActivatableSkillCastingTime.js +5 -0
  63. package/lib/types/_ActivatableSkillCheckResultBased.d.ts +41 -0
  64. package/lib/types/{equipment/_Armor.js → _ActivatableSkillCheckResultBased.js} +0 -3
  65. package/lib/types/_ActivatableSkillCost.d.ts +223 -0
  66. package/lib/types/_ActivatableSkillCost.js +1 -0
  67. package/lib/types/_ActivatableSkillDuration.d.ts +138 -0
  68. package/lib/types/_ActivatableSkillDuration.js +13 -0
  69. package/lib/types/_ActivatableSkillEffect.d.ts +68 -0
  70. package/lib/types/_ActivatableSkillEffect.js +1 -0
  71. package/lib/types/_ActivatableSkillRange.d.ts +103 -0
  72. package/lib/types/_ActivatableSkillRange.js +5 -0
  73. package/lib/types/_ActivatableSkillTargetCategory.d.ts +35 -0
  74. package/lib/types/_ActivatableSkillTargetCategory.js +1 -0
  75. package/lib/types/_AlternativeNames.d.ts +11 -0
  76. package/lib/types/_AlternativeNames.js +1 -0
  77. package/lib/types/_ArcaneTradition.d.ts +28 -0
  78. package/lib/types/_ArcaneTradition.js +4 -0
  79. package/lib/types/_Blessed.d.ts +22 -0
  80. package/lib/types/_Blessed.js +1 -0
  81. package/lib/types/_DiseasePoison.d.ts +116 -0
  82. package/lib/types/_DiseasePoison.js +5 -0
  83. package/lib/types/_Enhancements.d.ts +16 -20
  84. package/lib/types/_I18n.d.ts +1 -5
  85. package/lib/types/_Identifier.d.ts +32 -0
  86. package/lib/types/_Identifier.js +32 -0
  87. package/lib/types/_Influence.d.ts +27 -32
  88. package/lib/types/_LocaleMap.d.ts +10 -0
  89. package/lib/types/_LocaleMap.js +1 -0
  90. package/lib/types/_NonEmptyString.d.ts +9 -0
  91. package/lib/types/_NonEmptyString.js +1 -0
  92. package/lib/types/_Prerequisite.d.ts +61 -65
  93. package/lib/types/_ResponsiveText.d.ts +54 -0
  94. package/lib/types/_ResponsiveText.js +1 -0
  95. package/lib/types/_SimpleReferences.d.ts +334 -0
  96. package/lib/types/_SimpleReferences.js +1 -0
  97. package/lib/types/_SkillCheck.d.ts +6 -11
  98. package/lib/types/_Spellwork.d.ts +17 -0
  99. package/lib/types/_Spellwork.js +1 -0
  100. package/lib/types/equipment/EquipmentPackage.d.ts +24 -28
  101. package/lib/types/equipment/item/Alchemicum.d.ts +6 -0
  102. package/lib/types/equipment/item/Alchemicum.js +5 -0
  103. package/lib/types/equipment/item/Ammunition.d.ts +31 -0
  104. package/lib/types/equipment/item/Ammunition.js +5 -0
  105. package/lib/types/equipment/item/Animal.d.ts +18 -0
  106. package/lib/types/equipment/item/Animal.js +5 -0
  107. package/lib/types/equipment/item/AnimalCare.d.ts +48 -0
  108. package/lib/types/equipment/item/AnimalCare.js +5 -0
  109. package/lib/types/equipment/item/Armor.d.ts +185 -0
  110. package/lib/types/equipment/item/Armor.js +5 -0
  111. package/lib/types/equipment/item/BandageOrRemedy.d.ts +6 -0
  112. package/lib/types/equipment/item/BandageOrRemedy.js +5 -0
  113. package/lib/types/equipment/item/Book.d.ts +60 -0
  114. package/lib/types/equipment/item/Book.js +5 -0
  115. package/lib/types/equipment/item/CeremonialItem.d.ts +6 -0
  116. package/lib/types/equipment/item/CeremonialItem.js +5 -0
  117. package/lib/types/equipment/item/Clothes.d.ts +6 -0
  118. package/lib/types/equipment/item/Clothes.js +5 -0
  119. package/lib/types/equipment/item/Container.d.ts +6 -0
  120. package/lib/types/equipment/item/Container.js +5 -0
  121. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +41 -0
  122. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +5 -0
  123. package/lib/types/equipment/item/GemOrPreciousStone.d.ts +43 -0
  124. package/lib/types/equipment/item/GemOrPreciousStone.js +5 -0
  125. package/lib/types/equipment/item/HealingHerb.d.ts +6 -0
  126. package/lib/types/equipment/item/HealingHerb.js +5 -0
  127. package/lib/types/equipment/item/Illumination.d.ts +6 -0
  128. package/lib/types/equipment/item/Illumination.js +5 -0
  129. package/lib/types/equipment/item/Jewelry.d.ts +60 -0
  130. package/lib/types/equipment/item/Jewelry.js +5 -0
  131. package/lib/types/equipment/item/Liebesspielzeug.d.ts +6 -0
  132. package/lib/types/equipment/item/Liebesspielzeug.js +5 -0
  133. package/lib/types/equipment/item/LuxuryGood.d.ts +6 -0
  134. package/lib/types/equipment/item/LuxuryGood.js +5 -0
  135. package/lib/types/equipment/item/MagicalArtifact.d.ts +39 -0
  136. package/lib/types/equipment/item/MagicalArtifact.js +5 -0
  137. package/lib/types/equipment/item/MusicalInstrument.d.ts +27 -0
  138. package/lib/types/equipment/item/MusicalInstrument.js +5 -0
  139. package/lib/types/equipment/item/OrienteeringAid.d.ts +6 -0
  140. package/lib/types/equipment/item/OrienteeringAid.js +5 -0
  141. package/lib/types/equipment/item/Poison.d.ts +163 -0
  142. package/lib/types/{Poison.js → equipment/item/Poison.js} +1 -1
  143. package/lib/types/equipment/item/RopeOrChain.d.ts +6 -0
  144. package/lib/types/equipment/item/RopeOrChain.js +5 -0
  145. package/lib/types/equipment/item/Stationary.d.ts +6 -0
  146. package/lib/types/equipment/item/Stationary.js +5 -0
  147. package/lib/types/equipment/item/ThievesTool.d.ts +6 -0
  148. package/lib/types/equipment/item/ThievesTool.js +5 -0
  149. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +56 -0
  150. package/lib/types/equipment/item/ToolOfTheTrade.js +5 -0
  151. package/lib/types/equipment/item/TravelGearOrTool.d.ts +6 -0
  152. package/lib/types/equipment/item/TravelGearOrTool.js +5 -0
  153. package/lib/types/equipment/item/Vehicle.d.ts +18 -0
  154. package/lib/types/equipment/item/Vehicle.js +5 -0
  155. package/lib/types/equipment/item/Weapon.d.ts +152 -0
  156. package/lib/types/equipment/item/Weapon.js +5 -0
  157. package/lib/types/equipment/item/WeaponAccessory.d.ts +6 -0
  158. package/lib/types/equipment/item/WeaponAccessory.js +5 -0
  159. package/lib/types/equipment/item/_Item.d.ts +157 -0
  160. package/lib/types/equipment/item/_Item.js +1 -0
  161. package/lib/types/equipment/item/_MeleeWeapon.d.ts +113 -0
  162. package/lib/types/equipment/item/_MeleeWeapon.js +4 -0
  163. package/lib/types/equipment/item/_RangedWeapon.d.ts +108 -0
  164. package/lib/types/equipment/item/_RangedWeapon.js +4 -0
  165. package/lib/types/equipment/item/_Weapon.d.ts +57 -0
  166. package/lib/types/equipment/{_Weapon.js → item/_Weapon.js} +0 -3
  167. package/lib/types/equipment/item/sub/ArmorType.d.ts +36 -0
  168. package/lib/types/equipment/{ArmorType.js → item/sub/ArmorType.js} +1 -1
  169. package/lib/types/equipment/item/sub/Reach.d.ts +27 -0
  170. package/lib/types/equipment/{Reach.js → item/sub/Reach.js} +1 -1
  171. package/lib/types/magicalActions/AnimistPower.d.ts +168 -225
  172. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +9 -13
  173. package/lib/types/magicalActions/Curse.d.ts +115 -184
  174. package/lib/types/magicalActions/DominationRitual.d.ts +98 -136
  175. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +79 -123
  176. package/lib/types/magicalActions/GeodeRitual.d.ts +124 -111
  177. package/lib/types/magicalActions/JesterTrick.d.ts +114 -109
  178. package/lib/types/magicalActions/MagicalDance.d.ts +71 -138
  179. package/lib/types/magicalActions/MagicalMelody.d.ts +65 -75
  180. package/lib/types/magicalActions/MagicalRune.d.ts +155 -189
  181. package/lib/types/magicalActions/ZibiljaRitual.d.ts +57 -65
  182. package/lib/types/magicalActions/_MusicTradition.d.ts +23 -13
  183. package/lib/types/magicalActions/_SkillReference.d.ts +1 -1
  184. package/lib/types/prerequisites/DisplayOption.d.ts +6 -8
  185. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +194 -16
  186. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +0 -3
  187. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +0 -1
  188. package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +0 -1
  189. package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +17 -14
  190. package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +0 -1
  191. package/lib/types/prerequisites/single/PactPrerequisite.d.ts +5 -14
  192. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +6 -6
  193. package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +0 -1
  194. package/lib/types/prerequisites/single/RacePrerequisite.d.ts +0 -1
  195. package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +32 -41
  196. package/lib/types/prerequisites/single/RulePrerequisite.d.ts +0 -1
  197. package/lib/types/prerequisites/single/SexPrerequisite.d.ts +0 -1
  198. package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +0 -1
  199. package/lib/types/prerequisites/single/StatePrerequisite.d.ts +0 -1
  200. package/lib/types/prerequisites/single/TextPrerequisite.d.ts +11 -15
  201. package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +20 -12
  202. package/lib/types/rule/CoreRule.d.ts +198 -206
  203. package/lib/types/rule/FocusRule.d.ts +19 -24
  204. package/lib/types/rule/FocusRule_Subject.d.ts +9 -13
  205. package/lib/types/rule/OptionalRule.d.ts +12 -35
  206. package/lib/types/rule/_Rule.d.ts +19 -0
  207. package/lib/types/rule/_Rule.js +1 -0
  208. package/lib/types/source/Publication.d.ts +34 -48
  209. package/lib/types/source/_Erratum.d.ts +2 -1
  210. package/lib/types/source/_PublicationRef.d.ts +41 -37
  211. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +13 -17
  212. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +8 -12
  213. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +8 -12
  214. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +8 -12
  215. package/lib/types/specialAbility/AncestorGlyph.d.ts +8 -12
  216. package/lib/types/specialAbility/BlessedTradition.d.ts +92 -123
  217. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +9 -13
  218. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +8 -12
  219. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +13 -17
  220. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +10 -18
  221. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +1 -1
  222. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +8 -12
  223. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +8 -12
  224. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +8 -12
  225. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +8 -12
  226. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +8 -12
  227. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +8 -12
  228. package/lib/types/specialAbility/LycantropicGift.d.ts +8 -12
  229. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +8 -12
  230. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +8 -12
  231. package/lib/types/specialAbility/MagicalTradition.d.ts +38 -58
  232. package/lib/types/specialAbility/PactGift.d.ts +75 -62
  233. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +16 -23
  234. package/lib/types/specialAbility/Sermon.d.ts +8 -12
  235. package/lib/types/specialAbility/SexSpecialAbility.d.ts +8 -12
  236. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +8 -12
  237. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +8 -12
  238. package/lib/types/specialAbility/VampiricGift.d.ts +8 -12
  239. package/lib/types/specialAbility/Vision.d.ts +8 -12
  240. package/lib/types/specialAbility/_Tradition.d.ts +12 -0
  241. package/lib/types/specialAbility/_Tradition.js +1 -0
  242. package/lib/types/specialAbility/sub/Language.d.ts +78 -104
  243. package/lib/types/specialAbility/sub/Script.d.ts +24 -51
  244. package/lib/types/specialAbility/sub/TradeSecret.d.ts +14 -20
  245. package/lib/types/specialAbility/sub/_LanguageScript.d.ts +13 -0
  246. package/lib/types/specialAbility/sub/_LanguageScript.js +1 -0
  247. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +20 -24
  248. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +21 -25
  249. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +20 -24
  250. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +31 -34
  251. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +20 -24
  252. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +45 -25
  253. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +20 -24
  254. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +20 -24
  255. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +20 -24
  256. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +20 -24
  257. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +20 -24
  258. package/lib/types/traditionArtifacts/SickleRitual.d.ts +20 -24
  259. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +20 -24
  260. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +21 -25
  261. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +21 -25
  262. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +20 -24
  263. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +20 -24
  264. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +19 -24
  265. package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +24 -16
  266. package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +9 -13
  267. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +9 -13
  268. package/lib/types/traditionArtifacts/sub/Brew.d.ts +9 -13
  269. package/lib/validation/schema.d.ts +11 -2
  270. package/lib/validation/schema.js +16 -4
  271. package/package.json +8 -7
  272. package/schema/Advantage.schema.json +49 -42
  273. package/schema/AnimalDisease.schema.json +17 -325
  274. package/schema/AnimalType.schema.json +17 -15
  275. package/schema/ArcaneBardTradition.schema.json +4 -42
  276. package/schema/ArcaneDancerTradition.schema.json +4 -42
  277. package/schema/Aspect.schema.json +21 -20
  278. package/schema/Attribute.schema.json +27 -27
  279. package/schema/Blessing.schema.json +188 -170
  280. package/schema/Cantrip.schema.json +334 -273
  281. package/schema/Ceremony.schema.json +90 -149
  282. package/schema/CombatTechnique_Close.schema.json +56 -67
  283. package/schema/CombatTechnique_Ranged.schema.json +46 -30
  284. package/schema/Condition.schema.json +46 -50
  285. package/schema/Continent.schema.json +18 -15
  286. package/schema/Culture.schema.json +408 -487
  287. package/schema/DerivedCharacteristic.schema.json +8 -8
  288. package/schema/Disadvantage.schema.json +45 -40
  289. package/schema/Disease.schema.json +7 -193
  290. package/schema/Element.schema.json +18 -15
  291. package/schema/ExperienceLevel.schema.json +5 -5
  292. package/schema/EyeColor.schema.json +17 -15
  293. package/schema/FamiliarsTrick.schema.json +491 -513
  294. package/schema/HairColor.schema.json +17 -15
  295. package/schema/Kirchenpraegung.schema.json +4 -4
  296. package/schema/Lessons_Curriculum.schema.json +202 -232
  297. package/schema/Lessons_Guideline.schema.json +17 -15
  298. package/schema/LiturgicalChant.schema.json +90 -149
  299. package/schema/Locale.schema.json +5 -5
  300. package/schema/MetaCondition.schema.json +46 -50
  301. package/schema/PactCategory.schema.json +101 -89
  302. package/schema/Patron.schema.json +239 -229
  303. package/schema/PatronCategory.schema.json +18 -27
  304. package/schema/PersonalityTrait.schema.json +50 -57
  305. package/schema/Profession.schema.json +810 -993
  306. package/schema/Property.schema.json +18 -16
  307. package/schema/Race.schema.json +200 -308
  308. package/schema/Region.schema.json +17 -15
  309. package/schema/Ritual.schema.json +111 -158
  310. package/schema/Service.schema.json +55 -51
  311. package/schema/SexPractice.schema.json +37 -39
  312. package/schema/Skill.schema.json +88 -89
  313. package/schema/SkillGroup.schema.json +23 -22
  314. package/schema/SkillModificationLevel.schema.json +93 -82
  315. package/schema/SocialStatus.schema.json +17 -15
  316. package/schema/Spell.schema.json +110 -158
  317. package/schema/State.schema.json +26 -25
  318. package/schema/Talisman.schema.json +115 -121
  319. package/schema/TargetCategory.schema.json +35 -20
  320. package/schema/UI.schema.json +830 -834
  321. package/schema/_Activatable.schema.json +1482 -2138
  322. package/schema/_ActivatableSelectOptionCategory.schema.json +1124 -0
  323. package/schema/_ActivatableSkill.schema.json +96 -1679
  324. package/schema/_ActivatableSkillCastingTime.schema.json +177 -0
  325. package/schema/_ActivatableSkillCheckResultBased.schema.json +101 -0
  326. package/schema/_ActivatableSkillCost.schema.json +448 -0
  327. package/schema/_ActivatableSkillDuration.schema.json +335 -0
  328. package/schema/_ActivatableSkillEffect.schema.json +153 -0
  329. package/schema/_ActivatableSkillRange.schema.json +221 -0
  330. package/schema/_ActivatableSkillTargetCategory.schema.json +117 -0
  331. package/schema/_AlternativeNames.schema.json +23 -0
  332. package/schema/_ArcaneTradition.schema.json +51 -0
  333. package/schema/_Blessed.schema.json +64 -0
  334. package/schema/_CommonnessRatedAdvantageDisadvantage.schema.json +2 -2
  335. package/schema/_Dice.schema.json +3 -3
  336. package/schema/_DiseasePoison.schema.json +173 -0
  337. package/schema/_Enhancements.schema.json +29 -26
  338. package/schema/_I18n.schema.json +8 -12
  339. package/schema/_Identifier.schema.json +73 -22
  340. package/schema/_ImprovementCost.schema.json +2 -2
  341. package/schema/_Influence.schema.json +48 -45
  342. package/schema/_NonEmptyString.schema.json +14 -0
  343. package/schema/_Prerequisite.schema.json +953 -765
  344. package/schema/_ResponsiveText.schema.json +66 -0
  345. package/schema/_Sex.schema.json +3 -3
  346. package/schema/_SimpleReferences.schema.json +586 -0
  347. package/schema/_SkillCheck.schema.json +5 -20
  348. package/schema/_Spellwork.schema.json +47 -0
  349. package/schema/equipment/EquipmentPackage.schema.json +37 -32
  350. package/schema/equipment/item/Alchemicum.schema.json +10 -0
  351. package/schema/equipment/item/Ammunition.schema.json +56 -0
  352. package/schema/equipment/item/Animal.schema.json +36 -0
  353. package/schema/equipment/item/AnimalCare.schema.json +124 -0
  354. package/schema/equipment/item/Armor.schema.json +288 -0
  355. package/schema/equipment/item/BandageOrRemedy.schema.json +10 -0
  356. package/schema/equipment/item/Book.schema.json +89 -0
  357. package/schema/equipment/item/CeremonialItem.schema.json +10 -0
  358. package/schema/equipment/item/Clothes.schema.json +10 -0
  359. package/schema/equipment/item/Container.schema.json +10 -0
  360. package/schema/equipment/item/EquipmentOfBlessedOnes.schema.json +59 -0
  361. package/schema/equipment/item/GemOrPreciousStone.schema.json +69 -0
  362. package/schema/equipment/item/HealingHerb.schema.json +10 -0
  363. package/schema/equipment/item/Illumination.schema.json +10 -0
  364. package/schema/equipment/item/Jewelry.schema.json +113 -0
  365. package/schema/equipment/item/Liebesspielzeug.schema.json +10 -0
  366. package/schema/equipment/item/LuxuryGood.schema.json +10 -0
  367. package/schema/equipment/item/MagicalArtifact.schema.json +64 -0
  368. package/schema/equipment/item/MusicalInstrument.schema.json +46 -0
  369. package/schema/equipment/item/OrienteeringAid.schema.json +10 -0
  370. package/schema/equipment/item/Poison.schema.json +378 -0
  371. package/schema/equipment/item/RopeOrChain.schema.json +10 -0
  372. package/schema/equipment/item/Stationary.schema.json +10 -0
  373. package/schema/equipment/item/ThievesTool.schema.json +10 -0
  374. package/schema/equipment/item/ToolOfTheTrade.schema.json +83 -0
  375. package/schema/equipment/item/TravelGearOrTool.schema.json +10 -0
  376. package/schema/equipment/item/Vehicle.schema.json +36 -0
  377. package/schema/equipment/item/Weapon.schema.json +265 -0
  378. package/schema/equipment/item/WeaponAccessory.schema.json +10 -0
  379. package/schema/equipment/item/_Item.schema.json +361 -0
  380. package/schema/equipment/item/_MeleeWeapon.schema.json +166 -0
  381. package/schema/equipment/item/_RangedWeapon.schema.json +172 -0
  382. package/schema/equipment/item/_Weapon.schema.json +99 -0
  383. package/schema/equipment/item/sub/ArmorType.schema.json +53 -0
  384. package/schema/equipment/{Reach.schema.json → item/sub/Reach.schema.json} +18 -16
  385. package/schema/magicalActions/AnimistPower.schema.json +413 -402
  386. package/schema/magicalActions/AnimistPower_Tribe.schema.json +17 -15
  387. package/schema/magicalActions/Curse.schema.json +288 -315
  388. package/schema/magicalActions/DominationRitual.schema.json +233 -220
  389. package/schema/magicalActions/ElvenMagicalSong.schema.json +132 -154
  390. package/schema/magicalActions/GeodeRitual.schema.json +284 -222
  391. package/schema/magicalActions/JesterTrick.schema.json +252 -202
  392. package/schema/magicalActions/MagicalDance.schema.json +147 -251
  393. package/schema/magicalActions/MagicalMelody.schema.json +129 -164
  394. package/schema/magicalActions/MagicalRune.schema.json +341 -323
  395. package/schema/magicalActions/ZibiljaRitual.schema.json +139 -112
  396. package/schema/magicalActions/_MusicTradition.schema.json +88 -14
  397. package/schema/magicalActions/_SkillReference.schema.json +4 -4
  398. package/schema/prerequisites/ConditionalPrerequisites.schema.json +3 -3
  399. package/schema/prerequisites/DisplayOption.schema.json +25 -14
  400. package/schema/prerequisites/PrerequisiteGroups.schema.json +928 -152
  401. package/schema/prerequisites/single/ActivatablePrerequisite.schema.json +13 -25
  402. package/schema/prerequisites/single/AnimistPowerPrerequisite.schema.json +4 -7
  403. package/schema/prerequisites/single/CulturePrerequisite.schema.json +4 -8
  404. package/schema/prerequisites/single/EnhancementPrerequisite.schema.json +30 -23
  405. package/schema/prerequisites/single/InfluencePrerequisite.schema.json +3 -7
  406. package/schema/prerequisites/single/PactPrerequisite.schema.json +9 -19
  407. package/schema/prerequisites/single/PrimaryAttributePrerequisite.schema.json +32 -33
  408. package/schema/prerequisites/single/PublicationPrerequisite.schema.json +3 -7
  409. package/schema/prerequisites/single/RacePrerequisite.schema.json +4 -8
  410. package/schema/prerequisites/single/RatedPrerequisite.schema.json +104 -107
  411. package/schema/prerequisites/single/RulePrerequisite.schema.json +4 -8
  412. package/schema/prerequisites/single/SexPrerequisite.schema.json +4 -8
  413. package/schema/prerequisites/single/SocialStatusPrerequisite.schema.json +3 -7
  414. package/schema/prerequisites/single/StatePrerequisite.schema.json +4 -8
  415. package/schema/prerequisites/single/TextPrerequisite.schema.json +36 -35
  416. package/schema/prerequisites/single/TraditionPrerequisite.schema.json +66 -68
  417. package/schema/rule/CoreRule.schema.json +904 -859
  418. package/schema/rule/FocusRule.schema.json +34 -30
  419. package/schema/rule/FocusRule_Subject.schema.json +17 -15
  420. package/schema/rule/OptionalRule.schema.json +24 -56
  421. package/schema/rule/_Rule.schema.json +52 -0
  422. package/schema/source/Publication.schema.json +45 -71
  423. package/schema/source/_Erratum.schema.json +5 -6
  424. package/schema/source/_PublicationRef.schema.json +87 -57
  425. package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +41 -38
  426. package/schema/specialAbility/AdvancedKarmaSpecialAbility.schema.json +35 -32
  427. package/schema/specialAbility/AdvancedMagicalSpecialAbility.schema.json +35 -32
  428. package/schema/specialAbility/AdvancedSkillSpecialAbility.schema.json +35 -32
  429. package/schema/specialAbility/AncestorGlyph.schema.json +33 -30
  430. package/schema/specialAbility/BlessedTradition.schema.json +230 -225
  431. package/schema/specialAbility/BrawlingSpecialAbility.schema.json +35 -32
  432. package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +36 -33
  433. package/schema/specialAbility/CombatSpecialAbility.schema.json +41 -38
  434. package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +39 -61
  435. package/schema/specialAbility/CommandSpecialAbility.schema.json +16 -16
  436. package/schema/specialAbility/FamiliarSpecialAbility.schema.json +33 -30
  437. package/schema/specialAbility/FatePointSexSpecialAbility.schema.json +33 -30
  438. package/schema/specialAbility/FatePointSpecialAbility.schema.json +35 -32
  439. package/schema/specialAbility/GeneralSpecialAbility.schema.json +35 -32
  440. package/schema/specialAbility/KarmaSpecialAbility.schema.json +33 -30
  441. package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +36 -33
  442. package/schema/specialAbility/LycantropicGift.schema.json +33 -30
  443. package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +36 -33
  444. package/schema/specialAbility/MagicalSpecialAbility.schema.json +35 -32
  445. package/schema/specialAbility/MagicalTradition.schema.json +66 -87
  446. package/schema/specialAbility/PactGift.schema.json +240 -174
  447. package/schema/specialAbility/ProtectiveWardingCircleSpecialAbility.schema.json +39 -38
  448. package/schema/specialAbility/Sermon.schema.json +33 -30
  449. package/schema/specialAbility/SexSpecialAbility.schema.json +35 -32
  450. package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +33 -30
  451. package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +34 -31
  452. package/schema/specialAbility/VampiricGift.schema.json +33 -30
  453. package/schema/specialAbility/Vision.schema.json +33 -30
  454. package/schema/specialAbility/_Tradition.schema.json +23 -0
  455. package/schema/specialAbility/sub/Language.schema.json +170 -162
  456. package/schema/specialAbility/sub/Script.schema.json +35 -72
  457. package/schema/specialAbility/sub/TradeSecret.schema.json +26 -25
  458. package/schema/specialAbility/sub/_LanguageScript.schema.json +26 -0
  459. package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +46 -43
  460. package/schema/traditionArtifacts/AttireEnchantment.schema.json +47 -43
  461. package/schema/traditionArtifacts/BowlEnchantment.schema.json +46 -43
  462. package/schema/traditionArtifacts/CauldronEnchantment.schema.json +63 -56
  463. package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +46 -43
  464. package/schema/traditionArtifacts/DaggerRitual.schema.json +132 -43
  465. package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +46 -43
  466. package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +46 -43
  467. package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +46 -43
  468. package/schema/traditionArtifacts/OrbEnchantment.schema.json +46 -43
  469. package/schema/traditionArtifacts/RingEnchantment.schema.json +46 -43
  470. package/schema/traditionArtifacts/SickleRitual.schema.json +46 -43
  471. package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +46 -43
  472. package/schema/traditionArtifacts/StaffEnchantment.schema.json +47 -43
  473. package/schema/traditionArtifacts/ToyEnchantment.schema.json +47 -43
  474. package/schema/traditionArtifacts/Trinkhornzauber.schema.json +46 -43
  475. package/schema/traditionArtifacts/WandEnchantment.schema.json +46 -43
  476. package/schema/traditionArtifacts/WeaponEnchantment.schema.json +46 -50
  477. package/schema/traditionArtifacts/sub/AnimalShape.schema.json +53 -25
  478. package/schema/traditionArtifacts/sub/AnimalShapePath.schema.json +17 -15
  479. package/schema/traditionArtifacts/sub/AnimalShapeSize.schema.json +17 -15
  480. package/schema/traditionArtifacts/sub/Brew.schema.json +17 -15
  481. package/lib/types/MagicalTraditionPlaceholder.d.ts +0 -32
  482. package/lib/types/MagicalTraditionPlaceholder.js +0 -5
  483. package/lib/types/Poison.d.ts +0 -208
  484. package/lib/types/equipment/ArmorType.d.ts +0 -31
  485. package/lib/types/equipment/Item.d.ts +0 -308
  486. package/lib/types/equipment/Item.js +0 -35
  487. package/lib/types/equipment/ItemGroup.d.ts +0 -31
  488. package/lib/types/equipment/ItemGroup.js +0 -5
  489. package/lib/types/equipment/Reach.d.ts +0 -31
  490. package/lib/types/equipment/_Armor.d.ts +0 -70
  491. package/lib/types/equipment/_Weapon.d.ts +0 -330
  492. package/lib/types/prerequisites/single/CommonSuggestedByRCPPrerequisite.d.ts +0 -3
  493. package/schema/MagicalTraditionPlaceholder.schema.json +0 -45
  494. package/schema/Poison.schema.json +0 -417
  495. package/schema/equipment/ArmorType.schema.json +0 -45
  496. package/schema/equipment/Item.schema.json +0 -621
  497. package/schema/equipment/ItemGroup.schema.json +0 -45
  498. package/schema/equipment/_Armor.schema.json +0 -125
  499. package/schema/equipment/_Weapon.schema.json +0 -664
  500. package/schema/prerequisites/single/CommonSuggestedByRCPPrerequisite.schema.json +0 -18
@@ -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": "/HairColor.schema.json",
4
- "$ref": "#/definitions/HairColor",
5
- "definitions": {
4
+ "$ref": "#/$defs/HairColor",
5
+ "$defs": {
6
6
  "HairColor": {
7
7
  "title": "Hair Color",
8
8
  "type": "object",
@@ -17,18 +17,7 @@
17
17
  "type": "object",
18
18
  "patternProperties": {
19
19
  "^[a-z]{2}-[A-Z]{2}$": {
20
- "type": "object",
21
- "properties": {
22
- "name": {
23
- "description": "The hair color.",
24
- "type": "string",
25
- "minLength": 1
26
- }
27
- },
28
- "required": [
29
- "name"
30
- ],
31
- "additionalProperties": false
20
+ "$ref": "#/$defs/HairColorTranslation"
32
21
  }
33
22
  },
34
23
  "minProperties": 1,
@@ -40,6 +29,19 @@
40
29
  "translations"
41
30
  ],
42
31
  "additionalProperties": false
32
+ },
33
+ "HairColorTranslation": {
34
+ "type": "object",
35
+ "properties": {
36
+ "name": {
37
+ "description": "The hair color.",
38
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
39
+ }
40
+ },
41
+ "required": [
42
+ "name"
43
+ ],
44
+ "additionalProperties": false
43
45
  }
44
46
  }
45
47
  }
@@ -1,11 +1,11 @@
1
1
  {
2
- "$schema": "http://json-schema.org/draft-07/schema",
2
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
3
3
  "$id": "/Kirchenpraegung.schema.json",
4
- "$ref": "#/definitions/Kirchenpraegung",
5
- "definitions": {
4
+ "$ref": "#/$defs/Kirchenpraegung",
5
+ "$defs": {
6
6
  "Kirchenpraegung": {
7
7
  "title": "Kirchenprägung",
8
- "$ref": "./_Influence.schema.json#/definitions/Influence"
8
+ "$ref": "./_Influence.schema.json#/$defs/Influence"
9
9
  }
10
10
  }
11
11
  }
@@ -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": [
@@ -88,33 +88,45 @@
88
88
  "type": "object",
89
89
  "properties": {
90
90
  "tag": {
91
- "const": "Explicit"
91
+ "const": "Specific"
92
92
  },
93
- "list": {
94
- "type": "array",
95
- "items": {
96
- "$ref": "#/definitions/ElectiveSpellwork"
97
- },
98
- "minItems": 1
93
+ "specific": {
94
+ "$ref": "#/$defs/SpecificElectiveSpellworks"
99
95
  }
100
96
  },
101
97
  "required": [
102
98
  "tag",
103
- "list"
99
+ "specific"
104
100
  ],
105
101
  "additionalProperties": false
106
102
  }
107
103
  ]
108
104
  },
105
+ "SpecificElectiveSpellworks": {
106
+ "type": "object",
107
+ "properties": {
108
+ "list": {
109
+ "type": "array",
110
+ "items": {
111
+ "$ref": "#/$defs/ElectiveSpellwork"
112
+ },
113
+ "minItems": 1
114
+ }
115
+ },
116
+ "required": [
117
+ "list"
118
+ ],
119
+ "additionalProperties": false
120
+ },
109
121
  "ElectiveSpellwork": {
110
122
  "type": "object",
111
123
  "properties": {
112
124
  "id": {
113
- "$ref": "#/definitions/SpellworkId"
125
+ "$ref": "./_Identifier.schema.json#/$defs/SpellworkIdentifier"
114
126
  },
115
127
  "restriction": {
116
128
  "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"
129
+ "$ref": "#/$defs/ElectiveSpellworkRestriction"
118
130
  }
119
131
  },
120
132
  "required": [
@@ -146,7 +158,7 @@
146
158
  "description": "The academy's restricted spellworks package.",
147
159
  "type": "array",
148
160
  "items": {
149
- "$ref": "#/definitions/RestrictedSpellwork"
161
+ "$ref": "#/$defs/RestrictedSpellwork"
150
162
  },
151
163
  "minItems": 1
152
164
  },
@@ -159,32 +171,31 @@
159
171
  "tag": {
160
172
  "const": "Property"
161
173
  },
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"
174
+ "property": {
175
+ "$ref": "#/$defs/RestrictedProperty"
178
176
  }
179
177
  },
180
178
  "required": [
181
179
  "tag",
182
- "id"
180
+ "property"
183
181
  ],
184
182
  "additionalProperties": false
185
183
  },
186
184
  {
187
- "$ref": "#/definitions/SpellworkId"
185
+ "type": "object",
186
+ "properties": {
187
+ "tag": {
188
+ "const": "Spellwork"
189
+ },
190
+ "spellwork": {
191
+ "$ref": "./_Identifier.schema.json#/$defs/SpellworkIdentifier"
192
+ }
193
+ },
194
+ "required": [
195
+ "tag",
196
+ "spellwork"
197
+ ],
198
+ "additionalProperties": false
188
199
  },
189
200
  {
190
201
  "type": "object",
@@ -224,15 +235,41 @@
224
235
  }
225
236
  ]
226
237
  },
238
+ "RestrictedProperty": {
239
+ "type": "object",
240
+ "properties": {
241
+ "id": {
242
+ "description": "The identifier of the property that spellworks are disallowed from.",
243
+ "type": "integer",
244
+ "minimum": 1
245
+ },
246
+ "exclude": {
247
+ "description": "Exclude specific spellworks from the restriction.",
248
+ "type": "array",
249
+ "items": {
250
+ "$ref": "./_Identifier.schema.json#/$defs/SpellworkIdentifier"
251
+ },
252
+ "minItems": 1
253
+ },
254
+ "maximum": {
255
+ "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.",
256
+ "type": "number"
257
+ }
258
+ },
259
+ "required": [
260
+ "id"
261
+ ],
262
+ "additionalProperties": false
263
+ },
227
264
  "LessonPackages": {
228
265
  "description": "A list of available lesson packages.",
229
266
  "type": "array",
230
267
  "items": [
231
268
  {
232
- "$ref": "#/definitions/LessonPackage"
269
+ "$ref": "#/$defs/LessonPackage"
233
270
  },
234
271
  {
235
- "$ref": "#/definitions/LessonPackage"
272
+ "$ref": "#/$defs/LessonPackage"
236
273
  }
237
274
  ],
238
275
  "minItems": 2,
@@ -252,27 +289,14 @@
252
289
  "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
290
  "type": "array",
254
291
  "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
292
+ "$ref": "#/$defs/SpellworkChange"
269
293
  },
270
294
  "minItems": 1
271
295
  },
272
296
  "skills": {
273
297
  "type": "array",
274
298
  "items": {
275
- "$ref": "#/definitions/SkillAdjustment"
299
+ "$ref": "#/$defs/AbilityAdjustment"
276
300
  }
277
301
  },
278
302
  "translations": {
@@ -280,23 +304,7 @@
280
304
  "type": "object",
281
305
  "patternProperties": {
282
306
  "^[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
307
+ "$ref": "#/$defs/LessonPackageTranslation"
300
308
  }
301
309
  },
302
310
  "minProperties": 1,
@@ -310,30 +318,54 @@
310
318
  "minProperties": 3,
311
319
  "additionalProperties": false
312
320
  },
313
- "SkillAdjustment": {
321
+ "SpellworkChange": {
322
+ "type": "object",
323
+ "properties": {
324
+ "base": {
325
+ "$ref": "#/$defs/SpellworkAdjustment"
326
+ },
327
+ "replacement": {
328
+ "$ref": "#/$defs/SpellworkAdjustment"
329
+ }
330
+ },
331
+ "required": [
332
+ "base",
333
+ "replacement"
334
+ ],
335
+ "additionalProperties": false
336
+ },
337
+ "LessonPackageTranslation": {
338
+ "type": "object",
339
+ "properties": {
340
+ "name": {
341
+ "description": "The name of the lesson package.",
342
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
343
+ },
344
+ "spellwork_changes": {
345
+ "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.",
346
+ "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
347
+ }
348
+ },
349
+ "required": [
350
+ "name"
351
+ ],
352
+ "additionalProperties": false
353
+ },
354
+ "AbilityAdjustment": {
314
355
  "oneOf": [
315
356
  {
316
357
  "type": "object",
317
358
  "properties": {
318
359
  "tag": {
319
- "const": "MeleeCombatTechnique"
320
- },
321
- "id": {
322
- "description": "The melee combat technique's identifier.",
323
- "type": "integer",
324
- "minimum": 1
360
+ "const": "CombatTechnique"
325
361
  },
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
362
+ "combat_technique": {
363
+ "$ref": "#/$defs/CombatTechniqueAdjustment"
331
364
  }
332
365
  },
333
366
  "required": [
334
367
  "tag",
335
- "id",
336
- "points"
368
+ "combat_technique"
337
369
  ],
338
370
  "additionalProperties": false
339
371
  },
@@ -341,24 +373,15 @@
341
373
  "type": "object",
342
374
  "properties": {
343
375
  "tag": {
344
- "const": "RangedCombatTechnique"
345
- },
346
- "id": {
347
- "description": "The ranged combat technique's identifier.",
348
- "type": "integer",
349
- "minimum": 1
376
+ "const": "Skill"
350
377
  },
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
378
+ "skill": {
379
+ "$ref": "#/$defs/SkillAdjustment"
356
380
  }
357
381
  },
358
382
  "required": [
359
383
  "tag",
360
- "id",
361
- "points"
384
+ "skill"
362
385
  ],
363
386
  "additionalProperties": false
364
387
  },
@@ -366,135 +389,82 @@
366
389
  "type": "object",
367
390
  "properties": {
368
391
  "tag": {
369
- "const": "Skill"
392
+ "const": "Spellwork"
370
393
  },
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
394
+ "spellwork": {
395
+ "$ref": "#/$defs/SpellworkAdjustment"
381
396
  }
382
397
  },
383
398
  "required": [
384
399
  "tag",
385
- "id",
386
- "points"
400
+ "spellwork"
387
401
  ],
388
402
  "additionalProperties": false
389
- },
390
- {
391
- "$ref": "#/definitions/SpellworkAdjustment"
392
403
  }
393
404
  ]
394
405
  },
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
406
+ "CombatTechniqueAdjustment": {
407
+ "type": "object",
408
+ "properties": {
409
+ "id": {
410
+ "$ref": "./_Identifier.schema.json#/$defs/CombatTechniqueIdentifier"
426
411
  },
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
412
+ "points": {
413
+ "description": "The combat technique points that will be added to the current combat\ntechnique rating.",
414
+ "type": "integer",
415
+ "maximum": 6,
416
+ "minimum": -6
456
417
  }
457
- ]
418
+ },
419
+ "required": [
420
+ "id",
421
+ "points"
422
+ ],
423
+ "additionalProperties": false
458
424
  },
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
425
+ "SkillAdjustment": {
426
+ "type": "object",
427
+ "properties": {
428
+ "id": {
429
+ "description": "The skill's identifier.",
430
+ "type": "integer",
431
+ "minimum": 1
478
432
  },
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
433
+ "points": {
434
+ "description": "The skill points that will be added to the current skill rating.",
435
+ "type": "integer",
436
+ "maximum": 8,
437
+ "minimum": -8
496
438
  }
497
- ]
439
+ },
440
+ "required": [
441
+ "id",
442
+ "points"
443
+ ],
444
+ "additionalProperties": false
445
+ },
446
+ "SpellworkAdjustment": {
447
+ "type": "object",
448
+ "properties": {
449
+ "id": {
450
+ "$ref": "./_Identifier.schema.json#/$defs/SpellworkIdentifier"
451
+ },
452
+ "points": {
453
+ "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.",
454
+ "type": "integer",
455
+ "maximum": 10,
456
+ "minimum": -10
457
+ },
458
+ "tradition": {
459
+ "description": "The target tradition. If the target spell is not from the Guild Mage\ntradition, specify the tradition identifier here.",
460
+ "$ref": "./_Identifier.schema.json#/$defs/MagicalTraditionIdentifier"
461
+ }
462
+ },
463
+ "required": [
464
+ "id",
465
+ "points"
466
+ ],
467
+ "additionalProperties": false
498
468
  }
499
469
  }
500
470
  }