optolith-database-schema 0.28.0 → 0.28.2

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 (452) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/gen/types.d.ts +5 -0
  3. package/lib/main.d.ts +1 -1
  4. package/lib/types/Advantage.d.ts +1055 -1053
  5. package/lib/types/Advantage.js +12 -12
  6. package/lib/types/AnimalDisease.d.ts +70 -69
  7. package/lib/types/AnimalDisease.js +8 -8
  8. package/lib/types/AnimalType.d.ts +4 -4
  9. package/lib/types/AnimalType.js +6 -6
  10. package/lib/types/ArcaneBardTradition.d.ts +23 -23
  11. package/lib/types/ArcaneBardTradition.js +2 -2
  12. package/lib/types/ArcaneDancerTradition.d.ts +23 -23
  13. package/lib/types/ArcaneDancerTradition.js +2 -2
  14. package/lib/types/Aspect.d.ts +5 -5
  15. package/lib/types/Aspect.js +8 -8
  16. package/lib/types/Attribute.d.ts +7 -7
  17. package/lib/types/Attribute.js +12 -12
  18. package/lib/types/Blessing.d.ts +79 -78
  19. package/lib/types/Blessing.js +43 -43
  20. package/lib/types/Cantrip.d.ts +98 -97
  21. package/lib/types/Cantrip.js +69 -69
  22. package/lib/types/Ceremony.d.ts +501 -499
  23. package/lib/types/Ceremony.js +38 -38
  24. package/lib/types/CombatTechnique.d.ts +113 -111
  25. package/lib/types/CombatTechnique.js +52 -50
  26. package/lib/types/Condition.d.ts +38 -37
  27. package/lib/types/Condition.js +12 -12
  28. package/lib/types/Continent.d.ts +4 -4
  29. package/lib/types/Continent.js +6 -6
  30. package/lib/types/Culture.d.ts +119 -118
  31. package/lib/types/Culture.js +157 -157
  32. package/lib/types/DerivedCharacteristic.d.ts +58 -57
  33. package/lib/types/DerivedCharacteristic.js +22 -22
  34. package/lib/types/Disadvantage.d.ts +989 -987
  35. package/lib/types/Disadvantage.js +14 -14
  36. package/lib/types/Disease.d.ts +84 -83
  37. package/lib/types/Disease.js +6 -6
  38. package/lib/types/Element.d.ts +4 -4
  39. package/lib/types/Element.js +6 -6
  40. package/lib/types/ExperienceLevel.d.ts +11 -11
  41. package/lib/types/ExperienceLevel.js +20 -20
  42. package/lib/types/EyeColor.d.ts +4 -4
  43. package/lib/types/EyeColor.js +6 -6
  44. package/lib/types/FamiliarsTrick.d.ts +141 -140
  45. package/lib/types/FamiliarsTrick.js +92 -88
  46. package/lib/types/HairColor.d.ts +4 -4
  47. package/lib/types/HairColor.js +6 -6
  48. package/lib/types/HomunculusType.d.ts +4 -4
  49. package/lib/types/HomunculusType.js +6 -6
  50. package/lib/types/Lessons.d.ts +129 -128
  51. package/lib/types/Lessons.js +98 -92
  52. package/lib/types/LiturgicalChant.d.ts +501 -499
  53. package/lib/types/LiturgicalChant.js +38 -38
  54. package/lib/types/Locale.d.ts +10 -10
  55. package/lib/types/Locale.js +16 -15
  56. package/lib/types/MetaCondition.d.ts +38 -37
  57. package/lib/types/MetaCondition.js +12 -12
  58. package/lib/types/PactCategory.d.ts +52 -51
  59. package/lib/types/PactCategory.js +24 -24
  60. package/lib/types/Patron.d.ts +74 -73
  61. package/lib/types/Patron.js +86 -83
  62. package/lib/types/PatronCategory.d.ts +5 -5
  63. package/lib/types/PatronCategory.js +8 -8
  64. package/lib/types/PersonalityTrait.d.ts +60 -59
  65. package/lib/types/PersonalityTrait.js +22 -22
  66. package/lib/types/Profession.d.ts +1835 -1833
  67. package/lib/types/Profession.js +259 -255
  68. package/lib/types/Property.d.ts +5 -5
  69. package/lib/types/Property.js +8 -8
  70. package/lib/types/Race.d.ts +156 -155
  71. package/lib/types/Race.js +130 -129
  72. package/lib/types/Region.d.ts +4 -4
  73. package/lib/types/Region.js +6 -6
  74. package/lib/types/Ritual.d.ts +503 -501
  75. package/lib/types/Ritual.js +37 -37
  76. package/lib/types/Service.d.ts +40 -39
  77. package/lib/types/Service.js +15 -15
  78. package/lib/types/SexPractice.d.ts +37 -36
  79. package/lib/types/SexPractice.js +14 -14
  80. package/lib/types/Skill.d.ts +84 -83
  81. package/lib/types/Skill.js +51 -51
  82. package/lib/types/SkillGroup.d.ts +7 -7
  83. package/lib/types/SkillGroup.js +12 -12
  84. package/lib/types/SkillModificationLevel.d.ts +22 -22
  85. package/lib/types/SkillModificationLevel.js +41 -41
  86. package/lib/types/SocialStatus.d.ts +5 -5
  87. package/lib/types/SocialStatus.js +8 -8
  88. package/lib/types/Spell.d.ts +503 -501
  89. package/lib/types/Spell.js +37 -37
  90. package/lib/types/State.d.ts +37 -36
  91. package/lib/types/State.js +10 -10
  92. package/lib/types/Talisman.d.ts +81 -80
  93. package/lib/types/Talisman.js +50 -48
  94. package/lib/types/TargetCategory.d.ts +5 -5
  95. package/lib/types/TargetCategory.js +7 -7
  96. package/lib/types/_Activatable.d.ts +9 -9
  97. package/lib/types/_Activatable.js +17 -17
  98. package/lib/types/_ActivatableAdvanced.d.ts +41 -41
  99. package/lib/types/_ActivatableAdvanced.js +48 -44
  100. package/lib/types/_ActivatableAdventurePointsValue.d.ts +146 -146
  101. package/lib/types/_ActivatableAdventurePointsValue.js +62 -62
  102. package/lib/types/_ActivatableAutomatic.d.ts +67 -67
  103. package/lib/types/_ActivatableAutomatic.js +30 -30
  104. package/lib/types/_ActivatableCombat.d.ts +94 -94
  105. package/lib/types/_ActivatableCombat.js +180 -174
  106. package/lib/types/_ActivatableNonMundane.d.ts +301 -301
  107. package/lib/types/_ActivatableNonMundane.js +204 -202
  108. package/lib/types/_ActivatableSelectOptionCategory.d.ts +1256 -1256
  109. package/lib/types/_ActivatableSelectOptionCategory.js +250 -226
  110. package/lib/types/_ActivatableSelectOptions.d.ts +960 -958
  111. package/lib/types/_ActivatableSelectOptions.js +34 -34
  112. package/lib/types/_ActivatableSkill.d.ts +880 -880
  113. package/lib/types/_ActivatableSkill.js +47 -43
  114. package/lib/types/_ActivatableSkillApplicationsAndUses.d.ts +97 -97
  115. package/lib/types/_ActivatableSkillApplicationsAndUses.js +27 -27
  116. package/lib/types/_ActivatableSkillCastingTime.d.ts +52 -52
  117. package/lib/types/_ActivatableSkillCastingTime.js +40 -40
  118. package/lib/types/_ActivatableSkillCheckResultBased.d.ts +18 -18
  119. package/lib/types/_ActivatableSkillCheckResultBased.js +19 -19
  120. package/lib/types/_ActivatableSkillCost.d.ts +208 -208
  121. package/lib/types/_ActivatableSkillCost.js +113 -113
  122. package/lib/types/_ActivatableSkillDuration.d.ts +159 -159
  123. package/lib/types/_ActivatableSkillDuration.js +69 -69
  124. package/lib/types/_ActivatableSkillEffect.d.ts +12 -12
  125. package/lib/types/_ActivatableSkillEffect.js +28 -28
  126. package/lib/types/_ActivatableSkillRange.d.ts +46 -46
  127. package/lib/types/_ActivatableSkillRange.js +50 -50
  128. package/lib/types/_ActivatableSkillTargetCategory.d.ts +11 -11
  129. package/lib/types/_ActivatableSkillTargetCategory.js +15 -15
  130. package/lib/types/_AlternativeNames.d.ts +4 -4
  131. package/lib/types/_AlternativeNames.js +7 -7
  132. package/lib/types/_ArcaneTradition.d.ts +23 -23
  133. package/lib/types/_ArcaneTradition.js +7 -7
  134. package/lib/types/_Blessed.d.ts +6 -6
  135. package/lib/types/_Blessed.js +9 -9
  136. package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +6 -6
  137. package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +9 -9
  138. package/lib/types/_Dice.d.ts +5 -5
  139. package/lib/types/_Dice.js +9 -9
  140. package/lib/types/_DiseasePoison.d.ts +47 -47
  141. package/lib/types/_DiseasePoison.js +50 -50
  142. package/lib/types/_Enhancements.d.ts +125 -123
  143. package/lib/types/_Enhancements.js +22 -22
  144. package/lib/types/_Identifier.d.ts +1 -1
  145. package/lib/types/_Identifier.js +1 -1
  146. package/lib/types/_IdentifierGroup.d.ts +328 -328
  147. package/lib/types/_IdentifierGroup.js +328 -328
  148. package/lib/types/_ImprovementCost.d.ts +6 -6
  149. package/lib/types/_ImprovementCost.js +6 -6
  150. package/lib/types/_Influence.d.ts +58 -57
  151. package/lib/types/_Influence.js +18 -18
  152. package/lib/types/_MathExpression.d.ts +5 -5
  153. package/lib/types/_MathExpression.js +12 -12
  154. package/lib/types/_Prerequisite.d.ts +333 -333
  155. package/lib/types/_Prerequisite.js +89 -73
  156. package/lib/types/_ResponsiveText.d.ts +10 -10
  157. package/lib/types/_ResponsiveText.js +23 -17
  158. package/lib/types/_Sex.d.ts +4 -4
  159. package/lib/types/_Sex.js +4 -4
  160. package/lib/types/_SizeCategory.d.ts +14 -14
  161. package/lib/types/_SizeCategory.js +15 -15
  162. package/lib/types/_SkillCheck.d.ts +10 -10
  163. package/lib/types/_SkillCheck.js +11 -11
  164. package/lib/types/_Spellwork.d.ts +12 -12
  165. package/lib/types/_Spellwork.js +15 -15
  166. package/lib/types/equipment/EquipmentPackage.d.ts +68 -67
  167. package/lib/types/equipment/EquipmentPackage.js +14 -14
  168. package/lib/types/equipment/item/Ammunition.d.ts +52 -51
  169. package/lib/types/equipment/item/Ammunition.js +16 -16
  170. package/lib/types/equipment/item/Animal.d.ts +52 -51
  171. package/lib/types/equipment/item/Animal.js +5 -5
  172. package/lib/types/equipment/item/AnimalCare.d.ts +61 -60
  173. package/lib/types/equipment/item/AnimalCare.js +20 -20
  174. package/lib/types/equipment/item/Armor.d.ts +122 -121
  175. package/lib/types/equipment/item/Armor.js +79 -79
  176. package/lib/types/equipment/item/BandageOrRemedy.d.ts +143 -142
  177. package/lib/types/equipment/item/BandageOrRemedy.js +13 -13
  178. package/lib/types/equipment/item/Book.d.ts +103 -102
  179. package/lib/types/equipment/item/Book.js +65 -65
  180. package/lib/types/equipment/item/CeremonialItem.d.ts +144 -143
  181. package/lib/types/equipment/item/CeremonialItem.js +14 -14
  182. package/lib/types/equipment/item/Clothes.d.ts +143 -142
  183. package/lib/types/equipment/item/Clothes.js +13 -13
  184. package/lib/types/equipment/item/ClothingPackage.d.ts +45 -44
  185. package/lib/types/equipment/item/ClothingPackage.js +6 -6
  186. package/lib/types/equipment/item/Container.d.ts +143 -142
  187. package/lib/types/equipment/item/Container.js +13 -13
  188. package/lib/types/equipment/item/Elixir.d.ts +80 -79
  189. package/lib/types/equipment/item/Elixir.js +35 -32
  190. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +152 -151
  191. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +11 -11
  192. package/lib/types/equipment/item/GemOrPreciousStone.d.ts +54 -53
  193. package/lib/types/equipment/item/GemOrPreciousStone.js +20 -20
  194. package/lib/types/equipment/item/IlluminationLightSource.d.ts +149 -148
  195. package/lib/types/equipment/item/IlluminationLightSource.js +26 -26
  196. package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +143 -142
  197. package/lib/types/equipment/item/IlluminationRefillOrSupply.js +13 -13
  198. package/lib/types/equipment/item/Jewelry.d.ts +56 -55
  199. package/lib/types/equipment/item/Jewelry.js +17 -17
  200. package/lib/types/equipment/item/Laboratory.d.ts +59 -58
  201. package/lib/types/equipment/item/Laboratory.js +11 -11
  202. package/lib/types/equipment/item/Liebesspielzeug.d.ts +143 -142
  203. package/lib/types/equipment/item/Liebesspielzeug.js +13 -13
  204. package/lib/types/equipment/item/LuxuryGood.d.ts +143 -142
  205. package/lib/types/equipment/item/LuxuryGood.js +13 -13
  206. package/lib/types/equipment/item/MagicalArtifact.d.ts +146 -145
  207. package/lib/types/equipment/item/MagicalArtifact.js +30 -30
  208. package/lib/types/equipment/item/MusicalInstrument.d.ts +143 -142
  209. package/lib/types/equipment/item/MusicalInstrument.js +13 -13
  210. package/lib/types/equipment/item/Newspaper.d.ts +48 -47
  211. package/lib/types/equipment/item/Newspaper.js +12 -12
  212. package/lib/types/equipment/item/OrienteeringAid.d.ts +142 -141
  213. package/lib/types/equipment/item/Poison.d.ts +428 -427
  214. package/lib/types/equipment/item/Poison.js +215 -210
  215. package/lib/types/equipment/item/RopeOrChain.d.ts +142 -141
  216. package/lib/types/equipment/item/Stationery.d.ts +142 -141
  217. package/lib/types/equipment/item/ThievesTool.d.ts +142 -141
  218. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +60 -59
  219. package/lib/types/equipment/item/ToolOfTheTrade.js +11 -11
  220. package/lib/types/equipment/item/TravelGearOrTool.d.ts +143 -142
  221. package/lib/types/equipment/item/TravelGearOrTool.js +13 -13
  222. package/lib/types/equipment/item/Vehicle.d.ts +58 -57
  223. package/lib/types/equipment/item/Vehicle.js +9 -9
  224. package/lib/types/equipment/item/Weapon.d.ts +160 -159
  225. package/lib/types/equipment/item/Weapon.js +53 -49
  226. package/lib/types/equipment/item/WeaponAccessory.d.ts +143 -142
  227. package/lib/types/equipment/item/WeaponAccessory.js +13 -13
  228. package/lib/types/equipment/item/_Herbary.d.ts +34 -34
  229. package/lib/types/equipment/item/_Herbary.js +19 -19
  230. package/lib/types/equipment/item/_Item.d.ts +294 -293
  231. package/lib/types/equipment/item/_Item.js +102 -102
  232. package/lib/types/equipment/item/_MeleeWeapon.d.ts +47 -47
  233. package/lib/types/equipment/item/_MeleeWeapon.js +43 -43
  234. package/lib/types/equipment/item/_RangedWeapon.d.ts +25 -25
  235. package/lib/types/equipment/item/_RangedWeapon.js +39 -39
  236. package/lib/types/equipment/item/_Weapon.d.ts +10 -9
  237. package/lib/types/equipment/item/_Weapon.js +19 -19
  238. package/lib/types/equipment/item/sub/ArmorType.d.ts +5 -5
  239. package/lib/types/equipment/item/sub/ArmorType.js +8 -8
  240. package/lib/types/equipment/item/sub/Reach.d.ts +4 -4
  241. package/lib/types/equipment/item/sub/Reach.js +6 -6
  242. package/lib/types/magicalActions/AnimistPower.d.ts +228 -226
  243. package/lib/types/magicalActions/AnimistPower.js +79 -77
  244. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +23 -23
  245. package/lib/types/magicalActions/AnimistPower_Tribe.js +8 -8
  246. package/lib/types/magicalActions/Curse.d.ts +163 -162
  247. package/lib/types/magicalActions/Curse.js +54 -54
  248. package/lib/types/magicalActions/DominationRitual.d.ts +153 -152
  249. package/lib/types/magicalActions/DominationRitual.js +53 -53
  250. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +92 -91
  251. package/lib/types/magicalActions/ElvenMagicalSong.js +45 -45
  252. package/lib/types/magicalActions/GeodeRitual.d.ts +165 -164
  253. package/lib/types/magicalActions/GeodeRitual.js +57 -57
  254. package/lib/types/magicalActions/JesterTrick.d.ts +231 -230
  255. package/lib/types/magicalActions/JesterTrick.js +67 -67
  256. package/lib/types/magicalActions/MagicalDance.d.ts +89 -88
  257. package/lib/types/magicalActions/MagicalDance.js +46 -46
  258. package/lib/types/magicalActions/MagicalMelody.d.ts +86 -85
  259. package/lib/types/magicalActions/MagicalMelody.js +44 -44
  260. package/lib/types/magicalActions/MagicalRune.d.ts +213 -212
  261. package/lib/types/magicalActions/MagicalRune.js +122 -117
  262. package/lib/types/magicalActions/ZibiljaRitual.d.ts +301 -300
  263. package/lib/types/magicalActions/ZibiljaRitual.js +36 -34
  264. package/lib/types/magicalActions/_MusicTradition.d.ts +12 -12
  265. package/lib/types/magicalActions/_MusicTradition.js +19 -19
  266. package/lib/types/prerequisites/ConditionalPrerequisites.d.ts +16 -16
  267. package/lib/types/prerequisites/ConditionalPrerequisites.js +3 -3
  268. package/lib/types/prerequisites/DisplayOption.d.ts +9 -9
  269. package/lib/types/prerequisites/DisplayOption.js +11 -11
  270. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +1099 -1099
  271. package/lib/types/prerequisites/PrerequisiteGroups.js +94 -86
  272. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +100 -100
  273. package/lib/types/prerequisites/single/ActivatablePrerequisite.js +15 -15
  274. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +13 -13
  275. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.js +10 -10
  276. package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +11 -11
  277. package/lib/types/prerequisites/single/CulturePrerequisite.js +6 -6
  278. package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +3 -3
  279. package/lib/types/prerequisites/single/EnhancementPrerequisite.js +4 -4
  280. package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +12 -12
  281. package/lib/types/prerequisites/single/InfluencePrerequisite.js +8 -8
  282. package/lib/types/prerequisites/single/PactPrerequisite.d.ts +13 -13
  283. package/lib/types/prerequisites/single/PactPrerequisite.js +10 -10
  284. package/lib/types/prerequisites/single/PersonalityTraitPrerequisite.d.ts +12 -12
  285. package/lib/types/prerequisites/single/PersonalityTraitPrerequisite.js +8 -8
  286. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +14 -14
  287. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +12 -12
  288. package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +11 -11
  289. package/lib/types/prerequisites/single/PublicationPrerequisite.js +6 -6
  290. package/lib/types/prerequisites/single/RacePrerequisite.d.ts +12 -12
  291. package/lib/types/prerequisites/single/RacePrerequisite.js +8 -8
  292. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.d.ts +35 -35
  293. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.js +38 -36
  294. package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +20 -20
  295. package/lib/types/prerequisites/single/RatedPrerequisite.js +9 -9
  296. package/lib/types/prerequisites/single/RatedSumPrerequisite.d.ts +12 -12
  297. package/lib/types/prerequisites/single/RatedSumPrerequisite.js +9 -9
  298. package/lib/types/prerequisites/single/RulePrerequisite.d.ts +13 -13
  299. package/lib/types/prerequisites/single/RulePrerequisite.js +7 -7
  300. package/lib/types/prerequisites/single/SexPrerequisite.d.ts +13 -13
  301. package/lib/types/prerequisites/single/SexPrerequisite.js +7 -7
  302. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.d.ts +5 -5
  303. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.js +8 -8
  304. package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +11 -11
  305. package/lib/types/prerequisites/single/SocialStatusPrerequisite.js +6 -6
  306. package/lib/types/prerequisites/single/StatePrerequisite.d.ts +11 -11
  307. package/lib/types/prerequisites/single/StatePrerequisite.js +6 -6
  308. package/lib/types/prerequisites/single/TextPrerequisite.d.ts +14 -14
  309. package/lib/types/prerequisites/single/TextPrerequisite.js +18 -18
  310. package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +25 -25
  311. package/lib/types/prerequisites/single/TraditionPrerequisite.js +19 -19
  312. package/lib/types/rule/AlternativeRule.d.ts +39 -38
  313. package/lib/types/rule/AlternativeRule.js +14 -14
  314. package/lib/types/rule/AlternativeRule_PlayerType.d.ts +4 -4
  315. package/lib/types/rule/AlternativeRule_PlayerType.js +6 -6
  316. package/lib/types/rule/CoreRule.d.ts +117 -116
  317. package/lib/types/rule/CoreRule.js +108 -106
  318. package/lib/types/rule/FocusRule.d.ts +59 -58
  319. package/lib/types/rule/FocusRule.js +17 -17
  320. package/lib/types/rule/FocusRule_Subject.d.ts +4 -4
  321. package/lib/types/rule/FocusRule_Subject.js +6 -6
  322. package/lib/types/rule/OptionalRule.d.ts +58 -57
  323. package/lib/types/rule/OptionalRule.js +16 -16
  324. package/lib/types/source/Publication.d.ts +41 -41
  325. package/lib/types/source/Publication.js +28 -28
  326. package/lib/types/source/_Erratum.d.ts +7 -7
  327. package/lib/types/source/_Erratum.js +9 -9
  328. package/lib/types/source/_PublicationRef.d.ts +117 -113
  329. package/lib/types/source/_PublicationRef.js +62 -58
  330. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +1075 -1073
  331. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +8 -8
  332. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +985 -983
  333. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +8 -8
  334. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +985 -983
  335. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +8 -8
  336. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +985 -983
  337. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +8 -8
  338. package/lib/types/specialAbility/AncestorGlyph.d.ts +938 -936
  339. package/lib/types/specialAbility/AncestorGlyph.js +10 -10
  340. package/lib/types/specialAbility/BlessedTradition.d.ts +1008 -1006
  341. package/lib/types/specialAbility/BlessedTradition.js +52 -52
  342. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +990 -988
  343. package/lib/types/specialAbility/BrawlingSpecialAbility.js +8 -8
  344. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +986 -984
  345. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +8 -8
  346. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +1076 -1074
  347. package/lib/types/specialAbility/CombatSpecialAbility.js +8 -8
  348. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +1117 -1115
  349. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +8 -8
  350. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +990 -988
  351. package/lib/types/specialAbility/CommandSpecialAbility.js +8 -8
  352. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +937 -935
  353. package/lib/types/specialAbility/FamiliarSpecialAbility.js +8 -8
  354. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +937 -935
  355. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +8 -8
  356. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +985 -983
  357. package/lib/types/specialAbility/FatePointSpecialAbility.js +8 -8
  358. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +986 -984
  359. package/lib/types/specialAbility/GeneralSpecialAbility.js +8 -8
  360. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +937 -935
  361. package/lib/types/specialAbility/KarmaSpecialAbility.js +8 -8
  362. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +1025 -1023
  363. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +8 -8
  364. package/lib/types/specialAbility/LycantropicGift.d.ts +937 -935
  365. package/lib/types/specialAbility/LycantropicGift.js +8 -8
  366. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +1025 -1023
  367. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +8 -8
  368. package/lib/types/specialAbility/MagicalSign.d.ts +91 -90
  369. package/lib/types/specialAbility/MagicalSign.js +21 -21
  370. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +986 -984
  371. package/lib/types/specialAbility/MagicalSpecialAbility.js +8 -8
  372. package/lib/types/specialAbility/MagicalTradition.d.ts +1004 -1002
  373. package/lib/types/specialAbility/MagicalTradition.js +40 -40
  374. package/lib/types/specialAbility/PactGift.d.ts +1008 -1006
  375. package/lib/types/specialAbility/PactGift.js +23 -21
  376. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +939 -937
  377. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +14 -14
  378. package/lib/types/specialAbility/Sermon.d.ts +937 -935
  379. package/lib/types/specialAbility/Sermon.js +8 -8
  380. package/lib/types/specialAbility/SexSpecialAbility.d.ts +985 -983
  381. package/lib/types/specialAbility/SexSpecialAbility.js +8 -8
  382. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +937 -935
  383. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +8 -8
  384. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +977 -975
  385. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +8 -8
  386. package/lib/types/specialAbility/VampiricGift.d.ts +937 -935
  387. package/lib/types/specialAbility/VampiricGift.js +8 -8
  388. package/lib/types/specialAbility/Vision.d.ts +937 -935
  389. package/lib/types/specialAbility/Vision.js +8 -8
  390. package/lib/types/specialAbility/_Tradition.d.ts +4 -4
  391. package/lib/types/specialAbility/_Tradition.js +7 -7
  392. package/lib/types/specialAbility/sub/Language.d.ts +80 -79
  393. package/lib/types/specialAbility/sub/Language.js +37 -37
  394. package/lib/types/specialAbility/sub/Script.d.ts +45 -44
  395. package/lib/types/specialAbility/sub/Script.js +18 -18
  396. package/lib/types/specialAbility/sub/TradeSecret.d.ts +859 -857
  397. package/lib/types/specialAbility/sub/TradeSecret.js +26 -26
  398. package/lib/types/specialAbility/sub/_LanguageScript.d.ts +4 -4
  399. package/lib/types/specialAbility/sub/_LanguageScript.js +6 -6
  400. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +1105 -1103
  401. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +8 -8
  402. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +1105 -1103
  403. package/lib/types/traditionArtifacts/AttireEnchantment.js +8 -8
  404. package/lib/types/traditionArtifacts/Beutelzauber.d.ts +1105 -1103
  405. package/lib/types/traditionArtifacts/Beutelzauber.js +8 -8
  406. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +1105 -1103
  407. package/lib/types/traditionArtifacts/BowlEnchantment.js +8 -8
  408. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +1106 -1104
  409. package/lib/types/traditionArtifacts/CauldronEnchantment.js +9 -9
  410. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +1105 -1103
  411. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +8 -8
  412. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +1112 -1110
  413. package/lib/types/traditionArtifacts/DaggerRitual.js +25 -25
  414. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +1105 -1103
  415. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +8 -8
  416. package/lib/types/traditionArtifacts/Haubenzauber.d.ts +1105 -1103
  417. package/lib/types/traditionArtifacts/Haubenzauber.js +8 -8
  418. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +1105 -1103
  419. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +8 -8
  420. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +1105 -1103
  421. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +8 -8
  422. package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +1105 -1103
  423. package/lib/types/traditionArtifacts/Kristallkugelzauber.js +8 -8
  424. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +1105 -1103
  425. package/lib/types/traditionArtifacts/OrbEnchantment.js +8 -8
  426. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +1105 -1103
  427. package/lib/types/traditionArtifacts/RingEnchantment.js +8 -8
  428. package/lib/types/traditionArtifacts/SickleRitual.d.ts +1105 -1103
  429. package/lib/types/traditionArtifacts/SickleRitual.js +8 -8
  430. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +1105 -1103
  431. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +8 -8
  432. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +1108 -1106
  433. package/lib/types/traditionArtifacts/StaffEnchantment.js +10 -10
  434. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +1105 -1103
  435. package/lib/types/traditionArtifacts/ToyEnchantment.js +8 -8
  436. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +1105 -1103
  437. package/lib/types/traditionArtifacts/Trinkhornzauber.js +8 -8
  438. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +1071 -1069
  439. package/lib/types/traditionArtifacts/WandEnchantment.js +8 -8
  440. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +1105 -1103
  441. package/lib/types/traditionArtifacts/WeaponEnchantment.js +8 -8
  442. package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +6 -6
  443. package/lib/types/traditionArtifacts/sub/AnimalShape.js +8 -8
  444. package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +4 -4
  445. package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +6 -6
  446. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +6 -6
  447. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +10 -10
  448. package/lib/types/traditionArtifacts/sub/Brew.d.ts +4 -4
  449. package/lib/types/traditionArtifacts/sub/Brew.js +6 -6
  450. package/package.json +2 -2
  451. package/lib/types/_I18n.d.ts +0 -14
  452. package/lib/types/_I18n.js +0 -55
@@ -1,4 +1,4 @@
1
- import { Array, Boolean, ChildEntities, Entity, Enum, EnumCase, GenEnum, GenIncludeIdentifier, IncludeIdentifier, Integer, ObjectType, Optional, Param, Required, String, TypeAlias, TypeArgument, } from "tsondb/schema/def";
1
+ import * as DB from "tsondb/schema/dsl";
2
2
  import { CommonnessRatedAdvantageDisadvantage } from "./_CommonnessRatedAdvantageDisadvantage.js";
3
3
  import { AdvantageIdentifier, CantripIdentifier, CurriculumIdentifier, DisadvantageIdentifier, ExperienceLevelIdentifier, GeneralSelectOptionIdentifier, MagicalTraditionIdentifier, ProfessionIdentifier, ProfessionPackageIdentifier, ProfessionVersionIdentifier, SkillGroupIdentifier, SkillIdentifier, } from "./_Identifier.js";
4
4
  import { CombatTechniqueIdentifier, LiturgyIdentifier, MagicalActionIdentifier, RequirableSelectOptionIdentifier, SpecialAbilityIdentifier, SpellworkIdentifier, } from "./_IdentifierGroup.js";
@@ -6,19 +6,19 @@ import { ProfessionPrerequisites } from "./_Prerequisite.js";
6
6
  import { NestedTranslationMap } from "./Locale.js";
7
7
  import { Errata } from "./source/_Erratum.js";
8
8
  import { src } from "./source/_PublicationRef.js";
9
- export const Profession = Entity(import.meta.url, {
9
+ export const Profession = DB.Entity(import.meta.url, {
10
10
  name: "Profession",
11
11
  namePlural: "Professions",
12
- type: () => ObjectType({
13
- group: Required({
12
+ type: () => DB.Object({
13
+ group: DB.Required({
14
14
  comment: "The profession group.",
15
- type: IncludeIdentifier(ProfessionGroup),
15
+ type: DB.IncludeIdentifier(ProfessionGroup),
16
16
  }),
17
- versions: Required({
17
+ versions: DB.Required({
18
18
  comment: `A list of professions representing the same profession but with (slightly) different stats. For example, there may be a profession in a regional sourcebook or in the core rules and a profession in an extension rulebook like Magic of Aventuria, where the profession is basically called the same and almost has the same values, but the version from Magic of Aventuria features a spell style special ability that does not exist in the core rules or regional sourcebook.
19
19
 
20
20
  The profession representation may feature different values for different explicitly mentioned experience levels. In most cases, there is only one stats package, which targets the experience level *Experienced*.`,
21
- type: ChildEntities(ProfessionVersion),
21
+ type: DB.ChildEntities(ProfessionVersion),
22
22
  }),
23
23
  }),
24
24
  instanceDisplayName: null,
@@ -39,87 +39,87 @@ export const Profession = Entity(import.meta.url, {
39
39
  };
40
40
  },
41
41
  });
42
- const ProfessionGroup = Enum(import.meta.url, {
42
+ const ProfessionGroup = DB.Enum(import.meta.url, {
43
43
  name: "ProfessionGroup",
44
44
  values: () => ({
45
- Mundane: EnumCase({ type: IncludeIdentifier(MundaneProfessionGroup) }),
46
- Magical: EnumCase({ type: IncludeIdentifier(MagicalProfessionGroup) }),
47
- Blessed: EnumCase({ type: null }),
45
+ Mundane: DB.EnumCase({ type: DB.IncludeIdentifier(MundaneProfessionGroup) }),
46
+ Magical: DB.EnumCase({ type: DB.IncludeIdentifier(MagicalProfessionGroup) }),
47
+ Blessed: DB.EnumCase({ type: null }),
48
48
  }),
49
49
  });
50
- export const MundaneProfessionGroup = Enum(import.meta.url, {
50
+ export const MundaneProfessionGroup = DB.Enum(import.meta.url, {
51
51
  name: "MundaneProfessionGroup",
52
52
  values: () => ({
53
- Profane: EnumCase({ type: null }),
54
- Fighter: EnumCase({ type: null }),
55
- Religious: EnumCase({ type: null }),
53
+ Profane: DB.EnumCase({ type: null }),
54
+ Fighter: DB.EnumCase({ type: null }),
55
+ Religious: DB.EnumCase({ type: null }),
56
56
  }),
57
57
  });
58
- const MagicalProfessionGroup = TypeAlias(import.meta.url, {
58
+ const MagicalProfessionGroup = DB.TypeAlias(import.meta.url, {
59
59
  name: "MagicalProfessionGroup",
60
- type: () => ObjectType({
61
- curriculum: Optional({
60
+ type: () => DB.Object({
61
+ curriculum: DB.Optional({
62
62
  comment: "The curriculum/academy associated with this magical profession, if any.",
63
63
  type: CurriculumIdentifier(),
64
64
  }),
65
65
  }),
66
66
  });
67
- export const ProfessionVersion = Entity(import.meta.url, {
67
+ export const ProfessionVersion = DB.Entity(import.meta.url, {
68
68
  name: "ProfessionVersion",
69
69
  namePlural: "ProfessionVersions",
70
- type: () => ObjectType({
71
- profession: Required({
70
+ type: () => DB.Object({
71
+ profession: DB.Required({
72
72
  comment: "The associated profession.",
73
73
  type: ProfessionIdentifier(),
74
74
  }),
75
- package: Required({
75
+ package: DB.Required({
76
76
  comment: "A list of available race variants where one has to be selected. If no variants are to be selected, a single variant with no name has to be provided which will be used as the missing values for the base race.",
77
- type: ChildEntities(ProfessionPackage),
77
+ type: DB.ChildEntities(ProfessionPackage),
78
78
  }),
79
- suggested_advantages: Optional({
79
+ suggested_advantages: DB.Optional({
80
80
  comment: "A list of typical advantages.",
81
- type: Array(GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier()]), { minItems: 1 }),
81
+ type: DB.Array(DB.GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier()]), { minItems: 1 }),
82
82
  }),
83
- suggested_disadvantages: Optional({
83
+ suggested_disadvantages: DB.Optional({
84
84
  comment: "A list of typical disadvantages.",
85
- type: Array(GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier()]), { minItems: 1 }),
85
+ type: DB.Array(DB.GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier()]), { minItems: 1 }),
86
86
  }),
87
- unsuitable_advantages: Optional({
87
+ unsuitable_advantages: DB.Optional({
88
88
  comment: "A list of advantages that do not fit well with this profession; to be checked with the GM before taking any of them.",
89
- type: Array(GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier()]), { minItems: 1 }),
89
+ type: DB.Array(DB.GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier()]), { minItems: 1 }),
90
90
  }),
91
- unsuitable_disadvantages: Optional({
91
+ unsuitable_disadvantages: DB.Optional({
92
92
  comment: "A list of disadvantages that do not fit well with this profession; to be checked with the GM before taking any of them.",
93
- type: Array(GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier()]), { minItems: 1 }),
93
+ type: DB.Array(DB.GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier()]), { minItems: 1 }),
94
94
  }),
95
95
  src,
96
- translations: NestedTranslationMap(Required, "ProfessionVersion", ObjectType({
97
- name: Required({
96
+ translations: NestedTranslationMap(DB.Required, "ProfessionVersion", DB.Object({
97
+ name: DB.Required({
98
98
  comment: "The basic profession’s name.",
99
- type: IncludeIdentifier(ProfessionName),
99
+ type: DB.IncludeIdentifier(ProfessionName),
100
100
  }),
101
- specification: Optional({
101
+ specification: DB.Optional({
102
102
  comment: "A name addition of the profession. This will contain texts like name of the academy or the witch circle. It is enclosed in parenthesis, but the database entry must not contain parenthesis.",
103
- type: IncludeIdentifier(ProfessionName),
103
+ type: DB.IncludeIdentifier(ProfessionName),
104
104
  }),
105
- suggested_advantages: Optional({
105
+ suggested_advantages: DB.Optional({
106
106
  comment: "A list of typical advantages.",
107
- type: String({ minLength: 1 }),
107
+ type: DB.String({ minLength: 1 }),
108
108
  }),
109
- suggested_disadvantages: Optional({
109
+ suggested_disadvantages: DB.Optional({
110
110
  comment: "A list of typical disadvantages.",
111
- type: String({ minLength: 1 }),
111
+ type: DB.String({ minLength: 1 }),
112
112
  }),
113
- unsuitable_advantages: Optional({
113
+ unsuitable_advantages: DB.Optional({
114
114
  comment: "A list of advantages that do not fit well with this profession; to be checked with the GM before taking any of them.",
115
- type: String({ minLength: 1 }),
115
+ type: DB.String({ minLength: 1 }),
116
116
  }),
117
- unsuitable_disadvantages: Optional({
117
+ unsuitable_disadvantages: DB.Optional({
118
118
  comment: "A list of disadvantages that do not fit well with this profession; to be checked with the GM before taking any of them.",
119
- type: String({ minLength: 1 }),
119
+ type: DB.String({ minLength: 1 }),
120
120
  }),
121
- errata: Optional({
122
- type: IncludeIdentifier(Errata),
121
+ errata: DB.Optional({
122
+ type: DB.IncludeIdentifier(Errata),
123
123
  }),
124
124
  })),
125
125
  }),
@@ -145,57 +145,57 @@ export const ProfessionVersion = Entity(import.meta.url, {
145
145
  };
146
146
  },
147
147
  });
148
- export const ProfessionPackage = Entity(import.meta.url, {
148
+ export const ProfessionPackage = DB.Entity(import.meta.url, {
149
149
  name: "ProfessionPackage",
150
150
  namePlural: "ProfessionPackages",
151
- type: () => ObjectType({
152
- profession_version: Required({
151
+ type: () => DB.Object({
152
+ profession_version: DB.Required({
153
153
  comment: "The associated profession version.",
154
154
  type: ProfessionVersionIdentifier(),
155
155
  }),
156
- experience_level: Optional({
156
+ experience_level: DB.Optional({
157
157
  comment: "The associated experience level. By default, profession packages are associated with the experience level *Experienced*.",
158
158
  type: ExperienceLevelIdentifier(),
159
159
  }),
160
- ap_value: Required({
160
+ ap_value: DB.Required({
161
161
  comment: "What does the professional package cost in adventure points?",
162
- type: Integer({ minimum: 0 }),
162
+ type: DB.Integer({ minimum: 0 }),
163
163
  }),
164
- prerequisites: Optional({
164
+ prerequisites: DB.Optional({
165
165
  comment: "Which prerequisites must be met to buy the stat block? For example, a character might need the advantage Spellcaster or Blessed. Note: the AP cost for a profession package does not include these prerequisites.",
166
- type: IncludeIdentifier(ProfessionPrerequisites),
166
+ type: DB.IncludeIdentifier(ProfessionPrerequisites),
167
167
  }),
168
- options: Optional({
168
+ options: DB.Optional({
169
169
  comment: "In some areas, the profession package grants a loose set of stats where the player must choose between different options for the profession package.",
170
- type: IncludeIdentifier(ProfessionPackageOptions),
170
+ type: DB.IncludeIdentifier(ProfessionPackageOptions),
171
171
  }),
172
- special_abilities: Optional({
172
+ special_abilities: DB.Optional({
173
173
  comment: "Any special abilities the profession receives from the package.",
174
- type: Array(IncludeIdentifier(ProfessionSpecialAbility), { minItems: 1 }),
174
+ type: DB.Array(DB.IncludeIdentifier(ProfessionSpecialAbility), { minItems: 1 }),
175
175
  }),
176
- combat_techniques: Optional({
176
+ combat_techniques: DB.Optional({
177
177
  comment: "Provides ratings for the combat techniques that the hero receives from the package.",
178
- type: Array(IncludeIdentifier(CombatTechniqueRating), { minItems: 1 }),
178
+ type: DB.Array(DB.IncludeIdentifier(CombatTechniqueRating), { minItems: 1 }),
179
179
  }),
180
- skills: Optional({
180
+ skills: DB.Optional({
181
181
  comment: "The skill ratings the package grants to the hero.",
182
- type: Array(IncludeIdentifier(SkillRating), { minItems: 1 }),
182
+ type: DB.Array(DB.IncludeIdentifier(SkillRating), { minItems: 1 }),
183
183
  }),
184
- spells: Optional({
184
+ spells: DB.Optional({
185
185
  comment: "The skill ratings a magical profession receives for spells; these spells are considered activated. Spells from an unfamiliar Tradition, if any, are identified as such.",
186
- type: Array(IncludeIdentifier(MagicalSkillRating), { minItems: 1 }),
186
+ type: DB.Array(DB.IncludeIdentifier(MagicalSkillRating), { minItems: 1 }),
187
187
  }),
188
- liturgical_chants: Optional({
188
+ liturgical_chants: DB.Optional({
189
189
  comment: "Clerical professions receive these liturgical chants at the listed skill ratings. These liturgical chants are considered activated.",
190
- type: Array(IncludeIdentifier(LiturgicalChantRating), { minItems: 1 }),
190
+ type: DB.Array(DB.IncludeIdentifier(LiturgicalChantRating), { minItems: 1 }),
191
191
  }),
192
- is_variant_selection_required: Required({
192
+ is_variant_selection_required: DB.Required({
193
193
  comment: "If the selection of a profession variant is required.",
194
- type: Boolean(),
194
+ type: DB.Boolean(),
195
195
  }),
196
- variants: Required({
196
+ variants: DB.Required({
197
197
  comment: "Provides examples of variants for the profession, which may include changes to AP values and additional or modified skill ratings, special abilities, or combat techniques, as compared to the basic profession. Usually picking a variant is optional, but there are some rare exceptions where picking a variant is required.",
198
- type: ChildEntities(ProfessionVariant),
198
+ type: DB.ChildEntities(ProfessionVariant),
199
199
  }),
200
200
  }),
201
201
  parentReferenceKey: "profession_version",
@@ -215,58 +215,58 @@ export const ProfessionPackage = Entity(import.meta.url, {
215
215
  return baseName;
216
216
  },
217
217
  });
218
- export const ProfessionVariant = Entity(import.meta.url, {
218
+ export const ProfessionVariant = DB.Entity(import.meta.url, {
219
219
  name: "ProfessionVariant",
220
220
  namePlural: "ProfessionVariants",
221
- type: () => ObjectType({
222
- profession_package: Required({
221
+ type: () => DB.Object({
222
+ profession_package: DB.Required({
223
223
  comment: "The associated profession package.",
224
224
  type: ProfessionPackageIdentifier(),
225
225
  }),
226
- ap_value: Optional({
226
+ ap_value: DB.Optional({
227
227
  comment: "The AP value you have to pay for the package variant. Some variants may reduce the AP value of the base package.",
228
- type: Integer(),
228
+ type: DB.Integer(),
229
229
  }),
230
- prerequisites: Optional({
230
+ prerequisites: DB.Optional({
231
231
  comment: "Which prerequisites must be met to buy the stat block? For example, a character might need the advantage Spellcaster or Blessed. Note: the AP cost for a profession package does not include these prerequisites.",
232
- type: IncludeIdentifier(ProfessionPrerequisites),
232
+ type: DB.IncludeIdentifier(ProfessionPrerequisites),
233
233
  }),
234
- options: Optional({
234
+ options: DB.Optional({
235
235
  comment: "In some areas, the profession package grants a loose set of stats where the player must choose between different options for the profession package. The variant may override or remove those options.",
236
- type: IncludeIdentifier(ProfessionVariantPackageOptions),
236
+ type: DB.IncludeIdentifier(ProfessionVariantPackageOptions),
237
237
  }),
238
- special_abilities: Optional({
238
+ special_abilities: DB.Optional({
239
239
  comment: "Any special abilities the profession receives from the package variant.",
240
- type: Array(IncludeIdentifier(ProfessionVariantSpecialAbility), { minItems: 1 }),
240
+ type: DB.Array(DB.IncludeIdentifier(ProfessionVariantSpecialAbility), { minItems: 1 }),
241
241
  }),
242
- combat_techniques: Optional({
242
+ combat_techniques: DB.Optional({
243
243
  comment: "Provides ratings for the combat techniques that the hero receives from the package variant.",
244
- type: Array(IncludeIdentifier(CombatTechniqueRating), { minItems: 1 }),
244
+ type: DB.Array(DB.IncludeIdentifier(CombatTechniqueRating), { minItems: 1 }),
245
245
  }),
246
- skills: Optional({
246
+ skills: DB.Optional({
247
247
  comment: "The skill ratings the package variant grants to the hero.",
248
- type: Array(IncludeIdentifier(SkillRating), { minItems: 1 }),
248
+ type: DB.Array(DB.IncludeIdentifier(SkillRating), { minItems: 1 }),
249
249
  }),
250
- spells: Optional({
250
+ spells: DB.Optional({
251
251
  comment: "The skill ratings a magical profession variant receives for spells; these spells are considered activated. Spells from an unfamiliar Tradition, if any, are identified as such.",
252
- type: Array(IncludeIdentifier(MagicalSkillRating), { minItems: 1 }),
252
+ type: DB.Array(DB.IncludeIdentifier(MagicalSkillRating), { minItems: 1 }),
253
253
  }),
254
- liturgical_chants: Optional({
254
+ liturgical_chants: DB.Optional({
255
255
  comment: "Clerical profession variants receive these liturgical chants at the listed skill ratings. These liturgical chants are considered activated.",
256
- type: Array(IncludeIdentifier(LiturgicalChantRating), { minItems: 1 }),
256
+ type: DB.Array(DB.IncludeIdentifier(LiturgicalChantRating), { minItems: 1 }),
257
257
  }),
258
- translations: NestedTranslationMap(Required, "ProfessionVariant", ObjectType({
259
- name: Required({
258
+ translations: NestedTranslationMap(DB.Required, "ProfessionVariant", DB.Object({
259
+ name: DB.Required({
260
260
  comment: "The profession variant’s name.",
261
- type: IncludeIdentifier(ProfessionName),
261
+ type: DB.IncludeIdentifier(ProfessionName),
262
262
  }),
263
- full_text: Optional({
263
+ full_text: DB.Optional({
264
264
  comment: "A text that replaces the generated text for the profession variant.",
265
- type: String({ minLength: 1 }),
265
+ type: DB.String({ minLength: 1 }),
266
266
  }),
267
- concluding_text: Optional({
267
+ concluding_text: DB.Optional({
268
268
  comment: `A text that is appended to the generated text for the profession variant.`,
269
- type: String({ minLength: 1 }),
269
+ type: DB.String({ minLength: 1 }),
270
270
  }),
271
271
  })),
272
272
  }),
@@ -276,350 +276,354 @@ export const ProfessionVariant = Entity(import.meta.url, {
276
276
  pathInLocaleMap: "name.default",
277
277
  },
278
278
  });
279
- const VariantSpecialAbilityAction = Enum(import.meta.url, {
279
+ const VariantSpecialAbilityAction = DB.Enum(import.meta.url, {
280
280
  name: "VariantSpecialAbilityAction",
281
281
  values: () => ({
282
- Remove: EnumCase({ type: null }),
283
- Override: EnumCase({ type: null }),
282
+ Remove: DB.EnumCase({ type: null }),
283
+ Override: DB.EnumCase({ type: null }),
284
284
  }),
285
285
  });
286
- const ProfessionSpecialAbility = Enum(import.meta.url, {
286
+ const ProfessionSpecialAbility = DB.Enum(import.meta.url, {
287
287
  name: "ProfessionSpecialAbility",
288
288
  values: () => ({
289
- Constant: EnumCase({ type: IncludeIdentifier(ConstantProfessionSpecialAbility) }),
290
- Selection: EnumCase({ type: IncludeIdentifier(ProfessionSpecialAbilitySelection) }),
289
+ Constant: DB.EnumCase({ type: DB.IncludeIdentifier(ConstantProfessionSpecialAbility) }),
290
+ Selection: DB.EnumCase({ type: DB.IncludeIdentifier(ProfessionSpecialAbilitySelection) }),
291
291
  }),
292
292
  });
293
- const ConstantProfessionSpecialAbility = TypeAlias(import.meta.url, {
293
+ const ConstantProfessionSpecialAbility = DB.TypeAlias(import.meta.url, {
294
294
  name: "ConstantProfessionSpecialAbility",
295
- type: () => ObjectType({
296
- id: Required({
295
+ type: () => DB.Object({
296
+ id: DB.Required({
297
297
  comment: "The identifier of the special ability to grant.",
298
- type: IncludeIdentifier(SpecialAbilityIdentifier),
298
+ type: DB.IncludeIdentifier(SpecialAbilityIdentifier),
299
299
  }),
300
- level: Optional({
300
+ level: DB.Optional({
301
301
  comment: "The level of the received special ability. If not specified and the special ability has levels, level 1 is used automatically.",
302
- type: Integer({ minimum: 1 }),
302
+ type: DB.Integer({ minimum: 1 }),
303
303
  }),
304
- options: Optional({
304
+ options: DB.Optional({
305
305
  comment: "Received select options. Order is important. Typically, you only need the first array index, though.",
306
- type: Array(IncludeIdentifier(RequirableSelectOptionIdentifier), { minItems: 1 }),
306
+ type: DB.Array(DB.IncludeIdentifier(RequirableSelectOptionIdentifier), { minItems: 1 }),
307
307
  }),
308
308
  }),
309
309
  });
310
- const ProfessionSpecialAbilitySelection = TypeAlias(import.meta.url, {
310
+ const ProfessionSpecialAbilitySelection = DB.TypeAlias(import.meta.url, {
311
311
  name: "ProfessionSpecialAbilitySelection",
312
- type: () => ObjectType({
313
- options: Required({
312
+ type: () => DB.Object({
313
+ options: DB.Required({
314
314
  comment: `The list of special abilities to choose from. Must contain at least two entries.`,
315
- type: Array(IncludeIdentifier(ConstantProfessionSpecialAbility), { minItems: 2 }),
315
+ type: DB.Array(DB.IncludeIdentifier(ConstantProfessionSpecialAbility), { minItems: 2 }),
316
316
  }),
317
317
  }),
318
318
  });
319
- const ProfessionVariantSpecialAbility = TypeAlias(import.meta.url, {
319
+ const ProfessionVariantSpecialAbility = DB.TypeAlias(import.meta.url, {
320
320
  name: "ProfessionVariantSpecialAbility",
321
- type: () => ObjectType({
322
- action: Required({
321
+ type: () => DB.Object({
322
+ action: DB.Required({
323
323
  comment: "If the selection is added to the base profession or if it removes a selection from the base profession with the same values.",
324
- type: IncludeIdentifier(VariantSpecialAbilityAction),
324
+ type: DB.IncludeIdentifier(VariantSpecialAbilityAction),
325
325
  }),
326
- value: Required({
326
+ value: DB.Required({
327
327
  comment: "The special ability to add or remove.",
328
- type: IncludeIdentifier(ProfessionSpecialAbility),
328
+ type: DB.IncludeIdentifier(ProfessionSpecialAbility),
329
329
  }),
330
330
  }),
331
331
  });
332
- const CombatTechniqueRating = TypeAlias(import.meta.url, {
332
+ const CombatTechniqueRating = DB.TypeAlias(import.meta.url, {
333
333
  name: "CombatTechniqueRating",
334
- type: () => ObjectType({
335
- id: Required({
334
+ type: () => DB.Object({
335
+ id: DB.Required({
336
336
  comment: "The identifier of the combat technique to provide the rating for.",
337
- type: IncludeIdentifier(CombatTechniqueIdentifier),
337
+ type: DB.IncludeIdentifier(CombatTechniqueIdentifier),
338
338
  }),
339
- rating_modifier: Required({
339
+ rating_modifier: DB.Required({
340
340
  comment: "The rating bonus provided for the combat technique. If used in a profession variant, it can also be used to lower the bonus of the base profession.\n\n**Note:** This is a rating *bonus*, so it will be *added* to the default value of 6.",
341
- type: Integer(),
341
+ type: DB.Integer(),
342
342
  }),
343
343
  }),
344
344
  });
345
- export const SkillRating = TypeAlias(import.meta.url, {
345
+ export const SkillRating = DB.TypeAlias(import.meta.url, {
346
346
  name: "SkillRating",
347
- type: () => ObjectType({
348
- id: Required({
347
+ type: () => DB.Object({
348
+ id: DB.Required({
349
349
  comment: "The identifier of the skill to provide the rating for.",
350
350
  type: SkillIdentifier(),
351
351
  }),
352
- rating_modifier: Required({
352
+ rating_modifier: DB.Required({
353
353
  comment: "The rating bonus provided for the skill. If used in a profession variant, it can also be used to lower the bonus of the base profession",
354
- type: Integer(),
354
+ type: DB.Integer(),
355
355
  }),
356
356
  }),
357
357
  });
358
- const MagicalSkillRating = TypeAlias(import.meta.url, {
358
+ const MagicalSkillRating = DB.TypeAlias(import.meta.url, {
359
359
  name: "MagicalSkillRating",
360
- type: () => ObjectType({
361
- id: Required({
360
+ type: () => DB.Object({
361
+ id: DB.Required({
362
362
  comment: "The identifier(s) of the spell(s) to choose from to provide the rating for. If multiple spells are provided, they must all have the same improvement cost.",
363
- type: Array(IncludeIdentifier(ProfessionMagicalSkillIdentifier), { minItems: 1 }),
363
+ type: DB.Array(DB.IncludeIdentifier(ProfessionMagicalSkillIdentifier), { minItems: 1 }),
364
364
  }),
365
- rating_modifier: Required({
365
+ rating_modifier: DB.Required({
366
366
  comment: "The rating bonus provided for the (selected) magical skill. If used in a profession variant, it can also be used to lower the bonus of the base profession.\n\n**Note:** If due to a variant a spell rating is lowered to 0, the spell is considered deactivated. Both setting the value for a spell and deactivating it by setting it to 0 takes into account the additional activation cost for spells.",
367
- type: Integer(),
367
+ type: DB.Integer(),
368
368
  }),
369
369
  }),
370
370
  });
371
- const ProfessionMagicalSkillIdentifier = Enum(import.meta.url, {
371
+ const ProfessionMagicalSkillIdentifier = DB.Enum(import.meta.url, {
372
372
  name: "ProfessionMagicalSkillIdentifier",
373
373
  values: () => ({
374
- Spellwork: EnumCase({ type: IncludeIdentifier(ProfessionSpellworkIdentifier) }),
375
- MagicalAction: EnumCase({ type: IncludeIdentifier(ProfessionMagicalActionIdentifier) }),
374
+ Spellwork: DB.EnumCase({ type: DB.IncludeIdentifier(ProfessionSpellworkIdentifier) }),
375
+ MagicalAction: DB.EnumCase({ type: DB.IncludeIdentifier(ProfessionMagicalActionIdentifier) }),
376
376
  }),
377
377
  });
378
- const ProfessionSpellworkIdentifier = TypeAlias(import.meta.url, {
378
+ const ProfessionSpellworkIdentifier = DB.TypeAlias(import.meta.url, {
379
379
  name: "ProfessionSpellworkIdentifier",
380
- type: () => ObjectType({
381
- id: Required({
380
+ type: () => DB.Object({
381
+ id: DB.Required({
382
382
  comment: "The identifier of the spell to provide the rating for.",
383
- type: IncludeIdentifier(SpellworkIdentifier),
383
+ type: DB.IncludeIdentifier(SpellworkIdentifier),
384
384
  }),
385
- tradition: Optional({
385
+ tradition: DB.Optional({
386
386
  comment: "If the spell is not part of the magical tradition required by the package, this references the magical tradition it is part of. It can also be used to define the target magical tradition of a spell if multiple magical traditions are required and the spell is available to multiple of them.",
387
387
  type: MagicalTraditionIdentifier(),
388
388
  }),
389
389
  }),
390
390
  });
391
- const ProfessionMagicalActionIdentifier = TypeAlias(import.meta.url, {
391
+ const ProfessionMagicalActionIdentifier = DB.TypeAlias(import.meta.url, {
392
392
  name: "ProfessionMagicalActionIdentifier",
393
- type: () => ObjectType({
394
- id: Required({
393
+ type: () => DB.Object({
394
+ id: DB.Required({
395
395
  comment: "The identifier of the magical action to provide the rating for.",
396
- type: IncludeIdentifier(MagicalActionIdentifier),
396
+ type: DB.IncludeIdentifier(MagicalActionIdentifier),
397
397
  }),
398
398
  }),
399
399
  });
400
- const LiturgicalChantRating = TypeAlias(import.meta.url, {
400
+ const LiturgicalChantRating = DB.TypeAlias(import.meta.url, {
401
401
  name: "LiturgicalChantRating",
402
- type: () => ObjectType({
403
- id: Required({
402
+ type: () => DB.Object({
403
+ id: DB.Required({
404
404
  comment: "The identifier(s) of the liturgical chant(s) to choose from to provide the rating for. If multiple liturgical chants are provided, they must all have the same improvement cost.",
405
- type: Array(IncludeIdentifier(LiturgyIdentifier), { minItems: 1 }),
405
+ type: DB.Array(DB.IncludeIdentifier(LiturgyIdentifier), { minItems: 1 }),
406
406
  }),
407
- rating_modifier: Required({
407
+ rating_modifier: DB.Required({
408
408
  comment: "The rating bonus provided for the selected liturgical chant. If used in a profession variant, it can also be used to lower the bonus of the base profession.\n\n**Note:** If due to a variant a liturgical chant rating is lowered to 0, the liturgical chant is considered deactivated. Both setting the value for a liturgical chant and deactivating it by setting it to 0 takes into account the additional activation cost for liturgical chants.",
409
- type: Integer(),
409
+ type: DB.Integer(),
410
410
  }),
411
411
  }),
412
412
  });
413
- const ProfessionPackageOptions = TypeAlias(import.meta.url, {
413
+ const ProfessionPackageOptions = DB.TypeAlias(import.meta.url, {
414
414
  name: "ProfessionPackageOptions",
415
415
  comment: "In some areas, the profession package grants a loose set of stats where the player must choose between different options for the profession package.",
416
- type: () => ObjectType({
417
- skill_specialization: Optional({
418
- type: IncludeIdentifier(SkillSpecializationOptions),
416
+ type: () => DB.Object({
417
+ skill_specialization: DB.Optional({
418
+ type: DB.IncludeIdentifier(SkillSpecializationOptions),
419
419
  }),
420
- languages_scripts: Optional({
421
- type: IncludeIdentifier(LanguagesScriptsOptions),
420
+ languages_scripts: DB.Optional({
421
+ type: DB.IncludeIdentifier(LanguagesScriptsOptions),
422
422
  }),
423
- combat_techniques: Optional({
424
- type: IncludeIdentifier(CombatTechniquesOptions),
423
+ combat_techniques: DB.Optional({
424
+ type: DB.IncludeIdentifier(CombatTechniquesOptions),
425
425
  }),
426
- cantrips: Optional({
427
- type: IncludeIdentifier(CantripsOptions),
426
+ cantrips: DB.Optional({
427
+ type: DB.IncludeIdentifier(CantripsOptions),
428
428
  }),
429
- curses: Optional({
430
- type: IncludeIdentifier(CursesOptions),
429
+ curses: DB.Optional({
430
+ type: DB.IncludeIdentifier(CursesOptions),
431
431
  }),
432
- terrain_knowledge: Optional({
433
- type: IncludeIdentifier(TerrainKnowledgeOptions),
432
+ terrain_knowledge: DB.Optional({
433
+ type: DB.IncludeIdentifier(TerrainKnowledgeOptions),
434
434
  }),
435
- skills: Optional({
436
- type: IncludeIdentifier(SkillsOptions),
435
+ skills: DB.Optional({
436
+ type: DB.IncludeIdentifier(SkillsOptions),
437
437
  }),
438
- liturgies: Optional({
439
- type: IncludeIdentifier(LiturgiesOptions),
438
+ liturgies: DB.Optional({
439
+ type: DB.IncludeIdentifier(LiturgiesOptions),
440
440
  }),
441
441
  }, { minProperties: 1 }),
442
442
  });
443
- const ProfessionVariantPackageOptions = TypeAlias(import.meta.url, {
443
+ const ProfessionVariantPackageOptions = DB.TypeAlias(import.meta.url, {
444
444
  name: "ProfessionVariantPackageOptions",
445
445
  comment: "In some areas, the profession package grants a loose set of stats where the player must choose between different options for the profession package. The variant may override or remove those options.",
446
- type: () => ObjectType({
447
- skill_specialization: Optional({
448
- type: GenIncludeIdentifier(VariantOptionAction, [
449
- IncludeIdentifier(SkillSpecializationOptions),
446
+ type: () => DB.Object({
447
+ skill_specialization: DB.Optional({
448
+ type: DB.GenIncludeIdentifier(VariantOptionAction, [
449
+ DB.IncludeIdentifier(SkillSpecializationOptions),
450
450
  ]),
451
451
  }),
452
- languages_scripts: Optional({
453
- type: GenIncludeIdentifier(VariantOptionAction, [
454
- IncludeIdentifier(LanguagesScriptsOptions),
452
+ languages_scripts: DB.Optional({
453
+ type: DB.GenIncludeIdentifier(VariantOptionAction, [
454
+ DB.IncludeIdentifier(LanguagesScriptsOptions),
455
455
  ]),
456
456
  }),
457
- combat_techniques: Optional({
458
- type: GenIncludeIdentifier(VariantOptionAction, [
459
- IncludeIdentifier(CombatTechniquesOptions),
457
+ combat_techniques: DB.Optional({
458
+ type: DB.GenIncludeIdentifier(VariantOptionAction, [
459
+ DB.IncludeIdentifier(CombatTechniquesOptions),
460
460
  ]),
461
461
  }),
462
- cantrips: Optional({
463
- type: GenIncludeIdentifier(VariantOptionAction, [IncludeIdentifier(CantripsOptions)]),
462
+ cantrips: DB.Optional({
463
+ type: DB.GenIncludeIdentifier(VariantOptionAction, [
464
+ DB.IncludeIdentifier(CantripsOptions),
465
+ ]),
464
466
  }),
465
- curses: Optional({
466
- type: GenIncludeIdentifier(VariantOptionAction, [IncludeIdentifier(CursesOptions)]),
467
+ curses: DB.Optional({
468
+ type: DB.GenIncludeIdentifier(VariantOptionAction, [DB.IncludeIdentifier(CursesOptions)]),
467
469
  }),
468
- terrain_knowledge: Optional({
469
- type: GenIncludeIdentifier(VariantOptionAction, [
470
- IncludeIdentifier(TerrainKnowledgeOptions),
470
+ terrain_knowledge: DB.Optional({
471
+ type: DB.GenIncludeIdentifier(VariantOptionAction, [
472
+ DB.IncludeIdentifier(TerrainKnowledgeOptions),
471
473
  ]),
472
474
  }),
473
- skills: Optional({
474
- type: GenIncludeIdentifier(VariantOptionAction, [IncludeIdentifier(SkillsOptions)]),
475
+ skills: DB.Optional({
476
+ type: DB.GenIncludeIdentifier(VariantOptionAction, [DB.IncludeIdentifier(SkillsOptions)]),
475
477
  }),
476
- liturgies: Optional({
477
- type: GenIncludeIdentifier(VariantOptionAction, [IncludeIdentifier(LiturgiesOptions)]),
478
+ liturgies: DB.Optional({
479
+ type: DB.GenIncludeIdentifier(VariantOptionAction, [
480
+ DB.IncludeIdentifier(LiturgiesOptions),
481
+ ]),
478
482
  }),
479
483
  }, { minProperties: 1 }),
480
484
  });
481
- const VariantOptionAction = GenEnum(import.meta.url, {
485
+ const VariantOptionAction = DB.GenEnum(import.meta.url, {
482
486
  name: "VariantOptionAction",
483
- parameters: [Param("T")],
487
+ parameters: [DB.Param("T")],
484
488
  values: T => ({
485
- Remove: EnumCase({ type: null }),
486
- Override: EnumCase({ type: TypeArgument(T) }),
489
+ Remove: DB.EnumCase({ type: null }),
490
+ Override: DB.EnumCase({ type: DB.TypeArgument(T) }),
487
491
  }),
488
492
  });
489
- const SkillSpecializationOptions = Enum(import.meta.url, {
493
+ const SkillSpecializationOptions = DB.Enum(import.meta.url, {
490
494
  name: "SkillSpecializationOptions",
491
495
  comment: `Select an application from a skill or from one of a list of skills where you get a skill specialization for. You can also specify a skill group from which you can choose a skill.`,
492
496
  values: () => ({
493
- Specific: EnumCase({ type: IncludeIdentifier(SpecificSkillSpecializationOptions) }),
494
- Group: EnumCase({ type: SkillGroupIdentifier() }),
497
+ Specific: DB.EnumCase({ type: DB.IncludeIdentifier(SpecificSkillSpecializationOptions) }),
498
+ Group: DB.EnumCase({ type: SkillGroupIdentifier() }),
495
499
  }),
496
500
  });
497
- const SpecificSkillSpecializationOptions = TypeAlias(import.meta.url, {
501
+ const SpecificSkillSpecializationOptions = DB.TypeAlias(import.meta.url, {
498
502
  name: "SpecificSkillSpecializationOptions",
499
503
  comment: `Select an application from a skill or from one of a list of skills where you get a skill specialization for.`,
500
- type: () => ObjectType({
501
- options: Required({
504
+ type: () => DB.Object({
505
+ options: DB.Required({
502
506
  comment: `Possible skill(s) to get a skill specialization for.`,
503
- type: Array(SkillIdentifier(), { minItems: 1, uniqueItems: true }),
507
+ type: DB.Array(SkillIdentifier(), { minItems: 1, uniqueItems: true }),
504
508
  }),
505
509
  }),
506
510
  });
507
- const LanguagesScriptsOptions = TypeAlias(import.meta.url, {
511
+ const LanguagesScriptsOptions = DB.TypeAlias(import.meta.url, {
508
512
  name: "LanguagesScriptsOptions",
509
513
  comment: `Buy languages and scripts for a specific amount of AP.`,
510
- type: () => ObjectType({
511
- ap_value: Required({
514
+ type: () => DB.Object({
515
+ ap_value: DB.Required({
512
516
  comment: "The AP value you can buy languages and scripts for.",
513
- type: Integer({ minimum: 2 }),
517
+ type: DB.Integer({ minimum: 2 }),
514
518
  }),
515
519
  }),
516
520
  });
517
- const CombatTechniquesOptions = TypeAlias(import.meta.url, {
521
+ const CombatTechniquesOptions = DB.TypeAlias(import.meta.url, {
518
522
  name: "CombatTechniquesOptions",
519
523
  comment: `Select one or more combat techniques you get a CtR bonus for.`,
520
- type: () => ObjectType({
521
- fixed: Required({
524
+ type: () => DB.Object({
525
+ fixed: DB.Required({
522
526
  comment: `Specify the number of combat techniques that can be selected so that they get increased to a specific CtR. There can be multiple selections with different CtRs.`,
523
- type: Array(IncludeIdentifier(RatingForCombatTechniquesNumber), { minItems: 1 }),
527
+ type: DB.Array(DB.IncludeIdentifier(RatingForCombatTechniquesNumber), { minItems: 1 }),
524
528
  }),
525
- rest_rating_modifier: Optional({
529
+ rest_rating_modifier: DB.Optional({
526
530
  comment: `Define if after the fixed selections the remaining unselected combat techniques will receive a certain rating bonus as well.`,
527
- type: Integer({ minimum: 1 }),
531
+ type: DB.Integer({ minimum: 1 }),
528
532
  }),
529
- options: Required({
533
+ options: DB.Required({
530
534
  comment: "The list of combat techniques to choose from.",
531
- type: Array(IncludeIdentifier(CombatTechniqueIdentifier), { minItems: 2 }),
535
+ type: DB.Array(DB.IncludeIdentifier(CombatTechniqueIdentifier), { minItems: 2 }),
532
536
  }),
533
537
  }),
534
538
  });
535
- const RatingForCombatTechniquesNumber = TypeAlias(import.meta.url, {
539
+ const RatingForCombatTechniquesNumber = DB.TypeAlias(import.meta.url, {
536
540
  name: "RatingForCombatTechniquesNumber",
537
- type: () => ObjectType({
538
- number: Required({
541
+ type: () => DB.Object({
542
+ number: DB.Required({
539
543
  comment: "The number of selectable combat techniques.",
540
- type: Integer({ minimum: 1 }),
544
+ type: DB.Integer({ minimum: 1 }),
541
545
  }),
542
- rating_modifier: Required({
546
+ rating_modifier: DB.Required({
543
547
  comment: `The rating bonus provided for the selected combat technique(s).
544
548
 
545
549
  **Note:** This is a rating *bonus*, so it will be *added* to the default value of 6.`,
546
- type: Integer({ minimum: 1 }),
550
+ type: DB.Integer({ minimum: 1 }),
547
551
  }),
548
552
  }),
549
553
  });
550
- const CantripsOptions = TypeAlias(import.meta.url, {
554
+ const CantripsOptions = DB.TypeAlias(import.meta.url, {
551
555
  name: "CantripsOptions",
552
556
  comment: `Select one or more cantrips you receive.`,
553
- type: () => ObjectType({
554
- number: Required({
557
+ type: () => DB.Object({
558
+ number: DB.Required({
555
559
  comment: "The number of selectable cantrips.",
556
- type: Integer({ minimum: 1 }),
560
+ type: DB.Integer({ minimum: 1 }),
557
561
  }),
558
- options: Required({
562
+ options: DB.Required({
559
563
  comment: "The list of cantrips to choose from.",
560
- type: Array(CantripIdentifier(), { minItems: 2 }),
564
+ type: DB.Array(CantripIdentifier(), { minItems: 2 }),
561
565
  }),
562
566
  }),
563
567
  });
564
- const CursesOptions = TypeAlias(import.meta.url, {
568
+ const CursesOptions = DB.TypeAlias(import.meta.url, {
565
569
  name: "CursesOptions",
566
570
  comment: `Buy curses for a specific amount of AP.`,
567
- type: () => ObjectType({
568
- ap_value: Required({
571
+ type: () => DB.Object({
572
+ ap_value: DB.Required({
569
573
  comment: "The AP value you can buy curses for.",
570
- type: Integer({ minimum: 2 }),
574
+ type: DB.Integer({ minimum: 2 }),
571
575
  }),
572
576
  }),
573
577
  });
574
- const TerrainKnowledgeOptions = TypeAlias(import.meta.url, {
578
+ const TerrainKnowledgeOptions = DB.TypeAlias(import.meta.url, {
575
579
  name: "TerrainKnowledgeOptions",
576
580
  comment: `Select one of a list of possible terrain knowledges`,
577
- type: () => ObjectType({
578
- options: Required({
581
+ type: () => DB.Object({
582
+ options: DB.Required({
579
583
  comment: "The list of possible terrain knowledges.",
580
- type: Array(GeneralSelectOptionIdentifier(), { minItems: 2 }),
584
+ type: DB.Array(GeneralSelectOptionIdentifier(), { minItems: 2 }),
581
585
  }),
582
586
  }),
583
587
  });
584
- const SkillsOptions = TypeAlias(import.meta.url, {
588
+ const SkillsOptions = DB.TypeAlias(import.meta.url, {
585
589
  name: "SkillsOptions",
586
590
  comment: `Buy skills for a specific amount of AP.`,
587
- type: () => ObjectType({
588
- group: Optional({
591
+ type: () => DB.Object({
592
+ group: DB.Optional({
589
593
  comment: "If specified, you may only choose from skills of the specified group.",
590
594
  type: SkillGroupIdentifier(),
591
595
  }),
592
- ap_value: Required({
596
+ ap_value: DB.Required({
593
597
  comment: "The AP value you can buy skills for.",
594
- type: Integer({ minimum: 1 }),
598
+ type: DB.Integer({ minimum: 1 }),
595
599
  }),
596
600
  }),
597
601
  });
598
- const LiturgiesOptions = TypeAlias(import.meta.url, {
602
+ const LiturgiesOptions = DB.TypeAlias(import.meta.url, {
599
603
  name: "LiturgiesOptions",
600
604
  comment: `Buy liturgical chants and ceremonies for a specific amount of AP.`,
601
- type: () => ObjectType({
602
- ap_value: Required({
605
+ type: () => DB.Object({
606
+ ap_value: DB.Required({
603
607
  comment: "The AP value you can buy liturgical chants and ceremonies for.",
604
- type: Integer({ minimum: 1 }),
608
+ type: DB.Integer({ minimum: 1 }),
605
609
  }),
606
610
  }),
607
611
  });
608
- const ProfessionName = TypeAlias(import.meta.url, {
612
+ const ProfessionName = DB.TypeAlias(import.meta.url, {
609
613
  name: "ProfessionName",
610
614
  comment: "The name of the profession that may have sex-specific names. Useful if the term in generell is different (i.e. actor/actress) or if the language uses gendered nouns. The default name is also used in case neither the male nor female name strictly applies.",
611
- type: () => ObjectType({
612
- default: Required({
615
+ type: () => DB.Object({
616
+ default: DB.Required({
613
617
  comment: "The name from the source publication. This is also used if a character has no specified gender or is neither male nor female.",
614
- type: String({ minLength: 1 }),
618
+ type: DB.String({ minLength: 1 }),
615
619
  }),
616
- male: Optional({
620
+ male: DB.Optional({
617
621
  comment: "The male name, if different from the default name.",
618
- type: String({ minLength: 1 }),
622
+ type: DB.String({ minLength: 1 }),
619
623
  }),
620
- female: Optional({
624
+ female: DB.Optional({
621
625
  comment: "The female name, if different from the default name.",
622
- type: String({ minLength: 1 }),
626
+ type: DB.String({ minLength: 1 }),
623
627
  }),
624
628
  }),
625
629
  });