optolith-database-schema 0.11.2 → 0.11.4

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 (474) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/{folders.js → build/config.js} +9 -1
  3. package/lib/build/config.d.ts +8 -0
  4. package/lib/build/config.js +16 -0
  5. package/package.json +2 -2
  6. package/folders.d.ts +0 -4
  7. package/lib/config.d.ts +0 -463
  8. package/lib/config.js +0 -308
  9. package/lib/errors.d.ts +0 -20
  10. package/lib/errors.js +0 -33
  11. package/lib/helpers/array.d.ts +0 -14
  12. package/lib/helpers/array.js +0 -15
  13. package/lib/helpers/i18n.d.ts +0 -1
  14. package/lib/helpers/i18n.js +0 -1
  15. package/lib/helpers/io.d.ts +0 -29
  16. package/lib/helpers/io.js +0 -51
  17. package/lib/helpers/objectPath.d.ts +0 -13
  18. package/lib/helpers/objectPath.js +0 -3
  19. package/lib/helpers/pair.d.ts +0 -20
  20. package/lib/helpers/pair.js +0 -20
  21. package/lib/helpers/result.d.ts +0 -57
  22. package/lib/helpers/result.js +0 -45
  23. package/lib/helpers/typeSafety.d.ts +0 -6
  24. package/lib/helpers/typeSafety.js +0 -8
  25. package/lib/main.d.ts +0 -55
  26. package/lib/main.js +0 -55
  27. package/lib/typeConfig.d.ts +0 -10
  28. package/lib/typeConfig.js +0 -1
  29. package/lib/types/Advantage.d.ts +0 -63
  30. package/lib/types/Advantage.js +0 -12
  31. package/lib/types/AnimalDisease.d.ts +0 -59
  32. package/lib/types/AnimalDisease.js +0 -12
  33. package/lib/types/AnimalType.d.ts +0 -28
  34. package/lib/types/AnimalType.js +0 -12
  35. package/lib/types/ArcaneBardTradition.d.ts +0 -10
  36. package/lib/types/ArcaneBardTradition.js +0 -12
  37. package/lib/types/ArcaneDancerTradition.d.ts +0 -10
  38. package/lib/types/ArcaneDancerTradition.js +0 -12
  39. package/lib/types/Aspect.d.ts +0 -33
  40. package/lib/types/Aspect.js +0 -12
  41. package/lib/types/Attribute.d.ts +0 -36
  42. package/lib/types/Attribute.js +0 -12
  43. package/lib/types/Blessing.d.ts +0 -113
  44. package/lib/types/Blessing.js +0 -12
  45. package/lib/types/Cantrip.d.ts +0 -183
  46. package/lib/types/Cantrip.js +0 -12
  47. package/lib/types/Ceremony.d.ts +0 -113
  48. package/lib/types/Ceremony.js +0 -12
  49. package/lib/types/CombatTechnique_Close.d.ts +0 -73
  50. package/lib/types/CombatTechnique_Close.js +0 -12
  51. package/lib/types/CombatTechnique_Ranged.d.ts +0 -66
  52. package/lib/types/CombatTechnique_Ranged.js +0 -12
  53. package/lib/types/Condition.d.ts +0 -40
  54. package/lib/types/Condition.js +0 -12
  55. package/lib/types/Continent.d.ts +0 -30
  56. package/lib/types/Continent.js +0 -12
  57. package/lib/types/Culture.d.ts +0 -382
  58. package/lib/types/Culture.js +0 -50
  59. package/lib/types/DerivedCharacteristic.d.ts +0 -61
  60. package/lib/types/DerivedCharacteristic.js +0 -12
  61. package/lib/types/Disadvantage.d.ts +0 -58
  62. package/lib/types/Disadvantage.js +0 -12
  63. package/lib/types/Disease.d.ts +0 -43
  64. package/lib/types/Disease.js +0 -12
  65. package/lib/types/Element.d.ts +0 -28
  66. package/lib/types/Element.js +0 -12
  67. package/lib/types/ExperienceLevel.d.ts +0 -64
  68. package/lib/types/ExperienceLevel.js +0 -12
  69. package/lib/types/EyeColor.d.ts +0 -28
  70. package/lib/types/EyeColor.js +0 -12
  71. package/lib/types/FamiliarsTrick.d.ts +0 -266
  72. package/lib/types/FamiliarsTrick.js +0 -12
  73. package/lib/types/HairColor.d.ts +0 -28
  74. package/lib/types/HairColor.js +0 -12
  75. package/lib/types/Kirchenpraegung.d.ts +0 -10
  76. package/lib/types/Kirchenpraegung.js +0 -12
  77. package/lib/types/Lessons_Curriculum.d.ts +0 -236
  78. package/lib/types/Lessons_Curriculum.js +0 -12
  79. package/lib/types/Lessons_Guideline.d.ts +0 -34
  80. package/lib/types/Lessons_Guideline.js +0 -12
  81. package/lib/types/LiturgicalChant.d.ts +0 -113
  82. package/lib/types/LiturgicalChant.js +0 -12
  83. package/lib/types/Locale.d.ts +0 -36
  84. package/lib/types/Locale.js +0 -12
  85. package/lib/types/MetaCondition.d.ts +0 -43
  86. package/lib/types/MetaCondition.js +0 -12
  87. package/lib/types/PactCategory.d.ts +0 -78
  88. package/lib/types/PactCategory.js +0 -12
  89. package/lib/types/Patron.d.ts +0 -207
  90. package/lib/types/Patron.js +0 -32
  91. package/lib/types/PatronCategory.d.ts +0 -36
  92. package/lib/types/PatronCategory.js +0 -12
  93. package/lib/types/PersonalityTrait.d.ts +0 -67
  94. package/lib/types/PersonalityTrait.js +0 -12
  95. package/lib/types/Profession.d.ts +0 -653
  96. package/lib/types/Profession.js +0 -18
  97. package/lib/types/Property.d.ts +0 -34
  98. package/lib/types/Property.js +0 -12
  99. package/lib/types/Race.d.ts +0 -405
  100. package/lib/types/Race.js +0 -23
  101. package/lib/types/Region.d.ts +0 -28
  102. package/lib/types/Region.js +0 -12
  103. package/lib/types/Ritual.d.ts +0 -111
  104. package/lib/types/Ritual.js +0 -12
  105. package/lib/types/Service.d.ts +0 -46
  106. package/lib/types/Service.js +0 -17
  107. package/lib/types/SexPractice.d.ts +0 -47
  108. package/lib/types/SexPractice.js +0 -12
  109. package/lib/types/Skill.d.ts +0 -142
  110. package/lib/types/Skill.js +0 -31
  111. package/lib/types/SkillGroup.d.ts +0 -37
  112. package/lib/types/SkillGroup.js +0 -12
  113. package/lib/types/SkillModificationLevel.d.ts +0 -107
  114. package/lib/types/SkillModificationLevel.js +0 -17
  115. package/lib/types/SocialStatus.d.ts +0 -28
  116. package/lib/types/SocialStatus.js +0 -12
  117. package/lib/types/Spell.d.ts +0 -111
  118. package/lib/types/Spell.js +0 -12
  119. package/lib/types/State.d.ts +0 -36
  120. package/lib/types/State.js +0 -12
  121. package/lib/types/Talisman.d.ts +0 -76
  122. package/lib/types/Talisman.js +0 -20
  123. package/lib/types/TargetCategory.d.ts +0 -42
  124. package/lib/types/TargetCategory.js +0 -12
  125. package/lib/types/UI.d.ts +0 -1062
  126. package/lib/types/UI.js +0 -12
  127. package/lib/types/_Activatable.d.ts +0 -1383
  128. package/lib/types/_Activatable.js +0 -44
  129. package/lib/types/_ActivatableSelectOptionCategory.d.ts +0 -389
  130. package/lib/types/_ActivatableSelectOptionCategory.js +0 -8
  131. package/lib/types/_ActivatableSkill.d.ts +0 -37
  132. package/lib/types/_ActivatableSkill.js +0 -4
  133. package/lib/types/_ActivatableSkillCastingTime.d.ts +0 -77
  134. package/lib/types/_ActivatableSkillCastingTime.js +0 -5
  135. package/lib/types/_ActivatableSkillCheckResultBased.d.ts +0 -39
  136. package/lib/types/_ActivatableSkillCheckResultBased.js +0 -16
  137. package/lib/types/_ActivatableSkillCost.d.ts +0 -255
  138. package/lib/types/_ActivatableSkillCost.js +0 -1
  139. package/lib/types/_ActivatableSkillDuration.d.ts +0 -138
  140. package/lib/types/_ActivatableSkillDuration.js +0 -13
  141. package/lib/types/_ActivatableSkillEffect.d.ts +0 -68
  142. package/lib/types/_ActivatableSkillEffect.js +0 -1
  143. package/lib/types/_ActivatableSkillRange.d.ts +0 -110
  144. package/lib/types/_ActivatableSkillRange.js +0 -5
  145. package/lib/types/_ActivatableSkillTargetCategory.d.ts +0 -39
  146. package/lib/types/_ActivatableSkillTargetCategory.js +0 -1
  147. package/lib/types/_AlternativeNames.d.ts +0 -11
  148. package/lib/types/_AlternativeNames.js +0 -1
  149. package/lib/types/_ArcaneTradition.d.ts +0 -28
  150. package/lib/types/_ArcaneTradition.js +0 -4
  151. package/lib/types/_Blessed.d.ts +0 -22
  152. package/lib/types/_Blessed.js +0 -1
  153. package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +0 -10
  154. package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +0 -1
  155. package/lib/types/_Dice.d.ts +0 -23
  156. package/lib/types/_Dice.js +0 -9
  157. package/lib/types/_DiseasePoison.d.ts +0 -114
  158. package/lib/types/_DiseasePoison.js +0 -15
  159. package/lib/types/_Enhancements.d.ts +0 -62
  160. package/lib/types/_Enhancements.js +0 -4
  161. package/lib/types/_I18n.d.ts +0 -34
  162. package/lib/types/_I18n.js +0 -1
  163. package/lib/types/_Identifier.d.ts +0 -1193
  164. package/lib/types/_Identifier.js +0 -1
  165. package/lib/types/_IdentifierGroup.d.ts +0 -28
  166. package/lib/types/_IdentifierGroup.js +0 -1
  167. package/lib/types/_ImprovementCost.d.ts +0 -9
  168. package/lib/types/_ImprovementCost.js +0 -10
  169. package/lib/types/_Influence.d.ts +0 -49
  170. package/lib/types/_Influence.js +0 -4
  171. package/lib/types/_LocaleMap.d.ts +0 -10
  172. package/lib/types/_LocaleMap.js +0 -1
  173. package/lib/types/_NonEmptyString.d.ts +0 -9
  174. package/lib/types/_NonEmptyString.js +0 -1
  175. package/lib/types/_Prerequisite.d.ts +0 -109
  176. package/lib/types/_Prerequisite.js +0 -4
  177. package/lib/types/_ResponsiveText.d.ts +0 -54
  178. package/lib/types/_ResponsiveText.js +0 -1
  179. package/lib/types/_Sex.d.ts +0 -10
  180. package/lib/types/_Sex.js +0 -11
  181. package/lib/types/_SimpleReferences.d.ts +0 -134
  182. package/lib/types/_SimpleReferences.js +0 -1
  183. package/lib/types/_SkillCheck.d.ts +0 -22
  184. package/lib/types/_SkillCheck.js +0 -13
  185. package/lib/types/_Spellwork.d.ts +0 -18
  186. package/lib/types/_Spellwork.js +0 -1
  187. package/lib/types/equipment/EquipmentPackage.d.ts +0 -51
  188. package/lib/types/equipment/EquipmentPackage.js +0 -12
  189. package/lib/types/equipment/item/Alchemicum.d.ts +0 -7
  190. package/lib/types/equipment/item/Alchemicum.js +0 -12
  191. package/lib/types/equipment/item/Ammunition.d.ts +0 -32
  192. package/lib/types/equipment/item/Ammunition.js +0 -12
  193. package/lib/types/equipment/item/Animal.d.ts +0 -19
  194. package/lib/types/equipment/item/Animal.js +0 -12
  195. package/lib/types/equipment/item/AnimalCare.d.ts +0 -49
  196. package/lib/types/equipment/item/AnimalCare.js +0 -12
  197. package/lib/types/equipment/item/Armor.d.ts +0 -186
  198. package/lib/types/equipment/item/Armor.js +0 -12
  199. package/lib/types/equipment/item/BandageOrRemedy.d.ts +0 -37
  200. package/lib/types/equipment/item/BandageOrRemedy.js +0 -12
  201. package/lib/types/equipment/item/Book.d.ts +0 -61
  202. package/lib/types/equipment/item/Book.js +0 -12
  203. package/lib/types/equipment/item/CeremonialItem.d.ts +0 -42
  204. package/lib/types/equipment/item/CeremonialItem.js +0 -12
  205. package/lib/types/equipment/item/Clothes.d.ts +0 -7
  206. package/lib/types/equipment/item/Clothes.js +0 -12
  207. package/lib/types/equipment/item/Container.d.ts +0 -7
  208. package/lib/types/equipment/item/Container.js +0 -12
  209. package/lib/types/equipment/item/Elixir.d.ts +0 -76
  210. package/lib/types/equipment/item/Elixir.js +0 -12
  211. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +0 -29
  212. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +0 -12
  213. package/lib/types/equipment/item/GemOrPreciousStone.d.ts +0 -44
  214. package/lib/types/equipment/item/GemOrPreciousStone.js +0 -12
  215. package/lib/types/equipment/item/IlluminationLightSource.d.ts +0 -63
  216. package/lib/types/equipment/item/IlluminationLightSource.js +0 -16
  217. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.d.ts +0 -7
  218. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.js +0 -12
  219. package/lib/types/equipment/item/Jewelry.d.ts +0 -61
  220. package/lib/types/equipment/item/Jewelry.js +0 -12
  221. package/lib/types/equipment/item/Liebesspielzeug.d.ts +0 -7
  222. package/lib/types/equipment/item/Liebesspielzeug.js +0 -12
  223. package/lib/types/equipment/item/LuxuryGood.d.ts +0 -37
  224. package/lib/types/equipment/item/LuxuryGood.js +0 -12
  225. package/lib/types/equipment/item/MagicalArtifact.d.ts +0 -40
  226. package/lib/types/equipment/item/MagicalArtifact.js +0 -12
  227. package/lib/types/equipment/item/MusicalInstrument.d.ts +0 -23
  228. package/lib/types/equipment/item/MusicalInstrument.js +0 -12
  229. package/lib/types/equipment/item/OrienteeringAid.d.ts +0 -7
  230. package/lib/types/equipment/item/OrienteeringAid.js +0 -12
  231. package/lib/types/equipment/item/Poison.d.ts +0 -359
  232. package/lib/types/equipment/item/Poison.js +0 -30
  233. package/lib/types/equipment/item/RopeOrChain.d.ts +0 -7
  234. package/lib/types/equipment/item/RopeOrChain.js +0 -12
  235. package/lib/types/equipment/item/Stationary.d.ts +0 -7
  236. package/lib/types/equipment/item/Stationary.js +0 -12
  237. package/lib/types/equipment/item/ThievesTool.d.ts +0 -7
  238. package/lib/types/equipment/item/ThievesTool.js +0 -12
  239. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +0 -61
  240. package/lib/types/equipment/item/ToolOfTheTrade.js +0 -12
  241. package/lib/types/equipment/item/TravelGearOrTool.d.ts +0 -7
  242. package/lib/types/equipment/item/TravelGearOrTool.js +0 -12
  243. package/lib/types/equipment/item/Vehicle.d.ts +0 -19
  244. package/lib/types/equipment/item/Vehicle.js +0 -12
  245. package/lib/types/equipment/item/Weapon.d.ts +0 -166
  246. package/lib/types/equipment/item/Weapon.js +0 -12
  247. package/lib/types/equipment/item/WeaponAccessory.d.ts +0 -7
  248. package/lib/types/equipment/item/WeaponAccessory.js +0 -12
  249. package/lib/types/equipment/item/_Herbary.d.ts +0 -31
  250. package/lib/types/equipment/item/_Herbary.js +0 -22
  251. package/lib/types/equipment/item/_Item.d.ts +0 -160
  252. package/lib/types/equipment/item/_Item.js +0 -1
  253. package/lib/types/equipment/item/_MeleeWeapon.d.ts +0 -108
  254. package/lib/types/equipment/item/_MeleeWeapon.js +0 -4
  255. package/lib/types/equipment/item/_RangedWeapon.d.ts +0 -109
  256. package/lib/types/equipment/item/_RangedWeapon.js +0 -4
  257. package/lib/types/equipment/item/_Weapon.d.ts +0 -57
  258. package/lib/types/equipment/item/_Weapon.js +0 -1
  259. package/lib/types/equipment/item/sub/ArmorType.d.ts +0 -37
  260. package/lib/types/equipment/item/sub/ArmorType.js +0 -12
  261. package/lib/types/equipment/item/sub/Reach.d.ts +0 -28
  262. package/lib/types/equipment/item/sub/Reach.js +0 -12
  263. package/lib/types/magicalActions/AnimistPower.d.ts +0 -238
  264. package/lib/types/magicalActions/AnimistPower.js +0 -12
  265. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +0 -28
  266. package/lib/types/magicalActions/AnimistPower_Tribe.js +0 -12
  267. package/lib/types/magicalActions/Curse.d.ts +0 -162
  268. package/lib/types/magicalActions/Curse.js +0 -12
  269. package/lib/types/magicalActions/DominationRitual.d.ts +0 -145
  270. package/lib/types/magicalActions/DominationRitual.js +0 -12
  271. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +0 -135
  272. package/lib/types/magicalActions/ElvenMagicalSong.js +0 -12
  273. package/lib/types/magicalActions/GeodeRitual.d.ts +0 -180
  274. package/lib/types/magicalActions/GeodeRitual.js +0 -12
  275. package/lib/types/magicalActions/JesterTrick.d.ts +0 -177
  276. package/lib/types/magicalActions/JesterTrick.js +0 -12
  277. package/lib/types/magicalActions/MagicalDance.d.ts +0 -119
  278. package/lib/types/magicalActions/MagicalDance.js +0 -12
  279. package/lib/types/magicalActions/MagicalMelody.d.ts +0 -124
  280. package/lib/types/magicalActions/MagicalMelody.js +0 -12
  281. package/lib/types/magicalActions/MagicalRune.d.ts +0 -294
  282. package/lib/types/magicalActions/MagicalRune.js +0 -12
  283. package/lib/types/magicalActions/ZibiljaRitual.d.ts +0 -102
  284. package/lib/types/magicalActions/ZibiljaRitual.js +0 -12
  285. package/lib/types/magicalActions/_MusicTradition.d.ts +0 -36
  286. package/lib/types/magicalActions/_MusicTradition.js +0 -10
  287. package/lib/types/magicalActions/_SkillReference.d.ts +0 -14
  288. package/lib/types/magicalActions/_SkillReference.js +0 -5
  289. package/lib/types/prerequisites/ConditionalPrerequisites.d.ts +0 -10
  290. package/lib/types/prerequisites/ConditionalPrerequisites.js +0 -1
  291. package/lib/types/prerequisites/DisplayOption.d.ts +0 -32
  292. package/lib/types/prerequisites/DisplayOption.js +0 -1
  293. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +0 -215
  294. package/lib/types/prerequisites/PrerequisiteGroups.js +0 -1
  295. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +0 -31
  296. package/lib/types/prerequisites/single/ActivatablePrerequisite.js +0 -1
  297. package/lib/types/prerequisites/single/AncestorBloodPrerequisite.d.ts +0 -5
  298. package/lib/types/prerequisites/single/AncestorBloodPrerequisite.js +0 -1
  299. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +0 -26
  300. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.js +0 -1
  301. package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +0 -13
  302. package/lib/types/prerequisites/single/CulturePrerequisite.js +0 -1
  303. package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +0 -39
  304. package/lib/types/prerequisites/single/EnhancementPrerequisite.js +0 -1
  305. package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +0 -16
  306. package/lib/types/prerequisites/single/InfluencePrerequisite.js +0 -1
  307. package/lib/types/prerequisites/single/PactPrerequisite.d.ts +0 -23
  308. package/lib/types/prerequisites/single/PactPrerequisite.js +0 -1
  309. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +0 -21
  310. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +0 -5
  311. package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +0 -12
  312. package/lib/types/prerequisites/single/PublicationPrerequisite.js +0 -1
  313. package/lib/types/prerequisites/single/RacePrerequisite.d.ts +0 -16
  314. package/lib/types/prerequisites/single/RacePrerequisite.js +0 -1
  315. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.d.ts +0 -67
  316. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.js +0 -6
  317. package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +0 -18
  318. package/lib/types/prerequisites/single/RatedPrerequisite.js +0 -1
  319. package/lib/types/prerequisites/single/RatedSumPrerequisite.d.ts +0 -19
  320. package/lib/types/prerequisites/single/RatedSumPrerequisite.js +0 -1
  321. package/lib/types/prerequisites/single/RulePrerequisite.d.ts +0 -9
  322. package/lib/types/prerequisites/single/RulePrerequisite.js +0 -1
  323. package/lib/types/prerequisites/single/SexPrerequisite.d.ts +0 -10
  324. package/lib/types/prerequisites/single/SexPrerequisite.js +0 -1
  325. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.d.ts +0 -11
  326. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.js +0 -5
  327. package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +0 -13
  328. package/lib/types/prerequisites/single/SocialStatusPrerequisite.js +0 -1
  329. package/lib/types/prerequisites/single/StatePrerequisite.d.ts +0 -10
  330. package/lib/types/prerequisites/single/StatePrerequisite.js +0 -1
  331. package/lib/types/prerequisites/single/TextPrerequisite.d.ts +0 -55
  332. package/lib/types/prerequisites/single/TextPrerequisite.js +0 -10
  333. package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +0 -39
  334. package/lib/types/prerequisites/single/TraditionPrerequisite.js +0 -18
  335. package/lib/types/rule/CoreRule.d.ts +0 -312
  336. package/lib/types/rule/CoreRule.js +0 -17
  337. package/lib/types/rule/FocusRule.d.ts +0 -53
  338. package/lib/types/rule/FocusRule.js +0 -12
  339. package/lib/types/rule/FocusRule_Subject.d.ts +0 -29
  340. package/lib/types/rule/FocusRule_Subject.js +0 -12
  341. package/lib/types/rule/OptionalRule.d.ts +0 -41
  342. package/lib/types/rule/OptionalRule.js +0 -12
  343. package/lib/types/source/Publication.d.ts +0 -75
  344. package/lib/types/source/Publication.js +0 -22
  345. package/lib/types/source/_Erratum.d.ts +0 -26
  346. package/lib/types/source/_Erratum.js +0 -4
  347. package/lib/types/source/_PublicationRef.d.ts +0 -151
  348. package/lib/types/source/_PublicationRef.js +0 -4
  349. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +0 -52
  350. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +0 -12
  351. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +0 -34
  352. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +0 -12
  353. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +0 -34
  354. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +0 -12
  355. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +0 -34
  356. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +0 -12
  357. package/lib/types/specialAbility/AncestorGlyph.d.ts +0 -38
  358. package/lib/types/specialAbility/AncestorGlyph.js +0 -12
  359. package/lib/types/specialAbility/BlessedTradition.d.ts +0 -147
  360. package/lib/types/specialAbility/BlessedTradition.js +0 -12
  361. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +0 -34
  362. package/lib/types/specialAbility/BrawlingSpecialAbility.js +0 -12
  363. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +0 -40
  364. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +0 -12
  365. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +0 -45
  366. package/lib/types/specialAbility/CombatSpecialAbility.js +0 -12
  367. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +0 -42
  368. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +0 -12
  369. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +0 -38
  370. package/lib/types/specialAbility/CommandSpecialAbility.js +0 -12
  371. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +0 -32
  372. package/lib/types/specialAbility/FamiliarSpecialAbility.js +0 -12
  373. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +0 -32
  374. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +0 -12
  375. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +0 -39
  376. package/lib/types/specialAbility/FatePointSpecialAbility.js +0 -12
  377. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +0 -44
  378. package/lib/types/specialAbility/GeneralSpecialAbility.js +0 -12
  379. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +0 -37
  380. package/lib/types/specialAbility/KarmaSpecialAbility.js +0 -12
  381. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +0 -36
  382. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +0 -12
  383. package/lib/types/specialAbility/LycantropicGift.d.ts +0 -32
  384. package/lib/types/specialAbility/LycantropicGift.js +0 -12
  385. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +0 -36
  386. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +0 -12
  387. package/lib/types/specialAbility/MagicalSign.d.ts +0 -39
  388. package/lib/types/specialAbility/MagicalSign.js +0 -12
  389. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +0 -43
  390. package/lib/types/specialAbility/MagicalSpecialAbility.js +0 -12
  391. package/lib/types/specialAbility/MagicalTradition.d.ts +0 -114
  392. package/lib/types/specialAbility/MagicalTradition.js +0 -12
  393. package/lib/types/specialAbility/PactGift.d.ts +0 -103
  394. package/lib/types/specialAbility/PactGift.js +0 -22
  395. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +0 -46
  396. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +0 -12
  397. package/lib/types/specialAbility/Sermon.d.ts +0 -32
  398. package/lib/types/specialAbility/Sermon.js +0 -12
  399. package/lib/types/specialAbility/SexSpecialAbility.d.ts +0 -34
  400. package/lib/types/specialAbility/SexSpecialAbility.js +0 -12
  401. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +0 -37
  402. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +0 -12
  403. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +0 -34
  404. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +0 -12
  405. package/lib/types/specialAbility/VampiricGift.d.ts +0 -37
  406. package/lib/types/specialAbility/VampiricGift.js +0 -12
  407. package/lib/types/specialAbility/Vision.d.ts +0 -32
  408. package/lib/types/specialAbility/Vision.js +0 -12
  409. package/lib/types/specialAbility/_Tradition.d.ts +0 -12
  410. package/lib/types/specialAbility/_Tradition.js +0 -1
  411. package/lib/types/specialAbility/sub/Language.d.ts +0 -117
  412. package/lib/types/specialAbility/sub/Language.js +0 -12
  413. package/lib/types/specialAbility/sub/Script.d.ts +0 -60
  414. package/lib/types/specialAbility/sub/Script.js +0 -12
  415. package/lib/types/specialAbility/sub/TradeSecret.d.ts +0 -48
  416. package/lib/types/specialAbility/sub/TradeSecret.js +0 -12
  417. package/lib/types/specialAbility/sub/_LanguageScript.d.ts +0 -11
  418. package/lib/types/specialAbility/sub/_LanguageScript.js +0 -1
  419. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +0 -47
  420. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +0 -12
  421. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +0 -47
  422. package/lib/types/traditionArtifacts/AttireEnchantment.js +0 -12
  423. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +0 -47
  424. package/lib/types/traditionArtifacts/BowlEnchantment.js +0 -12
  425. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +0 -61
  426. package/lib/types/traditionArtifacts/CauldronEnchantment.js +0 -12
  427. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +0 -47
  428. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +0 -12
  429. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +0 -71
  430. package/lib/types/traditionArtifacts/DaggerRitual.js +0 -12
  431. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +0 -47
  432. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +0 -12
  433. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +0 -47
  434. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +0 -12
  435. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +0 -47
  436. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +0 -12
  437. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +0 -47
  438. package/lib/types/traditionArtifacts/OrbEnchantment.js +0 -12
  439. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +0 -47
  440. package/lib/types/traditionArtifacts/RingEnchantment.js +0 -12
  441. package/lib/types/traditionArtifacts/SickleRitual.d.ts +0 -47
  442. package/lib/types/traditionArtifacts/SickleRitual.js +0 -12
  443. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +0 -52
  444. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +0 -12
  445. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +0 -57
  446. package/lib/types/traditionArtifacts/StaffEnchantment.js +0 -12
  447. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +0 -47
  448. package/lib/types/traditionArtifacts/ToyEnchantment.js +0 -12
  449. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +0 -47
  450. package/lib/types/traditionArtifacts/Trinkhornzauber.js +0 -12
  451. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +0 -42
  452. package/lib/types/traditionArtifacts/WandEnchantment.js +0 -12
  453. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +0 -47
  454. package/lib/types/traditionArtifacts/WeaponEnchantment.js +0 -12
  455. package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +0 -52
  456. package/lib/types/traditionArtifacts/sub/AnimalShape.js +0 -12
  457. package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +0 -28
  458. package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +0 -12
  459. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +0 -40
  460. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +0 -12
  461. package/lib/types/traditionArtifacts/sub/Brew.d.ts +0 -28
  462. package/lib/types/traditionArtifacts/sub/Brew.js +0 -12
  463. package/lib/validation/builders/integrity.d.ts +0 -57
  464. package/lib/validation/builders/integrity.js +0 -44
  465. package/lib/validation/builders/naming.d.ts +0 -13
  466. package/lib/validation/builders/naming.js +0 -14
  467. package/lib/validation/builders/schema.d.ts +0 -31
  468. package/lib/validation/builders/schema.js +0 -32
  469. package/lib/validation/filename.d.ts +0 -9
  470. package/lib/validation/filename.js +0 -10
  471. package/lib/validation/raw.d.ts +0 -9
  472. package/lib/validation/raw.js +0 -56
  473. package/lib/validation/schema.d.ts +0 -6
  474. package/lib/validation/schema.js +0 -33
@@ -1,1383 +0,0 @@
1
- /**
2
- * General type specifications used by multiple activatable entries.
3
- * @title Activatable
4
- */
5
- import { SelectOptionCategory, SkillApplicationOrUse } from "./_ActivatableSelectOptionCategory.js";
6
- import { DurationUnitValue } from "./_ActivatableSkillDuration.js";
7
- import { MagicalTraditionIdentifier, PatronIdentifier, SkillIdentifier } from "./_Identifier.js";
8
- import { AdvancedSpecialAbilityRestrictedOptionIdentifier, CombatRelatedSpecialAbilityIdentifier, CombatTechniqueIdentifier, VolumePointsOptionReferenceIdentifier } from "./_IdentifierGroup.js";
9
- import { LocaleMap } from "./_LocaleMap.js";
10
- import { NonEmptyMarkdown, NonEmptyString } from "./_NonEmptyString.js";
11
- import { GeneralPrerequisites } from "./_Prerequisite.js";
12
- import { ResponsiveText, ResponsiveTextOptional } from "./_ResponsiveText.js";
13
- import { AdvancedSpecialAbilityReference, AspectReference, CloseCombatTechniqueReference, CombatTechniqueReference, PropertyReference, RaceReference, RangedCombatTechniqueReference, SkillReference, WeaponReference } from "./_SimpleReferences.js";
14
- import { DisplayOption } from "./prerequisites/DisplayOption.js";
15
- import { Errata } from "./source/_Erratum.js";
16
- import { PublicationRefs } from "./source/_PublicationRef.js";
17
- /**
18
- * The activatable entry's identifier. An unique, increasing integer.
19
- * @integer
20
- * @minimum 0
21
- */
22
- export type Id = number;
23
- /**
24
- * The name of the activatable entry.
25
- * @minLength 1
26
- */
27
- export type Name = string;
28
- /**
29
- * The full name of the entry as stated in the sources. Only use when `name`
30
- * needs to be different from full name for text generation purposes.
31
- * @minLength 1
32
- */
33
- export type NameInLibrary = string;
34
- /**
35
- * Number of available levels.
36
- * @integer
37
- * @minimum 2
38
- */
39
- export type Levels = number;
40
- /**
41
- * The number stating how often you can buy the entry. The **default** depends on
42
- * the entry type:
43
- *
44
- * - **Advantage:** `1` in all cases (as specified in the **Core Rules**)
45
- * - **Disadvantage:** `1` in all cases (as specified in the **Core Rules**)
46
- * - **Special Abilities:** `1` if no options can be selected, otherwise the
47
- * number of possible options
48
- *
49
- * The maximum is only set if it differs from the defaults specified above.
50
- * @integer
51
- * @minimum 1
52
- */
53
- export type Maximum = number;
54
- /**
55
- * Definitions for possible options for the activatable entry. They can either
56
- * be derived from entry categories or be defined explicitly. Both can happen as
57
- * well, but if there is an explicitly defined select option and a derived
58
- * select option has the same identifier (which may only happen if skill or
59
- * combat technique identifiers are used for explicit select options), the
60
- * explicit definition overwrites the derived option.
61
- *
62
- * Note that this is only a full definition of options for simple logic that can
63
- * be made explicit using the more detailed configuration for both derived
64
- * categories and explicit options. There are quite a few entries whose option
65
- * logic cannot be fully represented here, so that it needs to be implemented
66
- * manually.
67
- * @minProperties 1
68
- */
69
- export type SelectOptions = {
70
- /**
71
- * An entry category with optional further configuration. All available
72
- * entries from the specified categories will be included as separate select
73
- * options. You can also specify a set of groups that should only be
74
- * included. Groups not mentioned will be excluded then.
75
- */
76
- derived?: SelectOptionCategory;
77
- /**
78
- * A list of explicit select options. If the identifier has a specific type,
79
- * its entry is the base of this select option, where values defined here
80
- * override values from the base. Define the `src` property if the options
81
- * are not derived from the rules text of the advantage/disadvantage/special
82
- * ability but instead are listed in a separate block and/or on a separate
83
- * page.
84
- * @minItems 1
85
- */
86
- explicit?: ExplicitSelectOption[];
87
- };
88
- export type ExplicitSelectOption = {
89
- tag: "General";
90
- general: ExplicitGeneralSelectOption;
91
- } | {
92
- tag: "Skill";
93
- skill: ExplicitSkillSelectOption;
94
- } | {
95
- tag: "CombatTechnique";
96
- combat_technique: ExplicitCombatTechniqueSelectOption;
97
- };
98
- export type ExplicitGeneralSelectOption = {
99
- /**
100
- * The option's identifier. An unique, increasing integer.
101
- * @integer
102
- * @minimum 1
103
- */
104
- id: number;
105
- /**
106
- * Sometimes, professions use specific text selections that are not
107
- * contained in described lists. This ensures you can use them for
108
- * professions only. They are not going to be displayed as options to the
109
- * user.
110
- */
111
- profession_only?: true;
112
- /**
113
- * Registers new applications, which get enabled once this entry is
114
- * activated with its respective select option. It specifies an entry-unique
115
- * identifier and the skill it belongs to. A translation can be left out if
116
- * its name equals the name of the origin select option.
117
- */
118
- skill_applications?: SkillApplications;
119
- /**
120
- * Registers uses, which get enabled once this entry is activated with its
121
- * respective select option. It specifies an entry-unique identifier and the
122
- * skill it belongs to. A translation can be left out if its name equals the
123
- * name of the origin select option.
124
- */
125
- skill_uses?: SkillUses;
126
- prerequisites?: GeneralPrerequisites;
127
- /**
128
- * Specific binding cost for the select option. Only has an effect if the
129
- * associated entry supports binding costs.
130
- * @integer
131
- * @minimum 0
132
- */
133
- binding_cost?: number;
134
- /**
135
- * Specific AP cost for the select option.
136
- * @integer
137
- * @minimum 1
138
- */
139
- ap_value?: number;
140
- src?: PublicationRefs;
141
- /**
142
- * All translations for the entry, identified by IETF language tag (BCP47).
143
- */
144
- translations: LocaleMap<ExplicitGeneralSelectOptionTranslation>;
145
- };
146
- export type ExplicitGeneralSelectOptionTranslation = {
147
- /**
148
- * The name of the select option.
149
- * @minLength 1
150
- */
151
- name: string;
152
- /**
153
- * The name of the select option when displayed in a generated
154
- * profession text.
155
- * @minLength 1
156
- */
157
- name_in_profession?: string;
158
- /**
159
- * The description of the select option. Useful for Bad Habits, Trade
160
- * Secrets and other entries where a description is available.
161
- * @markdown
162
- * @minLength 1
163
- */
164
- description?: string;
165
- errata?: Errata;
166
- };
167
- export type ExplicitSkillSelectOption = {
168
- /**
169
- * The skill's identifier. An unique, increasing integer.
170
- * @integer
171
- * @minimum 1
172
- */
173
- id: SkillIdentifier;
174
- /**
175
- * Registers new applications, which get enabled once this entry is
176
- * activated with its respective select option. It specifies an entry-unique
177
- * identifier and the skill it belongs to. A translation can be left out if
178
- * its name equals the name of the origin select option.
179
- * @minItems 1
180
- */
181
- skill_applications?: SkillApplicationOrUse[];
182
- /**
183
- * Registers uses, which get enabled once this entry is activated with its
184
- * respective select option. It specifies an entry-unique identifier and the
185
- * skill it belongs to. A translation can be left out if its name equals the
186
- * name of the origin select option.
187
- * @minItems 1
188
- */
189
- skill_uses?: SkillApplicationOrUse[];
190
- prerequisites?: GeneralPrerequisites;
191
- /**
192
- * Specific binding cost for the select option. Only has an effect if the
193
- * associated entry supports binding costs.
194
- * @integer
195
- * @minimum 0
196
- */
197
- binding_cost?: number;
198
- /**
199
- * Specific AP cost for the select option.
200
- * @integer
201
- * @minimum 1
202
- */
203
- ap_value?: number;
204
- src?: PublicationRefs;
205
- /**
206
- * All translations for the entry, identified by IETF language tag (BCP47).
207
- */
208
- translations?: LocaleMap<ExplicitSkillSelectOptionTranslation>;
209
- };
210
- /**
211
- * @minProperties 1
212
- */
213
- export type ExplicitSkillSelectOptionTranslation = {
214
- errata?: Errata;
215
- };
216
- export type ExplicitCombatTechniqueSelectOption = {
217
- /**
218
- * The combat technique's identifier.
219
- */
220
- id: CombatTechniqueIdentifier;
221
- prerequisites?: GeneralPrerequisites;
222
- /**
223
- * Specific binding cost for the select option. Only has an effect if the
224
- * associated entry supports binding costs.
225
- * @integer
226
- * @minimum 0
227
- */
228
- binding_cost?: number;
229
- /**
230
- * Specific AP cost for the select option.
231
- * @integer
232
- * @minimum 1
233
- */
234
- ap_value?: number;
235
- src?: PublicationRefs;
236
- /**
237
- * All translations for the entry, identified by IETF language tag (BCP47).
238
- */
239
- translations?: LocaleMap<ExplicitCombatTechniqueSelectOptionTranslation>;
240
- };
241
- /**
242
- * @minProperties 1
243
- */
244
- export type ExplicitCombatTechniqueSelectOptionTranslation = {
245
- errata?: Errata;
246
- };
247
- /**
248
- * The rule text.
249
- */
250
- export type Rules = NonEmptyMarkdown;
251
- /**
252
- * The effect description.
253
- */
254
- export type Effect = NonEmptyMarkdown;
255
- /**
256
- * The definition of how the combat special ability can be used in combat.
257
- */
258
- export declare enum CombatSpecialAbilityUsageType {
259
- Passive = "Passive",
260
- BasicManeuver = "BasicManeuver",
261
- SpecialManeuver = "SpecialManeuver"
262
- }
263
- /**
264
- * The definition of if the combat special ability can be used when armed or
265
- * when unarmed.
266
- */
267
- export declare enum CombatSpecialAbilityType {
268
- Armed = "Armed",
269
- Unarmed = "Unarmed"
270
- }
271
- /**
272
- * Registers new skill applications, which get enabled once this entry is
273
- * activated. It specifies an entry-unique identifier and the skill it belongs
274
- * to. A translation can be left out if its name equals the name of the origin
275
- * activatable entry.
276
- * @minItems 1
277
- */
278
- export type SkillApplications = SkillApplication[];
279
- export type SkillApplication = {
280
- /**
281
- * The application's identifier. An entry-unique, increasing integer.
282
- * @integer
283
- * @minimum 1
284
- */
285
- id: number;
286
- /**
287
- * The skill(s) this application belongs to.
288
- */
289
- skill: SkillApplicationAssociatedSkill;
290
- /**
291
- * All translations for the entry, identified by IETF language tag (BCP47).
292
- */
293
- translations?: LocaleMap<SkillApplicationTranslation>;
294
- };
295
- export type SkillApplicationAssociatedSkill = {
296
- tag: "Single";
297
- single: SkillReference;
298
- } | {
299
- tag: "Multiple";
300
- multiple: SkillApplicationAssociatedSkills;
301
- };
302
- export type SkillApplicationAssociatedSkills = {
303
- /**
304
- * The skills this application belongs to.
305
- * @minItems 2
306
- */
307
- list: SkillReference[];
308
- /**
309
- * If an application applies to multiple skills, it may need to ensure the
310
- * respective skill is on a certain skill rating if the activatable entry
311
- * cannot ensure this prerequisite.
312
- * @integer
313
- * @minimum 1
314
- */
315
- required_skill_rating?: number;
316
- };
317
- export type SkillApplicationTranslation = {
318
- /**
319
- * The name of the application if different from the activatable entry's name.
320
- */
321
- name: NonEmptyString;
322
- };
323
- /**
324
- * Registers uses, which get enabled once this entry is activated. It specifies
325
- * an entry-unique identifier and the skill it belongs to. A translation can be
326
- * left out if its name equals the name of the origin activatable entry.
327
- * @minItems 1
328
- */
329
- export type SkillUses = SkillUse[];
330
- export type SkillUse = {
331
- /**
332
- * The use's identifier. An entry-unique, increasing integer.
333
- * @integer
334
- * @minimum 1
335
- */
336
- id: number;
337
- /**
338
- * The skill(s) this use belongs to.
339
- */
340
- skill: SkillUseAssociatedSkill;
341
- /**
342
- * All translations for the entry, identified by IETF language tag (BCP47).
343
- */
344
- translations?: LocaleMap<SkillUseTranslation>;
345
- };
346
- export type SkillUseAssociatedSkill = {
347
- tag: "Single";
348
- single: SkillReference;
349
- } | {
350
- tag: "Multiple";
351
- multiple: SkillUseAssociatedSkills;
352
- };
353
- export type SkillUseAssociatedSkills = {
354
- /**
355
- * The skills this use belongs to.
356
- * @minItems 2
357
- */
358
- list: SkillReference[];
359
- };
360
- export type SkillUseTranslation = {
361
- /**
362
- * The name of the use if different from the activatable entry's name.
363
- */
364
- name: NonEmptyString;
365
- };
366
- /**
367
- * The penalty the special ability gives when used.
368
- */
369
- export type Penalty = {
370
- tag: "Single";
371
- single: SinglePenalty;
372
- } | {
373
- tag: "ByHandedness";
374
- by_handedness: PenaltyByHandedness;
375
- } | {
376
- tag: "ByActivation";
377
- by_activation: PenaltyByActivation;
378
- } | {
379
- tag: "Selection";
380
- selection: PenaltySelection;
381
- } | {
382
- tag: "ByLevel";
383
- by_level: PenaltyByLevel;
384
- } | {
385
- tag: "ByAttack";
386
- by_attack: PenaltyByAttack;
387
- } | {
388
- tag: "DependsOnHitZone";
389
- depends_on_hit_zone: {};
390
- };
391
- export type SinglePenalty = {
392
- /**
393
- * The penalty value.
394
- * @integer
395
- */
396
- value: number;
397
- /**
398
- * Set to `true` if the penalty applies to the parry instead of the attack.
399
- */
400
- applies_to_parry?: true;
401
- };
402
- export type PenaltyByHandedness = {
403
- /**
404
- * The penalty value for one-handed weapons.
405
- * @integer
406
- */
407
- one_handed: number;
408
- /**
409
- * The penalty value for two-handed weapons.
410
- * @integer
411
- */
412
- two_handed: number;
413
- /**
414
- * Set to `true` if the penalty applies to the parry instead of the attack.
415
- */
416
- applies_to_parry?: true;
417
- };
418
- export type PenaltyByActivation = {
419
- /**
420
- * The penalty value if the entry has been bought by the character.
421
- * @integer
422
- */
423
- active: number;
424
- /**
425
- * The penalty value if the entry has not been bought by the character.
426
- * @integer
427
- */
428
- inactive: number;
429
- /**
430
- * Set to `true` if the penalty applies to the parry instead of the attack.
431
- */
432
- applies_to_parry?: true;
433
- };
434
- export type PenaltySelection = {
435
- options: PenaltySelectionOptions;
436
- };
437
- export type PenaltySelectionOptions = {
438
- tag: "Specific";
439
- specific: SpecificPenaltySelectionOptions;
440
- } | {
441
- tag: "Range";
442
- range: PenaltySelectionOptionsRange;
443
- };
444
- export type SpecificPenaltySelectionOptions = {
445
- /**
446
- * The list of specific penalty options.
447
- * @minItems 2
448
- * @uniqueItems
449
- */
450
- list: SpecificPenaltySelectionOption[];
451
- };
452
- export type SpecificPenaltySelectionOption = {
453
- /**
454
- * The penalty value.
455
- * @integer
456
- */
457
- value: number;
458
- };
459
- export type PenaltySelectionOptionsRange = {
460
- /**
461
- * The minimum penalty value.
462
- * @integer
463
- */
464
- minimum: number;
465
- /**
466
- * The maximum penalty value.
467
- * @integer
468
- */
469
- maximum: number;
470
- };
471
- export type PenaltyByLevel = {
472
- /**
473
- * A continuous range of penalties for each level. The first element is the
474
- * penalty for the first level, the second element is the penalty for the
475
- * second level, and so on.
476
- * @minItems 2
477
- */
478
- levels: PenaltyByLevelLevel[];
479
- /**
480
- * The combat-related special ability of which the level defines the penalty
481
- * instead.
482
- */
483
- external?: PenaltyByExternalLevel;
484
- };
485
- export type PenaltyByLevelLevel = {
486
- /**
487
- * The penalty value for this level.
488
- * @integer
489
- */
490
- value: number;
491
- };
492
- /**
493
- * The combat-related special ability of which the level defines the penalty
494
- * instead.
495
- */
496
- export type PenaltyByExternalLevel = {
497
- /**
498
- * The identifier of the combat-related special ability of which the level
499
- * defines the penalty instead.
500
- */
501
- id: CombatRelatedSpecialAbilityIdentifier;
502
- };
503
- export type PenaltyByAttack = {
504
- /**
505
- * A list of penalties for subsequent attacks. The first element is the
506
- * penalty for the first attack, the second element is the penalty for the
507
- * second attack, and so on. The order of the first element may be changed
508
- * using `initial_order`, so that e.g. if set to `2`, the first element is
509
- * the penalty for the second attack, the second element is the penalty for
510
- * the third attack, and so on.
511
- * @minItems 1
512
- */
513
- list: PenaltyByAttackOrderItem[];
514
- /**
515
- * The order of the first element in the `list` of penalties.
516
- */
517
- initial_order?: number;
518
- /**
519
- * Set if a predefined different word should be used instead of the word
520
- * `attack` for display purposes.
521
- */
522
- attack_replacement?: PenaltyByAttackReplacement;
523
- };
524
- export type PenaltyByAttackOrderItem = {
525
- /**
526
- * The penalty value for this order.
527
- * @integer
528
- */
529
- value: number;
530
- };
531
- /**
532
- * Set if a predefined different word should be used instead of the word
533
- * `attack` for display purposes.
534
- */
535
- export declare enum PenaltyByAttackReplacement {
536
- Throw = "Throw"
537
- }
538
- export type EnchantmentCost = {
539
- tag: "ArcaneEnergyCost";
540
- arcane_energy_cost: ArcaneEnergyCost;
541
- } | {
542
- tag: "BindingCost";
543
- binding_cost: BindingCost;
544
- };
545
- /**
546
- * The AE Cost.
547
- */
548
- export type ArcaneEnergyCost = {
549
- tag: "Fixed";
550
- fixed: FixedArcaneEnergyCost;
551
- } | {
552
- tag: "PerCountable";
553
- per_countable: ArcaneEnergyCostPerCountable;
554
- } | {
555
- tag: "Interval";
556
- interval: IntervalArcaneEnergyCost;
557
- } | {
558
- tag: "ActivationAndHalfInterval";
559
- activation_and_half_interval: ActivationAndHalfIntervalArcaneEnergyCost;
560
- } | {
561
- tag: "Indefinite";
562
- indefinite: IndefiniteArcaneEnergyCost;
563
- } | {
564
- tag: "Disjunction";
565
- disjunction: ArcaneEnergyCostDisjunction;
566
- } | {
567
- tag: "Variable";
568
- variable: {};
569
- };
570
- export type FixedArcaneEnergyCost = {
571
- /**
572
- * The AE cost value.
573
- * @integer
574
- * @minimum 1
575
- */
576
- value: number;
577
- /**
578
- * Set to `true` if the AE costs are permanent.
579
- * @integer
580
- * @minimum 1
581
- */
582
- is_permanent?: true;
583
- /**
584
- * Specified if the AE cost `value` has to be paid for each time interval.
585
- */
586
- interval?: DurationUnitValue;
587
- /**
588
- * The AE cost are per level of the enchantment. It may either be displayed
589
- * in a compressed way (e.g. `1 AE per level`) or in a verbose way (e.g. `1
590
- * AE for level I; 2 AE for level II`).
591
- */
592
- per_level?: FixedArcaneEnergyCostPerLevel;
593
- /**
594
- * All translations for the entry, identified by IETF language tag (BCP47).
595
- */
596
- translations?: LocaleMap<FixedArcaneEnergyCostTranslation>;
597
- };
598
- /**
599
- * The AE cost are per level of the enchantment. It may either be displayed
600
- * in a compressed way (e.g. `1 AE per level`) or in a verbose way (e.g. `1
601
- * AE for level I; 2 AE for level II`).
602
- */
603
- export declare enum FixedArcaneEnergyCostPerLevel {
604
- Compressed = "Compressed",
605
- Verbose = "Verbose"
606
- }
607
- /**
608
- * @minProperties 1
609
- */
610
- export type FixedArcaneEnergyCostTranslation = {
611
- /**
612
- * A note, appended to the generated option string in parenthesis.
613
- */
614
- note?: ResponsiveTextOptional;
615
- };
616
- export type ArcaneEnergyCostPerCountable = {
617
- /**
618
- * The AE cost value that has to be per a specific countable entity.
619
- * @integer
620
- * @minimum 1
621
- */
622
- value: number;
623
- /**
624
- * If defined, in addition to the cost per entity you have to pay a flat
625
- * amount, regardless of the entity count.
626
- * @integer
627
- * @minimum 1
628
- */
629
- base_value?: number;
630
- /**
631
- * All translations for the entry, identified by IETF language tag (BCP47).
632
- */
633
- translations: LocaleMap<ArcaneEnergyCostPerCountableTranslation>;
634
- };
635
- export type ArcaneEnergyCostPerCountableTranslation = {
636
- /**
637
- * The cost have to be per a specific countable entity, e.g. `8 AE per
638
- * person`.
639
- */
640
- per: ResponsiveText;
641
- /**
642
- * A note, appended to the generated string in parenthesis.
643
- */
644
- note?: ResponsiveTextOptional;
645
- };
646
- export type IntervalArcaneEnergyCost = {
647
- /**
648
- * The AE cost value that has to be payed each interval.
649
- * @integer
650
- * @minimum 1
651
- */
652
- value: number;
653
- /**
654
- * The time interval for which the AE cost `value` has to be paid.
655
- */
656
- interval: DurationUnitValue;
657
- };
658
- export type ActivationAndHalfIntervalArcaneEnergyCost = {
659
- /**
660
- * The AE cost value that has to be payed for activation. Half of this value
661
- * has to be payed each interval.
662
- * @integer
663
- * @minimum 2
664
- * @multipleOf 2
665
- */
666
- value: number;
667
- /**
668
- * The time interval for which the AE cost `value` has to be paid.
669
- */
670
- interval: DurationUnitValue;
671
- };
672
- export type IndefiniteArcaneEnergyCost = {
673
- /**
674
- * Specified if the indefinite AP cost description needs to be modified by a
675
- * certain value.
676
- */
677
- modifier?: IndefiniteArcaneEnergyCostModifier;
678
- /**
679
- * All translations for the entry, identified by IETF language tag (BCP47).
680
- */
681
- translations: LocaleMap<IndefiniteArcaneEnergyCostTranslation>;
682
- };
683
- export type IndefiniteArcaneEnergyCostModifier = {
684
- /**
685
- * The arithmetic how to apply the `value` to the `base`.
686
- */
687
- arithmetic: IndefiniteArcaneEnergyCostModifierArithmetic;
688
- /**
689
- * The value that is applied to the `base` using the defined `arithmetic`.
690
- * @integer
691
- * @minimum 1
692
- */
693
- value: number;
694
- };
695
- export declare enum IndefiniteArcaneEnergyCostModifierArithmetic {
696
- Add = "Add"
697
- }
698
- export type IndefiniteArcaneEnergyCostTranslation = {
699
- /**
700
- * A description of where the cost come from.
701
- */
702
- description: ResponsiveText;
703
- };
704
- export type ArcaneEnergyCostDisjunction = {
705
- /**
706
- * Specified if the selected AE cost option has to be paid for each time
707
- * interval.
708
- */
709
- interval?: ArcaneEnergyCostDisjunctionInterval;
710
- /**
711
- * The possible AE cost values.
712
- */
713
- options: ArcaneEnergyCostDisjunctionOption[];
714
- };
715
- export type ArcaneEnergyCostDisjunctionInterval = {
716
- /**
717
- * The interval itself.
718
- */
719
- value: DurationUnitValue;
720
- /**
721
- * The AE cost value for activation.
722
- * @integer
723
- * @minimum 1
724
- */
725
- activation_value: number;
726
- /**
727
- * Set to `true` if the action where the enchantment is casted does
728
- * **not** as a part of the first interval that has to be payed, so that
729
- * the first interval payment needs to be done after the activation.
730
- *
731
- * This works different than other sustained spells, since for them the
732
- * end of the cast usually already counts as part of the first interval.
733
- */
734
- after_activation: boolean;
735
- };
736
- export type ArcaneEnergyCostDisjunctionOption = {
737
- /**
738
- * A possible AE cost value.
739
- * @integer
740
- * @minimum 1
741
- */
742
- value: number;
743
- /**
744
- * All translations for the entry, identified by IETF language tag (BCP47).
745
- */
746
- translations?: LocaleMap<ArcaneEnergyCostDisjunctionOptionTranslation>;
747
- };
748
- /**
749
- * @minProperties 1
750
- */
751
- export type ArcaneEnergyCostDisjunctionOptionTranslation = {
752
- /**
753
- * A note, appended to the generated option string in parenthesis.
754
- */
755
- note?: ResponsiveTextOptional;
756
- };
757
- export type NoArcaneEnergyCost = {
758
- /**
759
- * All translations for the entry, identified by IETF language tag
760
- * (BCP47).
761
- */
762
- translations?: LocaleMap<NoArcaneEnergyCostTranslation>;
763
- };
764
- /**
765
- * @minProperties 1
766
- */
767
- export type NoArcaneEnergyCostTranslation = {
768
- /**
769
- * A note, appended to the generated string in parenthesis.
770
- */
771
- note?: ResponsiveTextOptional;
772
- };
773
- /**
774
- * The volume points the enchantment needs.
775
- */
776
- export type Volume = {
777
- tag: "Fixed";
778
- fixed: FixedVolume;
779
- } | {
780
- tag: "PerLevel";
781
- per_level: VolumePerLevel;
782
- } | {
783
- tag: "ByLevel";
784
- by_level: VolumeByLevel;
785
- } | {
786
- tag: "Map";
787
- map: VolumeMap;
788
- } | {
789
- tag: "DerivedFromSelection";
790
- derived_from_selection: VolumeDerivedFromSelection;
791
- };
792
- export type FixedVolume = {
793
- /**
794
- * The volume points.
795
- * @integer
796
- * @minimum 0
797
- */
798
- points: number;
799
- };
800
- export type VolumePerLevel = {
801
- /**
802
- * The volume points per level.
803
- * @integer
804
- * @minimum 1
805
- */
806
- points: number;
807
- };
808
- export type VolumeByLevel = {
809
- /**
810
- * The volume points for each level. The first element is the volume points
811
- * for the first level, the second element is the volume points for the
812
- * second level, and so on.
813
- * @minItems 2
814
- */
815
- list: VolumeByLevelItem[];
816
- };
817
- export type VolumeByLevelItem = {
818
- /**
819
- * The volume points for this level.
820
- * @integer
821
- * @minimum 0
822
- */
823
- points: number;
824
- };
825
- /**
826
- * A content that is `3/4/5 Points for Chimera, Daimonid, Golems, Undead /
827
- * Fairies, Ghosts / Demons, Elementals` may be respresented as the following
828
- * map:
829
- *
830
- * ```yaml
831
- * options:
832
- * - points: 3
833
- * associated_options:
834
- * - id:
835
- * tag: General
836
- * value: # ...
837
- * # ...
838
- * translations:
839
- * en-US:
840
- * label: "Chimera, Daimonid, Golems, Undead"
841
- * label_standalone: "Chimera/Daimonid/Golems/Undead"
842
- * - points: 4
843
- * associated_options:
844
- * - id:
845
- * tag: General
846
- * value: # ...
847
- * # ...
848
- * translations:
849
- * en-US:
850
- * label: "Fairies, Ghosts"
851
- * label_standalone: "Fairies/Ghosts"
852
- * - points: 5
853
- * associated_options:
854
- * - id:
855
- * tag: General
856
- * value: # ...
857
- * # ...
858
- * translations:
859
- * en-US:
860
- * label: "Demons, Elementals"
861
- * label_standalone: "Demons/Elementals"
862
- * ```
863
- *
864
- * This will generate the exact same string as seen above. The associated
865
- * options are not present in the example, but they link to the options the
866
- * volume specification is meant for.
867
- */
868
- export type VolumeMap = {
869
- /**
870
- * The possible costs and associated labels.
871
- * @minItems 2
872
- */
873
- options: VolumeMapOption[];
874
- /**
875
- * All translations for the entry, identified by IETF language tag (BCP47).
876
- */
877
- translations?: LocaleMap<VolumeMapTranslation>;
878
- };
879
- /**
880
- * @minProperties 1
881
- */
882
- export type VolumeMapTranslation = {
883
- /**
884
- * Place a string between the `for` and the grouped map option labels.
885
- */
886
- list_prepend?: string;
887
- /**
888
- * Place a string after the grouped map option labels.
889
- */
890
- list_append?: string;
891
- /**
892
- * If the string from the book cannot be generated using the default
893
- * generation technique, use this string. All options still need to be
894
- * inserted propertly, since it may be used by in-game tools to provide a
895
- * selection to players.
896
- */
897
- replacement?: string;
898
- };
899
- export type VolumeMapOption = {
900
- /**
901
- * The full permanent AE cost value for this option.
902
- * @integer
903
- * @minimum 1
904
- */
905
- points: number;
906
- /**
907
- * Links to the options this volume specification is meant for.
908
- */
909
- associated_options: VolumeMapOptionAssociatedOption[];
910
- /**
911
- * All translations for the entry, identified by IETF language tag (BCP47).
912
- */
913
- translations?: LocaleMap<VolumeMapOptionTranslation>;
914
- };
915
- export type VolumeMapOptionAssociatedOption = {
916
- /**
917
- * The option's identifier.
918
- */
919
- id: VolumePointsOptionReferenceIdentifier;
920
- };
921
- export type VolumeMapOptionTranslation = {
922
- /**
923
- * The description of the option for cost string generation.
924
- */
925
- label: NonEmptyString;
926
- /**
927
- * The description of the option if used standalone. Only used if
928
- * different from `label`.
929
- */
930
- label_standalone?: NonEmptyString;
931
- };
932
- export type VolumeDerivedFromSelection = {
933
- /**
934
- * The volume for the selection if it does not define a specific one.
935
- * @integer
936
- * @minimum 0
937
- */
938
- fallback: number;
939
- };
940
- /**
941
- * The binding cost for an enchantment.
942
- */
943
- export type BindingCost = {
944
- tag: "Fixed";
945
- fixed: FixedBindingCost;
946
- } | {
947
- tag: "PerLevel";
948
- per_level: BindingCostPerLevel;
949
- } | {
950
- tag: "Map";
951
- map: BindingCostMap;
952
- } | {
953
- tag: "DerivedFromSelection";
954
- derived_from_selection: BindingCostDerivedFromSelection;
955
- };
956
- export type FixedBindingCost = {
957
- /**
958
- * The permanent AE cost.
959
- *
960
- * If the enchantment has multiple levels, it is only applied for the first
961
- * level.
962
- * @integer
963
- * @minimum 1
964
- */
965
- permanent_value: number;
966
- };
967
- export type BindingCostPerLevel = {
968
- /**
969
- * The permanent AE cost per level.
970
- * @integer
971
- * @minimum 1
972
- */
973
- permanent_value: number;
974
- };
975
- /**
976
- * A content that is `2/4/8 permanent AE for spell-swords with the combat
977
- * technique Daggers, Swords, or Two-Handed Swords` may be respresented as the
978
- * following map:
979
- *
980
- * ```yaml
981
- * options:
982
- * - permanent_value: 2
983
- * translations:
984
- * en-US:
985
- * label: "Daggers"
986
- * label_standalone: "Dagger"
987
- * - permanent_value: 4
988
- * translations:
989
- * en-US:
990
- * label: "Swords"
991
- * label_standalone: "Sword"
992
- * - permanent_value: 8
993
- * translations:
994
- * en-US:
995
- * label: "Two-Handed Swords"
996
- * label_standalone: "Two-Handed Sword"
997
- * list_prepend: "spell-swords with the combat technique"
998
- * ```
999
- *
1000
- * This will generate the exact same string as seen above.
1001
- */
1002
- export type BindingCostMap = {
1003
- /**
1004
- * The possible costs and associated labels.
1005
- * @minItems 2
1006
- */
1007
- options: VolumeMapOption[];
1008
- /**
1009
- * All translations for the entry, identified by IETF language tag (BCP47).
1010
- */
1011
- translations?: LocaleMap<BindingCostMapTranslation>;
1012
- };
1013
- /**
1014
- * @minProperties 1
1015
- */
1016
- export type BindingCostMapTranslation = {
1017
- /**
1018
- * Place a string between the `for` and the grouped map option labels.
1019
- */
1020
- list_prepend?: NonEmptyString;
1021
- /**
1022
- * Place a string after the grouped map option labels.
1023
- */
1024
- list_append?: NonEmptyString;
1025
- /**
1026
- * If the string from the book cannot be generated using the default
1027
- * generation technique, use this string. All options still need to be
1028
- * inserted propertly, since it may be used by in-game tools to provide a
1029
- * selection to players.
1030
- */
1031
- replacement?: NonEmptyString;
1032
- };
1033
- export type BindingCostMapOption = {
1034
- /**
1035
- * The full permanent AE cost value for this option.
1036
- * @integer
1037
- * @minimum 1
1038
- */
1039
- permanent_value: number;
1040
- /**
1041
- * All translations for the entry, identified by IETF language tag (BCP47).
1042
- */
1043
- translations?: LocaleMap<BindingCostMapOptionTranslation>;
1044
- };
1045
- export type BindingCostMapOptionTranslation = {
1046
- /**
1047
- * The description of the option for cost string generation.
1048
- */
1049
- label: NonEmptyString;
1050
- /**
1051
- * The description of the option if used standalone. Only used if
1052
- * different from `label`.
1053
- */
1054
- label_standalone?: NonEmptyString;
1055
- };
1056
- export type BindingCostDerivedFromSelection = {
1057
- /**
1058
- * The binding cost for the selection if it does not define a specific one.
1059
- * @integer
1060
- * @minimum 0
1061
- */
1062
- fallback: number;
1063
- };
1064
- /**
1065
- * The magic property's identifier. `DependingOnProperty` can only be used if
1066
- * the special ability has an option to select a property.
1067
- */
1068
- export type Property = {
1069
- tag: "DependingOnSelection";
1070
- depending_on_selection: {};
1071
- } | {
1072
- tag: "Fixed";
1073
- fixed: PropertyReference;
1074
- };
1075
- /**
1076
- * The blessed aspect.
1077
- */
1078
- export type Aspect = AspectReference;
1079
- /**
1080
- * A reference to an advanced special ability.
1081
- */
1082
- export type AdvancedSpecialAbility<Identifier> = {
1083
- tag: "General";
1084
- general: AdvancedSpecialAbilityReference<Identifier>;
1085
- } | {
1086
- tag: "RestrictOptions";
1087
- restrict_options: RestrictAdvancedSpecialAbilityOptions<Identifier>;
1088
- } | {
1089
- tag: "OneOf";
1090
- one_of: OneOfAdvancedSpecialAbilityOptions<Identifier>;
1091
- } | {
1092
- tag: "DeriveFromExternalOption";
1093
- derive_from_external_option: AdvancedSpecialAbilityDerivedFromExternalOption<Identifier>;
1094
- };
1095
- export type RestrictAdvancedSpecialAbilityOptions<Identifier> = {
1096
- /**
1097
- * The advanced special ability’s identifier.
1098
- */
1099
- id: Identifier;
1100
- /**
1101
- * Specify the select option(s) that only are allowed for the referenced
1102
- * advanced special ability; others are disallowed.
1103
- * @minItems 1
1104
- */
1105
- option: AdvancedSpecialAbilityRestrictedOptionIdentifier[];
1106
- };
1107
- export type OneOfAdvancedSpecialAbilityOptions<Identifier> = {
1108
- /**
1109
- * The possible advanced special abilities.
1110
- * @minItems 2
1111
- */
1112
- options: AdvancedSpecialAbilityReference<Identifier>[];
1113
- /**
1114
- * Do have to choose the advanced special ability when buying the style
1115
- * special ability? Otherwise the decision can be made later.
1116
- */
1117
- is_selection_required_on_purchase: boolean;
1118
- display_option?: DisplayOption;
1119
- };
1120
- export type AdvancedSpecialAbilityDerivedFromExternalOption<Identifier> = {
1121
- /**
1122
- * The possible advanced special abilities.
1123
- */
1124
- external_entry: MagicalTraditionIdentifier;
1125
- /**
1126
- * Map options from the external entry to allowed advanced special abilities.
1127
- * @minItems 1
1128
- */
1129
- map: AdvancedSpecialAbilityDerivedFromExternalOptionMapping<Identifier>[];
1130
- display_option?: DisplayOption;
1131
- };
1132
- /**
1133
- * Mapping from an option of the external entry to an allowed advanced special
1134
- * ability.
1135
- * @minItems 1
1136
- */
1137
- export type AdvancedSpecialAbilityDerivedFromExternalOptionMapping<Identifier> = {
1138
- /**
1139
- * The select option's identifier.
1140
- */
1141
- from_option: PatronIdentifier;
1142
- /**
1143
- * The advanced special ability's identifier.
1144
- */
1145
- to_advanced: AdvancedSpecialAbilityReference<Identifier>;
1146
- };
1147
- export type AdvancedSpecialAbilityDerivedExternalEntryId = MagicalTraditionIdentifier;
1148
- export type AdvancedSpecialAbilityDerivedExternalEntryOptionId = PatronIdentifier;
1149
- /**
1150
- * The Advanced Special Abilities for the respective Style Special Ability.
1151
- * Sometimes, only a specific select option or a set of select options of an
1152
- * entry is allowed, which can be modelled by the option property. It can also
1153
- * be that you can choose from a set of special abilities, but then you can't
1154
- * specify an option.
1155
- */
1156
- export type AdvancedSpecialAbilities<Identifier> = [
1157
- AdvancedSpecialAbility<Identifier>,
1158
- AdvancedSpecialAbility<Identifier>,
1159
- AdvancedSpecialAbility<Identifier>
1160
- ];
1161
- /**
1162
- * The prerequisites text. It is only used if the text cannot be generated from
1163
- * the given information.
1164
- */
1165
- export type PrerequisitesReplacement = NonEmptyMarkdown;
1166
- export type ApplicableCombatTechniques = {
1167
- tag: "None";
1168
- none: {};
1169
- } | {
1170
- tag: "DependingOnCombatStyle";
1171
- depending_on_combat_style: {};
1172
- } | {
1173
- tag: "All";
1174
- all: AllApplicableCombatTechniques;
1175
- } | {
1176
- tag: "AllClose";
1177
- all_close: AllApplicableCloseCombatTechniques;
1178
- } | {
1179
- tag: "AllRanged";
1180
- all_ranged: AllApplicableRangedCombatTechniques;
1181
- } | {
1182
- tag: "Specific";
1183
- specific: SpecificApplicableCombatTechniques;
1184
- };
1185
- export type AllApplicableCombatTechniques = {
1186
- /**
1187
- * @minItems 1
1188
- */
1189
- restrictions?: ApplicableAllCombatTechniquesRestriction[];
1190
- };
1191
- export type AllApplicableCloseCombatTechniques = {
1192
- /**
1193
- * @minItems 1
1194
- */
1195
- restrictions?: ApplicableCloseCombatTechniquesRestriction[];
1196
- };
1197
- export type AllApplicableRangedCombatTechniques = {
1198
- /**
1199
- * @minItems 1
1200
- */
1201
- restrictions?: ApplicableRangedCombatTechniquesRestriction[];
1202
- };
1203
- export type SpecificApplicableCombatTechniques = {
1204
- /**
1205
- * @minItems 1
1206
- */
1207
- list: SpecificApplicableCombatTechnique[];
1208
- };
1209
- export type SpecificApplicableCombatTechnique = {
1210
- id: CombatTechniqueIdentifier;
1211
- /**
1212
- * @minItems 1
1213
- */
1214
- restrictions?: ApplicableSpecificCombatTechniquesRestriction[];
1215
- };
1216
- export type ApplicableAllCombatTechniquesRestriction = {
1217
- tag: "Improvised";
1218
- improvised: {};
1219
- } | {
1220
- tag: "PointedBlade";
1221
- pointed_blade: {};
1222
- } | {
1223
- tag: "Mount";
1224
- mount: {};
1225
- } | {
1226
- tag: "Race";
1227
- race: ApplicableCombatTechniquesRaceRestriction;
1228
- } | {
1229
- tag: "ExcludeCombatTechniques";
1230
- exclude_combat_techniques: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<CombatTechniqueReference>;
1231
- };
1232
- export type ApplicableCloseCombatTechniquesRestriction = {
1233
- tag: "Improvised";
1234
- improvised: {};
1235
- } | {
1236
- tag: "PointedBlade";
1237
- pointed_blade: {};
1238
- } | {
1239
- tag: "Mount";
1240
- mount: {};
1241
- } | {
1242
- tag: "HasParry";
1243
- has_parry: {};
1244
- } | {
1245
- tag: "OneHanded";
1246
- one_handed: {};
1247
- } | {
1248
- tag: "ParryingWeapon";
1249
- parrying_weapon: {};
1250
- } | {
1251
- tag: "Race";
1252
- race: ApplicableCombatTechniquesRaceRestriction;
1253
- } | {
1254
- tag: "ExcludeCombatTechniques";
1255
- exclude_combat_techniques: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<CloseCombatTechniqueReference>;
1256
- };
1257
- export type ApplicableRangedCombatTechniquesRestriction = {
1258
- tag: "Improvised";
1259
- improvised: {};
1260
- } | {
1261
- tag: "PointedBlade";
1262
- pointed_blade: {};
1263
- } | {
1264
- tag: "Mount";
1265
- mount: {};
1266
- } | {
1267
- tag: "Race";
1268
- race: ApplicableCombatTechniquesRaceRestriction;
1269
- } | {
1270
- tag: "ExcludeCombatTechniques";
1271
- exclude_combat_techniques: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<RangedCombatTechniqueReference>;
1272
- };
1273
- export type ApplicableSpecificCombatTechniquesRestriction = {
1274
- tag: "Improvised";
1275
- improvised: {};
1276
- } | {
1277
- tag: "PointedBlade";
1278
- pointed_blade: {};
1279
- } | {
1280
- tag: "Mount";
1281
- mount: {};
1282
- } | {
1283
- tag: "Race";
1284
- race: ApplicableCombatTechniquesRaceRestriction;
1285
- } | {
1286
- tag: "Level";
1287
- level: ApplicableCombatTechniquesLevelRestriction;
1288
- } | {
1289
- tag: "Weapons";
1290
- weapons: ApplicableCombatTechniquesWeaponRestriction;
1291
- };
1292
- export type ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<Ref> = {
1293
- /**
1294
- * The combat techniques this combat special ability is **not** applicable to.
1295
- * @minItems 1
1296
- * @uniqueItems
1297
- */
1298
- list: Ref[];
1299
- };
1300
- export type ApplicableCombatTechniquesRaceRestriction = RaceReference;
1301
- export type ApplicableCombatTechniquesLevelRestriction = {
1302
- /**
1303
- * The combat special ability is only applicable on a certain level.
1304
- * @integer
1305
- * @minimum 1
1306
- */
1307
- level: number;
1308
- };
1309
- export type ApplicableCombatTechniquesWeaponRestriction = {
1310
- /**
1311
- * The specific weapons this combat special ability is only applicable to.
1312
- * @minItems 1
1313
- * @uniqueItems
1314
- */
1315
- list: WeaponReference[];
1316
- };
1317
- export type AdventurePointsValue = {
1318
- tag: "Fixed";
1319
- fixed: FixedAdventurePointsValue;
1320
- } | {
1321
- tag: "ByLevel";
1322
- by_level: AdventurePointsValueByLevel;
1323
- } | {
1324
- tag: "DerivedFromSelection";
1325
- derived_from_selection: AdventurePointsDerivedFromSelection;
1326
- } | {
1327
- tag: "Indefinite";
1328
- indefinite: {};
1329
- };
1330
- /**
1331
- * A fixed adventure points value. If the entry has levels, this is the cost per
1332
- * level as well.
1333
- */
1334
- export type FixedAdventurePointsValue = AdventurePointsSingleValue;
1335
- /**
1336
- * An entry with levels may have different costs for each level. The length of
1337
- * the list must match the amount of levels the special ability has.
1338
- * @minItems 2
1339
- */
1340
- export type AdventurePointsValueByLevel = AdventurePointsSingleValue[];
1341
- /**
1342
- * The adventure points value is derived from the selection of the special
1343
- * ability. Its display value may be able to be derived from the given
1344
- * information for the select options. If that is not the case or the generated
1345
- * text would not match the original one, a replacement text can be provided.
1346
- */
1347
- export type AdventurePointsDerivedFromSelection = {
1348
- /**
1349
- * All translations for the entry, identified by IETF language tag (BCP47).
1350
- */
1351
- translations?: LocaleMap<AdventurePointsDerivedFromSelectionTranslation>;
1352
- };
1353
- /**
1354
- * @minProperties 1
1355
- */
1356
- export type AdventurePointsDerivedFromSelectionTranslation = {
1357
- /**
1358
- * A replacement for the generated text if it would not match the original
1359
- * one.
1360
- */
1361
- replacement?: NonEmptyMarkdown;
1362
- };
1363
- /**
1364
- * A single adventure points value.
1365
- * @integer
1366
- * @minimum 0
1367
- */
1368
- export type AdventurePointsSingleValue = number;
1369
- /**
1370
- * A string that is used as a label for an input field.
1371
- */
1372
- export type Input = NonEmptyString;
1373
- /**
1374
- * The AP value. It is only used if the text cannot be generated from the given
1375
- * information.
1376
- */
1377
- export type AdventurePointsValueReplacement = NonEmptyMarkdown;
1378
- /**
1379
- * A string that gets appended to the default AP Value text with a preceding
1380
- * space. This always happens if present, even if the generated AP Value text is
1381
- * replaced.
1382
- */
1383
- export type AdventurePointsValueAppend = NonEmptyMarkdown;