@optolith/database-schema 0.79.0 → 0.80.0
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 +18 -0
- package/gen/types.d.ts +26 -3
- package/lib/types/Culture.js +1 -1
- package/lib/types/equipment/item/Ammunition.d.ts +5 -1
- package/lib/types/equipment/item/Animal.d.ts +5 -1
- package/lib/types/equipment/item/AnimalCare.d.ts +5 -1
- package/lib/types/equipment/item/Armor.d.ts +17 -2
- package/lib/types/equipment/item/Armor.js +14 -5
- package/lib/types/equipment/item/BandageOrRemedy.d.ts +17 -2
- package/lib/types/equipment/item/Book.d.ts +10 -2
- package/lib/types/equipment/item/CeremonialItem.d.ts +17 -2
- package/lib/types/equipment/item/Clothes.d.ts +17 -2
- package/lib/types/equipment/item/ClothingPackage.d.ts +5 -1
- package/lib/types/equipment/item/Container.d.ts +17 -2
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +17 -2
- package/lib/types/equipment/item/GemOrPreciousStone.d.ts +5 -1
- package/lib/types/equipment/item/IlluminationLightSource.d.ts +17 -2
- package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +17 -2
- package/lib/types/equipment/item/Item.d.ts +17 -2
- package/lib/types/equipment/item/Item.js +13 -9
- package/lib/types/equipment/item/Laboratory.d.ts +5 -1
- package/lib/types/equipment/item/Liebesspielzeug.d.ts +17 -2
- package/lib/types/equipment/item/LuxuryGood.d.ts +17 -2
- package/lib/types/equipment/item/MagicalArtifact.d.ts +17 -2
- package/lib/types/equipment/item/MusicalInstrument.d.ts +17 -2
- package/lib/types/equipment/item/Newspaper.d.ts +5 -1
- package/lib/types/equipment/item/OrienteeringAid.d.ts +17 -2
- package/lib/types/equipment/item/RopeOrChain.d.ts +17 -2
- package/lib/types/equipment/item/Stationery.d.ts +17 -2
- package/lib/types/equipment/item/ThievesTool.d.ts +17 -2
- package/lib/types/equipment/item/ToolOfTheTrade.d.ts +5 -1
- package/lib/types/equipment/item/TravelGearOrTool.d.ts +17 -2
- package/lib/types/equipment/item/Vehicle.d.ts +5 -1
- package/lib/types/equipment/item/Weapon.d.ts +5 -1
- package/lib/types/equipment/item/WeaponAccessory.d.ts +17 -2
- package/lib/types/equipment/item/WorkingSupernaturalCreature.d.ts +5 -1
- package/lib/types/equipment/item/_Item.d.ts +34 -4
- package/lib/types/equipment/item/_Item.js +9 -1
- package/lib/types/specialAbility/sub/Language.d.ts +2 -0
- package/lib/types/specialAbility/sub/Language.js +4 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
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.80.0](https://github.com/Optolith/database-schema/compare/v0.79.1...v0.80.0) (2026-10-06)
|
|
6
|
+
|
|
7
|
+
### ⚠ BREAKING CHANGES
|
|
8
|
+
|
|
9
|
+
* culture-only language specialization flag
|
|
10
|
+
* invaluable item cost translation
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* culture-only language specialization flag ([e7e35cd](https://github.com/Optolith/database-schema/commit/e7e35cdb78c9b1e92353f64bfb6858a32fdbdd40))
|
|
15
|
+
* invaluable item cost translation ([61e6e22](https://github.com/Optolith/database-schema/commit/61e6e22b19a761309c4666ba03d4770c5a59e86d))
|
|
16
|
+
|
|
17
|
+
## [0.79.1](https://github.com/Optolith/database-schema/compare/v0.79.0...v0.79.1) (2026-10-05)
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* custom combat value constraints for generic item ([10a042a](https://github.com/Optolith/database-schema/commit/10a042ad9e72d65f1b8cb75b1f9bf3eff7badf31))
|
|
22
|
+
|
|
5
23
|
## [0.79.0](https://github.com/Optolith/database-schema/compare/v0.78.0...v0.79.0) (2026-10-05)
|
|
6
24
|
|
|
7
25
|
### ⚠ BREAKING CHANGES
|
package/gen/types.d.ts
CHANGED
|
@@ -736,6 +736,7 @@ export type TypeAliasMap = {
|
|
|
736
736
|
IntoxicantAddictionCheck: IntoxicantAddictionCheck
|
|
737
737
|
IntoxicantAddictionWithdrawalPrevention: IntoxicantAddictionWithdrawalPrevention
|
|
738
738
|
IntoxicantLegality: IntoxicantLegality
|
|
739
|
+
InvaluableCost: InvaluableCost
|
|
739
740
|
JesterTrickCastingTime: JesterTrickCastingTime
|
|
740
741
|
JesterTrickCost: JesterTrickCost
|
|
741
742
|
JesterTrickPerformanceParameters: JesterTrickPerformanceParameters
|
|
@@ -5714,6 +5715,11 @@ export interface LanguageSpecialization {
|
|
|
5714
5715
|
*/
|
|
5715
5716
|
parent: Language_ID
|
|
5716
5717
|
|
|
5718
|
+
/**
|
|
5719
|
+
* The specialization is only mentioned in a culture’s description and not where the language itself is defined.
|
|
5720
|
+
*/
|
|
5721
|
+
onlyForCulture: boolean
|
|
5722
|
+
|
|
5717
5723
|
/**
|
|
5718
5724
|
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
5719
5725
|
*/
|
|
@@ -9862,7 +9868,7 @@ export interface CultureLanguageTranslation {
|
|
|
9862
9868
|
specialization?: string
|
|
9863
9869
|
|
|
9864
9870
|
/**
|
|
9865
|
-
* A different
|
|
9871
|
+
* A different prompt for the language specialization, if the language allows to specify arbitrary text.
|
|
9866
9872
|
*/
|
|
9867
9873
|
specializationPrompt?: string
|
|
9868
9874
|
}
|
|
@@ -12417,6 +12423,7 @@ export type Cost =
|
|
|
12417
12423
|
}
|
|
12418
12424
|
| {
|
|
12419
12425
|
kind: "Invaluable"
|
|
12426
|
+
Invaluable: InvaluableCost
|
|
12420
12427
|
}
|
|
12421
12428
|
| {
|
|
12422
12429
|
kind: "Fixed"
|
|
@@ -12427,6 +12434,22 @@ export type Cost =
|
|
|
12427
12434
|
Range: CostRange
|
|
12428
12435
|
}
|
|
12429
12436
|
|
|
12437
|
+
export interface InvaluableCost {
|
|
12438
|
+
/**
|
|
12439
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
12440
|
+
*/
|
|
12441
|
+
translations?: {
|
|
12442
|
+
[localeId: string]: InvaluableCostTranslation
|
|
12443
|
+
}
|
|
12444
|
+
}
|
|
12445
|
+
|
|
12446
|
+
export interface InvaluableCostTranslation {
|
|
12447
|
+
/**
|
|
12448
|
+
* The cost get wrapped by this text using a placeholder in the text.
|
|
12449
|
+
*/
|
|
12450
|
+
wrap_in_text: string
|
|
12451
|
+
}
|
|
12452
|
+
|
|
12430
12453
|
export interface FixedCost {
|
|
12431
12454
|
/**
|
|
12432
12455
|
* The cost in silverthalers.
|
|
@@ -23308,9 +23331,9 @@ export interface SecondaryArmor {
|
|
|
23308
23331
|
has_additional_penalties: HasAdditionalPenalties
|
|
23309
23332
|
|
|
23310
23333
|
/**
|
|
23311
|
-
* The
|
|
23334
|
+
* The armor type.
|
|
23312
23335
|
*/
|
|
23313
|
-
|
|
23336
|
+
armorType: ArmorType
|
|
23314
23337
|
|
|
23315
23338
|
/**
|
|
23316
23339
|
* Specify if armor is only available for a specific hit zone.
|
package/lib/types/Culture.js
CHANGED
|
@@ -122,7 +122,7 @@ const CultureLanguage = DB.TypeAlias(import.meta.url, {
|
|
|
122
122
|
type: DB.String({ minLength: 1 }),
|
|
123
123
|
}),
|
|
124
124
|
specializationPrompt: DB.Optional({
|
|
125
|
-
comment: "A different
|
|
125
|
+
comment: "A different prompt for the language specialization, if the language allows to specify arbitrary text.",
|
|
126
126
|
type: DB.String({ minLength: 1 }),
|
|
127
127
|
}),
|
|
128
128
|
}, { minProperties: 1 })),
|
|
@@ -3,7 +3,11 @@ export declare const Ammunition: DB.Entity<"Ammunition", {
|
|
|
3
3
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
4
4
|
Free: DB.EnumCase<null>;
|
|
5
5
|
Various: DB.EnumCase<null>;
|
|
6
|
-
Invaluable: DB.EnumCase<
|
|
6
|
+
Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
|
|
7
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
|
|
8
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
9
|
+
}>, false>;
|
|
10
|
+
}>, []>>>;
|
|
7
11
|
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
8
12
|
value: DB.MemberDecl<DB.Float, true>;
|
|
9
13
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|
|
@@ -3,7 +3,11 @@ export declare const Animal: DB.Entity<"Animal", {
|
|
|
3
3
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
4
4
|
Free: DB.EnumCase<null>;
|
|
5
5
|
Various: DB.EnumCase<null>;
|
|
6
|
-
Invaluable: DB.EnumCase<
|
|
6
|
+
Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
|
|
7
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
|
|
8
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
9
|
+
}>, false>;
|
|
10
|
+
}>, []>>>;
|
|
7
11
|
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
8
12
|
value: DB.MemberDecl<DB.Float, true>;
|
|
9
13
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|
|
@@ -5,7 +5,11 @@ export declare const AnimalCare: DB.Entity<"AnimalCare", {
|
|
|
5
5
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
6
6
|
Free: DB.EnumCase<null>;
|
|
7
7
|
Various: DB.EnumCase<null>;
|
|
8
|
-
Invaluable: DB.EnumCase<
|
|
8
|
+
Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
|
|
9
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
|
|
10
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
11
|
+
}>, false>;
|
|
12
|
+
}>, []>>>;
|
|
9
13
|
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
10
14
|
value: DB.MemberDecl<DB.Float, true>;
|
|
11
15
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|
|
@@ -3,7 +3,11 @@ export declare const Armor: DB.Entity<"Armor", {
|
|
|
3
3
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
4
4
|
Free: DB.EnumCase<null>;
|
|
5
5
|
Various: DB.EnumCase<null>;
|
|
6
|
-
Invaluable: DB.EnumCase<
|
|
6
|
+
Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
|
|
7
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
|
|
8
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
9
|
+
}>, false>;
|
|
10
|
+
}>, []>>>;
|
|
7
11
|
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
8
12
|
value: DB.MemberDecl<DB.Float, true>;
|
|
9
13
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|
|
@@ -224,7 +228,18 @@ export declare const SecondaryArmor: DB.TypeAlias<"SecondaryArmor", DB.Object<{
|
|
|
224
228
|
protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
|
|
225
229
|
encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
|
|
226
230
|
has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
|
|
227
|
-
|
|
231
|
+
armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
|
|
232
|
+
Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
|
|
233
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
234
|
+
}>, []>>>;
|
|
235
|
+
StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
|
|
236
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
237
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
238
|
+
}>, []>>>;
|
|
239
|
+
Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
|
|
240
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
241
|
+
}>, []>>>;
|
|
242
|
+
}, []>>, true>;
|
|
228
243
|
hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
|
|
229
244
|
Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
|
|
230
245
|
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
|
-
|
|
161
|
-
comment: "The
|
|
162
|
-
type:
|
|
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:
|
|
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",
|
|
@@ -3,7 +3,11 @@ export declare const BandageOrRemedy: DB.Entity<"BandageOrRemedy", {
|
|
|
3
3
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
4
4
|
Free: DB.EnumCase<null>;
|
|
5
5
|
Various: DB.EnumCase<null>;
|
|
6
|
-
Invaluable: DB.EnumCase<
|
|
6
|
+
Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
|
|
7
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
|
|
8
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
9
|
+
}>, false>;
|
|
10
|
+
}>, []>>>;
|
|
7
11
|
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
8
12
|
value: DB.MemberDecl<DB.Float, true>;
|
|
9
13
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|
|
@@ -148,7 +152,18 @@ export declare const BandageOrRemedy: DB.Entity<"BandageOrRemedy", {
|
|
|
148
152
|
protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
|
|
149
153
|
encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
|
|
150
154
|
has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
|
|
151
|
-
|
|
155
|
+
armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
|
|
156
|
+
Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
|
|
157
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
158
|
+
}>, []>>>;
|
|
159
|
+
StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
|
|
160
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
161
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
162
|
+
}>, []>>>;
|
|
163
|
+
Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
|
|
164
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
165
|
+
}>, []>>>;
|
|
166
|
+
}, []>>, true>;
|
|
152
167
|
hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
|
|
153
168
|
Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
|
|
154
169
|
combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
|
|
@@ -19,7 +19,11 @@ export declare const Book: DB.Entity<"Book", {
|
|
|
19
19
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
20
20
|
Free: DB.EnumCase<null>;
|
|
21
21
|
Various: DB.EnumCase<null>;
|
|
22
|
-
Invaluable: DB.EnumCase<
|
|
22
|
+
Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
|
|
23
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
|
|
24
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
25
|
+
}>, false>;
|
|
26
|
+
}>, []>>>;
|
|
23
27
|
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
24
28
|
value: DB.MemberDecl<DB.Float, true>;
|
|
25
29
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|
|
@@ -50,7 +54,11 @@ export declare const Book: DB.Entity<"Book", {
|
|
|
50
54
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
51
55
|
Free: DB.EnumCase<null>;
|
|
52
56
|
Various: DB.EnumCase<null>;
|
|
53
|
-
Invaluable: DB.EnumCase<
|
|
57
|
+
Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
|
|
58
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
|
|
59
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
60
|
+
}>, false>;
|
|
61
|
+
}>, []>>>;
|
|
54
62
|
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
55
63
|
value: DB.MemberDecl<DB.Float, true>;
|
|
56
64
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|
|
@@ -3,7 +3,11 @@ export declare const CeremonialItem: DB.Entity<"CeremonialItem", {
|
|
|
3
3
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
4
4
|
Free: DB.EnumCase<null>;
|
|
5
5
|
Various: DB.EnumCase<null>;
|
|
6
|
-
Invaluable: DB.EnumCase<
|
|
6
|
+
Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
|
|
7
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
|
|
8
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
9
|
+
}>, false>;
|
|
10
|
+
}>, []>>>;
|
|
7
11
|
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
8
12
|
value: DB.MemberDecl<DB.Float, true>;
|
|
9
13
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|
|
@@ -149,7 +153,18 @@ export declare const CeremonialItem: DB.Entity<"CeremonialItem", {
|
|
|
149
153
|
protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
|
|
150
154
|
encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
|
|
151
155
|
has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
|
|
152
|
-
|
|
156
|
+
armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
|
|
157
|
+
Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
|
|
158
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
159
|
+
}>, []>>>;
|
|
160
|
+
StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
|
|
161
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
162
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
163
|
+
}>, []>>>;
|
|
164
|
+
Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
|
|
165
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
166
|
+
}>, []>>>;
|
|
167
|
+
}, []>>, true>;
|
|
153
168
|
hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
|
|
154
169
|
Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
|
|
155
170
|
combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
|
|
@@ -3,7 +3,11 @@ export declare const Clothes: DB.Entity<"Clothes", {
|
|
|
3
3
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
4
4
|
Free: DB.EnumCase<null>;
|
|
5
5
|
Various: DB.EnumCase<null>;
|
|
6
|
-
Invaluable: DB.EnumCase<
|
|
6
|
+
Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
|
|
7
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
|
|
8
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
9
|
+
}>, false>;
|
|
10
|
+
}>, []>>>;
|
|
7
11
|
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
8
12
|
value: DB.MemberDecl<DB.Float, true>;
|
|
9
13
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|
|
@@ -148,7 +152,18 @@ export declare const Clothes: DB.Entity<"Clothes", {
|
|
|
148
152
|
protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
|
|
149
153
|
encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
|
|
150
154
|
has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
|
|
151
|
-
|
|
155
|
+
armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
|
|
156
|
+
Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
|
|
157
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
158
|
+
}>, []>>>;
|
|
159
|
+
StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
|
|
160
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
161
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
162
|
+
}>, []>>>;
|
|
163
|
+
Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
|
|
164
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
165
|
+
}>, []>>>;
|
|
166
|
+
}, []>>, true>;
|
|
152
167
|
hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
|
|
153
168
|
Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
|
|
154
169
|
combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
|
|
@@ -3,7 +3,11 @@ export declare const ClothingPackage: DB.Entity<"ClothingPackage", {
|
|
|
3
3
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
4
4
|
Free: DB.EnumCase<null>;
|
|
5
5
|
Various: DB.EnumCase<null>;
|
|
6
|
-
Invaluable: DB.EnumCase<
|
|
6
|
+
Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
|
|
7
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
|
|
8
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
9
|
+
}>, false>;
|
|
10
|
+
}>, []>>>;
|
|
7
11
|
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
8
12
|
value: DB.MemberDecl<DB.Float, true>;
|
|
9
13
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|
|
@@ -3,7 +3,11 @@ export declare const Container: DB.Entity<"Container", {
|
|
|
3
3
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
4
4
|
Free: DB.EnumCase<null>;
|
|
5
5
|
Various: DB.EnumCase<null>;
|
|
6
|
-
Invaluable: DB.EnumCase<
|
|
6
|
+
Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
|
|
7
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
|
|
8
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
9
|
+
}>, false>;
|
|
10
|
+
}>, []>>>;
|
|
7
11
|
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
8
12
|
value: DB.MemberDecl<DB.Float, true>;
|
|
9
13
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|
|
@@ -148,7 +152,18 @@ export declare const Container: DB.Entity<"Container", {
|
|
|
148
152
|
protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
|
|
149
153
|
encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
|
|
150
154
|
has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
|
|
151
|
-
|
|
155
|
+
armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
|
|
156
|
+
Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
|
|
157
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
158
|
+
}>, []>>>;
|
|
159
|
+
StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
|
|
160
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
161
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
162
|
+
}>, []>>>;
|
|
163
|
+
Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
|
|
164
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
165
|
+
}>, []>>>;
|
|
166
|
+
}, []>>, true>;
|
|
152
167
|
hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
|
|
153
168
|
Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
|
|
154
169
|
combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
|
|
@@ -3,7 +3,11 @@ export declare const EquipmentOfBlessedOnes: DB.Entity<"EquipmentOfBlessedOnes",
|
|
|
3
3
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
4
4
|
Free: DB.EnumCase<null>;
|
|
5
5
|
Various: DB.EnumCase<null>;
|
|
6
|
-
Invaluable: DB.EnumCase<
|
|
6
|
+
Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
|
|
7
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
|
|
8
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
9
|
+
}>, false>;
|
|
10
|
+
}>, []>>>;
|
|
7
11
|
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
8
12
|
value: DB.MemberDecl<DB.Float, true>;
|
|
9
13
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|
|
@@ -121,7 +125,18 @@ export declare const EquipmentOfBlessedOnes: DB.Entity<"EquipmentOfBlessedOnes",
|
|
|
121
125
|
protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
|
|
122
126
|
encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
|
|
123
127
|
has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
|
|
124
|
-
|
|
128
|
+
armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
|
|
129
|
+
Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
|
|
130
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
131
|
+
}>, []>>>;
|
|
132
|
+
StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
|
|
133
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
134
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
135
|
+
}>, []>>>;
|
|
136
|
+
Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
|
|
137
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
138
|
+
}>, []>>>;
|
|
139
|
+
}, []>>, true>;
|
|
125
140
|
hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
|
|
126
141
|
Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
|
|
127
142
|
combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
|
|
@@ -3,7 +3,11 @@ export declare const GemOrPreciousStone: DB.Entity<"GemOrPreciousStone", {
|
|
|
3
3
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
4
4
|
Free: DB.EnumCase<null>;
|
|
5
5
|
Various: DB.EnumCase<null>;
|
|
6
|
-
Invaluable: DB.EnumCase<
|
|
6
|
+
Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
|
|
7
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
|
|
8
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
9
|
+
}>, false>;
|
|
10
|
+
}>, []>>>;
|
|
7
11
|
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
8
12
|
value: DB.MemberDecl<DB.Float, true>;
|
|
9
13
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|
|
@@ -3,7 +3,11 @@ export declare const IlluminationLightSource: DB.Entity<"IlluminationLightSource
|
|
|
3
3
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
4
4
|
Free: DB.EnumCase<null>;
|
|
5
5
|
Various: DB.EnumCase<null>;
|
|
6
|
-
Invaluable: DB.EnumCase<
|
|
6
|
+
Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
|
|
7
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
|
|
8
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
9
|
+
}>, false>;
|
|
10
|
+
}>, []>>>;
|
|
7
11
|
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
8
12
|
value: DB.MemberDecl<DB.Float, true>;
|
|
9
13
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|
|
@@ -157,7 +161,18 @@ export declare const IlluminationLightSource: DB.Entity<"IlluminationLightSource
|
|
|
157
161
|
protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
|
|
158
162
|
encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
|
|
159
163
|
has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
|
|
160
|
-
|
|
164
|
+
armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
|
|
165
|
+
Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
|
|
166
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
167
|
+
}>, []>>>;
|
|
168
|
+
StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
|
|
169
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
170
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
171
|
+
}>, []>>>;
|
|
172
|
+
Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
|
|
173
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
174
|
+
}>, []>>>;
|
|
175
|
+
}, []>>, true>;
|
|
161
176
|
hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
|
|
162
177
|
Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
|
|
163
178
|
combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
|
|
@@ -3,7 +3,11 @@ export declare const IlluminationRefillOrSupply: DB.Entity<"IlluminationRefillOr
|
|
|
3
3
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
4
4
|
Free: DB.EnumCase<null>;
|
|
5
5
|
Various: DB.EnumCase<null>;
|
|
6
|
-
Invaluable: DB.EnumCase<
|
|
6
|
+
Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
|
|
7
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
|
|
8
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
9
|
+
}>, false>;
|
|
10
|
+
}>, []>>>;
|
|
7
11
|
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
8
12
|
value: DB.MemberDecl<DB.Float, true>;
|
|
9
13
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|
|
@@ -148,7 +152,18 @@ export declare const IlluminationRefillOrSupply: DB.Entity<"IlluminationRefillOr
|
|
|
148
152
|
protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
|
|
149
153
|
encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
|
|
150
154
|
has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
|
|
151
|
-
|
|
155
|
+
armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
|
|
156
|
+
Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
|
|
157
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
158
|
+
}>, []>>>;
|
|
159
|
+
StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
|
|
160
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
161
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
162
|
+
}>, []>>>;
|
|
163
|
+
Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
|
|
164
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
165
|
+
}>, []>>>;
|
|
166
|
+
}, []>>, true>;
|
|
152
167
|
hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
|
|
153
168
|
Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
|
|
154
169
|
combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
|
|
@@ -4,7 +4,11 @@ export declare const Item: DB.Entity<"Item", {
|
|
|
4
4
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
5
5
|
Free: DB.EnumCase<null>;
|
|
6
6
|
Various: DB.EnumCase<null>;
|
|
7
|
-
Invaluable: DB.EnumCase<
|
|
7
|
+
Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
|
|
8
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
|
|
9
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
10
|
+
}>, false>;
|
|
11
|
+
}>, []>>>;
|
|
8
12
|
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
9
13
|
value: DB.MemberDecl<DB.Float, true>;
|
|
10
14
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|
|
@@ -129,7 +133,18 @@ export declare const Item: DB.Entity<"Item", {
|
|
|
129
133
|
protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
|
|
130
134
|
encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
|
|
131
135
|
has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
|
|
132
|
-
|
|
136
|
+
armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
|
|
137
|
+
Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
|
|
138
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
139
|
+
}>, []>>>;
|
|
140
|
+
StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
|
|
141
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
142
|
+
sturdinessRating: DB.MemberDecl<DB.Integer, true>;
|
|
143
|
+
}>, []>>>;
|
|
144
|
+
Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
|
|
145
|
+
variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
146
|
+
}>, []>>>;
|
|
147
|
+
}, []>>, true>;
|
|
133
148
|
hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
|
|
134
149
|
Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
|
|
135
150
|
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 }) =>
|
|
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
|
-
|
|
133
|
-
|
|
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.");
|
|
@@ -3,7 +3,11 @@ export declare const Laboratory: DB.Entity<"Laboratory", {
|
|
|
3
3
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
4
4
|
Free: DB.EnumCase<null>;
|
|
5
5
|
Various: DB.EnumCase<null>;
|
|
6
|
-
Invaluable: DB.EnumCase<
|
|
6
|
+
Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
|
|
7
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
|
|
8
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
9
|
+
}>, false>;
|
|
10
|
+
}>, []>>>;
|
|
7
11
|
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
8
12
|
value: DB.MemberDecl<DB.Float, true>;
|
|
9
13
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|