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,170 +1,7 @@
1
1
  {
2
- "$schema": "http://json-schema.org/draft-07/schema",
2
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
3
3
  "$id": "/_ActivatableSkill.schema.json",
4
- "definitions": {
5
- "Effect": {
6
- "T": {
7
- "description": "The effect description may be either a plain text or a text that is divided\nby a list of effects for each quality level. It may also be a list for each\ntwo quality levels.",
8
- "oneOf": [
9
- {
10
- "type": "object",
11
- "properties": {
12
- "tag": {
13
- "const": "Plain"
14
- },
15
- "text": {
16
- "description": "The effect description.",
17
- "type": "string",
18
- "minLength": 1
19
- }
20
- },
21
- "required": [
22
- "tag",
23
- "text"
24
- ],
25
- "additionalProperties": false
26
- },
27
- {
28
- "type": "object",
29
- "properties": {
30
- "tag": {
31
- "const": "ForEachQualityLevel"
32
- },
33
- "text_before": {
34
- "description": "The effect description before the list of effects for each quality\nlevel.",
35
- "type": "string",
36
- "minLength": 1
37
- },
38
- "quality_levels": {
39
- "description": "The list of effects for each quality level.",
40
- "type": "array",
41
- "items": [
42
- {
43
- "$ref": "#/definitions/Effect/QualityLevel1"
44
- },
45
- {
46
- "$ref": "#/definitions/Effect/QualityLevel2"
47
- },
48
- {
49
- "$ref": "#/definitions/Effect/QualityLevel3"
50
- },
51
- {
52
- "$ref": "#/definitions/Effect/QualityLevel4"
53
- },
54
- {
55
- "$ref": "#/definitions/Effect/QualityLevel5"
56
- },
57
- {
58
- "$ref": "#/definitions/Effect/QualityLevel6"
59
- }
60
- ],
61
- "minItems": 6,
62
- "maxItems": 6,
63
- "additionalItems": false
64
- },
65
- "text_after": {
66
- "description": "The effect description after the list of effects for each quality\nlevel.",
67
- "type": "string",
68
- "minLength": 1
69
- }
70
- },
71
- "required": [
72
- "tag",
73
- "text_before",
74
- "quality_levels"
75
- ],
76
- "additionalProperties": false
77
- },
78
- {
79
- "type": "object",
80
- "properties": {
81
- "tag": {
82
- "const": "ForEachTwoQualityLevels"
83
- },
84
- "text_before": {
85
- "description": "The effect description before the list of effects for each quality\nlevel.",
86
- "type": "string",
87
- "minLength": 1
88
- },
89
- "quality_levels": {
90
- "description": "The list of effects for each two quality levels.",
91
- "type": "array",
92
- "items": [
93
- {
94
- "$ref": "#/definitions/Effect/QualityLevel1To2"
95
- },
96
- {
97
- "$ref": "#/definitions/Effect/QualityLevel3To4"
98
- },
99
- {
100
- "$ref": "#/definitions/Effect/QualityLevel5To6"
101
- }
102
- ],
103
- "minItems": 3,
104
- "maxItems": 3,
105
- "additionalItems": false
106
- },
107
- "text_after": {
108
- "description": "The effect description after the list of effects for each quality\nlevel.",
109
- "type": "string",
110
- "minLength": 1
111
- }
112
- },
113
- "required": [
114
- "tag",
115
- "text_before",
116
- "quality_levels"
117
- ],
118
- "additionalProperties": false
119
- }
120
- ]
121
- },
122
- "QualityLevel1": {
123
- "description": "Effect at QL 1.",
124
- "type": "string",
125
- "minLength": 1
126
- },
127
- "QualityLevel2": {
128
- "description": "Effect at QL 2.",
129
- "type": "string",
130
- "minLength": 1
131
- },
132
- "QualityLevel3": {
133
- "description": "Effect at QL 3.",
134
- "type": "string",
135
- "minLength": 1
136
- },
137
- "QualityLevel4": {
138
- "description": "Effect at QL 4.",
139
- "type": "string",
140
- "minLength": 1
141
- },
142
- "QualityLevel5": {
143
- "description": "Effect at QL 5.",
144
- "type": "string",
145
- "minLength": 1
146
- },
147
- "QualityLevel6": {
148
- "description": "Effect at QL 6.",
149
- "type": "string",
150
- "minLength": 1
151
- },
152
- "QualityLevel1To2": {
153
- "description": "Effect at QL 1–2.",
154
- "type": "string",
155
- "minLength": 1
156
- },
157
- "QualityLevel3To4": {
158
- "description": "Effect at QL 3–4.",
159
- "type": "string",
160
- "minLength": 1
161
- },
162
- "QualityLevel5To6": {
163
- "description": "Effect at QL 5–6.",
164
- "type": "string",
165
- "minLength": 1
166
- }
167
- },
4
+ "$defs": {
168
5
  "FastPerformanceParameters": {
169
6
  "oneOf": [
170
7
  {
@@ -173,25 +10,13 @@
173
10
  "tag": {
174
11
  "const": "OneTime"
175
12
  },
176
- "casting_time": {
177
- "$ref": "#/definitions/CastingTime/Fast"
178
- },
179
- "cost": {
180
- "$ref": "#/definitions/Cost/OneTime/T"
181
- },
182
- "range": {
183
- "$ref": "#/definitions/Range/T"
184
- },
185
- "duration": {
186
- "$ref": "#/definitions/Duration/OneTime/T"
13
+ "one_time": {
14
+ "$ref": "#/$defs/FastOneTimePerformanceParameters"
187
15
  }
188
16
  },
189
17
  "required": [
190
18
  "tag",
191
- "casting_time",
192
- "cost",
193
- "range",
194
- "duration"
19
+ "one_time"
195
20
  ],
196
21
  "additionalProperties": false
197
22
  },
@@ -201,29 +26,65 @@
201
26
  "tag": {
202
27
  "const": "Sustained"
203
28
  },
204
- "casting_time": {
205
- "$ref": "#/definitions/CastingTime/Fast"
206
- },
207
- "cost": {
208
- "$ref": "#/definitions/Cost/Sustained/T"
209
- },
210
- "range": {
211
- "$ref": "#/definitions/Range/T"
212
- },
213
- "duration": {
214
- "$ref": "#/definitions/Duration/Sustained/T"
29
+ "sustained": {
30
+ "$ref": "#/$defs/FastSustainedPerformanceParameters"
215
31
  }
216
32
  },
217
33
  "required": [
218
34
  "tag",
219
- "casting_time",
220
- "cost",
221
- "range"
35
+ "sustained"
222
36
  ],
223
37
  "additionalProperties": false
224
38
  }
225
39
  ]
226
40
  },
41
+ "FastOneTimePerformanceParameters": {
42
+ "type": "object",
43
+ "properties": {
44
+ "casting_time": {
45
+ "$ref": "./_ActivatableSkillCastingTime.schema.json#/$defs/FastCastingTime"
46
+ },
47
+ "cost": {
48
+ "$ref": "./_ActivatableSkillCost.schema.json#/$defs/OneTimeCost"
49
+ },
50
+ "range": {
51
+ "$ref": "./_ActivatableSkillRange.schema.json#/$defs/Range"
52
+ },
53
+ "duration": {
54
+ "$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationForOneTime"
55
+ }
56
+ },
57
+ "required": [
58
+ "casting_time",
59
+ "cost",
60
+ "range",
61
+ "duration"
62
+ ],
63
+ "additionalProperties": false
64
+ },
65
+ "FastSustainedPerformanceParameters": {
66
+ "type": "object",
67
+ "properties": {
68
+ "casting_time": {
69
+ "$ref": "./_ActivatableSkillCastingTime.schema.json#/$defs/FastCastingTime"
70
+ },
71
+ "cost": {
72
+ "$ref": "./_ActivatableSkillCost.schema.json#/$defs/SustainedCost"
73
+ },
74
+ "range": {
75
+ "$ref": "./_ActivatableSkillRange.schema.json#/$defs/Range"
76
+ },
77
+ "duration": {
78
+ "$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationForSustained"
79
+ }
80
+ },
81
+ "required": [
82
+ "casting_time",
83
+ "cost",
84
+ "range"
85
+ ],
86
+ "additionalProperties": false
87
+ },
227
88
  "SlowPerformanceParameters": {
228
89
  "oneOf": [
229
90
  {
@@ -232,25 +93,13 @@
232
93
  "tag": {
233
94
  "const": "OneTime"
234
95
  },
235
- "casting_time": {
236
- "$ref": "#/definitions/CastingTime/Slow"
237
- },
238
- "cost": {
239
- "$ref": "#/definitions/Cost/OneTime/T"
240
- },
241
- "range": {
242
- "$ref": "#/definitions/Range/T"
243
- },
244
- "duration": {
245
- "$ref": "#/definitions/Duration/OneTime/T"
96
+ "one_time": {
97
+ "$ref": "#/$defs/SlowOneTimePerformanceParameters"
246
98
  }
247
99
  },
248
100
  "required": [
249
101
  "tag",
250
- "casting_time",
251
- "cost",
252
- "range",
253
- "duration"
102
+ "one_time"
254
103
  ],
255
104
  "additionalProperties": false
256
105
  },
@@ -260,1509 +109,64 @@
260
109
  "tag": {
261
110
  "const": "Sustained"
262
111
  },
263
- "casting_time": {
264
- "$ref": "#/definitions/CastingTime/Slow"
265
- },
266
- "cost": {
267
- "$ref": "#/definitions/Cost/Sustained/T"
268
- },
269
- "range": {
270
- "$ref": "#/definitions/Range/T"
271
- },
272
- "duration": {
273
- "$ref": "#/definitions/Duration/Sustained/T"
112
+ "sustained": {
113
+ "$ref": "#/$defs/SlowSustainedPerformanceParameters"
274
114
  }
275
115
  },
276
116
  "required": [
277
117
  "tag",
278
- "casting_time",
279
- "cost",
280
- "range"
118
+ "sustained"
281
119
  ],
282
120
  "additionalProperties": false
283
121
  }
284
122
  ]
285
123
  },
286
- "CastingTime": {
287
- "ModifiableCastingTime": {
288
- "type": "object",
289
- "properties": {
290
- "tag": {
291
- "const": "Modifiable"
292
- },
293
- "initial_modification_level": {
294
- "description": "The initial skill modification identifier/level.",
295
- "type": "integer",
296
- "maximum": 6,
297
- "minimum": 1
298
- }
299
- },
300
- "required": [
301
- "tag",
302
- "initial_modification_level"
303
- ],
304
- "additionalProperties": false
305
- },
306
- "FastSkillCastingTime": {
307
- "type": "object",
308
- "properties": {
309
- "tag": {
310
- "const": "NonModifiable"
311
- },
312
- "value": {
313
- "description": "The casting time value in actions.",
314
- "type": "integer",
315
- "minimum": 1
316
- }
317
- },
318
- "required": [
319
- "tag",
320
- "value"
321
- ],
322
- "additionalProperties": false
323
- },
324
- "SlowSkillCastingTime": {
325
- "type": "object",
326
- "properties": {
327
- "tag": {
328
- "const": "NonModifiable"
329
- },
330
- "value": {
331
- "description": "The (unitless) casting time value.",
332
- "type": "integer",
333
- "minimum": 1
334
- },
335
- "unit": {
336
- "$ref": "./SkillModificationLevel.schema.json#/definitions/SlowSkillCastingTimeUnit"
337
- }
124
+ "SlowOneTimePerformanceParameters": {
125
+ "type": "object",
126
+ "properties": {
127
+ "casting_time": {
128
+ "$ref": "./_ActivatableSkillCastingTime.schema.json#/$defs/SlowCastingTime"
338
129
  },
339
- "required": [
340
- "tag",
341
- "value",
342
- "unit"
343
- ],
344
- "additionalProperties": false
345
- },
346
- "Fast": {
347
- "type": "object",
348
- "properties": {
349
- "default": {
350
- "description": "The default casting time definition.",
351
- "oneOf": [
352
- {
353
- "$ref": "#/definitions/CastingTime/ModifiableCastingTime"
354
- },
355
- {
356
- "$ref": "#/definitions/CastingTime/FastSkillCastingTime"
357
- }
358
- ]
359
- },
360
- "during_lovemaking": {
361
- "description": "The casting time during lovemaking. In Aventurian Intimacy, you may only\nuse an activatable skill during lovemaking if it has a casting time used\nduring lovemaking.",
362
- "type": "object",
363
- "properties": {
364
- "value": {
365
- "description": "The (unitless) casting time value.",
366
- "type": "integer",
367
- "minimum": 1
368
- },
369
- "unit": {
370
- "description": "The unit of the `value`.",
371
- "$ref": "#/definitions/CastingTime/CastingTimeDuringLovemakingUnit"
372
- }
373
- },
374
- "required": [
375
- "value",
376
- "unit"
377
- ],
378
- "additionalProperties": false
379
- }
130
+ "cost": {
131
+ "$ref": "./_ActivatableSkillCost.schema.json#/$defs/OneTimeCost"
380
132
  },
381
- "required": [
382
- "default"
383
- ],
384
- "additionalProperties": false
385
- },
386
- "Slow": {
387
- "type": "object",
388
- "properties": {
389
- "default": {
390
- "description": "The default casting time definition.",
391
- "oneOf": [
392
- {
393
- "$ref": "#/definitions/CastingTime/ModifiableCastingTime"
394
- },
395
- {
396
- "$ref": "#/definitions/CastingTime/SlowSkillCastingTime"
397
- }
398
- ]
399
- },
400
- "during_lovemaking": {
401
- "description": "The casting time during lovemaking. In Aventurian Intimacy, you may only\nuse an activatable skill during lovemaking if it has a casting time used\nduring lovemaking.",
402
- "type": "object",
403
- "properties": {
404
- "value": {
405
- "description": "The (unitless) casting time value.",
406
- "type": "integer",
407
- "minimum": 1
408
- },
409
- "unit": {
410
- "description": "The unit of the `value`.",
411
- "$ref": "#/definitions/CastingTime/CastingTimeDuringLovemakingUnit"
412
- }
413
- },
414
- "required": [
415
- "value",
416
- "unit"
417
- ],
418
- "additionalProperties": false
419
- }
133
+ "range": {
134
+ "$ref": "./_ActivatableSkillRange.schema.json#/$defs/Range"
420
135
  },
421
- "required": [
422
- "default"
423
- ],
424
- "additionalProperties": false
425
- },
426
- "CastingTimeDuringLovemakingUnit": {
427
- "enum": [
428
- "SeductionActions",
429
- "Rounds"
430
- ]
431
- }
432
- },
433
- "Cost": {
434
- "OneTime": {
435
- "T": {
436
- "oneOf": [
437
- {
438
- "type": "object",
439
- "properties": {
440
- "tag": {
441
- "const": "Single"
442
- },
443
- "value": {
444
- "$ref": "#/definitions/Cost/OneTime/Single"
445
- }
446
- },
447
- "required": [
448
- "tag",
449
- "value"
450
- ],
451
- "additionalProperties": false
452
- },
453
- {
454
- "type": "object",
455
- "properties": {
456
- "tag": {
457
- "const": "Conjunction"
458
- },
459
- "list": {
460
- "type": "array",
461
- "items": {
462
- "$ref": "#/definitions/Cost/OneTime/Single"
463
- },
464
- "minItems": 2
465
- }
466
- },
467
- "required": [
468
- "tag",
469
- "list"
470
- ],
471
- "additionalProperties": false
472
- },
473
- {
474
- "type": "object",
475
- "properties": {
476
- "tag": {
477
- "const": "Disjunction"
478
- },
479
- "list": {
480
- "type": "array",
481
- "items": {
482
- "$ref": "#/definitions/Cost/OneTime/Single"
483
- },
484
- "minItems": 2
485
- }
486
- },
487
- "required": [
488
- "tag",
489
- "list"
490
- ],
491
- "additionalProperties": false
492
- },
493
- {
494
- "type": "object",
495
- "properties": {
496
- "tag": {
497
- "const": "Map"
498
- },
499
- "map": {
500
- "$ref": "#/definitions/Cost/OneTime/Map"
501
- }
502
- },
503
- "required": [
504
- "tag",
505
- "map"
506
- ],
507
- "additionalProperties": false
508
- }
509
- ]
510
- },
511
- "Single": {
512
- "oneOf": [
513
- {
514
- "type": "object",
515
- "properties": {
516
- "tag": {
517
- "const": "Modifiable"
518
- },
519
- "initial_modification_level": {
520
- "description": "The initial skill modification identifier/level.",
521
- "type": "integer",
522
- "maximum": 6,
523
- "minimum": 1
524
- },
525
- "permanent_value": {
526
- "description": "The part of the cost value that has to be spent permanently.",
527
- "type": "integer",
528
- "minimum": 1
529
- }
530
- },
531
- "required": [
532
- "tag",
533
- "initial_modification_level"
534
- ],
535
- "additionalProperties": false
536
- },
537
- {
538
- "type": "object",
539
- "properties": {
540
- "tag": {
541
- "const": "NonModifiable"
542
- },
543
- "is_minimum": {
544
- "description": "If `true`, the non-modifiable value is a minimum value.",
545
- "type": "boolean"
546
- },
547
- "value": {
548
- "description": "The AE cost value.",
549
- "type": "integer",
550
- "minimum": 1
551
- },
552
- "permanent_value": {
553
- "description": "The part of the cost value that has to be spent permanently.",
554
- "type": "integer",
555
- "minimum": 1
556
- },
557
- "per": {
558
- "description": "The cost have to be per a specific countable entity, e.g. `8 KP per\nperson`.",
559
- "type": "object",
560
- "properties": {
561
- "minimum_total": {
562
- "description": "If defined, the minimum total AE that have to be spent casting the\nskill.",
563
- "type": "number"
564
- },
565
- "translations": {
566
- "description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
567
- "type": "object",
568
- "patternProperties": {
569
- "^[a-z]{2}-[A-Z]{2}$": {
570
- "type": "object",
571
- "properties": {
572
- "default": {
573
- "description": "The full countable entity name.",
574
- "type": "string",
575
- "minLength": 1
576
- },
577
- "compressed": {
578
- "description": "The compressed countable entity name.",
579
- "type": "string",
580
- "minLength": 1
581
- }
582
- },
583
- "required": [
584
- "default",
585
- "compressed"
586
- ],
587
- "additionalProperties": false
588
- }
589
- },
590
- "minProperties": 1,
591
- "additionalProperties": false
592
- }
593
- },
594
- "required": [
595
- "translations"
596
- ],
597
- "additionalProperties": false
598
- },
599
- "translations": {
600
- "description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
601
- "type": "object",
602
- "patternProperties": {
603
- "^[a-z]{2}-[A-Z]{2}$": {
604
- "type": "object",
605
- "properties": {
606
- "note": {
607
- "description": "A note, appended to the generated string in parenthesis.",
608
- "type": "object",
609
- "properties": {
610
- "default": {
611
- "description": "The full note.",
612
- "type": "string",
613
- "minLength": 1
614
- },
615
- "compressed": {
616
- "description": "A compressed note, if applicable. If not specified it should not\nbe displayed in small location.",
617
- "type": "string",
618
- "minLength": 1
619
- }
620
- },
621
- "required": [
622
- "default"
623
- ],
624
- "additionalProperties": false
625
- }
626
- },
627
- "required": [],
628
- "minProperties": 1,
629
- "additionalProperties": false
630
- }
631
- },
632
- "minProperties": 1,
633
- "additionalProperties": false
634
- }
635
- },
636
- "required": [
637
- "tag",
638
- "value"
639
- ],
640
- "additionalProperties": false
641
- },
642
- {
643
- "type": "object",
644
- "properties": {
645
- "tag": {
646
- "const": "Indefinite"
647
- },
648
- "translations": {
649
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
650
- "type": "object",
651
- "patternProperties": {
652
- "^[a-z]{2}-[A-Z]{2}$": {
653
- "type": "object",
654
- "properties": {
655
- "description": {
656
- "description": "A description of where the cost come from.",
657
- "type": "object",
658
- "properties": {
659
- "default": {
660
- "description": "The full description of where the cost come from.",
661
- "type": "string",
662
- "minLength": 1
663
- },
664
- "compressed": {
665
- "description": "A compressed description of where the cost come from for use in\nsmall areas (e.g. on character sheet).",
666
- "type": "string",
667
- "minLength": 1
668
- }
669
- },
670
- "required": [
671
- "default",
672
- "compressed"
673
- ],
674
- "additionalProperties": false
675
- }
676
- },
677
- "required": [
678
- "description"
679
- ],
680
- "additionalProperties": false
681
- }
682
- },
683
- "minProperties": 1,
684
- "additionalProperties": false
685
- }
686
- },
687
- "required": [
688
- "tag",
689
- "translations"
690
- ],
691
- "additionalProperties": false
692
- }
693
- ]
694
- },
695
- "Map": {
696
- "description": "A content that is `2/4/8/16 AE for an item the size of a\ncup/chest/door/castle gate` may be respresented as the following map:\n\n```yaml\noptions:\n - value: 2\n label: \"cup\"\n - value: 4\n label: \"chest\"\n - value: 8\n label: \"door\"\n - value: 16\n label: \"castle gate\"\nfor_append: \"an item the size of a\"\n```\n\nThis will generate the exact same string as seen above – given it is set\nfor a spellwork and thus `AE` is used.",
697
- "type": "object",
698
- "properties": {
699
- "options": {
700
- "description": "The possible costs and associated labels.",
701
- "type": "array",
702
- "items": {
703
- "$ref": "#/definitions/Cost/OneTime/MapOption"
704
- },
705
- "minItems": 2
706
- },
707
- "translations": {
708
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
709
- "type": "object",
710
- "patternProperties": {
711
- "^[a-z]{2}-[A-Z]{2}$": {
712
- "type": "object",
713
- "properties": {
714
- "list_prepend": {
715
- "description": "Place a string between the `for` and the grouped map option labels.",
716
- "type": "string"
717
- },
718
- "list_append": {
719
- "description": "Place a string after the grouped map option labels.",
720
- "type": "string"
721
- },
722
- "replacement": {
723
- "description": "If the string from the book cannot be generated using the default\ngeneration technique, use this string. All options still need to be\ninserted propertly, since it may be used by in-game tools to provide a\nselection to players.",
724
- "type": "string"
725
- }
726
- },
727
- "required": [],
728
- "additionalProperties": false
729
- }
730
- },
731
- "minProperties": 1,
732
- "additionalProperties": false
733
- }
734
- },
735
- "required": [
736
- "options"
737
- ],
738
- "additionalProperties": false
739
- },
740
- "MapOption": {
741
- "type": "object",
742
- "properties": {
743
- "value": {
744
- "description": "The full cost value for this option.",
745
- "type": "integer",
746
- "minimum": 1
747
- },
748
- "permanent_value": {
749
- "description": "The part of the `value` that has to be paid permanently.",
750
- "type": "integer",
751
- "minimum": 0
752
- },
753
- "translations": {
754
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
755
- "type": "object",
756
- "patternProperties": {
757
- "^[a-z]{2}-[A-Z]{2}$": {
758
- "type": "object",
759
- "properties": {
760
- "label": {
761
- "description": "The description of the option for cost string generation.",
762
- "type": "string",
763
- "minLength": 1
764
- },
765
- "label_standalone": {
766
- "description": "The description of the option if used standalone. Only used if\ndifferent from `label`.",
767
- "type": "string",
768
- "minLength": 1
769
- }
770
- },
771
- "required": [
772
- "label"
773
- ],
774
- "additionalProperties": false
775
- }
776
- },
777
- "minProperties": 1,
778
- "additionalProperties": false
779
- }
780
- },
781
- "required": [
782
- "value"
783
- ],
784
- "additionalProperties": false
136
+ "duration": {
137
+ "$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationForOneTime"
785
138
  }
786
139
  },
787
- "Sustained": {
788
- "T": {
789
- "oneOf": [
790
- {
791
- "type": "object",
792
- "properties": {
793
- "tag": {
794
- "const": "Modifiable"
795
- },
796
- "initial_modification_level": {
797
- "description": "The initial skill modification identifier/level.",
798
- "type": "integer",
799
- "maximum": 6,
800
- "minimum": 1
801
- },
802
- "interval": {
803
- "description": "The sustain interval.",
804
- "$ref": "#/definitions/Duration/UnitValue"
805
- }
806
- },
807
- "required": [
808
- "tag",
809
- "initial_modification_level",
810
- "interval"
811
- ],
812
- "additionalProperties": false
813
- },
814
- {
815
- "type": "object",
816
- "properties": {
817
- "tag": {
818
- "const": "NonModifiable"
819
- },
820
- "is_minimum": {
821
- "description": "If `true`, the non-modifiable value is a minimum value.",
822
- "type": "boolean"
823
- },
824
- "value": {
825
- "description": "The AE cost value.",
826
- "type": "integer",
827
- "minimum": 1
828
- },
829
- "interval": {
830
- "description": "The sustain interval.",
831
- "$ref": "#/definitions/Duration/UnitValue"
832
- }
833
- },
834
- "required": [
835
- "tag",
836
- "value",
837
- "interval"
838
- ],
839
- "additionalProperties": false
840
- }
841
- ]
842
- }
843
- }
140
+ "required": [
141
+ "casting_time",
142
+ "cost",
143
+ "range",
144
+ "duration"
145
+ ],
146
+ "additionalProperties": false
844
147
  },
845
- "Range": {
846
- "T": {
847
- "type": "object",
848
- "properties": {
849
- "value": {
850
- "$ref": "#/definitions/Range/RangeValue"
851
- },
852
- "translations": {
853
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
854
- "type": "object",
855
- "patternProperties": {
856
- "^[a-z]{2}-[A-Z]{2}$": {
857
- "type": "object",
858
- "properties": {
859
- "note": {
860
- "description": "A note, appended to the generated string in parenthesis. If the\ngenerated is modified using `replacement`, the note is appended to\nthe modifier string.",
861
- "type": "object",
862
- "properties": {
863
- "default": {
864
- "description": "The full note.",
865
- "type": "string",
866
- "minLength": 1
867
- },
868
- "compressed": {
869
- "description": "A compressed note, if applicable. If not specified it should not\nbe displayed in small location.",
870
- "type": "string",
871
- "minLength": 1
872
- }
873
- },
874
- "required": [
875
- "default"
876
- ],
877
- "additionalProperties": false
878
- },
879
- "replacement": {
880
- "description": "A replacement string. If `note` is provided, it is appended to the\nreplaced string.",
881
- "type": "object",
882
- "properties": {
883
- "default": {
884
- "description": "The full replacement string. It must contain `$1`, which is\ngoing to be replaced with the generated duration string, so\nadditional information can be provided without duplicating\nconcrete numeric values.",
885
- "type": "string",
886
- "minLength": 1,
887
- "pattern": "\\$1"
888
- },
889
- "compressed": {
890
- "description": "A compressed replacement string for use in small areas (e.g. on\ncharacter sheet). It must contain `$1`, which is going to be\nreplaced with the generated duration string, so additional\ninformation can be provided without duplicating concrete\nnumeric values.",
891
- "type": "string",
892
- "minLength": 1,
893
- "pattern": "\\$1"
894
- }
895
- },
896
- "required": [
897
- "default",
898
- "compressed"
899
- ],
900
- "additionalProperties": false
901
- }
902
- },
903
- "required": [],
904
- "minProperties": 1,
905
- "additionalProperties": false
906
- }
907
- },
908
- "minProperties": 1,
909
- "additionalProperties": false
910
- }
148
+ "SlowSustainedPerformanceParameters": {
149
+ "type": "object",
150
+ "properties": {
151
+ "casting_time": {
152
+ "$ref": "./_ActivatableSkillCastingTime.schema.json#/$defs/SlowCastingTime"
911
153
  },
912
- "required": [
913
- "value"
914
- ],
915
- "additionalProperties": false
916
- },
917
- "RangeValue": {
918
- "oneOf": [
919
- {
920
- "type": "object",
921
- "properties": {
922
- "tag": {
923
- "const": "Modifiable"
924
- },
925
- "is_maximum": {
926
- "description": "If `true`, the range is a maximum range.",
927
- "const": true
928
- },
929
- "initial_modification_level": {
930
- "description": "The initial skill modification identifier/level.",
931
- "type": "integer",
932
- "maximum": 6,
933
- "minimum": 1
934
- },
935
- "is_radius": {
936
- "description": "If `true`, the range is a radius.",
937
- "const": true
938
- }
939
- },
940
- "required": [
941
- "tag",
942
- "initial_modification_level"
943
- ],
944
- "additionalProperties": false
945
- },
946
- {
947
- "type": "object",
948
- "properties": {
949
- "tag": {
950
- "const": "Sight"
951
- }
952
- },
953
- "required": [
954
- "tag"
955
- ],
956
- "additionalProperties": false
957
- },
958
- {
959
- "type": "object",
960
- "properties": {
961
- "tag": {
962
- "const": "Self"
963
- }
964
- },
965
- "required": [
966
- "tag"
967
- ],
968
- "additionalProperties": false
969
- },
970
- {
971
- "type": "object",
972
- "properties": {
973
- "tag": {
974
- "description": "German: *dereumfassend*",
975
- "const": "Global"
976
- }
977
- },
978
- "required": [
979
- "tag"
980
- ],
981
- "additionalProperties": false
982
- },
983
- {
984
- "type": "object",
985
- "properties": {
986
- "tag": {
987
- "const": "Fixed"
988
- },
989
- "is_maximum": {
990
- "description": "If `true`, the range is a maximum range.",
991
- "const": true
992
- },
993
- "value": {
994
- "description": "The (unitless) range value.",
995
- "type": "integer",
996
- "minimum": 1
997
- },
998
- "unit": {
999
- "description": "The unit of the `value`.",
1000
- "$ref": "#/definitions/Range/Unit"
1001
- },
1002
- "is_radius": {
1003
- "description": "If `true`, the range is a radius.",
1004
- "const": true
1005
- }
1006
- },
1007
- "required": [
1008
- "tag",
1009
- "value",
1010
- "unit"
1011
- ],
1012
- "additionalProperties": false
1013
- },
1014
- {
1015
- "type": "object",
1016
- "properties": {
1017
- "tag": {
1018
- "const": "CheckResultBased"
1019
- },
1020
- "is_maximum": {
1021
- "description": "If `true`, the range is a maximum range.",
1022
- "const": true
1023
- },
1024
- "base": {
1025
- "description": "The base value that is derived from the check result.",
1026
- "$ref": "#/definitions/Duration/CheckResultValue"
1027
- },
1028
- "modifier": {
1029
- "description": "If defined, it modifies the base value.",
1030
- "type": "object",
1031
- "properties": {
1032
- "arithmetic": {
1033
- "description": "The arithmetic how to apply the `value` to the `base`.",
1034
- "$ref": "#/definitions/Duration/CheckResultArithmetic"
1035
- },
1036
- "value": {
1037
- "description": "The value that is applied to the `base` using the defined `arithmetic`.",
1038
- "type": "integer",
1039
- "minimum": 2
1040
- }
1041
- },
1042
- "required": [
1043
- "arithmetic",
1044
- "value"
1045
- ],
1046
- "additionalProperties": false
1047
- },
1048
- "unit": {
1049
- "description": "The range unit.",
1050
- "$ref": "#/definitions/Range/Unit"
1051
- },
1052
- "is_radius": {
1053
- "description": "If `true`, the range is a radius.",
1054
- "const": true
1055
- }
1056
- },
1057
- "required": [
1058
- "tag",
1059
- "base",
1060
- "unit"
1061
- ],
1062
- "additionalProperties": false
1063
- }
1064
- ]
1065
- },
1066
- "Unit": {
1067
- "enum": [
1068
- "Steps",
1069
- "Miles"
1070
- ]
1071
- }
1072
- },
1073
- "Duration": {
1074
- "OneTime": {
1075
- "T": {
1076
- "oneOf": [
1077
- {
1078
- "type": "object",
1079
- "properties": {
1080
- "tag": {
1081
- "const": "Immediate"
1082
- },
1083
- "maximum": {
1084
- "description": "Specified if the duration has a maximum time span.",
1085
- "$ref": "#/definitions/Duration/UnitValue"
1086
- },
1087
- "translations": {
1088
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1089
- "type": "object",
1090
- "patternProperties": {
1091
- "^[a-z]{2}-[A-Z]{2}$": {
1092
- "type": "object",
1093
- "properties": {
1094
- "replacement": {
1095
- "description": "A replacement string.",
1096
- "type": "object",
1097
- "properties": {
1098
- "default": {
1099
- "description": "The full replacement string. It must contain `$1`, which is\ngoing to be replaced with the generated duration string, so\nadditional information can be provided without duplicating\nconcrete numeric values.",
1100
- "type": "string",
1101
- "minLength": 1,
1102
- "pattern": "\\$1"
1103
- },
1104
- "compressed": {
1105
- "description": "A compressed replacement string for use in small areas (e.g. on\ncharacter sheet). It must contain `$1`, which is going to be\nreplaced with the generated duration string, so additional\ninformation can be provided without duplicating concrete\nnumeric values.",
1106
- "type": "string",
1107
- "minLength": 1,
1108
- "pattern": "\\$1"
1109
- }
1110
- },
1111
- "required": [
1112
- "default",
1113
- "compressed"
1114
- ],
1115
- "additionalProperties": false
1116
- }
1117
- },
1118
- "required": [
1119
- "replacement"
1120
- ],
1121
- "additionalProperties": false
1122
- }
1123
- },
1124
- "minProperties": 1,
1125
- "additionalProperties": false
1126
- }
1127
- },
1128
- "required": [
1129
- "tag"
1130
- ],
1131
- "additionalProperties": false
1132
- },
1133
- {
1134
- "type": "object",
1135
- "properties": {
1136
- "tag": {
1137
- "const": "Permanent"
1138
- },
1139
- "translations": {
1140
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1141
- "type": "object",
1142
- "patternProperties": {
1143
- "^[a-z]{2}-[A-Z]{2}$": {
1144
- "type": "object",
1145
- "properties": {
1146
- "replacement": {
1147
- "description": "A replacement string.",
1148
- "type": "object",
1149
- "properties": {
1150
- "default": {
1151
- "description": "The full replacement string. It must contain `$1`, which is\ngoing to be replaced with the generated duration string, so\nadditional information can be provided without duplicating\nconcrete numeric values.",
1152
- "type": "string",
1153
- "minLength": 1,
1154
- "pattern": "\\$1"
1155
- },
1156
- "compressed": {
1157
- "description": "A compressed replacement string for use in small areas (e.g. on\ncharacter sheet). It must contain `$1`, which is going to be\nreplaced with the generated duration string, so additional\ninformation can be provided without duplicating concrete\nnumeric values.",
1158
- "type": "string",
1159
- "minLength": 1,
1160
- "pattern": "\\$1"
1161
- }
1162
- },
1163
- "required": [
1164
- "default",
1165
- "compressed"
1166
- ],
1167
- "additionalProperties": false
1168
- }
1169
- },
1170
- "required": [
1171
- "replacement"
1172
- ],
1173
- "additionalProperties": false
1174
- }
1175
- },
1176
- "minProperties": 1,
1177
- "additionalProperties": false
1178
- }
1179
- },
1180
- "required": [
1181
- "tag"
1182
- ],
1183
- "additionalProperties": false
1184
- },
1185
- {
1186
- "type": "object",
1187
- "properties": {
1188
- "tag": {
1189
- "const": "Fixed"
1190
- },
1191
- "is_maximum": {
1192
- "description": "If the duration is the maximum duration, so it may end earlier.",
1193
- "type": "boolean"
1194
- },
1195
- "value": {
1196
- "description": "The (unitless) duration.",
1197
- "type": "integer",
1198
- "minimum": 1
1199
- },
1200
- "unit": {
1201
- "description": "The duration unit.",
1202
- "$ref": "#/definitions/Duration/Unit"
1203
- },
1204
- "translations": {
1205
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1206
- "type": "object",
1207
- "patternProperties": {
1208
- "^[a-z]{2}-[A-Z]{2}$": {
1209
- "type": "object",
1210
- "properties": {
1211
- "replacement": {
1212
- "description": "A replacement string.",
1213
- "type": "object",
1214
- "properties": {
1215
- "default": {
1216
- "description": "The full replacement string. It must contain `$1`, which is\ngoing to be replaced with the generated duration string, so\nadditional information can be provided without duplicating\nconcrete numeric values.",
1217
- "type": "string",
1218
- "minLength": 1,
1219
- "pattern": "\\$1"
1220
- },
1221
- "compressed": {
1222
- "description": "A compressed replacement string for use in small areas (e.g. on\ncharacter sheet). It must contain `$1`, which is going to be\nreplaced with the generated duration string, so additional\ninformation can be provided without duplicating concrete\nnumeric values.",
1223
- "type": "string",
1224
- "minLength": 1,
1225
- "pattern": "\\$1"
1226
- }
1227
- },
1228
- "required": [
1229
- "default",
1230
- "compressed"
1231
- ],
1232
- "additionalProperties": false
1233
- }
1234
- },
1235
- "required": [
1236
- "replacement"
1237
- ],
1238
- "additionalProperties": false
1239
- }
1240
- },
1241
- "minProperties": 1,
1242
- "additionalProperties": false
1243
- }
1244
- },
1245
- "required": [
1246
- "tag",
1247
- "value",
1248
- "unit"
1249
- ],
1250
- "additionalProperties": false
1251
- },
1252
- {
1253
- "type": "object",
1254
- "properties": {
1255
- "tag": {
1256
- "const": "CheckResultBased"
1257
- },
1258
- "is_maximum": {
1259
- "description": "If the duration is the maximum duration, so it may end earlier.",
1260
- "type": "boolean"
1261
- },
1262
- "base": {
1263
- "description": "The base value that is derived from the check result.",
1264
- "$ref": "#/definitions/Duration/CheckResultValue"
1265
- },
1266
- "modifier": {
1267
- "description": "If defined, it modifies the base value.",
1268
- "type": "object",
1269
- "properties": {
1270
- "arithmetic": {
1271
- "description": "The arithmetic how to apply the `value` to the `base`.",
1272
- "$ref": "#/definitions/Duration/CheckResultArithmetic"
1273
- },
1274
- "value": {
1275
- "description": "The value that is applied to the `base` using the defined\n`arithmetic`.",
1276
- "type": "integer",
1277
- "minimum": 2
1278
- }
1279
- },
1280
- "required": [
1281
- "arithmetic",
1282
- "value"
1283
- ],
1284
- "additionalProperties": false
1285
- },
1286
- "unit": {
1287
- "description": "The duration unit.",
1288
- "$ref": "#/definitions/Duration/Unit"
1289
- },
1290
- "translations": {
1291
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1292
- "type": "object",
1293
- "patternProperties": {
1294
- "^[a-z]{2}-[A-Z]{2}$": {
1295
- "type": "object",
1296
- "properties": {
1297
- "replacement": {
1298
- "description": "A replacement string.",
1299
- "type": "object",
1300
- "properties": {
1301
- "default": {
1302
- "description": "The full replacement string. It must contain `$1`, which is\ngoing to be replaced with the generated duration string, so\nadditional information can be provided without duplicating\nconcrete numeric values.",
1303
- "type": "string",
1304
- "minLength": 1,
1305
- "pattern": "\\$1"
1306
- },
1307
- "compressed": {
1308
- "description": "A compressed replacement string for use in small areas (e.g. on\ncharacter sheet). It must contain `$1`, which is going to be\nreplaced with the generated duration string, so additional\ninformation can be provided without duplicating concrete\nnumeric values.",
1309
- "type": "string",
1310
- "minLength": 1,
1311
- "pattern": "\\$1"
1312
- }
1313
- },
1314
- "required": [
1315
- "default",
1316
- "compressed"
1317
- ],
1318
- "additionalProperties": false
1319
- }
1320
- },
1321
- "required": [
1322
- "replacement"
1323
- ],
1324
- "additionalProperties": false
1325
- }
1326
- },
1327
- "minProperties": 1,
1328
- "additionalProperties": false
1329
- }
1330
- },
1331
- "required": [
1332
- "tag",
1333
- "base",
1334
- "unit"
1335
- ],
1336
- "additionalProperties": false
1337
- },
1338
- {
1339
- "type": "object",
1340
- "properties": {
1341
- "tag": {
1342
- "const": "Indefinite"
1343
- },
1344
- "translations": {
1345
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1346
- "type": "object",
1347
- "patternProperties": {
1348
- "^[a-z]{2}-[A-Z]{2}$": {
1349
- "type": "object",
1350
- "properties": {
1351
- "description": {
1352
- "description": "A description of the duration.",
1353
- "type": "object",
1354
- "properties": {
1355
- "default": {
1356
- "description": "The full description of the duration.",
1357
- "type": "string",
1358
- "minLength": 1
1359
- },
1360
- "compressed": {
1361
- "description": "A compressed description of the duration for use in small areas\n(e.g. on character sheet).",
1362
- "type": "string",
1363
- "minLength": 1
1364
- }
1365
- },
1366
- "required": [
1367
- "default",
1368
- "compressed"
1369
- ],
1370
- "additionalProperties": false
1371
- }
1372
- },
1373
- "required": [
1374
- "description"
1375
- ],
1376
- "additionalProperties": false
1377
- }
1378
- },
1379
- "minProperties": 1,
1380
- "additionalProperties": false
1381
- }
1382
- },
1383
- "required": [
1384
- "tag",
1385
- "translations"
1386
- ],
1387
- "additionalProperties": false
1388
- }
1389
- ]
1390
- }
1391
- },
1392
- "CheckResultBased": {
1393
- "description": "Defines the duration being based on a check result.",
1394
- "type": "object",
1395
- "properties": {
1396
- "base": {
1397
- "description": "The base value that is derived from the check result.",
1398
- "$ref": "#/definitions/Duration/CheckResultValue"
1399
- },
1400
- "modifier": {
1401
- "description": "If defined, it modifies the base value.",
1402
- "type": "object",
1403
- "properties": {
1404
- "arithmetic": {
1405
- "description": "The arithmetic how to apply the `value` to the `base`.",
1406
- "$ref": "#/definitions/Duration/CheckResultArithmetic"
1407
- },
1408
- "value": {
1409
- "description": "The value that is applied to the `base` using the defined `arithmetic`.",
1410
- "type": "integer",
1411
- "minimum": 2
1412
- }
1413
- },
1414
- "required": [
1415
- "arithmetic",
1416
- "value"
1417
- ],
1418
- "additionalProperties": false
1419
- },
1420
- "unit": {
1421
- "description": "The duration unit.",
1422
- "$ref": "#/definitions/Duration/Unit"
1423
- }
1424
- },
1425
- "required": [
1426
- "base",
1427
- "unit"
1428
- ],
1429
- "additionalProperties": false
1430
- },
1431
- "CheckResultBasedTagged": {
1432
- "description": "Defines the duration being based on a check result.",
1433
- "type": "object",
1434
- "properties": {
1435
- "tag": {
1436
- "const": "CheckResultBased"
1437
- },
1438
- "base": {
1439
- "description": "The base value that is derived from the check result.",
1440
- "$ref": "#/definitions/Duration/CheckResultValue"
1441
- },
1442
- "modifier": {
1443
- "description": "If defined, it modifies the base value.",
1444
- "type": "object",
1445
- "properties": {
1446
- "arithmetic": {
1447
- "description": "The arithmetic how to apply the `value` to the `base`.",
1448
- "$ref": "#/definitions/Duration/CheckResultArithmetic"
1449
- },
1450
- "value": {
1451
- "description": "The value that is applied to the `base` using the defined `arithmetic`.",
1452
- "type": "integer",
1453
- "minimum": 2
1454
- }
1455
- },
1456
- "required": [
1457
- "arithmetic",
1458
- "value"
1459
- ],
1460
- "additionalProperties": false
1461
- },
1462
- "unit": {
1463
- "description": "The duration unit.",
1464
- "$ref": "#/definitions/Duration/Unit"
1465
- }
154
+ "cost": {
155
+ "$ref": "./_ActivatableSkillCost.schema.json#/$defs/SustainedCost"
1466
156
  },
1467
- "required": [
1468
- "tag",
1469
- "base",
1470
- "unit"
1471
- ],
1472
- "additionalProperties": false
1473
- },
1474
- "CheckResultBasedTaggedAnimistPower": {
1475
- "type": "object",
1476
- "properties": {
1477
- "tag": {
1478
- "const": "CheckResultBased"
1479
- },
1480
- "is_maximum": {
1481
- "description": "If the duration is the maximum duration, so it may end earlier.",
1482
- "type": "boolean"
1483
- },
1484
- "base": {
1485
- "description": "The base value that is derived from the check result.",
1486
- "$ref": "#/definitions/Duration/CheckResultValue"
1487
- },
1488
- "modifier": {
1489
- "description": "If defined, it modifies the base value.",
1490
- "type": "object",
1491
- "properties": {
1492
- "arithmetic": {
1493
- "description": "The arithmetic how to apply the `value` to the `base`.",
1494
- "$ref": "#/definitions/Duration/CheckResultArithmetic"
1495
- },
1496
- "value": {
1497
- "description": "The value that is applied to the `base` using the defined\n`arithmetic`.",
1498
- "type": "integer",
1499
- "minimum": 2
1500
- }
1501
- },
1502
- "required": [
1503
- "arithmetic",
1504
- "value"
1505
- ],
1506
- "additionalProperties": false
1507
- },
1508
- "unit": {
1509
- "description": "The duration unit.",
1510
- "$ref": "#/definitions/Duration/Unit"
1511
- }
157
+ "range": {
158
+ "$ref": "./_ActivatableSkillRange.schema.json#/$defs/Range"
1512
159
  },
1513
- "required": [
1514
- "tag",
1515
- "base",
1516
- "unit"
1517
- ],
1518
- "additionalProperties": false
1519
- },
1520
- "CheckResultValue": {
1521
- "description": "Defines the derived (unitless) value.",
1522
- "oneOf": [
1523
- {
1524
- "type": "object",
1525
- "properties": {
1526
- "tag": {
1527
- "const": "QualityLevels"
1528
- }
1529
- },
1530
- "required": [
1531
- "tag"
1532
- ],
1533
- "additionalProperties": false
1534
- },
1535
- {
1536
- "type": "object",
1537
- "properties": {
1538
- "tag": {
1539
- "const": "SkillPoints"
1540
- }
1541
- },
1542
- "required": [
1543
- "tag"
1544
- ],
1545
- "additionalProperties": false
1546
- }
1547
- ]
1548
- },
1549
- "CheckResultArithmetic": {
1550
- "description": "Defines how the the `value` is set off against the check result.",
1551
- "oneOf": [
1552
- {
1553
- "type": "object",
1554
- "properties": {
1555
- "tag": {
1556
- "const": "Multiply"
1557
- }
1558
- },
1559
- "required": [
1560
- "tag"
1561
- ],
1562
- "additionalProperties": false
1563
- },
1564
- {
1565
- "type": "object",
1566
- "properties": {
1567
- "tag": {
1568
- "const": "Divide"
1569
- }
1570
- },
1571
- "required": [
1572
- "tag"
1573
- ],
1574
- "additionalProperties": false
1575
- }
1576
- ]
1577
- },
1578
- "Sustained": {
1579
- "T": {
1580
- "type": "object",
1581
- "properties": {
1582
- "maximum": {
1583
- "description": "The sustained skill can be active a maximum amount of time.",
1584
- "$ref": "#/definitions/Duration/UnitValue"
1585
- }
1586
- },
1587
- "required": [
1588
- "maximum"
1589
- ],
1590
- "additionalProperties": false
160
+ "duration": {
161
+ "$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationForSustained"
1591
162
  }
1592
163
  },
1593
- "Unit": {
1594
- "enum": [
1595
- "Seconds",
1596
- "Minutes",
1597
- "Hours",
1598
- "Days",
1599
- "Weeks",
1600
- "Months",
1601
- "Years",
1602
- "Centuries",
1603
- "Actions",
1604
- "CombatRounds"
1605
- ]
1606
- },
1607
- "UnitValue": {
1608
- "type": "object",
1609
- "properties": {
1610
- "value": {
1611
- "description": "The (unitless) duration value.",
1612
- "type": "integer",
1613
- "minimum": 1
1614
- },
1615
- "unit": {
1616
- "description": "The unit of the `value`.",
1617
- "$ref": "#/definitions/Duration/Unit"
1618
- }
1619
- },
1620
- "required": [
1621
- "value",
1622
- "unit"
1623
- ],
1624
- "additionalProperties": false
1625
- }
1626
- },
1627
- "TargetCategory": {
1628
- "T": {
1629
- "oneOf": [
1630
- {
1631
- "type": "object",
1632
- "properties": {
1633
- "tag": {
1634
- "const": "All"
1635
- }
1636
- },
1637
- "required": [
1638
- "tag"
1639
- ],
1640
- "additionalProperties": false
1641
- },
1642
- {
1643
- "type": "object",
1644
- "properties": {
1645
- "tag": {
1646
- "const": "Specific"
1647
- },
1648
- "list": {
1649
- "type": "array",
1650
- "items": {
1651
- "type": "object",
1652
- "properties": {
1653
- "id": {
1654
- "$ref": "#/definitions/TargetCategory/Identifier"
1655
- },
1656
- "translations": {
1657
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1658
- "type": "object",
1659
- "patternProperties": {
1660
- "^[a-z]{2}-[A-Z]{2}$": {
1661
- "type": "object",
1662
- "properties": {
1663
- "note": {
1664
- "description": "A note, appended to the generated string in parenthesis.",
1665
- "type": "string",
1666
- "minLength": 1
1667
- }
1668
- },
1669
- "required": [
1670
- "note"
1671
- ],
1672
- "additionalProperties": false
1673
- }
1674
- },
1675
- "minProperties": 1,
1676
- "additionalProperties": false
1677
- }
1678
- },
1679
- "required": [
1680
- "id"
1681
- ],
1682
- "additionalProperties": false
1683
- },
1684
- "minItems": 1
1685
- }
1686
- },
1687
- "required": [
1688
- "tag",
1689
- "list"
1690
- ],
1691
- "additionalProperties": false
1692
- }
1693
- ]
1694
- },
1695
- "Identifier": {
1696
- "oneOf": [
1697
- {
1698
- "type": "object",
1699
- "properties": {
1700
- "tag": {
1701
- "const": "Self"
1702
- }
1703
- },
1704
- "required": [
1705
- "tag"
1706
- ],
1707
- "additionalProperties": false
1708
- },
1709
- {
1710
- "type": "object",
1711
- "properties": {
1712
- "tag": {
1713
- "const": "Zone"
1714
- }
1715
- },
1716
- "required": [
1717
- "tag"
1718
- ],
1719
- "additionalProperties": false
1720
- },
1721
- {
1722
- "type": "object",
1723
- "properties": {
1724
- "tag": {
1725
- "const": "LiturgicalChantsAndCeremonies"
1726
- }
1727
- },
1728
- "required": [
1729
- "tag"
1730
- ],
1731
- "additionalProperties": false
1732
- },
1733
- {
1734
- "type": "object",
1735
- "properties": {
1736
- "tag": {
1737
- "const": "Cantrips"
1738
- }
1739
- },
1740
- "required": [
1741
- "tag"
1742
- ],
1743
- "additionalProperties": false
1744
- },
1745
- {
1746
- "type": "object",
1747
- "properties": {
1748
- "tag": {
1749
- "const": "Predefined"
1750
- },
1751
- "id": {
1752
- "description": "The target category reference identifier.",
1753
- "type": "integer",
1754
- "maximum": 24,
1755
- "minimum": 1
1756
- }
1757
- },
1758
- "required": [
1759
- "tag",
1760
- "id"
1761
- ],
1762
- "additionalProperties": false
1763
- }
1764
- ]
1765
- }
164
+ "required": [
165
+ "casting_time",
166
+ "cost",
167
+ "range"
168
+ ],
169
+ "additionalProperties": false
1766
170
  }
1767
171
  }
1768
172
  }