optolith-database-schema 0.11.4 → 0.11.7

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 (475) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/lib/config/build.d.ts +6 -0
  3. package/lib/config/build.js +8 -0
  4. package/lib/config/types.d.ts +463 -0
  5. package/lib/config/types.js +308 -0
  6. package/lib/errors.d.ts +20 -0
  7. package/lib/errors.js +33 -0
  8. package/lib/helpers/array.d.ts +14 -0
  9. package/lib/helpers/array.js +15 -0
  10. package/lib/helpers/i18n.d.ts +1 -0
  11. package/lib/helpers/i18n.js +1 -0
  12. package/lib/helpers/io.d.ts +29 -0
  13. package/lib/helpers/io.js +51 -0
  14. package/lib/helpers/objectPath.d.ts +13 -0
  15. package/lib/helpers/objectPath.js +3 -0
  16. package/lib/helpers/pair.d.ts +20 -0
  17. package/lib/helpers/pair.js +20 -0
  18. package/lib/helpers/result.d.ts +57 -0
  19. package/lib/helpers/result.js +45 -0
  20. package/lib/helpers/typeSafety.d.ts +6 -0
  21. package/lib/helpers/typeSafety.js +8 -0
  22. package/lib/main.d.ts +55 -0
  23. package/lib/main.js +55 -0
  24. package/lib/typeConfig.d.ts +10 -0
  25. package/lib/typeConfig.js +1 -0
  26. package/lib/types/Advantage.d.ts +63 -0
  27. package/lib/types/Advantage.js +12 -0
  28. package/lib/types/AnimalDisease.d.ts +59 -0
  29. package/lib/types/AnimalDisease.js +12 -0
  30. package/lib/types/AnimalType.d.ts +28 -0
  31. package/lib/types/AnimalType.js +12 -0
  32. package/lib/types/ArcaneBardTradition.d.ts +10 -0
  33. package/lib/types/ArcaneBardTradition.js +12 -0
  34. package/lib/types/ArcaneDancerTradition.d.ts +10 -0
  35. package/lib/types/ArcaneDancerTradition.js +12 -0
  36. package/lib/types/Aspect.d.ts +33 -0
  37. package/lib/types/Aspect.js +12 -0
  38. package/lib/types/Attribute.d.ts +36 -0
  39. package/lib/types/Attribute.js +12 -0
  40. package/lib/types/Blessing.d.ts +113 -0
  41. package/lib/types/Blessing.js +12 -0
  42. package/lib/types/Cantrip.d.ts +183 -0
  43. package/lib/types/Cantrip.js +12 -0
  44. package/lib/types/Ceremony.d.ts +113 -0
  45. package/lib/types/Ceremony.js +12 -0
  46. package/lib/types/CombatTechnique_Close.d.ts +73 -0
  47. package/lib/types/CombatTechnique_Close.js +12 -0
  48. package/lib/types/CombatTechnique_Ranged.d.ts +66 -0
  49. package/lib/types/CombatTechnique_Ranged.js +12 -0
  50. package/lib/types/Condition.d.ts +40 -0
  51. package/lib/types/Condition.js +12 -0
  52. package/lib/types/Continent.d.ts +30 -0
  53. package/lib/types/Continent.js +12 -0
  54. package/lib/types/Culture.d.ts +382 -0
  55. package/lib/types/Culture.js +50 -0
  56. package/lib/types/DerivedCharacteristic.d.ts +61 -0
  57. package/lib/types/DerivedCharacteristic.js +12 -0
  58. package/lib/types/Disadvantage.d.ts +58 -0
  59. package/lib/types/Disadvantage.js +12 -0
  60. package/lib/types/Disease.d.ts +43 -0
  61. package/lib/types/Disease.js +12 -0
  62. package/lib/types/Element.d.ts +28 -0
  63. package/lib/types/Element.js +12 -0
  64. package/lib/types/ExperienceLevel.d.ts +64 -0
  65. package/lib/types/ExperienceLevel.js +12 -0
  66. package/lib/types/EyeColor.d.ts +28 -0
  67. package/lib/types/EyeColor.js +12 -0
  68. package/lib/types/FamiliarsTrick.d.ts +266 -0
  69. package/lib/types/FamiliarsTrick.js +12 -0
  70. package/lib/types/HairColor.d.ts +28 -0
  71. package/lib/types/HairColor.js +12 -0
  72. package/lib/types/Kirchenpraegung.d.ts +10 -0
  73. package/lib/types/Kirchenpraegung.js +12 -0
  74. package/lib/types/Lessons_Curriculum.d.ts +236 -0
  75. package/lib/types/Lessons_Curriculum.js +12 -0
  76. package/lib/types/Lessons_Guideline.d.ts +34 -0
  77. package/lib/types/Lessons_Guideline.js +12 -0
  78. package/lib/types/LiturgicalChant.d.ts +113 -0
  79. package/lib/types/LiturgicalChant.js +12 -0
  80. package/lib/types/Locale.d.ts +36 -0
  81. package/lib/types/Locale.js +12 -0
  82. package/lib/types/MetaCondition.d.ts +43 -0
  83. package/lib/types/MetaCondition.js +12 -0
  84. package/lib/types/PactCategory.d.ts +78 -0
  85. package/lib/types/PactCategory.js +12 -0
  86. package/lib/types/Patron.d.ts +207 -0
  87. package/lib/types/Patron.js +32 -0
  88. package/lib/types/PatronCategory.d.ts +36 -0
  89. package/lib/types/PatronCategory.js +12 -0
  90. package/lib/types/PersonalityTrait.d.ts +67 -0
  91. package/lib/types/PersonalityTrait.js +12 -0
  92. package/lib/types/Profession.d.ts +653 -0
  93. package/lib/types/Profession.js +18 -0
  94. package/lib/types/Property.d.ts +34 -0
  95. package/lib/types/Property.js +12 -0
  96. package/lib/types/Race.d.ts +405 -0
  97. package/lib/types/Race.js +23 -0
  98. package/lib/types/Region.d.ts +28 -0
  99. package/lib/types/Region.js +12 -0
  100. package/lib/types/Ritual.d.ts +111 -0
  101. package/lib/types/Ritual.js +12 -0
  102. package/lib/types/Service.d.ts +46 -0
  103. package/lib/types/Service.js +17 -0
  104. package/lib/types/SexPractice.d.ts +47 -0
  105. package/lib/types/SexPractice.js +12 -0
  106. package/lib/types/Skill.d.ts +142 -0
  107. package/lib/types/Skill.js +31 -0
  108. package/lib/types/SkillGroup.d.ts +37 -0
  109. package/lib/types/SkillGroup.js +12 -0
  110. package/lib/types/SkillModificationLevel.d.ts +107 -0
  111. package/lib/types/SkillModificationLevel.js +17 -0
  112. package/lib/types/SocialStatus.d.ts +28 -0
  113. package/lib/types/SocialStatus.js +12 -0
  114. package/lib/types/Spell.d.ts +111 -0
  115. package/lib/types/Spell.js +12 -0
  116. package/lib/types/State.d.ts +36 -0
  117. package/lib/types/State.js +12 -0
  118. package/lib/types/Talisman.d.ts +76 -0
  119. package/lib/types/Talisman.js +20 -0
  120. package/lib/types/TargetCategory.d.ts +42 -0
  121. package/lib/types/TargetCategory.js +12 -0
  122. package/lib/types/UI.d.ts +1062 -0
  123. package/lib/types/UI.js +12 -0
  124. package/lib/types/_Activatable.d.ts +1383 -0
  125. package/lib/types/_Activatable.js +44 -0
  126. package/lib/types/_ActivatableSelectOptionCategory.d.ts +389 -0
  127. package/lib/types/_ActivatableSelectOptionCategory.js +8 -0
  128. package/lib/types/_ActivatableSkill.d.ts +37 -0
  129. package/lib/types/_ActivatableSkill.js +4 -0
  130. package/lib/types/_ActivatableSkillCastingTime.d.ts +77 -0
  131. package/lib/types/_ActivatableSkillCastingTime.js +5 -0
  132. package/lib/types/_ActivatableSkillCheckResultBased.d.ts +39 -0
  133. package/lib/types/_ActivatableSkillCheckResultBased.js +16 -0
  134. package/lib/types/_ActivatableSkillCost.d.ts +255 -0
  135. package/lib/types/_ActivatableSkillCost.js +1 -0
  136. package/lib/types/_ActivatableSkillDuration.d.ts +138 -0
  137. package/lib/types/_ActivatableSkillDuration.js +13 -0
  138. package/lib/types/_ActivatableSkillEffect.d.ts +68 -0
  139. package/lib/types/_ActivatableSkillEffect.js +1 -0
  140. package/lib/types/_ActivatableSkillRange.d.ts +110 -0
  141. package/lib/types/_ActivatableSkillRange.js +5 -0
  142. package/lib/types/_ActivatableSkillTargetCategory.d.ts +39 -0
  143. package/lib/types/_ActivatableSkillTargetCategory.js +1 -0
  144. package/lib/types/_AlternativeNames.d.ts +11 -0
  145. package/lib/types/_AlternativeNames.js +1 -0
  146. package/lib/types/_ArcaneTradition.d.ts +28 -0
  147. package/lib/types/_ArcaneTradition.js +4 -0
  148. package/lib/types/_Blessed.d.ts +22 -0
  149. package/lib/types/_Blessed.js +1 -0
  150. package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +10 -0
  151. package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +1 -0
  152. package/lib/types/_Dice.d.ts +23 -0
  153. package/lib/types/_Dice.js +9 -0
  154. package/lib/types/_DiseasePoison.d.ts +114 -0
  155. package/lib/types/_DiseasePoison.js +15 -0
  156. package/lib/types/_Enhancements.d.ts +62 -0
  157. package/lib/types/_Enhancements.js +4 -0
  158. package/lib/types/_I18n.d.ts +34 -0
  159. package/lib/types/_I18n.js +1 -0
  160. package/lib/types/_Identifier.d.ts +1193 -0
  161. package/lib/types/_Identifier.js +1 -0
  162. package/lib/types/_IdentifierGroup.d.ts +28 -0
  163. package/lib/types/_IdentifierGroup.js +1 -0
  164. package/lib/types/_ImprovementCost.d.ts +9 -0
  165. package/lib/types/_ImprovementCost.js +10 -0
  166. package/lib/types/_Influence.d.ts +49 -0
  167. package/lib/types/_Influence.js +4 -0
  168. package/lib/types/_LocaleMap.d.ts +10 -0
  169. package/lib/types/_LocaleMap.js +1 -0
  170. package/lib/types/_NonEmptyString.d.ts +9 -0
  171. package/lib/types/_NonEmptyString.js +1 -0
  172. package/lib/types/_Prerequisite.d.ts +109 -0
  173. package/lib/types/_Prerequisite.js +4 -0
  174. package/lib/types/_ResponsiveText.d.ts +54 -0
  175. package/lib/types/_ResponsiveText.js +1 -0
  176. package/lib/types/_Sex.d.ts +10 -0
  177. package/lib/types/_Sex.js +11 -0
  178. package/lib/types/_SimpleReferences.d.ts +134 -0
  179. package/lib/types/_SimpleReferences.js +1 -0
  180. package/lib/types/_SkillCheck.d.ts +22 -0
  181. package/lib/types/_SkillCheck.js +13 -0
  182. package/lib/types/_Spellwork.d.ts +18 -0
  183. package/lib/types/_Spellwork.js +1 -0
  184. package/lib/types/equipment/EquipmentPackage.d.ts +51 -0
  185. package/lib/types/equipment/EquipmentPackage.js +12 -0
  186. package/lib/types/equipment/item/Alchemicum.d.ts +7 -0
  187. package/lib/types/equipment/item/Alchemicum.js +12 -0
  188. package/lib/types/equipment/item/Ammunition.d.ts +32 -0
  189. package/lib/types/equipment/item/Ammunition.js +12 -0
  190. package/lib/types/equipment/item/Animal.d.ts +19 -0
  191. package/lib/types/equipment/item/Animal.js +12 -0
  192. package/lib/types/equipment/item/AnimalCare.d.ts +49 -0
  193. package/lib/types/equipment/item/AnimalCare.js +12 -0
  194. package/lib/types/equipment/item/Armor.d.ts +186 -0
  195. package/lib/types/equipment/item/Armor.js +12 -0
  196. package/lib/types/equipment/item/BandageOrRemedy.d.ts +37 -0
  197. package/lib/types/equipment/item/BandageOrRemedy.js +12 -0
  198. package/lib/types/equipment/item/Book.d.ts +61 -0
  199. package/lib/types/equipment/item/Book.js +12 -0
  200. package/lib/types/equipment/item/CeremonialItem.d.ts +42 -0
  201. package/lib/types/equipment/item/CeremonialItem.js +12 -0
  202. package/lib/types/equipment/item/Clothes.d.ts +7 -0
  203. package/lib/types/equipment/item/Clothes.js +12 -0
  204. package/lib/types/equipment/item/Container.d.ts +7 -0
  205. package/lib/types/equipment/item/Container.js +12 -0
  206. package/lib/types/equipment/item/Elixir.d.ts +76 -0
  207. package/lib/types/equipment/item/Elixir.js +12 -0
  208. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +29 -0
  209. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +12 -0
  210. package/lib/types/equipment/item/GemOrPreciousStone.d.ts +44 -0
  211. package/lib/types/equipment/item/GemOrPreciousStone.js +12 -0
  212. package/lib/types/equipment/item/IlluminationLightSource.d.ts +63 -0
  213. package/lib/types/equipment/item/IlluminationLightSource.js +16 -0
  214. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.d.ts +7 -0
  215. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.js +12 -0
  216. package/lib/types/equipment/item/Jewelry.d.ts +61 -0
  217. package/lib/types/equipment/item/Jewelry.js +12 -0
  218. package/lib/types/equipment/item/Liebesspielzeug.d.ts +7 -0
  219. package/lib/types/equipment/item/Liebesspielzeug.js +12 -0
  220. package/lib/types/equipment/item/LuxuryGood.d.ts +37 -0
  221. package/lib/types/equipment/item/LuxuryGood.js +12 -0
  222. package/lib/types/equipment/item/MagicalArtifact.d.ts +40 -0
  223. package/lib/types/equipment/item/MagicalArtifact.js +12 -0
  224. package/lib/types/equipment/item/MusicalInstrument.d.ts +23 -0
  225. package/lib/types/equipment/item/MusicalInstrument.js +12 -0
  226. package/lib/types/equipment/item/OrienteeringAid.d.ts +7 -0
  227. package/lib/types/equipment/item/OrienteeringAid.js +12 -0
  228. package/lib/types/equipment/item/Poison.d.ts +359 -0
  229. package/lib/types/equipment/item/Poison.js +30 -0
  230. package/lib/types/equipment/item/RopeOrChain.d.ts +7 -0
  231. package/lib/types/equipment/item/RopeOrChain.js +12 -0
  232. package/lib/types/equipment/item/Stationary.d.ts +7 -0
  233. package/lib/types/equipment/item/Stationary.js +12 -0
  234. package/lib/types/equipment/item/ThievesTool.d.ts +7 -0
  235. package/lib/types/equipment/item/ThievesTool.js +12 -0
  236. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +61 -0
  237. package/lib/types/equipment/item/ToolOfTheTrade.js +12 -0
  238. package/lib/types/equipment/item/TravelGearOrTool.d.ts +7 -0
  239. package/lib/types/equipment/item/TravelGearOrTool.js +12 -0
  240. package/lib/types/equipment/item/Vehicle.d.ts +19 -0
  241. package/lib/types/equipment/item/Vehicle.js +12 -0
  242. package/lib/types/equipment/item/Weapon.d.ts +166 -0
  243. package/lib/types/equipment/item/Weapon.js +12 -0
  244. package/lib/types/equipment/item/WeaponAccessory.d.ts +7 -0
  245. package/lib/types/equipment/item/WeaponAccessory.js +12 -0
  246. package/lib/types/equipment/item/_Herbary.d.ts +31 -0
  247. package/lib/types/equipment/item/_Herbary.js +22 -0
  248. package/lib/types/equipment/item/_Item.d.ts +160 -0
  249. package/lib/types/equipment/item/_Item.js +1 -0
  250. package/lib/types/equipment/item/_MeleeWeapon.d.ts +108 -0
  251. package/lib/types/equipment/item/_MeleeWeapon.js +4 -0
  252. package/lib/types/equipment/item/_RangedWeapon.d.ts +109 -0
  253. package/lib/types/equipment/item/_RangedWeapon.js +4 -0
  254. package/lib/types/equipment/item/_Weapon.d.ts +57 -0
  255. package/lib/types/equipment/item/_Weapon.js +1 -0
  256. package/lib/types/equipment/item/sub/ArmorType.d.ts +37 -0
  257. package/lib/types/equipment/item/sub/ArmorType.js +12 -0
  258. package/lib/types/equipment/item/sub/Reach.d.ts +28 -0
  259. package/lib/types/equipment/item/sub/Reach.js +12 -0
  260. package/lib/types/magicalActions/AnimistPower.d.ts +238 -0
  261. package/lib/types/magicalActions/AnimistPower.js +12 -0
  262. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +28 -0
  263. package/lib/types/magicalActions/AnimistPower_Tribe.js +12 -0
  264. package/lib/types/magicalActions/Curse.d.ts +162 -0
  265. package/lib/types/magicalActions/Curse.js +12 -0
  266. package/lib/types/magicalActions/DominationRitual.d.ts +145 -0
  267. package/lib/types/magicalActions/DominationRitual.js +12 -0
  268. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +135 -0
  269. package/lib/types/magicalActions/ElvenMagicalSong.js +12 -0
  270. package/lib/types/magicalActions/GeodeRitual.d.ts +180 -0
  271. package/lib/types/magicalActions/GeodeRitual.js +12 -0
  272. package/lib/types/magicalActions/JesterTrick.d.ts +177 -0
  273. package/lib/types/magicalActions/JesterTrick.js +12 -0
  274. package/lib/types/magicalActions/MagicalDance.d.ts +119 -0
  275. package/lib/types/magicalActions/MagicalDance.js +12 -0
  276. package/lib/types/magicalActions/MagicalMelody.d.ts +124 -0
  277. package/lib/types/magicalActions/MagicalMelody.js +12 -0
  278. package/lib/types/magicalActions/MagicalRune.d.ts +294 -0
  279. package/lib/types/magicalActions/MagicalRune.js +12 -0
  280. package/lib/types/magicalActions/ZibiljaRitual.d.ts +102 -0
  281. package/lib/types/magicalActions/ZibiljaRitual.js +12 -0
  282. package/lib/types/magicalActions/_MusicTradition.d.ts +36 -0
  283. package/lib/types/magicalActions/_MusicTradition.js +10 -0
  284. package/lib/types/magicalActions/_SkillReference.d.ts +14 -0
  285. package/lib/types/magicalActions/_SkillReference.js +5 -0
  286. package/lib/types/prerequisites/ConditionalPrerequisites.d.ts +10 -0
  287. package/lib/types/prerequisites/ConditionalPrerequisites.js +1 -0
  288. package/lib/types/prerequisites/DisplayOption.d.ts +32 -0
  289. package/lib/types/prerequisites/DisplayOption.js +1 -0
  290. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +215 -0
  291. package/lib/types/prerequisites/PrerequisiteGroups.js +1 -0
  292. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +31 -0
  293. package/lib/types/prerequisites/single/ActivatablePrerequisite.js +1 -0
  294. package/lib/types/prerequisites/single/AncestorBloodPrerequisite.d.ts +5 -0
  295. package/lib/types/prerequisites/single/AncestorBloodPrerequisite.js +1 -0
  296. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +26 -0
  297. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.js +1 -0
  298. package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +13 -0
  299. package/lib/types/prerequisites/single/CulturePrerequisite.js +1 -0
  300. package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +39 -0
  301. package/lib/types/prerequisites/single/EnhancementPrerequisite.js +1 -0
  302. package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +16 -0
  303. package/lib/types/prerequisites/single/InfluencePrerequisite.js +1 -0
  304. package/lib/types/prerequisites/single/PactPrerequisite.d.ts +23 -0
  305. package/lib/types/prerequisites/single/PactPrerequisite.js +1 -0
  306. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +21 -0
  307. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +5 -0
  308. package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +12 -0
  309. package/lib/types/prerequisites/single/PublicationPrerequisite.js +1 -0
  310. package/lib/types/prerequisites/single/RacePrerequisite.d.ts +16 -0
  311. package/lib/types/prerequisites/single/RacePrerequisite.js +1 -0
  312. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.d.ts +67 -0
  313. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.js +6 -0
  314. package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +18 -0
  315. package/lib/types/prerequisites/single/RatedPrerequisite.js +1 -0
  316. package/lib/types/prerequisites/single/RatedSumPrerequisite.d.ts +19 -0
  317. package/lib/types/prerequisites/single/RatedSumPrerequisite.js +1 -0
  318. package/lib/types/prerequisites/single/RulePrerequisite.d.ts +9 -0
  319. package/lib/types/prerequisites/single/RulePrerequisite.js +1 -0
  320. package/lib/types/prerequisites/single/SexPrerequisite.d.ts +10 -0
  321. package/lib/types/prerequisites/single/SexPrerequisite.js +1 -0
  322. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.d.ts +11 -0
  323. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.js +5 -0
  324. package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +13 -0
  325. package/lib/types/prerequisites/single/SocialStatusPrerequisite.js +1 -0
  326. package/lib/types/prerequisites/single/StatePrerequisite.d.ts +10 -0
  327. package/lib/types/prerequisites/single/StatePrerequisite.js +1 -0
  328. package/lib/types/prerequisites/single/TextPrerequisite.d.ts +55 -0
  329. package/lib/types/prerequisites/single/TextPrerequisite.js +10 -0
  330. package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +39 -0
  331. package/lib/types/prerequisites/single/TraditionPrerequisite.js +18 -0
  332. package/lib/types/rule/CoreRule.d.ts +312 -0
  333. package/lib/types/rule/CoreRule.js +17 -0
  334. package/lib/types/rule/FocusRule.d.ts +53 -0
  335. package/lib/types/rule/FocusRule.js +12 -0
  336. package/lib/types/rule/FocusRule_Subject.d.ts +29 -0
  337. package/lib/types/rule/FocusRule_Subject.js +12 -0
  338. package/lib/types/rule/OptionalRule.d.ts +41 -0
  339. package/lib/types/rule/OptionalRule.js +12 -0
  340. package/lib/types/source/Publication.d.ts +75 -0
  341. package/lib/types/source/Publication.js +22 -0
  342. package/lib/types/source/_Erratum.d.ts +26 -0
  343. package/lib/types/source/_Erratum.js +4 -0
  344. package/lib/types/source/_PublicationRef.d.ts +151 -0
  345. package/lib/types/source/_PublicationRef.js +4 -0
  346. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +52 -0
  347. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +12 -0
  348. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +34 -0
  349. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +12 -0
  350. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +34 -0
  351. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +12 -0
  352. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +34 -0
  353. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +12 -0
  354. package/lib/types/specialAbility/AncestorGlyph.d.ts +38 -0
  355. package/lib/types/specialAbility/AncestorGlyph.js +12 -0
  356. package/lib/types/specialAbility/BlessedTradition.d.ts +147 -0
  357. package/lib/types/specialAbility/BlessedTradition.js +12 -0
  358. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +34 -0
  359. package/lib/types/specialAbility/BrawlingSpecialAbility.js +12 -0
  360. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +40 -0
  361. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +12 -0
  362. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +45 -0
  363. package/lib/types/specialAbility/CombatSpecialAbility.js +12 -0
  364. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +42 -0
  365. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +12 -0
  366. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +38 -0
  367. package/lib/types/specialAbility/CommandSpecialAbility.js +12 -0
  368. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +32 -0
  369. package/lib/types/specialAbility/FamiliarSpecialAbility.js +12 -0
  370. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +32 -0
  371. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +12 -0
  372. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +39 -0
  373. package/lib/types/specialAbility/FatePointSpecialAbility.js +12 -0
  374. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +44 -0
  375. package/lib/types/specialAbility/GeneralSpecialAbility.js +12 -0
  376. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +37 -0
  377. package/lib/types/specialAbility/KarmaSpecialAbility.js +12 -0
  378. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +36 -0
  379. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +12 -0
  380. package/lib/types/specialAbility/LycantropicGift.d.ts +32 -0
  381. package/lib/types/specialAbility/LycantropicGift.js +12 -0
  382. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +36 -0
  383. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +12 -0
  384. package/lib/types/specialAbility/MagicalSign.d.ts +39 -0
  385. package/lib/types/specialAbility/MagicalSign.js +12 -0
  386. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +43 -0
  387. package/lib/types/specialAbility/MagicalSpecialAbility.js +12 -0
  388. package/lib/types/specialAbility/MagicalTradition.d.ts +114 -0
  389. package/lib/types/specialAbility/MagicalTradition.js +12 -0
  390. package/lib/types/specialAbility/PactGift.d.ts +103 -0
  391. package/lib/types/specialAbility/PactGift.js +22 -0
  392. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +46 -0
  393. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +12 -0
  394. package/lib/types/specialAbility/Sermon.d.ts +32 -0
  395. package/lib/types/specialAbility/Sermon.js +12 -0
  396. package/lib/types/specialAbility/SexSpecialAbility.d.ts +34 -0
  397. package/lib/types/specialAbility/SexSpecialAbility.js +12 -0
  398. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +37 -0
  399. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +12 -0
  400. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +34 -0
  401. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +12 -0
  402. package/lib/types/specialAbility/VampiricGift.d.ts +37 -0
  403. package/lib/types/specialAbility/VampiricGift.js +12 -0
  404. package/lib/types/specialAbility/Vision.d.ts +32 -0
  405. package/lib/types/specialAbility/Vision.js +12 -0
  406. package/lib/types/specialAbility/_Tradition.d.ts +12 -0
  407. package/lib/types/specialAbility/_Tradition.js +1 -0
  408. package/lib/types/specialAbility/sub/Language.d.ts +117 -0
  409. package/lib/types/specialAbility/sub/Language.js +12 -0
  410. package/lib/types/specialAbility/sub/Script.d.ts +60 -0
  411. package/lib/types/specialAbility/sub/Script.js +12 -0
  412. package/lib/types/specialAbility/sub/TradeSecret.d.ts +48 -0
  413. package/lib/types/specialAbility/sub/TradeSecret.js +12 -0
  414. package/lib/types/specialAbility/sub/_LanguageScript.d.ts +11 -0
  415. package/lib/types/specialAbility/sub/_LanguageScript.js +1 -0
  416. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +47 -0
  417. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +12 -0
  418. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +47 -0
  419. package/lib/types/traditionArtifacts/AttireEnchantment.js +12 -0
  420. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +47 -0
  421. package/lib/types/traditionArtifacts/BowlEnchantment.js +12 -0
  422. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +61 -0
  423. package/lib/types/traditionArtifacts/CauldronEnchantment.js +12 -0
  424. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +47 -0
  425. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +12 -0
  426. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +71 -0
  427. package/lib/types/traditionArtifacts/DaggerRitual.js +12 -0
  428. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +47 -0
  429. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +12 -0
  430. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +47 -0
  431. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +12 -0
  432. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +47 -0
  433. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +12 -0
  434. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +47 -0
  435. package/lib/types/traditionArtifacts/OrbEnchantment.js +12 -0
  436. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +47 -0
  437. package/lib/types/traditionArtifacts/RingEnchantment.js +12 -0
  438. package/lib/types/traditionArtifacts/SickleRitual.d.ts +47 -0
  439. package/lib/types/traditionArtifacts/SickleRitual.js +12 -0
  440. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +52 -0
  441. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +12 -0
  442. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +57 -0
  443. package/lib/types/traditionArtifacts/StaffEnchantment.js +12 -0
  444. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +47 -0
  445. package/lib/types/traditionArtifacts/ToyEnchantment.js +12 -0
  446. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +47 -0
  447. package/lib/types/traditionArtifacts/Trinkhornzauber.js +12 -0
  448. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +42 -0
  449. package/lib/types/traditionArtifacts/WandEnchantment.js +12 -0
  450. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +47 -0
  451. package/lib/types/traditionArtifacts/WeaponEnchantment.js +12 -0
  452. package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +52 -0
  453. package/lib/types/traditionArtifacts/sub/AnimalShape.js +12 -0
  454. package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +28 -0
  455. package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +12 -0
  456. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +40 -0
  457. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +12 -0
  458. package/lib/types/traditionArtifacts/sub/Brew.d.ts +28 -0
  459. package/lib/types/traditionArtifacts/sub/Brew.js +12 -0
  460. package/lib/validation/builders/integrity.d.ts +57 -0
  461. package/lib/validation/builders/integrity.js +44 -0
  462. package/lib/validation/builders/naming.d.ts +13 -0
  463. package/lib/validation/builders/naming.js +14 -0
  464. package/lib/validation/builders/schema.d.ts +31 -0
  465. package/lib/validation/builders/schema.js +32 -0
  466. package/lib/validation/filename.d.ts +9 -0
  467. package/lib/validation/filename.js +10 -0
  468. package/lib/validation/raw.d.ts +9 -0
  469. package/lib/validation/raw.js +55 -0
  470. package/lib/validation/schema.d.ts +6 -0
  471. package/lib/validation/schema.js +32 -0
  472. package/package.json +4 -4
  473. package/build/config.js +0 -21
  474. package/lib/build/config.d.ts +0 -8
  475. package/lib/build/config.js +0 -16
@@ -0,0 +1,166 @@
1
+ /**
2
+ * @main Weapon
3
+ */
4
+ import { TypeConfig } from "../../../typeConfig.js";
5
+ import { LocaleMap } from "../../_LocaleMap.js";
6
+ import { NonEmptyMarkdown, NonEmptyString } from "../../_NonEmptyString.js";
7
+ import { BlessedTraditionReference, CultureReference, MagicalTraditionReference, RaceReference } from "../../_SimpleReferences.js";
8
+ import { Errata } from "../../source/_Erratum.js";
9
+ import { PublicationRefs } from "../../source/_PublicationRef.js";
10
+ import { Complexity, Cost, StructurePoints, Weight } from "./_Item.js";
11
+ import { MeleeWeapon } from "./_MeleeWeapon.js";
12
+ import { RangedWeapon } from "./_RangedWeapon.js";
13
+ export type Weapon = {
14
+ /**
15
+ * The cost in silverthalers.
16
+ */
17
+ cost: Cost;
18
+ /**
19
+ * The weight in kg.
20
+ */
21
+ weight: Weight;
22
+ /**
23
+ * The complexity of crafting the item.
24
+ */
25
+ complexity: Complexity;
26
+ /**
27
+ * The structure points of the item. Use an array if the item consists of
28
+ * multiple components that have individual structure points.
29
+ */
30
+ structure_points?: StructurePoints;
31
+ /**
32
+ * A list of stat blocks for each combat technique this weapon can be used
33
+ * with.
34
+ * @minItems 1
35
+ */
36
+ uses: WeaponUse[];
37
+ /**
38
+ * If the weapon is sanctified by a god and thus restricted to it's Blessed
39
+ * Ones.
40
+ */
41
+ sanctified_by?: SanctifiedBy;
42
+ /**
43
+ * Define if during character creation this weapon can only be bought by
44
+ * characters of a specific race or culture.
45
+ */
46
+ restricted_to_cultures?: RestrictedToCultures;
47
+ /**
48
+ * Define if during character creation this weapon can only be bought by
49
+ * characters of specific magical or blessed traditions.
50
+ * @minItems 1
51
+ */
52
+ restricted_to_traditions?: MagicalTraditionReference[];
53
+ src: PublicationRefs;
54
+ /**
55
+ * All translations for the entry, identified by IETF language tag (BCP47).
56
+ */
57
+ translations: LocaleMap<WeaponTranslation>;
58
+ };
59
+ export type WeaponTranslation = {
60
+ /**
61
+ * The name of the item.
62
+ */
63
+ name: NonEmptyString;
64
+ /**
65
+ * An auxiliary name or label of the item, if available.
66
+ */
67
+ secondary_name?: NonEmptyString;
68
+ /**
69
+ * Note text.
70
+ */
71
+ note?: NonEmptyMarkdown;
72
+ /**
73
+ * Special rules text.
74
+ */
75
+ rules?: NonEmptyMarkdown;
76
+ /**
77
+ * The weapon advantage text.
78
+ */
79
+ advantage?: NonEmptyMarkdown;
80
+ /**
81
+ * The weapon disadvantage text.
82
+ */
83
+ disadvantage?: NonEmptyMarkdown;
84
+ errata?: Errata;
85
+ };
86
+ export type SecondaryWeapon = {
87
+ /**
88
+ * A list of stat blocks for each combat technique this weapon can be used
89
+ * with.
90
+ * @minItems 1
91
+ */
92
+ uses: WeaponUse[];
93
+ /**
94
+ * If the weapon is sanctified by a god and thus restricted to it's Blessed
95
+ * Ones.
96
+ */
97
+ sanctified_by?: SanctifiedBy;
98
+ /**
99
+ * Define if during character creation this weapon can only be bought by
100
+ * characters of a specific race or culture.
101
+ */
102
+ restricted_to_cultures?: RestrictedToCultures;
103
+ /**
104
+ * Define if during character creation this weapon can only be bought by
105
+ * characters of specific magical or blessed traditions.
106
+ * @minItems 1
107
+ */
108
+ restricted_to_traditions?: MagicalTraditionReference[];
109
+ /**
110
+ * All translations for the entry, identified by IETF language tag (BCP47).
111
+ */
112
+ translations?: LocaleMap<ImprovisedWeaponTranslation>;
113
+ };
114
+ /**
115
+ * @minProperties 1
116
+ */
117
+ export type ImprovisedWeaponTranslation = {
118
+ /**
119
+ * The weapon advantage text.
120
+ */
121
+ advantage?: NonEmptyMarkdown;
122
+ /**
123
+ * The weapon disadvantage text.
124
+ */
125
+ disadvantage?: NonEmptyMarkdown;
126
+ };
127
+ export type WeaponUse = {
128
+ /**
129
+ * An increasing integer for use identification.
130
+ * @integer
131
+ * @minimum 1
132
+ */
133
+ id: number;
134
+ values: WeaponUseValues;
135
+ };
136
+ export type WeaponUseValues = {
137
+ tag: "Melee";
138
+ melee: MeleeWeapon;
139
+ } | {
140
+ tag: "Ranged";
141
+ ranged: RangedWeapon;
142
+ };
143
+ /**
144
+ * If the weapon is sanctified by a god and thus restricted to it's Blessed
145
+ * Ones.
146
+ * @minItems 1
147
+ */
148
+ export type SanctifiedBy = BlessedTraditionReference[];
149
+ /**
150
+ * Define if during character creation this weapon can only be bought by
151
+ * characters of a specific race or culture.
152
+ */
153
+ export type RestrictedToCultures = {
154
+ tag: "CulturesOfRace";
155
+ cultures_of_race: RaceReference;
156
+ } | {
157
+ tag: "Cultures";
158
+ cultures: RestrictedToSpecificCultures;
159
+ };
160
+ export type RestrictedToSpecificCultures = {
161
+ /**
162
+ * @minitems 1
163
+ */
164
+ list: CultureReference[];
165
+ };
166
+ export declare const config: TypeConfig<Weapon>;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @main Weapon
3
+ */
4
+ import { todo } from "../../../validation/builders/integrity.js";
5
+ import { createSchemaValidator } from "../../../validation/builders/schema.js";
6
+ import { getFIlenamePrefixAsNumericId } from "../../../validation/filename.js";
7
+ export const config = {
8
+ name: "Weapon",
9
+ id: getFIlenamePrefixAsNumericId,
10
+ integrityValidator: todo("Weapon"),
11
+ schemaValidator: createSchemaValidator(import.meta.url),
12
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @main WeaponAccessory
3
+ */
4
+ import { TypeConfig } from "../../../typeConfig.js";
5
+ import { DefaultItem } from "./_Item.js";
6
+ export type WeaponAccessory = DefaultItem;
7
+ export declare const config: TypeConfig<WeaponAccessory>;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @main WeaponAccessory
3
+ */
4
+ import { todo } from "../../../validation/builders/integrity.js";
5
+ import { createSchemaValidator } from "../../../validation/builders/schema.js";
6
+ import { getFIlenamePrefixAsNumericId } from "../../../validation/filename.js";
7
+ export const config = {
8
+ name: "WeaponAccessory",
9
+ id: getFIlenamePrefixAsNumericId,
10
+ integrityValidator: todo("WeaponAccessory"),
11
+ schemaValidator: createSchemaValidator(import.meta.url),
12
+ };
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Herbary-related types.
3
+ */
4
+ import { PlainGeneralPrerequisites } from "../../_Prerequisite.js";
5
+ /**
6
+ * Effect type categories of a plant or recipe.
7
+ */
8
+ export declare enum EffectType {
9
+ Healing = "Healing",
10
+ Poison = "Poison",
11
+ PhysicalEffect = "PhysicalEffect",
12
+ PsychicEffect = "PsychicEffect",
13
+ Beneficial = "Beneficial",
14
+ Defensive = "Defensive",
15
+ Supernatural = "Supernatural"
16
+ }
17
+ export declare enum LaboratoryLevel {
18
+ ArchaicLaboratory = "ArchaicLaboratory",
19
+ WitchKitchen = "WitchKitchen",
20
+ AlchemistsLaboratory = "AlchemistsLaboratory"
21
+ }
22
+ export type RecipeTradeSecret = {
23
+ /**
24
+ * The AP value of the trade secret.
25
+ */
26
+ ap_value: number;
27
+ /**
28
+ * The prerequisites of the trade secret, if any.
29
+ */
30
+ prerequisites?: PlainGeneralPrerequisites;
31
+ };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Herbary-related types.
3
+ */
4
+ /**
5
+ * Effect type categories of a plant or recipe.
6
+ */
7
+ export var EffectType;
8
+ (function (EffectType) {
9
+ EffectType["Healing"] = "Healing";
10
+ EffectType["Poison"] = "Poison";
11
+ EffectType["PhysicalEffect"] = "PhysicalEffect";
12
+ EffectType["PsychicEffect"] = "PsychicEffect";
13
+ EffectType["Beneficial"] = "Beneficial";
14
+ EffectType["Defensive"] = "Defensive";
15
+ EffectType["Supernatural"] = "Supernatural";
16
+ })(EffectType = EffectType || (EffectType = {}));
17
+ export var LaboratoryLevel;
18
+ (function (LaboratoryLevel) {
19
+ LaboratoryLevel["ArchaicLaboratory"] = "ArchaicLaboratory";
20
+ LaboratoryLevel["WitchKitchen"] = "WitchKitchen";
21
+ LaboratoryLevel["AlchemistsLaboratory"] = "AlchemistsLaboratory";
22
+ })(LaboratoryLevel = LaboratoryLevel || (LaboratoryLevel = {}));
@@ -0,0 +1,160 @@
1
+ import { Errata } from "../../source/_Erratum.js";
2
+ import { PublicationRefs } from "../../source/_PublicationRef.js";
3
+ import { LocaleMap } from "../../_LocaleMap.js";
4
+ import { NonEmptyMarkdown, NonEmptyString } from "../../_NonEmptyString.js";
5
+ import { SecondaryArmor } from "./Armor.js";
6
+ import { SecondaryWeapon } from "./Weapon.js";
7
+ export type DefaultItem = {
8
+ /**
9
+ * The cost in silverthalers.
10
+ */
11
+ cost: Cost;
12
+ /**
13
+ * The weight in kg.
14
+ */
15
+ weight: Weight;
16
+ /**
17
+ * The complexity of crafting the item.
18
+ */
19
+ complexity?: Complexity;
20
+ /**
21
+ * The structure points of the item. Use an array if the item consists of
22
+ * multiple components that have individual structure points.
23
+ */
24
+ structure_points: StructurePoints;
25
+ /**
26
+ * The item can also be used either as an improvised weapon or as an armor,
27
+ * although this is not the primary use case of the item.
28
+ */
29
+ combat_use?: CombatUse;
30
+ src: PublicationRefs;
31
+ /**
32
+ * All translations for the entry, identified by IETF language tag (BCP47).
33
+ */
34
+ translations: LocaleMap<DefaultItemTranslation>;
35
+ };
36
+ /**
37
+ * The item can also be used either as an improvised weapon or as an armor,
38
+ * although this is not the primary use case of the item.
39
+ */
40
+ export type CombatUse = {
41
+ tag: "Weapon";
42
+ weapon: SecondaryWeapon;
43
+ } | {
44
+ tag: "Armor";
45
+ armor: SecondaryArmor;
46
+ };
47
+ export type DefaultItemTranslation = {
48
+ /**
49
+ * The name of the item.
50
+ */
51
+ name: NonEmptyString;
52
+ /**
53
+ * An auxiliary name or label of the item, if available.
54
+ */
55
+ secondary_name?: NonEmptyString;
56
+ /**
57
+ * Note text.
58
+ */
59
+ note?: NonEmptyMarkdown;
60
+ /**
61
+ * Special rules text.
62
+ */
63
+ rules?: NonEmptyMarkdown;
64
+ errata?: Errata;
65
+ };
66
+ /**
67
+ * The structure points of the item. Use an array if the item consists of
68
+ * multiple components that have individual structure points.
69
+ * @title Structure Points
70
+ * @minItems 1
71
+ */
72
+ export type StructurePoints = StructurePointsComponent[];
73
+ export type StructurePointsComponent = {
74
+ /**
75
+ * The structure points.
76
+ * @integer
77
+ * @minimum 1
78
+ */
79
+ points: number;
80
+ };
81
+ /**
82
+ * The cost in silverthalers.
83
+ */
84
+ export type Cost = {
85
+ tag: "Free";
86
+ free: {};
87
+ } | {
88
+ tag: "Various";
89
+ various: {};
90
+ } | {
91
+ tag: "Invaluable";
92
+ invaluable: {};
93
+ } | {
94
+ tag: "Fixed";
95
+ fixed: FixedCost;
96
+ } | {
97
+ tag: "Range";
98
+ range: CostRange;
99
+ };
100
+ export type FixedCost = {
101
+ /**
102
+ * The cost in silverthalers.
103
+ * @exclusiveMinimum 0
104
+ */
105
+ value: number;
106
+ /**
107
+ * All translations for the entry, identified by IETF language tag (BCP47).
108
+ */
109
+ translations?: LocaleMap<CostTranslation>;
110
+ };
111
+ export type CostRange = {
112
+ /**
113
+ * The lower bound of the cost in silverthalers.
114
+ * @exclusiveMinimum 0
115
+ */
116
+ from: number;
117
+ /**
118
+ * The upper bound of the cost in silverthalers.
119
+ * @exclusiveMinimum 0
120
+ */
121
+ to: number;
122
+ /**
123
+ * All translations for the entry, identified by IETF language tag (BCP47).
124
+ */
125
+ translations?: LocaleMap<CostTranslation>;
126
+ };
127
+ export type CostTranslation = {
128
+ /**
129
+ * The cost get wrapped by this text using a placeholder in the text.
130
+ * @minLength 1
131
+ * @pattern \{0\}
132
+ */
133
+ wrap_in_text: string;
134
+ };
135
+ /**
136
+ * The weight in kg.
137
+ * @exclusiveMinimum 0
138
+ */
139
+ export type Weight = number;
140
+ /**
141
+ * The complexity of crafting the item.
142
+ */
143
+ export type Complexity = {
144
+ tag: "Primitive";
145
+ primitive: {};
146
+ } | {
147
+ tag: "Simple";
148
+ simple: {};
149
+ } | {
150
+ tag: "Complex";
151
+ complex: ComplexComplexity;
152
+ };
153
+ export type ComplexComplexity = {
154
+ /**
155
+ * The AP value for the trade secret.
156
+ * @integer
157
+ * @minimum 1
158
+ */
159
+ ap_value: number;
160
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Auxiliary types for melee weapons.
3
+ */
4
+ import { Dice } from "../../_Dice.js";
5
+ import { ReachIdentifier } from "../../_Identifier.js";
6
+ import { CloseCombatTechniqueReference } from "../../_SimpleReferences.js";
7
+ import { Length, PrimaryAttributeDamageThreshold } from "./_Weapon.js";
8
+ /**
9
+ * The AT modifier.
10
+ * @integer
11
+ */
12
+ export type AttackModifier = number;
13
+ /**
14
+ * The PA modifier.
15
+ * @integer
16
+ */
17
+ export type ParryModifier = number;
18
+ /**
19
+ * The reach of the weapon.
20
+ */
21
+ export type Reach = ReachIdentifier;
22
+ /**
23
+ * The damage of a weapon consists of a random part using dice and an optional
24
+ * flat part.
25
+ */
26
+ export type MeleeDamage = {
27
+ /**
28
+ * How many dice of which type are rolled to get the damage.
29
+ */
30
+ dice: Dice;
31
+ /**
32
+ * Flat damage, if any. It gets added to the result of the dice rolls.
33
+ * @integer
34
+ * @default 0
35
+ */
36
+ flat?: number;
37
+ };
38
+ /**
39
+ * The shield size and potential size-depending values.
40
+ */
41
+ export type ShieldSize = {
42
+ tag: "Small";
43
+ small: {};
44
+ } | {
45
+ tag: "Medium";
46
+ medium: {};
47
+ } | {
48
+ tag: "Large";
49
+ large?: LargeShieldSize;
50
+ };
51
+ export type LargeShieldSize = {
52
+ /**
53
+ * The attack penalty from the shield.
54
+ * @integer
55
+ * @default 1
56
+ */
57
+ attack_penalty: number;
58
+ };
59
+ /**
60
+ * @title Melee Weapon
61
+ */
62
+ export type MeleeWeapon = {
63
+ /**
64
+ * The combat techniques and dependent values.
65
+ */
66
+ combat_technique: CloseCombatTechniqueReference;
67
+ /**
68
+ * The damage of a weapon consists of a random part using dice and an optional
69
+ * flat part.
70
+ */
71
+ damage: MeleeDamage;
72
+ /**
73
+ * The primary attribute damage and threshold value.
74
+ */
75
+ damage_threshold?: PrimaryAttributeDamageThreshold;
76
+ /**
77
+ * The AT modifier.
78
+ */
79
+ at: AttackModifier;
80
+ /**
81
+ * The PA modifier.
82
+ */
83
+ pa?: ParryModifier;
84
+ /**
85
+ * The reach of the weapon.
86
+ */
87
+ reach?: Reach;
88
+ /**
89
+ * The length of the weapon in cm/halffingers.
90
+ */
91
+ length?: Length;
92
+ /**
93
+ * The shield size and potential size-depending values.
94
+ */
95
+ size?: ShieldSize;
96
+ /**
97
+ * Is the weapon a parrying weapon?
98
+ */
99
+ is_parrying_weapon: boolean;
100
+ /**
101
+ * Is the weapon a two-handed weapon?
102
+ */
103
+ is_two_handed_weapon: boolean;
104
+ /**
105
+ * Is the weapon an improvised weapon?
106
+ */
107
+ is_improvised_weapon: boolean;
108
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Auxiliary types for melee weapons.
3
+ */
4
+ export {};
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Auxiliary types for ranged weapons.
3
+ */
4
+ import { Dice } from "../../_Dice.js";
5
+ import { AmmunitionIdentifier } from "../../_Identifier.js";
6
+ import { RangedCombatTechniqueReference } from "../../_SimpleReferences.js";
7
+ import { Length } from "./_Weapon.js";
8
+ /**
9
+ * The damage of a ranged weapon. It consists of a random part using dice and an
10
+ * optional flat part ny default. Some ranged weapons may work different so that
11
+ * damage is either not applicable at all or it is outlined as *Special* and
12
+ * further defined in a description.
13
+ */
14
+ export type RangedDamage = {
15
+ tag: "Default";
16
+ default: DefaultRangedDamage;
17
+ } | {
18
+ tag: "NotApplicable";
19
+ not_applicable: {};
20
+ } | {
21
+ tag: "Special";
22
+ special: {};
23
+ };
24
+ /**
25
+ * The damage of a weapon consists of a random part using dice and an optional
26
+ * flat part.
27
+ */
28
+ export type DefaultRangedDamage = {
29
+ /**
30
+ * How many dice of which type are rolled to get the damage.
31
+ */
32
+ dice: Dice;
33
+ /**
34
+ * Flat damage, if any. It gets added to the result of the dice rolls.
35
+ * @integer
36
+ * @default 0
37
+ */
38
+ flat?: number;
39
+ };
40
+ /**
41
+ * @title Ranged Weapon
42
+ */
43
+ export type RangedWeapon = {
44
+ /**
45
+ * The combat techniques and dependent values.
46
+ */
47
+ combat_technique: RangedCombatTechniqueReference;
48
+ /**
49
+ * The damage of a weapon consists of a random part using dice and an optional
50
+ * flat part.
51
+ */
52
+ damage: RangedDamage;
53
+ /**
54
+ * One or multiple reload times.
55
+ * @minItems 1
56
+ * @uniqueItems
57
+ */
58
+ reload_time: ReloadTime[];
59
+ /**
60
+ * The range brackets for the weapon: close, medium, far. Distances in m.
61
+ */
62
+ range: Range;
63
+ /**
64
+ * The needed ammunition.
65
+ */
66
+ ammunition?: AmmunitionReference;
67
+ /**
68
+ * The length of the weapon in cm/halffingers.
69
+ */
70
+ length: Length;
71
+ /**
72
+ * Is the weapon an improvised weapon?
73
+ */
74
+ is_improvised_weapon: boolean;
75
+ };
76
+ export type AmmunitionReference = {
77
+ /**
78
+ * The item's identifier.
79
+ */
80
+ id: AmmunitionIdentifier;
81
+ };
82
+ export type Range = {
83
+ /**
84
+ * The close range bracket for the weapon. Distance in m.
85
+ * @integer
86
+ * @minimum 1
87
+ */
88
+ close: number;
89
+ /**
90
+ * The medium range bracket for the weapon. Distance in m.
91
+ * @integer
92
+ * @minimum 1
93
+ */
94
+ medium: number;
95
+ /**
96
+ * The far range bracket for the weapon. Distance in m.
97
+ * @integer
98
+ * @minimum 1
99
+ */
100
+ far: number;
101
+ };
102
+ export type ReloadTime = {
103
+ /**
104
+ * A reload time value in actions.
105
+ * @integer
106
+ * @minimum 1
107
+ */
108
+ value: number;
109
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Auxiliary types for ranged weapons.
3
+ */
4
+ export {};
@@ -0,0 +1,57 @@
1
+ import { AttributeReference } from "../../_SimpleReferences.js";
2
+ /**
3
+ * The primary attribute damage and threshold value. You can either use an
4
+ * integer, an object or a pair. Use an integer if you just have to define a
5
+ * single threshold value for the default primary attribute of the combat
6
+ * technique. Use an object if you need to define the value only or if you need
7
+ * to define the value as well as a single different primary attribute than
8
+ * which the combat technique uses. Use the pair if you need to set the primary
9
+ * attributes to AGI and STR (the combat technique has AGI but this item has
10
+ * AGI/STR) and/or if you need to set different thresholds for AGI and STR (e.g.
11
+ * AGI 14/STR 15). If the same values are in the pair, they will be merged (AGI
12
+ * 14/STR 14 will be AGI/STR 14).
13
+ * @minItems 1
14
+ * @uniqueItems
15
+ */
16
+ export type PrimaryAttributeDamageThreshold = {
17
+ tag: "Default";
18
+ default: DefaultPrimaryAttributeDamageThreshold;
19
+ } | {
20
+ tag: "List";
21
+ list: PrimaryAttributeDamageThresholdList;
22
+ };
23
+ export type DefaultPrimaryAttributeDamageThreshold = {
24
+ /**
25
+ * The attribute value representing the damage threshold for the primary
26
+ * attribute of the item's combat technique.
27
+ * @integer
28
+ * @minimum 1
29
+ */
30
+ threshold: number;
31
+ };
32
+ export type PrimaryAttributeDamageThresholdList = {
33
+ /**
34
+ * A list of primary attributes with their associated threshold.
35
+ * @minItems 1
36
+ * @uniqueItems
37
+ */
38
+ list: SinglePrimaryAttributeDamageThreshold[];
39
+ };
40
+ export type SinglePrimaryAttributeDamageThreshold = {
41
+ /**
42
+ * The primary attribute.
43
+ */
44
+ attribute: AttributeReference;
45
+ /**
46
+ * The attribute value representing the damage threshold.
47
+ * @integer
48
+ * @minimum 1
49
+ */
50
+ threshold: number;
51
+ };
52
+ /**
53
+ * The length of the weapon in cm/halffingers.
54
+ * @integer
55
+ * @minimum 1
56
+ */
57
+ export type Length = number;