@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
|
@@ -216,6 +216,30 @@ export declare const Armor: DB.Entity<"Armor", {
|
|
|
216
216
|
Invaluable: DB.EnumCase<null>;
|
|
217
217
|
}, []>>, true>;
|
|
218
218
|
}>, []>>, false>;
|
|
219
|
+
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", {
|
|
220
|
+
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
221
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
222
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
223
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
224
|
+
Hide: DB.EnumCase<null>;
|
|
225
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
226
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
227
|
+
Standalone: DB.EnumCase<null>;
|
|
228
|
+
Connected: DB.EnumCase<null>;
|
|
229
|
+
}, []>>, false>;
|
|
230
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
231
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
232
|
+
}>, true>;
|
|
233
|
+
}>, []>>>;
|
|
234
|
+
}, []>>, false>;
|
|
235
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
236
|
+
Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
|
|
237
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
238
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
239
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
240
|
+
}>, true>;
|
|
241
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
242
|
+
}, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
|
|
219
243
|
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
220
244
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
221
245
|
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { isNotNullish } from "@elyukai/utils/nullable";
|
|
2
2
|
import * as DB from "tsondb/schema/dsl";
|
|
3
3
|
import { ArmorIdentifier } from "../../_Identifier.js";
|
|
4
|
+
import { EquipmentPrerequisites } from "../../_Prerequisite.js";
|
|
4
5
|
import { NestedTranslationMap } from "../../Locale.js";
|
|
5
6
|
import { Errata } from "../../source/_Erratum.js";
|
|
6
7
|
import { src } from "../../source/_PublicationRef.js";
|
|
@@ -49,6 +50,10 @@ export const Armor = DB.Entity(import.meta.url, {
|
|
|
49
50
|
comment: "The armor is a known item, which implies some additional values.",
|
|
50
51
|
type: DB.IncludeIdentifier(KnownItemSpecifics),
|
|
51
52
|
}),
|
|
53
|
+
prerequisites: DB.Optional({
|
|
54
|
+
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.",
|
|
55
|
+
type: DB.IncludeIdentifier(EquipmentPrerequisites),
|
|
56
|
+
}),
|
|
52
57
|
src,
|
|
53
58
|
translations: NestedTranslationMap(DB.Required, "Armor", DB.Object({
|
|
54
59
|
name: DB.Required({
|
|
@@ -271,6 +271,30 @@ export declare const ArmorAccessory: DB.Entity<"ArmorAccessory", {
|
|
|
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 ArmorAccessory = 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("ArmorAccessory"),
|
|
31
36
|
}),
|
|
@@ -271,6 +271,30 @@ export declare const BandageOrRemedy: DB.Entity<"BandageOrRemedy", {
|
|
|
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 BandageOrRemedy = 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("BandageOrRemedy"),
|
|
31
36
|
}),
|
|
@@ -242,6 +242,30 @@ export declare const Book: DB.Entity<"Book", {
|
|
|
242
242
|
}>, false>;
|
|
243
243
|
}>, []>>>;
|
|
244
244
|
}, []>>, false>;
|
|
245
|
+
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", {
|
|
246
|
+
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
247
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
248
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
249
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
250
|
+
Hide: DB.EnumCase<null>;
|
|
251
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
252
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
253
|
+
Standalone: DB.EnumCase<null>;
|
|
254
|
+
Connected: DB.EnumCase<null>;
|
|
255
|
+
}, []>>, false>;
|
|
256
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
257
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
258
|
+
}>, true>;
|
|
259
|
+
}>, []>>>;
|
|
260
|
+
}, []>>, false>;
|
|
261
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
262
|
+
Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
|
|
263
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
264
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
265
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
266
|
+
}>, true>;
|
|
267
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
268
|
+
}, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
|
|
245
269
|
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
246
270
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
247
271
|
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
2
|
import { SkillIdentifier } from "../../_Identifier.js";
|
|
3
|
-
import { BookPrerequisites } from "../../_Prerequisite.js";
|
|
3
|
+
import { BookPrerequisites, EquipmentPrerequisites } from "../../_Prerequisite.js";
|
|
4
4
|
import { NestedTranslationMap } from "../../Locale.js";
|
|
5
5
|
import { Errata } from "../../source/_Erratum.js";
|
|
6
6
|
import { src } from "../../source/_PublicationRef.js";
|
|
@@ -41,6 +41,10 @@ export const Book = DB.Entity(import.meta.url, {
|
|
|
41
41
|
comment: "Skills and abilities you can learn by reading the book, as well as any other rules and effects concerning the book.",
|
|
42
42
|
type: DB.IncludeIdentifier(BookRules),
|
|
43
43
|
}),
|
|
44
|
+
prerequisites: DB.Optional({
|
|
45
|
+
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.",
|
|
46
|
+
type: DB.IncludeIdentifier(EquipmentPrerequisites),
|
|
47
|
+
}),
|
|
44
48
|
src,
|
|
45
49
|
translations: NestedTranslationMap(DB.Required, "Book", DB.Object({
|
|
46
50
|
name: DB.Required({
|
|
@@ -101,7 +101,11 @@ export declare const CeremonialItem: DB.Entity<"CeremonialItem", {
|
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
103
103
|
}, []>>, false>;
|
|
104
|
-
associated_tradition: DB.MemberDecl<DB.
|
|
104
|
+
associated_tradition: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"RestrictedToBlessedTraditionsScope", {
|
|
105
|
+
Specific: DB.EnumCase<DB.Array<DB.ReferenceIdentifier>>;
|
|
106
|
+
Church: DB.EnumCase<null>;
|
|
107
|
+
Shamanistic: DB.EnumCase<null>;
|
|
108
|
+
}, []>>, true>;
|
|
105
109
|
combat_use: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CombatUse", {
|
|
106
110
|
Weapon: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ImprovisedWeapon", DB.Object<{
|
|
107
111
|
melee_uses: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
@@ -272,6 +276,30 @@ export declare const CeremonialItem: DB.Entity<"CeremonialItem", {
|
|
|
272
276
|
}>, false>;
|
|
273
277
|
}>, []>>>;
|
|
274
278
|
}, []>>, false>;
|
|
279
|
+
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", {
|
|
280
|
+
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
281
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
282
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
283
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
284
|
+
Hide: DB.EnumCase<null>;
|
|
285
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
286
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
287
|
+
Standalone: DB.EnumCase<null>;
|
|
288
|
+
Connected: DB.EnumCase<null>;
|
|
289
|
+
}, []>>, false>;
|
|
290
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
291
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
292
|
+
}>, true>;
|
|
293
|
+
}>, []>>>;
|
|
294
|
+
}, []>>, false>;
|
|
295
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
296
|
+
Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
|
|
297
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
298
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
299
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
300
|
+
}>, true>;
|
|
301
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
302
|
+
}, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
|
|
275
303
|
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
276
304
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
277
305
|
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
|
-
import {
|
|
2
|
+
import { EquipmentPrerequisites } from "../../_Prerequisite.js";
|
|
3
3
|
import { src } from "../../source/_PublicationRef.js";
|
|
4
|
-
import { CombatUse, Complexity, Cost, DefaultItemTranslations, StructurePoints, Weight, } from "./_Item.js";
|
|
4
|
+
import { CombatUse, Complexity, Cost, DefaultItemTranslations, RestrictedToBlessedTraditionsScope, StructurePoints, Weight, } from "./_Item.js";
|
|
5
5
|
import { checkWeaponCombatTechniqueIntegrity } from "./_Weapon.js";
|
|
6
6
|
export const CeremonialItem = DB.Entity(import.meta.url, {
|
|
7
7
|
name: "CeremonialItem",
|
|
@@ -25,12 +25,16 @@ export const CeremonialItem = DB.Entity(import.meta.url, {
|
|
|
25
25
|
}),
|
|
26
26
|
associated_tradition: DB.Required({
|
|
27
27
|
comment: "The deity associated with the equipment item.",
|
|
28
|
-
type:
|
|
28
|
+
type: DB.IncludeIdentifier(RestrictedToBlessedTraditionsScope),
|
|
29
29
|
}),
|
|
30
30
|
combat_use: DB.Optional({
|
|
31
31
|
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.",
|
|
32
32
|
type: DB.IncludeIdentifier(CombatUse),
|
|
33
33
|
}),
|
|
34
|
+
prerequisites: DB.Optional({
|
|
35
|
+
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.",
|
|
36
|
+
type: DB.IncludeIdentifier(EquipmentPrerequisites),
|
|
37
|
+
}),
|
|
34
38
|
src,
|
|
35
39
|
translations: DefaultItemTranslations("CeremonialItem"),
|
|
36
40
|
}),
|
|
@@ -271,6 +271,30 @@ export declare const Clothes: DB.Entity<"Clothes", {
|
|
|
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 Clothes = 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("Clothes"),
|
|
31
36
|
}),
|
|
@@ -271,6 +271,30 @@ export declare const Container: DB.Entity<"Container", {
|
|
|
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 Container = 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("Container"),
|
|
31
36
|
}),
|
|
@@ -85,6 +85,30 @@ export declare const Elixir: DB.Entity<"Elixir", {
|
|
|
85
85
|
}>, true>;
|
|
86
86
|
}>, []>>>, []>>, false>;
|
|
87
87
|
}>, []>>, false>;
|
|
88
|
+
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", {
|
|
89
|
+
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
90
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
91
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
92
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
93
|
+
Hide: DB.EnumCase<null>;
|
|
94
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
95
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
96
|
+
Standalone: DB.EnumCase<null>;
|
|
97
|
+
Connected: DB.EnumCase<null>;
|
|
98
|
+
}, []>>, false>;
|
|
99
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
100
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
101
|
+
}>, true>;
|
|
102
|
+
}>, []>>>;
|
|
103
|
+
}, []>>, false>;
|
|
104
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
105
|
+
Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
|
|
106
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
107
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
108
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
109
|
+
}>, true>;
|
|
110
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
111
|
+
}, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
|
|
88
112
|
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
89
113
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
90
114
|
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
2
|
import { AlternativeName } from "../../_AlternativeNames.js";
|
|
3
|
+
import { EquipmentPrerequisites } from "../../_Prerequisite.js";
|
|
3
4
|
import { NestedTranslationMap } from "../../Locale.js";
|
|
4
5
|
import { Errata } from "../../source/_Erratum.js";
|
|
5
6
|
import { src } from "../../source/_PublicationRef.js";
|
|
@@ -32,6 +33,10 @@ export const Elixir = DB.Entity(import.meta.url, {
|
|
|
32
33
|
comment: "AP value and prerequisites of the elixir recipe’s trade secret.",
|
|
33
34
|
type: DB.IncludeIdentifier(RecipeTradeSecret),
|
|
34
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
|
+
}),
|
|
35
40
|
src,
|
|
36
41
|
translations: NestedTranslationMap(DB.Required, "ElixirTranslation", DB.Object({
|
|
37
42
|
name: DB.Required({
|
|
@@ -202,6 +202,30 @@ export declare const EquipmentOfBlessedOnes: DB.Entity<"EquipmentOfBlessedOnes",
|
|
|
202
202
|
}>, false>;
|
|
203
203
|
}>, []>>>;
|
|
204
204
|
}, []>>, false>;
|
|
205
|
+
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", {
|
|
206
|
+
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
207
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
208
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
209
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
210
|
+
Hide: DB.EnumCase<null>;
|
|
211
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
212
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
213
|
+
Standalone: DB.EnumCase<null>;
|
|
214
|
+
Connected: DB.EnumCase<null>;
|
|
215
|
+
}, []>>, false>;
|
|
216
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
217
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
218
|
+
}>, true>;
|
|
219
|
+
}>, []>>>;
|
|
220
|
+
}, []>>, false>;
|
|
221
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
222
|
+
Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
|
|
223
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
224
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
225
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
226
|
+
}>, true>;
|
|
227
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
228
|
+
}, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
|
|
205
229
|
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
206
230
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
207
231
|
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
2
|
import { BlessedTraditionIdentifier } from "../../_Identifier.js";
|
|
3
|
+
import { EquipmentPrerequisites } from "../../_Prerequisite.js";
|
|
3
4
|
import { src } from "../../source/_PublicationRef.js";
|
|
4
5
|
import { CombatUse, Cost, DefaultItemTranslations, StructurePoints } from "./_Item.js";
|
|
5
6
|
import { checkWeaponCombatTechniqueIntegrity } from "./_Weapon.js";
|
|
@@ -26,6 +27,10 @@ export const EquipmentOfBlessedOnes = 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("EquipmentOfBlessedOnes"),
|
|
31
36
|
}),
|
|
@@ -23,6 +23,30 @@ export declare const GemOrPreciousStone: DB.Entity<"GemOrPreciousStone", {
|
|
|
23
23
|
}>, []>>>;
|
|
24
24
|
}, []>>, true>;
|
|
25
25
|
weight: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Weight", DB.Float, []>>, false>;
|
|
26
|
+
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", {
|
|
27
|
+
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
28
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
29
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
30
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
31
|
+
Hide: DB.EnumCase<null>;
|
|
32
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
33
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
34
|
+
Standalone: DB.EnumCase<null>;
|
|
35
|
+
Connected: DB.EnumCase<null>;
|
|
36
|
+
}, []>>, false>;
|
|
37
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
38
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
39
|
+
}>, true>;
|
|
40
|
+
}>, []>>>;
|
|
41
|
+
}, []>>, false>;
|
|
42
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
43
|
+
Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
|
|
44
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
45
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
46
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
47
|
+
}>, true>;
|
|
48
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
49
|
+
}, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
|
|
26
50
|
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
27
51
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
28
52
|
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 { NestedTranslationMap } from "../../Locale.js";
|
|
3
4
|
import { Errata } from "../../source/_Erratum.js";
|
|
4
5
|
import { src } from "../../source/_PublicationRef.js";
|
|
@@ -15,6 +16,10 @@ export const GemOrPreciousStone = DB.Entity(import.meta.url, {
|
|
|
15
16
|
comment: "The weight in kg.",
|
|
16
17
|
type: DB.IncludeIdentifier(Weight),
|
|
17
18
|
}),
|
|
19
|
+
prerequisites: DB.Optional({
|
|
20
|
+
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.",
|
|
21
|
+
type: DB.IncludeIdentifier(EquipmentPrerequisites),
|
|
22
|
+
}),
|
|
18
23
|
src,
|
|
19
24
|
translations: NestedTranslationMap(DB.Required, "GemOrPreciousStone", DB.Object({
|
|
20
25
|
name: DB.Required({
|
|
@@ -280,6 +280,30 @@ export declare const IlluminationLightSource: DB.Entity<"IlluminationLightSource
|
|
|
280
280
|
}>, false>;
|
|
281
281
|
}>, []>>>;
|
|
282
282
|
}, []>>, false>;
|
|
283
|
+
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", {
|
|
284
|
+
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
285
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
286
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
287
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
288
|
+
Hide: DB.EnumCase<null>;
|
|
289
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
290
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
291
|
+
Standalone: DB.EnumCase<null>;
|
|
292
|
+
Connected: DB.EnumCase<null>;
|
|
293
|
+
}, []>>, false>;
|
|
294
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
295
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
296
|
+
}>, true>;
|
|
297
|
+
}>, []>>>;
|
|
298
|
+
}, []>>, false>;
|
|
299
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
300
|
+
Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
|
|
301
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
302
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
303
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
304
|
+
}>, true>;
|
|
305
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
306
|
+
}, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
|
|
283
307
|
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
284
308
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
285
309
|
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";
|
|
@@ -30,6 +31,10 @@ export const IlluminationLightSource = DB.Entity(import.meta.url, {
|
|
|
30
31
|
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.",
|
|
31
32
|
type: DB.IncludeIdentifier(CombatUse),
|
|
32
33
|
}),
|
|
34
|
+
prerequisites: DB.Optional({
|
|
35
|
+
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.",
|
|
36
|
+
type: DB.IncludeIdentifier(EquipmentPrerequisites),
|
|
37
|
+
}),
|
|
33
38
|
src,
|
|
34
39
|
translations: DefaultItemTranslations("IlluminationLightSource"),
|
|
35
40
|
}),
|
|
@@ -271,6 +271,30 @@ export declare const IlluminationRefillOrSupply: DB.Entity<"IlluminationRefillOr
|
|
|
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, {
|