@optolith/database-schema 0.105.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 +16 -0
- package/gen/types.d.ts +176 -1
- 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 +29 -1
- package/lib/types/equipment/item/CeremonialItem.js +7 -3
- 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
|
@@ -270,6 +270,30 @@ export declare const ThievesTool: import("tsondb/schema/dsl").Entity<string, {
|
|
|
270
270
|
}>, false>;
|
|
271
271
|
}>, []>>>;
|
|
272
272
|
}, []>>, false>;
|
|
273
|
+
prerequisites: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"EquipmentPrerequisites", import("tsondb/schema/dsl").IncludeIdentifier<import("tsondb/schema/dsl").Param<string, import("tsondb/schema/dsl").Type>[], import("tsondb/schema/dsl").TypeAlias<"PlainPrerequisites", import("tsondb/schema/dsl").Array<import("tsondb/schema/dsl").IncludeIdentifier<import("tsondb/schema/dsl").Param<string, import("tsondb/schema/dsl").Type>[], import("tsondb/schema/dsl").Enum<"PrerequisitesElement", {
|
|
274
|
+
Single: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").TypeArgument<import("tsondb/schema/dsl").Param<"T", import("tsondb/schema/dsl").Type>>>;
|
|
275
|
+
Disjunction: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<import("tsondb/schema/dsl").Param<string, import("tsondb/schema/dsl").Type>[], import("tsondb/schema/dsl").TypeAlias<"PrerequisitesDisjunction", import("tsondb/schema/dsl").Object<{
|
|
276
|
+
list: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Array<import("tsondb/schema/dsl").TypeArgument<import("tsondb/schema/dsl").Param<"T", import("tsondb/schema/dsl").Type>>>, true>;
|
|
277
|
+
display_option: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"DisplayOption", {
|
|
278
|
+
Hide: import("tsondb/schema/dsl").EnumCase<null>;
|
|
279
|
+
ReplaceWith: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"ReplacementDisplayOption", import("tsondb/schema/dsl").Object<{
|
|
280
|
+
sentence_type: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"SentenceType", {
|
|
281
|
+
Standalone: import("tsondb/schema/dsl").EnumCase<null>;
|
|
282
|
+
Connected: import("tsondb/schema/dsl").EnumCase<null>;
|
|
283
|
+
}, []>>, false>;
|
|
284
|
+
translations: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
285
|
+
replacement: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").String, true>;
|
|
286
|
+
}>, true>;
|
|
287
|
+
}>, []>>>;
|
|
288
|
+
}, []>>, false>;
|
|
289
|
+
}>, [T: import("tsondb/schema/dsl").Param<"T", import("tsondb/schema/dsl").Type>]>>>;
|
|
290
|
+
Group: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<import("tsondb/schema/dsl").Param<string, import("tsondb/schema/dsl").Type>[], import("tsondb/schema/dsl").TypeAlias<"PrerequisiteGroup", import("tsondb/schema/dsl").Object<{
|
|
291
|
+
list: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Array<import("tsondb/schema/dsl").TypeArgument<import("tsondb/schema/dsl").Param<"T", import("tsondb/schema/dsl").Type>>>, true>;
|
|
292
|
+
translations: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
293
|
+
text: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").String, true>;
|
|
294
|
+
}>, true>;
|
|
295
|
+
}>, [T: import("tsondb/schema/dsl").Param<"T", import("tsondb/schema/dsl").Type>]>>>;
|
|
296
|
+
}, [T: import("tsondb/schema/dsl").Param<"T", import("tsondb/schema/dsl").Type>]>>>, [T: import("tsondb/schema/dsl").Param<"T", import("tsondb/schema/dsl").Type>]>>, []>>, false>;
|
|
273
297
|
src: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"PublicationRefs", import("tsondb/schema/dsl").Array<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"PublicationRef", import("tsondb/schema/dsl").Object<{
|
|
274
298
|
id: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
|
|
275
299
|
occurrences: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").NestedEntityMap<string, {
|
|
@@ -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.
|
|
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",
|