@optolith/database-schema 0.78.0 → 0.79.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/gen/types.d.ts +163 -2
  3. package/lib/types/Advantage.d.ts +29 -0
  4. package/lib/types/Advantage.js +2 -1
  5. package/lib/types/Disadvantage.d.ts +29 -0
  6. package/lib/types/Disadvantage.js +2 -1
  7. package/lib/types/_ActivatableSelectOptions.d.ts +930 -1
  8. package/lib/types/_ActivatableSelectOptions.js +138 -117
  9. package/lib/types/equipment/item/Armor.d.ts +12 -1
  10. package/lib/types/equipment/item/Armor.js +14 -5
  11. package/lib/types/equipment/item/BandageOrRemedy.d.ts +12 -1
  12. package/lib/types/equipment/item/CeremonialItem.d.ts +12 -1
  13. package/lib/types/equipment/item/Clothes.d.ts +12 -1
  14. package/lib/types/equipment/item/Container.d.ts +12 -1
  15. package/lib/types/equipment/item/EquipmentCategory.d.ts +15 -0
  16. package/lib/types/equipment/item/EquipmentCategory.js +5 -0
  17. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +12 -1
  18. package/lib/types/equipment/item/IlluminationLightSource.d.ts +21 -1
  19. package/lib/types/equipment/item/IlluminationLightSource.js +1 -1
  20. package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +12 -1
  21. package/lib/types/equipment/item/Item.d.ts +21 -1
  22. package/lib/types/equipment/item/Item.js +19 -9
  23. package/lib/types/equipment/item/Liebesspielzeug.d.ts +12 -1
  24. package/lib/types/equipment/item/LuxuryGood.d.ts +12 -1
  25. package/lib/types/equipment/item/MagicalArtifact.d.ts +12 -1
  26. package/lib/types/equipment/item/MusicalInstrument.d.ts +12 -1
  27. package/lib/types/equipment/item/OrienteeringAid.d.ts +12 -1
  28. package/lib/types/equipment/item/RopeOrChain.d.ts +12 -1
  29. package/lib/types/equipment/item/Stationery.d.ts +12 -1
  30. package/lib/types/equipment/item/ThievesTool.d.ts +12 -1
  31. package/lib/types/equipment/item/TravelGearOrTool.d.ts +12 -1
  32. package/lib/types/equipment/item/WeaponAccessory.d.ts +12 -1
  33. package/lib/types/equipment/item/_Item.d.ts +24 -2
  34. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +29 -0
  35. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +2 -1
  36. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +29 -0
  37. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +2 -1
  38. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +29 -0
  39. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +2 -1
  40. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +29 -0
  41. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +2 -1
  42. package/lib/types/specialAbility/AncestorGlyph.d.ts +29 -0
  43. package/lib/types/specialAbility/AncestorGlyph.js +2 -1
  44. package/lib/types/specialAbility/BlessedTradition.d.ts +29 -0
  45. package/lib/types/specialAbility/BlessedTradition.js +2 -1
  46. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +29 -0
  47. package/lib/types/specialAbility/BrawlingSpecialAbility.js +2 -1
  48. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +29 -0
  49. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +2 -1
  50. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +29 -0
  51. package/lib/types/specialAbility/CombatSpecialAbility.js +2 -1
  52. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +29 -0
  53. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +3 -2
  54. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +29 -0
  55. package/lib/types/specialAbility/CommandSpecialAbility.js +2 -1
  56. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +29 -0
  57. package/lib/types/specialAbility/FamiliarSpecialAbility.js +2 -1
  58. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +29 -0
  59. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +2 -1
  60. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +29 -0
  61. package/lib/types/specialAbility/FatePointSpecialAbility.js +2 -1
  62. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +29 -0
  63. package/lib/types/specialAbility/GeneralSpecialAbility.js +2 -1
  64. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +29 -0
  65. package/lib/types/specialAbility/KarmaSpecialAbility.js +2 -1
  66. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +29 -0
  67. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +2 -1
  68. package/lib/types/specialAbility/LycantropicGift.d.ts +29 -0
  69. package/lib/types/specialAbility/LycantropicGift.js +2 -1
  70. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +29 -0
  71. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +2 -1
  72. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +29 -0
  73. package/lib/types/specialAbility/MagicalSpecialAbility.js +2 -1
  74. package/lib/types/specialAbility/MagicalTradition.d.ts +29 -0
  75. package/lib/types/specialAbility/MagicalTradition.js +2 -1
  76. package/lib/types/specialAbility/PactGift.d.ts +29 -0
  77. package/lib/types/specialAbility/PactGift.js +2 -1
  78. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +29 -0
  79. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +2 -1
  80. package/lib/types/specialAbility/Sermon.d.ts +29 -0
  81. package/lib/types/specialAbility/Sermon.js +2 -1
  82. package/lib/types/specialAbility/SexSpecialAbility.d.ts +29 -0
  83. package/lib/types/specialAbility/SexSpecialAbility.js +2 -1
  84. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +29 -0
  85. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +2 -1
  86. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +29 -0
  87. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +2 -1
  88. package/lib/types/specialAbility/VampiricGift.d.ts +29 -0
  89. package/lib/types/specialAbility/VampiricGift.js +2 -1
  90. package/lib/types/specialAbility/Vision.d.ts +29 -0
  91. package/lib/types/specialAbility/Vision.js +2 -1
  92. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +1 -1493
  93. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +2 -34
  94. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +1 -1493
  95. package/lib/types/traditionArtifacts/AttireEnchantment.js +2 -34
  96. package/lib/types/traditionArtifacts/Beutelzauber.d.ts +1 -1493
  97. package/lib/types/traditionArtifacts/Beutelzauber.js +2 -34
  98. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +1 -1493
  99. package/lib/types/traditionArtifacts/BowlEnchantment.js +2 -34
  100. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +1 -1493
  101. package/lib/types/traditionArtifacts/CauldronEnchantment.js +5 -36
  102. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +1 -1493
  103. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +2 -34
  104. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +1 -1499
  105. package/lib/types/traditionArtifacts/DaggerRitual.js +5 -34
  106. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +1 -1493
  107. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +2 -34
  108. package/lib/types/traditionArtifacts/Haubenzauber.d.ts +1 -1493
  109. package/lib/types/traditionArtifacts/Haubenzauber.js +2 -34
  110. package/lib/types/traditionArtifacts/Hauerkettenzauber.d.ts +1 -464
  111. package/lib/types/traditionArtifacts/Hauerkettenzauber.js +2 -31
  112. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +1 -1493
  113. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +2 -34
  114. package/lib/types/traditionArtifacts/Keulenzauber.d.ts +1 -464
  115. package/lib/types/traditionArtifacts/Keulenzauber.js +2 -31
  116. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +1 -1493
  117. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +2 -34
  118. package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +1 -1493
  119. package/lib/types/traditionArtifacts/Kristallkugelzauber.js +2 -34
  120. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +1 -1493
  121. package/lib/types/traditionArtifacts/OrbEnchantment.js +2 -34
  122. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +1 -1493
  123. package/lib/types/traditionArtifacts/RingEnchantment.js +2 -34
  124. package/lib/types/traditionArtifacts/Schweinetrommelzauber.d.ts +1 -464
  125. package/lib/types/traditionArtifacts/Schweinetrommelzauber.js +2 -31
  126. package/lib/types/traditionArtifacts/SickleRitual.d.ts +1 -1493
  127. package/lib/types/traditionArtifacts/SickleRitual.js +2 -34
  128. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +1 -1493
  129. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +2 -34
  130. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +1 -1493
  131. package/lib/types/traditionArtifacts/StaffEnchantment.js +2 -34
  132. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +1 -1493
  133. package/lib/types/traditionArtifacts/ToyEnchantment.js +2 -34
  134. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +1 -1493
  135. package/lib/types/traditionArtifacts/Trinkhornzauber.js +2 -34
  136. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +1 -1455
  137. package/lib/types/traditionArtifacts/WandEnchantment.js +3 -33
  138. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +1 -1493
  139. package/lib/types/traditionArtifacts/WeaponEnchantment.js +2 -34
  140. package/lib/types/traditionArtifacts/_shared.d.ts +10 -0
  141. package/lib/types/traditionArtifacts/_shared.js +40 -3
  142. package/package.json +1 -1
@@ -12,6 +12,7 @@ import { RangedWeapon } from "./_RangedWeapon.js";
12
12
  import { checkWeaponCombatTechniqueIntegrity } from "./_Weapon.js";
13
13
  import { SecondaryArmor } from "./Armor.js";
14
14
  import { isEquipmentCategoryOfDefaultType, mergeAllValueRules } from "./EquipmentCategory.js";
15
+ import { BurningTime } from "./IlluminationLightSource.js";
15
16
  export const Item = DB.Entity(import.meta.url, {
16
17
  name: "Item",
17
18
  namePlural: "Items",
@@ -36,6 +37,10 @@ export const Item = DB.Entity(import.meta.url, {
36
37
  comment: "The structure points of the item. Use an array if the item consists of multiple components that have individual structure points.",
37
38
  type: DB.IncludeIdentifier(StructurePoints),
38
39
  }),
40
+ burningTime: DB.Optional({
41
+ comment: "The burning time is the time how long the light source can be lit. After that time you have to use a new light source.",
42
+ type: DB.IncludeIdentifier(BurningTime),
43
+ }),
39
44
  meleeUses: DB.Optional({
40
45
  comment: "A list of stat blocks for each close combat technique this weapon can be used with.",
41
46
  type: DB.NestedEntityMap({
@@ -110,22 +115,26 @@ export const Item = DB.Entity(import.meta.url, {
110
115
  keyPathInEntityMap: "name",
111
116
  },
112
117
  ],
113
- customConstraints: ({ instanceContent, ...rest }) => checkWeaponCombatTechniqueIntegrity({
114
- ...rest,
115
- instanceContent,
116
- }).concat(checkEquipmentCategoryConstraintsWithItem(instanceContent, rest.getInstanceById)),
118
+ customConstraints: ({ instanceContent, ...rest }) => checkEquipmentCategoryConstraintsWithItem(instanceContent, rest.getInstanceById, rest.getDisplayNameAndId),
117
119
  });
118
- const checkEquipmentCategoryConstraintsWithItem = (item, getInstanceById) => {
120
+ const checkEquipmentCategoryConstraintsWithItem = (item, getInstanceById, getDisplayNameAndId) => {
119
121
  const categories = item.categories.map(categoryId => getInstanceById("EquipmentCategory", categoryId));
120
122
  if (isNotEmpty(categories)) {
121
123
  if (categories.every(isNotNullish)) {
122
124
  if (categories.every(isEquipmentCategoryOfDefaultType)) {
123
125
  const mergedRules = mergeAllValueRules(categories.map(c => c.type.Default));
124
126
  const errors = [];
125
- if (mergedRules.combatValues.isWeaponAllowed &&
126
- item.meleeUses === undefined &&
127
- item.rangedUses === undefined) {
128
- errors.push("A weapon must defined at least one melee use or ranged use.");
127
+ if (mergedRules.combatValues.isWeaponAllowed) {
128
+ if (item.meleeUses === undefined && item.rangedUses === undefined) {
129
+ errors.push("A weapon must defined at least one melee use or ranged use.");
130
+ }
131
+ else {
132
+ errors.push(...checkWeaponCombatTechniqueIntegrity({
133
+ instanceContent: item,
134
+ getInstanceById,
135
+ getDisplayNameAndId,
136
+ }));
137
+ }
129
138
  }
130
139
  if (mergedRules.combatValues.isArmorAllowed && item.armorUse === undefined) {
131
140
  errors.push("An armor must defined an armor use.");
@@ -149,6 +158,7 @@ const checkEquipmentCategoryConstraintsWithItem = (item, getInstanceById) => {
149
158
  applyValueRule(mergedRules.restrictedTo, item.restrictedTo, "Restriction are");
150
159
  applyValueRule(mergedRules.structurePoints, item.structurePoints, "Structure points are");
151
160
  applyValueRule(mergedRules.weight, item.weight, "A weight is");
161
+ applyValueRule(mergedRules.burningTime, item.burningTime, "A burning time is");
152
162
  return errors;
153
163
  }
154
164
  else {
@@ -148,7 +148,18 @@ export declare const Liebesspielzeug: DB.Entity<"Liebesspielzeug", {
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
152
+ Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
153
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
154
+ }>, []>>>;
155
+ StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
156
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
157
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
158
+ }>, []>>>;
159
+ Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
160
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
161
+ }>, []>>>;
162
+ }, []>>, true>;
152
163
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
164
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
165
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -148,7 +148,18 @@ export declare const LuxuryGood: DB.Entity<"LuxuryGood", {
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
152
+ Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
153
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
154
+ }>, []>>>;
155
+ StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
156
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
157
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
158
+ }>, []>>>;
159
+ Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
160
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
161
+ }>, []>>>;
162
+ }, []>>, true>;
152
163
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
164
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
165
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -148,7 +148,18 @@ export declare const MagicalArtifact: DB.Entity<"MagicalArtifact", {
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
152
+ Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
153
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
154
+ }>, []>>>;
155
+ StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
156
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
157
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
158
+ }>, []>>>;
159
+ Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
160
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
161
+ }>, []>>>;
162
+ }, []>>, true>;
152
163
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
164
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
165
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -148,7 +148,18 @@ export declare const MusicalInstrument: DB.Entity<"MusicalInstrument", {
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
152
+ Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
153
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
154
+ }>, []>>>;
155
+ StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
156
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
157
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
158
+ }>, []>>>;
159
+ Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
160
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
161
+ }>, []>>>;
162
+ }, []>>, true>;
152
163
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
164
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
165
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -147,7 +147,18 @@ export declare const OrienteeringAid: import("tsondb/schema/dsl").Entity<string,
147
147
  protection: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"Protection", import("tsondb/schema/dsl").Integer, []>>, true>;
148
148
  encumbrance: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"Encumbrance", import("tsondb/schema/dsl").Integer, []>>, true>;
149
149
  has_additional_penalties: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HasAdditionalPenalties", import("tsondb/schema/dsl").Boolean, []>>, true>;
150
- variantOf: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
150
+ armorType: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"ArmorType", {
151
+ Standard: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StandardArmorType", import("tsondb/schema/dsl").Object<{
152
+ sturdinessRating: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
153
+ }>, []>>>;
154
+ StandardVariant: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StandardVariantArmorType", import("tsondb/schema/dsl").Object<{
155
+ variantOf: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
156
+ sturdinessRating: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
157
+ }>, []>>>;
158
+ Variant: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"VariantArmorType", import("tsondb/schema/dsl").Object<{
159
+ variantOf: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
160
+ }>, []>>>;
161
+ }, []>>, true>;
151
162
  hit_zone: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"HitZone", {
152
163
  Head: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HeadHitZone", import("tsondb/schema/dsl").Object<{
153
164
  combination_possibilities: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HeadHitZoneCombinationPossibilities", import("tsondb/schema/dsl").Object<{
@@ -147,7 +147,18 @@ export declare const RopeOrChain: import("tsondb/schema/dsl").Entity<string, {
147
147
  protection: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"Protection", import("tsondb/schema/dsl").Integer, []>>, true>;
148
148
  encumbrance: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"Encumbrance", import("tsondb/schema/dsl").Integer, []>>, true>;
149
149
  has_additional_penalties: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HasAdditionalPenalties", import("tsondb/schema/dsl").Boolean, []>>, true>;
150
- variantOf: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
150
+ armorType: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"ArmorType", {
151
+ Standard: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StandardArmorType", import("tsondb/schema/dsl").Object<{
152
+ sturdinessRating: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
153
+ }>, []>>>;
154
+ StandardVariant: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StandardVariantArmorType", import("tsondb/schema/dsl").Object<{
155
+ variantOf: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
156
+ sturdinessRating: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
157
+ }>, []>>>;
158
+ Variant: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"VariantArmorType", import("tsondb/schema/dsl").Object<{
159
+ variantOf: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
160
+ }>, []>>>;
161
+ }, []>>, true>;
151
162
  hit_zone: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"HitZone", {
152
163
  Head: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HeadHitZone", import("tsondb/schema/dsl").Object<{
153
164
  combination_possibilities: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HeadHitZoneCombinationPossibilities", import("tsondb/schema/dsl").Object<{
@@ -147,7 +147,18 @@ export declare const Stationery: import("tsondb/schema/dsl").Entity<string, {
147
147
  protection: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"Protection", import("tsondb/schema/dsl").Integer, []>>, true>;
148
148
  encumbrance: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"Encumbrance", import("tsondb/schema/dsl").Integer, []>>, true>;
149
149
  has_additional_penalties: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HasAdditionalPenalties", import("tsondb/schema/dsl").Boolean, []>>, true>;
150
- variantOf: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
150
+ armorType: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"ArmorType", {
151
+ Standard: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StandardArmorType", import("tsondb/schema/dsl").Object<{
152
+ sturdinessRating: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
153
+ }>, []>>>;
154
+ StandardVariant: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StandardVariantArmorType", import("tsondb/schema/dsl").Object<{
155
+ variantOf: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
156
+ sturdinessRating: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
157
+ }>, []>>>;
158
+ Variant: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"VariantArmorType", import("tsondb/schema/dsl").Object<{
159
+ variantOf: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
160
+ }>, []>>>;
161
+ }, []>>, true>;
151
162
  hit_zone: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"HitZone", {
152
163
  Head: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HeadHitZone", import("tsondb/schema/dsl").Object<{
153
164
  combination_possibilities: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HeadHitZoneCombinationPossibilities", import("tsondb/schema/dsl").Object<{
@@ -147,7 +147,18 @@ export declare const ThievesTool: import("tsondb/schema/dsl").Entity<string, {
147
147
  protection: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"Protection", import("tsondb/schema/dsl").Integer, []>>, true>;
148
148
  encumbrance: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"Encumbrance", import("tsondb/schema/dsl").Integer, []>>, true>;
149
149
  has_additional_penalties: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HasAdditionalPenalties", import("tsondb/schema/dsl").Boolean, []>>, true>;
150
- variantOf: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
150
+ armorType: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"ArmorType", {
151
+ Standard: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StandardArmorType", import("tsondb/schema/dsl").Object<{
152
+ sturdinessRating: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
153
+ }>, []>>>;
154
+ StandardVariant: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StandardVariantArmorType", import("tsondb/schema/dsl").Object<{
155
+ variantOf: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
156
+ sturdinessRating: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
157
+ }>, []>>>;
158
+ Variant: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"VariantArmorType", import("tsondb/schema/dsl").Object<{
159
+ variantOf: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
160
+ }>, []>>>;
161
+ }, []>>, true>;
151
162
  hit_zone: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"HitZone", {
152
163
  Head: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HeadHitZone", import("tsondb/schema/dsl").Object<{
153
164
  combination_possibilities: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HeadHitZoneCombinationPossibilities", import("tsondb/schema/dsl").Object<{
@@ -148,7 +148,18 @@ export declare const TravelGearOrTool: DB.Entity<"TravelGearOrTool", {
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
152
+ Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
153
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
154
+ }>, []>>>;
155
+ StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
156
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
157
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
158
+ }>, []>>>;
159
+ Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
160
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
161
+ }>, []>>>;
162
+ }, []>>, true>;
152
163
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
164
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
165
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -148,7 +148,18 @@ export declare const WeaponAccessory: DB.Entity<"WeaponAccessory", {
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
152
+ Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
153
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
154
+ }>, []>>>;
155
+ StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
156
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
157
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
158
+ }>, []>>>;
159
+ Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
160
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
161
+ }>, []>>>;
162
+ }, []>>, true>;
152
163
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
164
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
165
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -148,7 +148,18 @@ export declare const DefaultItem: (sourceUrl: string, singularName: string, plur
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
152
+ Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
153
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
154
+ }>, []>>>;
155
+ StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
156
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
157
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
158
+ }>, []>>>;
159
+ Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
160
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
161
+ }>, []>>>;
162
+ }, []>>, true>;
152
163
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
164
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
165
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -328,7 +339,18 @@ export declare const CombatUse: DB.Enum<"CombatUse", {
328
339
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
329
340
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
330
341
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
331
- variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
342
+ armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
343
+ Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
344
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
345
+ }>, []>>>;
346
+ StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
347
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
348
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
349
+ }>, []>>>;
350
+ Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
351
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
352
+ }>, []>>>;
353
+ }, []>>, true>;
332
354
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
333
355
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
334
356
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -850,6 +850,35 @@ export declare const AdvancedCombatSpecialAbility: DB.Entity<"AdvancedCombatSpec
850
850
  }>, []>>>, true>;
851
851
  }>, []>>>;
852
852
  }, []>>, false>;
853
+ rules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRules", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRule", DB.Object<{
854
+ value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionRuleValue", {
855
+ Predefined: DB.EnumCase<null>;
856
+ PredefinedOrTextInput: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"PredefinedOrTextInputSelectOptionRuleValue", DB.Object<{
857
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PredefinedOrTextInputSelectOptionRuleValueTranslation", {
858
+ inputLabel: DB.MemberDecl<DB.String, true>;
859
+ optionLabel: DB.MemberDecl<DB.String, true>;
860
+ }>, true>;
861
+ }>, []>>>;
862
+ Child: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ChildSelectOptionRuleValue", DB.Object<{
863
+ parentIndex: DB.MemberDecl<DB.Integer, true>;
864
+ entity: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ChildEntityForSelectOption", {
865
+ SkillApplication: DB.EnumCase<null>;
866
+ }, []>>, true>;
867
+ }>, []>>>;
868
+ TextInput: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"TextInputSelectOptionRuleValue", DB.Object<{
869
+ translations: DB.MemberDecl<DB.NestedEntityMap<"TextInputSelectOptionRuleValueTranslation", {
870
+ inputLabel: DB.MemberDecl<DB.String, true>;
871
+ }>, true>;
872
+ }>, []>>>;
873
+ }, []>>, true>;
874
+ multiple: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionRuleMultiple", {
875
+ Constant: DB.EnumCase<DB.Integer>;
876
+ Range: DB.EnumCase<DB.Object<{
877
+ min: DB.MemberDecl<DB.Integer, false>;
878
+ max: DB.MemberDecl<DB.Integer, true>;
879
+ }>>;
880
+ }, []>>, false>;
881
+ }>, []>>>, []>>, false>;
853
882
  }>, []>>, false>;
854
883
  explicit_select_options: DB.MemberDecl<DB.ChildEntities<DB.Entity<"GeneralSelectOption", {
855
884
  parent: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionParentIdentifier", {
@@ -3,7 +3,7 @@ import { input, levels, maximum, name, name_in_library, rules } from "../_Activa
3
3
  import { ap_value, ap_value_append, ap_value_l10n } from "../_ActivatableAdventurePointsValue.js";
4
4
  import { combat_techniques, penalty, special_ability_usage_type, type, } from "../_ActivatableCombat.js";
5
5
  import { activatableDisplayNameCustomizer, nameBuilderRules } from "../_ActivatableNames.js";
6
- import { explicit_select_options, select_options } from "../_ActivatableSelectOptions.js";
6
+ import { explicit_select_options, select_options, verifySelectOptionRules, } from "../_ActivatableSelectOptions.js";
7
7
  import { skill_applications, skill_uses } from "../_ActivatableSkillApplicationsAndUses.js";
8
8
  import { GeneralPrerequisites } from "../_Prerequisite.js";
9
9
  import { NestedTranslationMap } from "../Locale.js";
@@ -51,4 +51,5 @@ export const AdvancedCombatSpecialAbility = DB.Entity(import.meta.url, {
51
51
  keyPathInEntityMapFallback: "name",
52
52
  },
53
53
  ],
54
+ customConstraints: deps => verifySelectOptionRules("AdvancedCombatSpecialAbility", deps),
54
55
  });
@@ -841,6 +841,35 @@ export declare const AdvancedKarmaSpecialAbility: DB.Entity<"AdvancedKarmaSpecia
841
841
  }>, []>>>, true>;
842
842
  }>, []>>>;
843
843
  }, []>>, false>;
844
+ rules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRules", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRule", DB.Object<{
845
+ value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionRuleValue", {
846
+ Predefined: DB.EnumCase<null>;
847
+ PredefinedOrTextInput: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"PredefinedOrTextInputSelectOptionRuleValue", DB.Object<{
848
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PredefinedOrTextInputSelectOptionRuleValueTranslation", {
849
+ inputLabel: DB.MemberDecl<DB.String, true>;
850
+ optionLabel: DB.MemberDecl<DB.String, true>;
851
+ }>, true>;
852
+ }>, []>>>;
853
+ Child: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ChildSelectOptionRuleValue", DB.Object<{
854
+ parentIndex: DB.MemberDecl<DB.Integer, true>;
855
+ entity: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ChildEntityForSelectOption", {
856
+ SkillApplication: DB.EnumCase<null>;
857
+ }, []>>, true>;
858
+ }>, []>>>;
859
+ TextInput: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"TextInputSelectOptionRuleValue", DB.Object<{
860
+ translations: DB.MemberDecl<DB.NestedEntityMap<"TextInputSelectOptionRuleValueTranslation", {
861
+ inputLabel: DB.MemberDecl<DB.String, true>;
862
+ }>, true>;
863
+ }>, []>>>;
864
+ }, []>>, true>;
865
+ multiple: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionRuleMultiple", {
866
+ Constant: DB.EnumCase<DB.Integer>;
867
+ Range: DB.EnumCase<DB.Object<{
868
+ min: DB.MemberDecl<DB.Integer, false>;
869
+ max: DB.MemberDecl<DB.Integer, true>;
870
+ }>>;
871
+ }, []>>, false>;
872
+ }>, []>>>, []>>, false>;
844
873
  }>, []>>, false>;
845
874
  explicit_select_options: DB.MemberDecl<DB.ChildEntities<DB.Entity<"GeneralSelectOption", {
846
875
  parent: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionParentIdentifier", {
@@ -2,7 +2,7 @@ import * as DB from "tsondb/schema/dsl";
2
2
  import { levels, maximum, name, name_in_library, rules } from "../_Activatable.js";
3
3
  import { ap_value, ap_value_append, ap_value_l10n } from "../_ActivatableAdventurePointsValue.js";
4
4
  import { activatableDisplayNameCustomizer, nameBuilderRules } from "../_ActivatableNames.js";
5
- import { explicit_select_options, select_options } from "../_ActivatableSelectOptions.js";
5
+ import { explicit_select_options, select_options, verifySelectOptionRules, } from "../_ActivatableSelectOptions.js";
6
6
  import { skill_applications, skill_uses } from "../_ActivatableSkillApplicationsAndUses.js";
7
7
  import { GeneralPrerequisites } from "../_Prerequisite.js";
8
8
  import { NestedTranslationMap } from "../Locale.js";
@@ -45,4 +45,5 @@ export const AdvancedKarmaSpecialAbility = DB.Entity(import.meta.url, {
45
45
  keyPathInEntityMapFallback: "name",
46
46
  },
47
47
  ],
48
+ customConstraints: deps => verifySelectOptionRules("AdvancedKarmaSpecialAbility", deps),
48
49
  });
@@ -841,6 +841,35 @@ export declare const AdvancedMagicalSpecialAbility: DB.Entity<"AdvancedMagicalSp
841
841
  }>, []>>>, true>;
842
842
  }>, []>>>;
843
843
  }, []>>, false>;
844
+ rules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRules", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRule", DB.Object<{
845
+ value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionRuleValue", {
846
+ Predefined: DB.EnumCase<null>;
847
+ PredefinedOrTextInput: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"PredefinedOrTextInputSelectOptionRuleValue", DB.Object<{
848
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PredefinedOrTextInputSelectOptionRuleValueTranslation", {
849
+ inputLabel: DB.MemberDecl<DB.String, true>;
850
+ optionLabel: DB.MemberDecl<DB.String, true>;
851
+ }>, true>;
852
+ }>, []>>>;
853
+ Child: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ChildSelectOptionRuleValue", DB.Object<{
854
+ parentIndex: DB.MemberDecl<DB.Integer, true>;
855
+ entity: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ChildEntityForSelectOption", {
856
+ SkillApplication: DB.EnumCase<null>;
857
+ }, []>>, true>;
858
+ }>, []>>>;
859
+ TextInput: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"TextInputSelectOptionRuleValue", DB.Object<{
860
+ translations: DB.MemberDecl<DB.NestedEntityMap<"TextInputSelectOptionRuleValueTranslation", {
861
+ inputLabel: DB.MemberDecl<DB.String, true>;
862
+ }>, true>;
863
+ }>, []>>>;
864
+ }, []>>, true>;
865
+ multiple: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionRuleMultiple", {
866
+ Constant: DB.EnumCase<DB.Integer>;
867
+ Range: DB.EnumCase<DB.Object<{
868
+ min: DB.MemberDecl<DB.Integer, false>;
869
+ max: DB.MemberDecl<DB.Integer, true>;
870
+ }>>;
871
+ }, []>>, false>;
872
+ }>, []>>>, []>>, false>;
844
873
  }>, []>>, false>;
845
874
  explicit_select_options: DB.MemberDecl<DB.ChildEntities<DB.Entity<"GeneralSelectOption", {
846
875
  parent: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionParentIdentifier", {
@@ -2,7 +2,7 @@ import * as DB from "tsondb/schema/dsl";
2
2
  import { levels, maximum, name, name_in_library, rules } from "../_Activatable.js";
3
3
  import { ap_value, ap_value_append, ap_value_l10n } from "../_ActivatableAdventurePointsValue.js";
4
4
  import { activatableDisplayNameCustomizer, nameBuilderRules } from "../_ActivatableNames.js";
5
- import { explicit_select_options, select_options } from "../_ActivatableSelectOptions.js";
5
+ import { explicit_select_options, select_options, verifySelectOptionRules, } from "../_ActivatableSelectOptions.js";
6
6
  import { skill_applications, skill_uses } from "../_ActivatableSkillApplicationsAndUses.js";
7
7
  import { GeneralPrerequisites } from "../_Prerequisite.js";
8
8
  import { NestedTranslationMap } from "../Locale.js";
@@ -45,4 +45,5 @@ export const AdvancedMagicalSpecialAbility = DB.Entity(import.meta.url, {
45
45
  keyPathInEntityMapFallback: "name",
46
46
  },
47
47
  ],
48
+ customConstraints: deps => verifySelectOptionRules("AdvancedMagicalSpecialAbility", deps),
48
49
  });
@@ -841,6 +841,35 @@ export declare const AdvancedSkillSpecialAbility: DB.Entity<"AdvancedSkillSpecia
841
841
  }>, []>>>, true>;
842
842
  }>, []>>>;
843
843
  }, []>>, false>;
844
+ rules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRules", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRule", DB.Object<{
845
+ value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionRuleValue", {
846
+ Predefined: DB.EnumCase<null>;
847
+ PredefinedOrTextInput: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"PredefinedOrTextInputSelectOptionRuleValue", DB.Object<{
848
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PredefinedOrTextInputSelectOptionRuleValueTranslation", {
849
+ inputLabel: DB.MemberDecl<DB.String, true>;
850
+ optionLabel: DB.MemberDecl<DB.String, true>;
851
+ }>, true>;
852
+ }>, []>>>;
853
+ Child: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ChildSelectOptionRuleValue", DB.Object<{
854
+ parentIndex: DB.MemberDecl<DB.Integer, true>;
855
+ entity: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ChildEntityForSelectOption", {
856
+ SkillApplication: DB.EnumCase<null>;
857
+ }, []>>, true>;
858
+ }>, []>>>;
859
+ TextInput: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"TextInputSelectOptionRuleValue", DB.Object<{
860
+ translations: DB.MemberDecl<DB.NestedEntityMap<"TextInputSelectOptionRuleValueTranslation", {
861
+ inputLabel: DB.MemberDecl<DB.String, true>;
862
+ }>, true>;
863
+ }>, []>>>;
864
+ }, []>>, true>;
865
+ multiple: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionRuleMultiple", {
866
+ Constant: DB.EnumCase<DB.Integer>;
867
+ Range: DB.EnumCase<DB.Object<{
868
+ min: DB.MemberDecl<DB.Integer, false>;
869
+ max: DB.MemberDecl<DB.Integer, true>;
870
+ }>>;
871
+ }, []>>, false>;
872
+ }>, []>>>, []>>, false>;
844
873
  }>, []>>, false>;
845
874
  explicit_select_options: DB.MemberDecl<DB.ChildEntities<DB.Entity<"GeneralSelectOption", {
846
875
  parent: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionParentIdentifier", {
@@ -2,7 +2,7 @@ import * as DB from "tsondb/schema/dsl";
2
2
  import { levels, maximum, name, name_in_library, rules } from "../_Activatable.js";
3
3
  import { ap_value, ap_value_append, ap_value_l10n } from "../_ActivatableAdventurePointsValue.js";
4
4
  import { activatableDisplayNameCustomizer, nameBuilderRules } from "../_ActivatableNames.js";
5
- import { explicit_select_options, select_options } from "../_ActivatableSelectOptions.js";
5
+ import { explicit_select_options, select_options, verifySelectOptionRules, } from "../_ActivatableSelectOptions.js";
6
6
  import { skill_applications, skill_uses } from "../_ActivatableSkillApplicationsAndUses.js";
7
7
  import { GeneralPrerequisites } from "../_Prerequisite.js";
8
8
  import { NestedTranslationMap } from "../Locale.js";
@@ -45,4 +45,5 @@ export const AdvancedSkillSpecialAbility = DB.Entity(import.meta.url, {
45
45
  keyPathInEntityMapFallback: "name",
46
46
  },
47
47
  ],
48
+ customConstraints: deps => verifySelectOptionRules("AdvancedSkillSpecialAbility", deps),
48
49
  });
@@ -841,6 +841,35 @@ export declare const AncestorGlyph: DB.Entity<"AncestorGlyph", {
841
841
  }>, []>>>, true>;
842
842
  }>, []>>>;
843
843
  }, []>>, false>;
844
+ rules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRules", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRule", DB.Object<{
845
+ value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionRuleValue", {
846
+ Predefined: DB.EnumCase<null>;
847
+ PredefinedOrTextInput: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"PredefinedOrTextInputSelectOptionRuleValue", DB.Object<{
848
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PredefinedOrTextInputSelectOptionRuleValueTranslation", {
849
+ inputLabel: DB.MemberDecl<DB.String, true>;
850
+ optionLabel: DB.MemberDecl<DB.String, true>;
851
+ }>, true>;
852
+ }>, []>>>;
853
+ Child: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ChildSelectOptionRuleValue", DB.Object<{
854
+ parentIndex: DB.MemberDecl<DB.Integer, true>;
855
+ entity: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ChildEntityForSelectOption", {
856
+ SkillApplication: DB.EnumCase<null>;
857
+ }, []>>, true>;
858
+ }>, []>>>;
859
+ TextInput: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"TextInputSelectOptionRuleValue", DB.Object<{
860
+ translations: DB.MemberDecl<DB.NestedEntityMap<"TextInputSelectOptionRuleValueTranslation", {
861
+ inputLabel: DB.MemberDecl<DB.String, true>;
862
+ }>, true>;
863
+ }>, []>>>;
864
+ }, []>>, true>;
865
+ multiple: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionRuleMultiple", {
866
+ Constant: DB.EnumCase<DB.Integer>;
867
+ Range: DB.EnumCase<DB.Object<{
868
+ min: DB.MemberDecl<DB.Integer, false>;
869
+ max: DB.MemberDecl<DB.Integer, true>;
870
+ }>>;
871
+ }, []>>, false>;
872
+ }>, []>>>, []>>, false>;
844
873
  }>, []>>, false>;
845
874
  explicit_select_options: DB.MemberDecl<DB.ChildEntities<DB.Entity<"GeneralSelectOption", {
846
875
  parent: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionParentIdentifier", {
@@ -2,7 +2,7 @@ import * as DB from "tsondb/schema/dsl";
2
2
  import { levels, maximum, name, name_in_library, rules } from "../_Activatable.js";
3
3
  import { ap_value, ap_value_append, ap_value_l10n } from "../_ActivatableAdventurePointsValue.js";
4
4
  import { activatableDisplayNameCustomizer, nameBuilderRules } from "../_ActivatableNames.js";
5
- import { explicit_select_options, select_options } from "../_ActivatableSelectOptions.js";
5
+ import { explicit_select_options, select_options, verifySelectOptionRules, } from "../_ActivatableSelectOptions.js";
6
6
  import { GeneralPrerequisites } from "../_Prerequisite.js";
7
7
  import { NestedTranslationMap } from "../Locale.js";
8
8
  import { Errata } from "../source/_Erratum.js";
@@ -46,4 +46,5 @@ export const AncestorGlyph = DB.Entity(import.meta.url, {
46
46
  keyPathInEntityMapFallback: "name",
47
47
  },
48
48
  ],
49
+ customConstraints: deps => verifySelectOptionRules("AncestorGlyph", deps),
49
50
  });