@optolith/database-schema 0.79.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [0.79.1](https://github.com/Optolith/database-schema/compare/v0.79.0...v0.79.1) (2026-10-05)
6
+
7
+ ### Bug Fixes
8
+
9
+ * custom combat value constraints for generic item ([10a042a](https://github.com/Optolith/database-schema/commit/10a042ad9e72d65f1b8cb75b1f9bf3eff7badf31))
10
+
5
11
  ## [0.79.0](https://github.com/Optolith/database-schema/compare/v0.78.0...v0.79.0) (2026-10-05)
6
12
 
7
13
  ### ⚠ BREAKING CHANGES
package/gen/types.d.ts CHANGED
@@ -23308,9 +23308,9 @@ export interface SecondaryArmor {
23308
23308
  has_additional_penalties: HasAdditionalPenalties
23309
23309
 
23310
23310
  /**
23311
- * The standard armor this armor is a variant of.
23311
+ * The armor type.
23312
23312
  */
23313
- variantOf: Armor_ID
23313
+ armorType: ArmorType
23314
23314
 
23315
23315
  /**
23316
23316
  * Specify if armor is only available for a specific hit zone.
@@ -224,7 +224,18 @@ export declare const SecondaryArmor: DB.TypeAlias<"SecondaryArmor", DB.Object<{
224
224
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
225
225
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
226
226
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
227
- variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
227
+ armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
228
+ Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
229
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
230
+ }>, []>>>;
231
+ StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
232
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
233
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
234
+ }>, []>>>;
235
+ Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
236
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
237
+ }>, []>>>;
238
+ }, []>>, true>;
228
239
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
229
240
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
230
241
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -112,7 +112,9 @@ const StandardArmorType = DB.TypeAlias(import.meta.url, {
112
112
  }),
113
113
  });
114
114
  const validateArmorTypeReference = (deps) => [
115
- deps.getInstanceById("Armor", deps.instanceContent.variantOf)?.armorType.kind !== "Standard"
115
+ deps.getInstanceById("Armor", deps.instanceContent.variantOf)?.armorType.kind !== "Standard" &&
116
+ deps.getInstanceById("Item", deps.instanceContent.variantOf)?.armorUse?.armorType.kind !==
117
+ "Standard"
116
118
  ? "The armor is a variant of a standard armor, but the referenced armor is not a standard armor."
117
119
  : undefined,
118
120
  ].filter(isNotNullish);
@@ -157,9 +159,9 @@ export const SecondaryArmor = DB.TypeAlias(import.meta.url, {
157
159
  comment: "Does the armor have additional penalties (MOV -1, INI -1)?",
158
160
  type: DB.IncludeIdentifier(HasAdditionalPenalties),
159
161
  }),
160
- variantOf: DB.Required({
161
- comment: "The standard armor this armor is a variant of.",
162
- type: ArmorIdentifier(),
162
+ armorType: DB.Required({
163
+ comment: "The armor type.",
164
+ type: DB.IncludeIdentifier(ArmorType),
163
165
  }),
164
166
  hit_zone: DB.Optional({
165
167
  comment: "Specify if armor is only available for a specific hit zone.",
@@ -180,7 +182,14 @@ export const SecondaryArmor = DB.TypeAlias(import.meta.url, {
180
182
  }),
181
183
  }, { minProperties: 1 })),
182
184
  }),
183
- customConstraints: validateArmorTypeReference,
185
+ customConstraints: ({ instanceContent, ...deps }) => instanceContent.armorType.kind !== "Standard"
186
+ ? validateArmorTypeReference({
187
+ ...deps,
188
+ instanceContent: instanceContent.armorType.kind === "Variant"
189
+ ? instanceContent.armorType.Variant
190
+ : instanceContent.armorType.StandardVariant,
191
+ })
192
+ : [],
184
193
  });
185
194
  const ArmorComplexity = DB.Enum(import.meta.url, {
186
195
  name: "ArmorComplexity",
@@ -148,7 +148,18 @@ export declare const BandageOrRemedy: DB.Entity<"BandageOrRemedy", {
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<{
@@ -149,7 +149,18 @@ export declare const CeremonialItem: DB.Entity<"CeremonialItem", {
149
149
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
150
150
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
151
151
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
152
- variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
152
+ armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
153
+ Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
154
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
155
+ }>, []>>>;
156
+ StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
157
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
158
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
159
+ }>, []>>>;
160
+ Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
161
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
162
+ }>, []>>>;
163
+ }, []>>, true>;
153
164
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
154
165
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
155
166
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -148,7 +148,18 @@ export declare const Clothes: DB.Entity<"Clothes", {
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 Container: DB.Entity<"Container", {
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<{
@@ -121,7 +121,18 @@ export declare const EquipmentOfBlessedOnes: DB.Entity<"EquipmentOfBlessedOnes",
121
121
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
122
122
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
123
123
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
124
- variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
124
+ armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
125
+ Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
126
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
127
+ }>, []>>>;
128
+ StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
129
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
130
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
131
+ }>, []>>>;
132
+ Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
133
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
134
+ }>, []>>>;
135
+ }, []>>, true>;
125
136
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
126
137
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
127
138
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -157,7 +157,18 @@ export declare const IlluminationLightSource: DB.Entity<"IlluminationLightSource
157
157
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
158
158
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
159
159
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
160
- variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
160
+ armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
161
+ Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
162
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
163
+ }>, []>>>;
164
+ StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
165
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
166
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
167
+ }>, []>>>;
168
+ Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
169
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
170
+ }>, []>>>;
171
+ }, []>>, true>;
161
172
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
162
173
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
163
174
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -148,7 +148,18 @@ export declare const IlluminationRefillOrSupply: DB.Entity<"IlluminationRefillOr
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<{
@@ -129,7 +129,18 @@ export declare const Item: DB.Entity<"Item", {
129
129
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
130
130
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
131
131
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
132
- variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
132
+ armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
133
+ Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
134
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
135
+ }>, []>>>;
136
+ StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
137
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
138
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
139
+ }>, []>>>;
140
+ Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
141
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
142
+ }>, []>>>;
143
+ }, []>>, true>;
133
144
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
134
145
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
135
146
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -115,22 +115,26 @@ export const Item = DB.Entity(import.meta.url, {
115
115
  keyPathInEntityMap: "name",
116
116
  },
117
117
  ],
118
- customConstraints: ({ instanceContent, ...rest }) => checkWeaponCombatTechniqueIntegrity({
119
- ...rest,
120
- instanceContent,
121
- }).concat(checkEquipmentCategoryConstraintsWithItem(instanceContent, rest.getInstanceById)),
118
+ customConstraints: ({ instanceContent, ...rest }) => checkEquipmentCategoryConstraintsWithItem(instanceContent, rest.getInstanceById, rest.getDisplayNameAndId),
122
119
  });
123
- const checkEquipmentCategoryConstraintsWithItem = (item, getInstanceById) => {
120
+ const checkEquipmentCategoryConstraintsWithItem = (item, getInstanceById, getDisplayNameAndId) => {
124
121
  const categories = item.categories.map(categoryId => getInstanceById("EquipmentCategory", categoryId));
125
122
  if (isNotEmpty(categories)) {
126
123
  if (categories.every(isNotNullish)) {
127
124
  if (categories.every(isEquipmentCategoryOfDefaultType)) {
128
125
  const mergedRules = mergeAllValueRules(categories.map(c => c.type.Default));
129
126
  const errors = [];
130
- if (mergedRules.combatValues.isWeaponAllowed &&
131
- item.meleeUses === undefined &&
132
- item.rangedUses === undefined) {
133
- 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
+ }
134
138
  }
135
139
  if (mergedRules.combatValues.isArmorAllowed && item.armorUse === undefined) {
136
140
  errors.push("An armor must defined an armor use.");
@@ -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<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optolith/database-schema",
3
- "version": "0.79.0",
3
+ "version": "0.79.1",
4
4
  "description": "Definitions and utilities for the flat-file database of Optolith, a character creation tool for the Pen and Paper RPG “The Dark Eye 5”, and its external integrations into other software.",
5
5
  "keywords": [
6
6
  "tde",