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,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,1496 +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
- }
338
- },
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
- }
380
- },
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
- }
420
- },
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
- ]
124
+ "SlowOneTimePerformanceParameters": {
125
+ "type": "object",
126
+ "properties": {
127
+ "casting_time": {
128
+ "$ref": "./_ActivatableSkillCastingTime.schema.json#/$defs/SlowCastingTime"
510
129
  },
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
- ]
130
+ "cost": {
131
+ "$ref": "./_ActivatableSkillCost.schema.json#/$defs/OneTimeCost"
694
132
  },
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
133
+ "range": {
134
+ "$ref": "./_ActivatableSkillRange.schema.json#/$defs/Range"
739
135
  },
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
- }
154
+ "cost": {
155
+ "$ref": "./_ActivatableSkillCost.schema.json#/$defs/SustainedCost"
1424
156
  },
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
- }
157
+ "range": {
158
+ "$ref": "./_ActivatableSkillRange.schema.json#/$defs/Range"
1466
159
  },
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
- }
1512
- },
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
- "CombatRounds"
1604
- ]
1605
- },
1606
- "UnitValue": {
1607
- "type": "object",
1608
- "properties": {
1609
- "value": {
1610
- "description": "The (unitless) duration value.",
1611
- "type": "integer",
1612
- "minimum": 1
1613
- },
1614
- "unit": {
1615
- "description": "The unit of the `value`.",
1616
- "$ref": "#/definitions/Duration/Unit"
1617
- }
1618
- },
1619
- "required": [
1620
- "value",
1621
- "unit"
1622
- ],
1623
- "additionalProperties": false
1624
- }
1625
- },
1626
- "TargetCategory": {
1627
- "T": {
1628
- "oneOf": [
1629
- {
1630
- "type": "object",
1631
- "properties": {
1632
- "tag": {
1633
- "const": "All"
1634
- }
1635
- },
1636
- "required": [
1637
- "tag"
1638
- ],
1639
- "additionalProperties": false
1640
- },
1641
- {
1642
- "type": "object",
1643
- "properties": {
1644
- "tag": {
1645
- "const": "Specific"
1646
- },
1647
- "list": {
1648
- "type": "array",
1649
- "items": {
1650
- "type": "object",
1651
- "properties": {
1652
- "id": {
1653
- "$ref": "#/definitions/TargetCategory/Identifier"
1654
- },
1655
- "translations": {
1656
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1657
- "type": "object",
1658
- "patternProperties": {
1659
- "^[a-z]{2}-[A-Z]{2}$": {
1660
- "type": "object",
1661
- "properties": {
1662
- "note": {
1663
- "description": "A note, appended to the generated string in parenthesis.",
1664
- "type": "string",
1665
- "minLength": 1
1666
- }
1667
- },
1668
- "required": [
1669
- "note"
1670
- ],
1671
- "additionalProperties": false
1672
- }
1673
- },
1674
- "minProperties": 1,
1675
- "additionalProperties": false
1676
- }
1677
- },
1678
- "required": [
1679
- "id"
1680
- ],
1681
- "additionalProperties": false
1682
- },
1683
- "minItems": 1
1684
- }
1685
- },
1686
- "required": [
1687
- "tag",
1688
- "list"
1689
- ],
1690
- "additionalProperties": false
1691
- }
1692
- ]
1693
- },
1694
- "Identifier": {
1695
- "oneOf": [
1696
- {
1697
- "type": "object",
1698
- "properties": {
1699
- "tag": {
1700
- "const": "Self"
1701
- }
1702
- },
1703
- "required": [
1704
- "tag"
1705
- ],
1706
- "additionalProperties": false
1707
- },
1708
- {
1709
- "type": "object",
1710
- "properties": {
1711
- "tag": {
1712
- "const": "Zone"
1713
- }
1714
- },
1715
- "required": [
1716
- "tag"
1717
- ],
1718
- "additionalProperties": false
1719
- },
1720
- {
1721
- "type": "object",
1722
- "properties": {
1723
- "tag": {
1724
- "const": "LiturgicalChantsAndCeremonies"
1725
- }
1726
- },
1727
- "required": [
1728
- "tag"
1729
- ],
1730
- "additionalProperties": false
1731
- },
1732
- {
1733
- "type": "object",
1734
- "properties": {
1735
- "tag": {
1736
- "const": "Predefined"
1737
- },
1738
- "id": {
1739
- "description": "The target category reference identifier.",
1740
- "type": "integer",
1741
- "maximum": 24,
1742
- "minimum": 1
1743
- }
1744
- },
1745
- "required": [
1746
- "tag",
1747
- "id"
1748
- ],
1749
- "additionalProperties": false
1750
- }
1751
- ]
1752
- }
164
+ "required": [
165
+ "casting_time",
166
+ "cost",
167
+ "range"
168
+ ],
169
+ "additionalProperties": false
1753
170
  }
1754
171
  }
1755
172
  }