@optolith/database-schema 0.106.0 → 0.106.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 +6 -0
- package/gen/types.d.ts +175 -0
- package/lib/types/_Prerequisite.d.ts +24 -0
- package/lib/types/_Prerequisite.js +5 -1
- package/lib/types/equipment/item/Ammunition.d.ts +24 -0
- package/lib/types/equipment/item/Ammunition.js +5 -0
- package/lib/types/equipment/item/Animal.d.ts +24 -0
- package/lib/types/equipment/item/Animal.js +5 -0
- package/lib/types/equipment/item/AnimalCare.d.ts +24 -0
- package/lib/types/equipment/item/AnimalCare.js +5 -0
- package/lib/types/equipment/item/Armor.d.ts +24 -0
- package/lib/types/equipment/item/Armor.js +5 -0
- package/lib/types/equipment/item/ArmorAccessory.d.ts +24 -0
- package/lib/types/equipment/item/ArmorAccessory.js +5 -0
- package/lib/types/equipment/item/BandageOrRemedy.d.ts +24 -0
- package/lib/types/equipment/item/BandageOrRemedy.js +5 -0
- package/lib/types/equipment/item/Book.d.ts +24 -0
- package/lib/types/equipment/item/Book.js +5 -1
- package/lib/types/equipment/item/CeremonialItem.d.ts +24 -0
- package/lib/types/equipment/item/CeremonialItem.js +5 -0
- package/lib/types/equipment/item/Clothes.d.ts +24 -0
- package/lib/types/equipment/item/Clothes.js +5 -0
- package/lib/types/equipment/item/Container.d.ts +24 -0
- package/lib/types/equipment/item/Container.js +5 -0
- package/lib/types/equipment/item/Elixir.d.ts +24 -0
- package/lib/types/equipment/item/Elixir.js +5 -0
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +24 -0
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +5 -0
- package/lib/types/equipment/item/GemOrPreciousStone.d.ts +24 -0
- package/lib/types/equipment/item/GemOrPreciousStone.js +5 -0
- package/lib/types/equipment/item/IlluminationLightSource.d.ts +24 -0
- package/lib/types/equipment/item/IlluminationLightSource.js +5 -0
- package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +24 -0
- package/lib/types/equipment/item/IlluminationRefillOrSupply.js +5 -0
- package/lib/types/equipment/item/Item.d.ts +24 -0
- package/lib/types/equipment/item/Item.js +5 -0
- package/lib/types/equipment/item/ItemComponent.d.ts +24 -0
- package/lib/types/equipment/item/ItemComponent.js +5 -0
- package/lib/types/equipment/item/Jewelry.d.ts +24 -0
- package/lib/types/equipment/item/Jewelry.js +5 -0
- package/lib/types/equipment/item/Laboratory.d.ts +24 -0
- package/lib/types/equipment/item/Laboratory.js +5 -0
- package/lib/types/equipment/item/Liebesspielzeug.d.ts +24 -0
- package/lib/types/equipment/item/Liebesspielzeug.js +5 -0
- package/lib/types/equipment/item/LuxuryGood.d.ts +24 -0
- package/lib/types/equipment/item/LuxuryGood.js +5 -0
- package/lib/types/equipment/item/MagicalArtifact.d.ts +24 -0
- package/lib/types/equipment/item/MagicalArtifact.js +5 -0
- package/lib/types/equipment/item/MusicalInstrument.d.ts +24 -0
- package/lib/types/equipment/item/MusicalInstrument.js +5 -0
- package/lib/types/equipment/item/OrienteeringAid.d.ts +24 -0
- package/lib/types/equipment/item/Poison.d.ts +24 -0
- package/lib/types/equipment/item/Poison.js +5 -0
- package/lib/types/equipment/item/RopeOrChain.d.ts +24 -0
- package/lib/types/equipment/item/Stationery.d.ts +24 -0
- package/lib/types/equipment/item/ThievesTool.d.ts +24 -0
- package/lib/types/equipment/item/ToolOfTheTrade.d.ts +24 -0
- package/lib/types/equipment/item/ToolOfTheTrade.js +5 -0
- package/lib/types/equipment/item/TravelGearOrTool.d.ts +24 -0
- package/lib/types/equipment/item/TravelGearOrTool.js +5 -0
- package/lib/types/equipment/item/Vehicle.d.ts +24 -0
- package/lib/types/equipment/item/Vehicle.js +5 -0
- package/lib/types/equipment/item/Weapon.d.ts +24 -0
- package/lib/types/equipment/item/Weapon.js +5 -0
- package/lib/types/equipment/item/WeaponAccessory.d.ts +24 -0
- package/lib/types/equipment/item/WeaponAccessory.js +5 -0
- package/lib/types/equipment/item/_Item.d.ts +24 -0
- package/lib/types/equipment/item/_Item.js +5 -1
- package/lib/types/prerequisites/PrerequisiteGroups.d.ts +21 -0
- package/lib/types/prerequisites/PrerequisiteGroups.js +6 -0
- package/package.json +1 -1
|
@@ -101,6 +101,30 @@ export declare const ToolOfTheTrade: DB.Entity<"ToolOfTheTrade", {
|
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
103
103
|
}, []>>, true>;
|
|
104
|
+
prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"EquipmentPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
|
|
105
|
+
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
106
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
107
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
108
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
109
|
+
Hide: DB.EnumCase<null>;
|
|
110
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
111
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
112
|
+
Standalone: DB.EnumCase<null>;
|
|
113
|
+
Connected: DB.EnumCase<null>;
|
|
114
|
+
}, []>>, false>;
|
|
115
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
116
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
117
|
+
}>, true>;
|
|
118
|
+
}>, []>>>;
|
|
119
|
+
}, []>>, false>;
|
|
120
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
121
|
+
Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
|
|
122
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
123
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
124
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
125
|
+
}>, true>;
|
|
126
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
127
|
+
}, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
|
|
104
128
|
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
105
129
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
106
130
|
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { EquipmentPrerequisites } from "../../_Prerequisite.js";
|
|
2
3
|
import { src } from "../../source/_PublicationRef.js";
|
|
3
4
|
import { Complexity, Cost, DefaultItemTranslations, StructurePoints, Weight } from "./_Item.js";
|
|
4
5
|
export const ToolOfTheTrade = DB.Entity(import.meta.url, {
|
|
@@ -21,6 +22,10 @@ export const ToolOfTheTrade = DB.Entity(import.meta.url, {
|
|
|
21
22
|
comment: "The structure points of the item. Use an array if the item consists of multiple components that have individual structure points.",
|
|
22
23
|
type: DB.IncludeIdentifier(StructurePoints),
|
|
23
24
|
}),
|
|
25
|
+
prerequisites: DB.Optional({
|
|
26
|
+
comment: "The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.",
|
|
27
|
+
type: DB.IncludeIdentifier(EquipmentPrerequisites),
|
|
28
|
+
}),
|
|
24
29
|
src,
|
|
25
30
|
translations: DefaultItemTranslations("ToolOfTheTrade"),
|
|
26
31
|
}),
|
|
@@ -271,6 +271,30 @@ export declare const TravelGearOrTool: DB.Entity<"TravelGearOrTool", {
|
|
|
271
271
|
}>, false>;
|
|
272
272
|
}>, []>>>;
|
|
273
273
|
}, []>>, false>;
|
|
274
|
+
prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"EquipmentPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
|
|
275
|
+
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
276
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
277
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
278
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
279
|
+
Hide: DB.EnumCase<null>;
|
|
280
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
281
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
282
|
+
Standalone: DB.EnumCase<null>;
|
|
283
|
+
Connected: DB.EnumCase<null>;
|
|
284
|
+
}, []>>, false>;
|
|
285
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
286
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
287
|
+
}>, true>;
|
|
288
|
+
}>, []>>>;
|
|
289
|
+
}, []>>, false>;
|
|
290
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
291
|
+
Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
|
|
292
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
293
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
294
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
295
|
+
}>, true>;
|
|
296
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
297
|
+
}, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
|
|
274
298
|
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
275
299
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
276
300
|
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { EquipmentPrerequisites } from "../../_Prerequisite.js";
|
|
2
3
|
import { src } from "../../source/_PublicationRef.js";
|
|
3
4
|
import { CombatUse, Complexity, Cost, DefaultItemTranslations, StructurePoints, Weight, } from "./_Item.js";
|
|
4
5
|
import { checkWeaponCombatTechniqueIntegrity } from "./_Weapon.js";
|
|
@@ -26,6 +27,10 @@ export const TravelGearOrTool = DB.Entity(import.meta.url, {
|
|
|
26
27
|
comment: "The item can also be used either as an improvised weapon or as an armor, although this is not the primary use case of the item.",
|
|
27
28
|
type: DB.IncludeIdentifier(CombatUse),
|
|
28
29
|
}),
|
|
30
|
+
prerequisites: DB.Optional({
|
|
31
|
+
comment: "The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.",
|
|
32
|
+
type: DB.IncludeIdentifier(EquipmentPrerequisites),
|
|
33
|
+
}),
|
|
29
34
|
src,
|
|
30
35
|
translations: DefaultItemTranslations("TravelGearOrTool"),
|
|
31
36
|
}),
|
|
@@ -95,6 +95,30 @@ export declare const Vehicle: DB.Entity<"Vehicle", {
|
|
|
95
95
|
}>, []>>>, []>>, false>;
|
|
96
96
|
}>, []>>>;
|
|
97
97
|
}, []>>, false>;
|
|
98
|
+
prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"EquipmentPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
|
|
99
|
+
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
100
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
101
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
102
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
103
|
+
Hide: DB.EnumCase<null>;
|
|
104
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
105
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
106
|
+
Standalone: DB.EnumCase<null>;
|
|
107
|
+
Connected: DB.EnumCase<null>;
|
|
108
|
+
}, []>>, false>;
|
|
109
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
110
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
111
|
+
}>, true>;
|
|
112
|
+
}>, []>>>;
|
|
113
|
+
}, []>>, false>;
|
|
114
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
115
|
+
Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
|
|
116
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
117
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
118
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
119
|
+
}>, true>;
|
|
120
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
121
|
+
}, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
|
|
98
122
|
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
99
123
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
100
124
|
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { EquipmentPrerequisites } from "../../_Prerequisite.js";
|
|
2
3
|
import { src } from "../../source/_PublicationRef.js";
|
|
3
4
|
import { Complexity, Cost, DefaultItemTranslations, Weight } from "./_Item.js";
|
|
4
5
|
export const Vehicle = DB.Entity(import.meta.url, {
|
|
@@ -17,6 +18,10 @@ export const Vehicle = DB.Entity(import.meta.url, {
|
|
|
17
18
|
comment: "The complexity of crafting the item.",
|
|
18
19
|
type: DB.IncludeIdentifier(Complexity),
|
|
19
20
|
}),
|
|
21
|
+
prerequisites: DB.Optional({
|
|
22
|
+
comment: "The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.",
|
|
23
|
+
type: DB.IncludeIdentifier(EquipmentPrerequisites),
|
|
24
|
+
}),
|
|
20
25
|
src,
|
|
21
26
|
translations: DefaultItemTranslations("Vehicle"),
|
|
22
27
|
}),
|
|
@@ -231,6 +231,30 @@ export declare const Weapon: DB.Entity<"Weapon", {
|
|
|
231
231
|
Invaluable: DB.EnumCase<null>;
|
|
232
232
|
}, []>>, true>;
|
|
233
233
|
}>, []>>, false>;
|
|
234
|
+
prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"EquipmentPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
|
|
235
|
+
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
236
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
237
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
238
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
239
|
+
Hide: DB.EnumCase<null>;
|
|
240
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
241
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
242
|
+
Standalone: DB.EnumCase<null>;
|
|
243
|
+
Connected: DB.EnumCase<null>;
|
|
244
|
+
}, []>>, false>;
|
|
245
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
246
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
247
|
+
}>, true>;
|
|
248
|
+
}>, []>>>;
|
|
249
|
+
}, []>>, false>;
|
|
250
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
251
|
+
Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
|
|
252
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
253
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
254
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
255
|
+
}>, true>;
|
|
256
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
257
|
+
}, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
|
|
234
258
|
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
235
259
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
236
260
|
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { EquipmentPrerequisites } from "../../_Prerequisite.js";
|
|
2
3
|
import { CloseCombatTechnique, RangedCombatTechnique } from "../../CombatTechnique.js";
|
|
3
4
|
import { NestedTranslationMap } from "../../Locale.js";
|
|
4
5
|
import { Errata } from "../../source/_Erratum.js";
|
|
@@ -55,6 +56,10 @@ export const Weapon = DB.Entity(import.meta.url, {
|
|
|
55
56
|
comment: "The weapon is a known item, which implies some additional values.",
|
|
56
57
|
type: DB.IncludeIdentifier(KnownItemSpecifics),
|
|
57
58
|
}),
|
|
59
|
+
prerequisites: DB.Optional({
|
|
60
|
+
comment: "The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.",
|
|
61
|
+
type: DB.IncludeIdentifier(EquipmentPrerequisites),
|
|
62
|
+
}),
|
|
58
63
|
src,
|
|
59
64
|
translations: NestedTranslationMap(DB.Required, "Weapon", DB.Object({
|
|
60
65
|
name: DB.Required({
|
|
@@ -271,6 +271,30 @@ export declare const WeaponAccessory: DB.Entity<"WeaponAccessory", {
|
|
|
271
271
|
}>, false>;
|
|
272
272
|
}>, []>>>;
|
|
273
273
|
}, []>>, false>;
|
|
274
|
+
prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"EquipmentPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
|
|
275
|
+
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
276
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
277
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
278
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
279
|
+
Hide: DB.EnumCase<null>;
|
|
280
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
281
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
282
|
+
Standalone: DB.EnumCase<null>;
|
|
283
|
+
Connected: DB.EnumCase<null>;
|
|
284
|
+
}, []>>, false>;
|
|
285
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
286
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
287
|
+
}>, true>;
|
|
288
|
+
}>, []>>>;
|
|
289
|
+
}, []>>, false>;
|
|
290
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
291
|
+
Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
|
|
292
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
293
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
294
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
295
|
+
}>, true>;
|
|
296
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
297
|
+
}, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
|
|
274
298
|
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
275
299
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
276
300
|
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { EquipmentPrerequisites } from "../../_Prerequisite.js";
|
|
2
3
|
import { src } from "../../source/_PublicationRef.js";
|
|
3
4
|
import { CombatUse, Complexity, Cost, DefaultItemTranslations, StructurePoints, Weight, } from "./_Item.js";
|
|
4
5
|
import { checkWeaponCombatTechniqueIntegrity } from "./_Weapon.js";
|
|
@@ -26,6 +27,10 @@ export const WeaponAccessory = DB.Entity(import.meta.url, {
|
|
|
26
27
|
comment: "The item can also be used either as an improvised weapon or as an armor, although this is not the primary use case of the item.",
|
|
27
28
|
type: DB.IncludeIdentifier(CombatUse),
|
|
28
29
|
}),
|
|
30
|
+
prerequisites: DB.Optional({
|
|
31
|
+
comment: "The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.",
|
|
32
|
+
type: DB.IncludeIdentifier(EquipmentPrerequisites),
|
|
33
|
+
}),
|
|
29
34
|
src,
|
|
30
35
|
translations: DefaultItemTranslations("WeaponAccessory"),
|
|
31
36
|
}),
|
|
@@ -271,6 +271,30 @@ export declare const DefaultItem: (sourceUrl: string, singularName: string, plur
|
|
|
271
271
|
}>, false>;
|
|
272
272
|
}>, []>>>;
|
|
273
273
|
}, []>>, false>;
|
|
274
|
+
prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"EquipmentPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
|
|
275
|
+
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
276
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
277
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
278
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
279
|
+
Hide: DB.EnumCase<null>;
|
|
280
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
281
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
282
|
+
Standalone: DB.EnumCase<null>;
|
|
283
|
+
Connected: DB.EnumCase<null>;
|
|
284
|
+
}, []>>, false>;
|
|
285
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
286
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
287
|
+
}>, true>;
|
|
288
|
+
}>, []>>>;
|
|
289
|
+
}, []>>, false>;
|
|
290
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
291
|
+
Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
|
|
292
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
293
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
294
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
295
|
+
}>, true>;
|
|
296
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
297
|
+
}, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
|
|
274
298
|
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
275
299
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
276
300
|
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
2
|
import { BlessedTraditionIdentifier, CultureIdentifier, MagicalTraditionIdentifier, ProfessionIdentifier, RaceIdentifier, } from "../../_Identifier.js";
|
|
3
|
-
import { PlainGeneralPrerequisites } from "../../_Prerequisite.js";
|
|
3
|
+
import { EquipmentPrerequisites, PlainGeneralPrerequisites } from "../../_Prerequisite.js";
|
|
4
4
|
import { ResponsiveTextOptional, ResponsiveTextReplace } from "../../_ResponsiveText.js";
|
|
5
5
|
import { NestedTranslationMap } from "../../Locale.js";
|
|
6
6
|
import { Errata } from "../../source/_Erratum.js";
|
|
@@ -33,6 +33,10 @@ export const DefaultItem = (sourceUrl, singularName, pluralName) => DB.Entity(so
|
|
|
33
33
|
comment: "The item can also be used either as an improvised weapon or as an armor, although this is not the primary use case of the item.",
|
|
34
34
|
type: DB.IncludeIdentifier(CombatUse),
|
|
35
35
|
}),
|
|
36
|
+
prerequisites: DB.Optional({
|
|
37
|
+
comment: "The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.",
|
|
38
|
+
type: DB.IncludeIdentifier(EquipmentPrerequisites),
|
|
39
|
+
}),
|
|
36
40
|
src,
|
|
37
41
|
translations: DefaultItemTranslations(singularName),
|
|
38
42
|
}),
|
|
@@ -2295,6 +2295,27 @@ export declare const BookPrerequisiteGroup: DB.Enum<"BookPrerequisiteGroup", {
|
|
|
2295
2295
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
2296
2296
|
}>, []>>>;
|
|
2297
2297
|
}, []>;
|
|
2298
|
+
export declare const EquipmentPrerequisiteGroup: DB.Enum<"EquipmentPrerequisiteGroup", {
|
|
2299
|
+
Rule: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"RulePrerequisite", DB.Object<{
|
|
2300
|
+
id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ExtensionRuleIdentifier", {
|
|
2301
|
+
FocusRule: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
2302
|
+
OptionalRule: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
2303
|
+
}, []>>, true>;
|
|
2304
|
+
active: DB.MemberDecl<DB.Boolean, true>;
|
|
2305
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
2306
|
+
Hide: DB.EnumCase<null>;
|
|
2307
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
2308
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
2309
|
+
Standalone: DB.EnumCase<null>;
|
|
2310
|
+
Connected: DB.EnumCase<null>;
|
|
2311
|
+
}, []>>, false>;
|
|
2312
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
2313
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
2314
|
+
}>, true>;
|
|
2315
|
+
}>, []>>>;
|
|
2316
|
+
}, []>>, false>;
|
|
2317
|
+
}>, []>>>;
|
|
2318
|
+
}, []>;
|
|
2298
2319
|
export declare const PreconditionGroup: DB.Enum<"PreconditionGroup", {
|
|
2299
2320
|
Publication: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationPrerequisite", DB.Object<{
|
|
2300
2321
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
@@ -189,6 +189,12 @@ export const BookPrerequisiteGroup = DB.Enum(import.meta.url, {
|
|
|
189
189
|
Script: DB.EnumCase({ type: DB.IncludeIdentifier(ScriptPrerequisite) }),
|
|
190
190
|
}),
|
|
191
191
|
});
|
|
192
|
+
export const EquipmentPrerequisiteGroup = DB.Enum(import.meta.url, {
|
|
193
|
+
name: "EquipmentPrerequisiteGroup",
|
|
194
|
+
values: () => ({
|
|
195
|
+
Rule: DB.EnumCase({ type: DB.IncludeIdentifier(RulePrerequisite) }),
|
|
196
|
+
}),
|
|
197
|
+
});
|
|
192
198
|
export const PreconditionGroup = DB.Enum(import.meta.url, {
|
|
193
199
|
name: "PreconditionGroup",
|
|
194
200
|
values: () => ({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@optolith/database-schema",
|
|
3
|
-
"version": "0.106.
|
|
3
|
+
"version": "0.106.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",
|