@optolith/database-schema 0.106.0 → 0.107.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/gen/types.d.ts +176 -1
  3. package/lib/types/_Prerequisite.d.ts +24 -0
  4. package/lib/types/_Prerequisite.js +5 -1
  5. package/lib/types/equipment/item/Ammunition.d.ts +24 -0
  6. package/lib/types/equipment/item/Ammunition.js +5 -0
  7. package/lib/types/equipment/item/Animal.d.ts +24 -0
  8. package/lib/types/equipment/item/Animal.js +5 -0
  9. package/lib/types/equipment/item/AnimalCare.d.ts +25 -1
  10. package/lib/types/equipment/item/AnimalCare.js +6 -1
  11. package/lib/types/equipment/item/Armor.d.ts +24 -0
  12. package/lib/types/equipment/item/Armor.js +5 -0
  13. package/lib/types/equipment/item/ArmorAccessory.d.ts +24 -0
  14. package/lib/types/equipment/item/ArmorAccessory.js +5 -0
  15. package/lib/types/equipment/item/BandageOrRemedy.d.ts +24 -0
  16. package/lib/types/equipment/item/BandageOrRemedy.js +5 -0
  17. package/lib/types/equipment/item/Book.d.ts +24 -0
  18. package/lib/types/equipment/item/Book.js +5 -1
  19. package/lib/types/equipment/item/CeremonialItem.d.ts +24 -0
  20. package/lib/types/equipment/item/CeremonialItem.js +5 -0
  21. package/lib/types/equipment/item/Clothes.d.ts +24 -0
  22. package/lib/types/equipment/item/Clothes.js +5 -0
  23. package/lib/types/equipment/item/Container.d.ts +24 -0
  24. package/lib/types/equipment/item/Container.js +5 -0
  25. package/lib/types/equipment/item/Elixir.d.ts +24 -0
  26. package/lib/types/equipment/item/Elixir.js +5 -0
  27. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +24 -0
  28. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +5 -0
  29. package/lib/types/equipment/item/GemOrPreciousStone.d.ts +24 -0
  30. package/lib/types/equipment/item/GemOrPreciousStone.js +5 -0
  31. package/lib/types/equipment/item/IlluminationLightSource.d.ts +24 -0
  32. package/lib/types/equipment/item/IlluminationLightSource.js +5 -0
  33. package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +24 -0
  34. package/lib/types/equipment/item/IlluminationRefillOrSupply.js +5 -0
  35. package/lib/types/equipment/item/Item.d.ts +24 -0
  36. package/lib/types/equipment/item/Item.js +5 -0
  37. package/lib/types/equipment/item/ItemComponent.d.ts +24 -0
  38. package/lib/types/equipment/item/ItemComponent.js +5 -0
  39. package/lib/types/equipment/item/Jewelry.d.ts +24 -0
  40. package/lib/types/equipment/item/Jewelry.js +5 -0
  41. package/lib/types/equipment/item/Laboratory.d.ts +24 -0
  42. package/lib/types/equipment/item/Laboratory.js +5 -0
  43. package/lib/types/equipment/item/Liebesspielzeug.d.ts +24 -0
  44. package/lib/types/equipment/item/Liebesspielzeug.js +5 -0
  45. package/lib/types/equipment/item/LuxuryGood.d.ts +24 -0
  46. package/lib/types/equipment/item/LuxuryGood.js +5 -0
  47. package/lib/types/equipment/item/MagicalArtifact.d.ts +24 -0
  48. package/lib/types/equipment/item/MagicalArtifact.js +5 -0
  49. package/lib/types/equipment/item/MusicalInstrument.d.ts +24 -0
  50. package/lib/types/equipment/item/MusicalInstrument.js +5 -0
  51. package/lib/types/equipment/item/OrienteeringAid.d.ts +24 -0
  52. package/lib/types/equipment/item/Poison.d.ts +24 -0
  53. package/lib/types/equipment/item/Poison.js +5 -0
  54. package/lib/types/equipment/item/RopeOrChain.d.ts +24 -0
  55. package/lib/types/equipment/item/Stationery.d.ts +24 -0
  56. package/lib/types/equipment/item/ThievesTool.d.ts +24 -0
  57. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +24 -0
  58. package/lib/types/equipment/item/ToolOfTheTrade.js +5 -0
  59. package/lib/types/equipment/item/TravelGearOrTool.d.ts +24 -0
  60. package/lib/types/equipment/item/TravelGearOrTool.js +5 -0
  61. package/lib/types/equipment/item/Vehicle.d.ts +24 -0
  62. package/lib/types/equipment/item/Vehicle.js +5 -0
  63. package/lib/types/equipment/item/Weapon.d.ts +24 -0
  64. package/lib/types/equipment/item/Weapon.js +5 -0
  65. package/lib/types/equipment/item/WeaponAccessory.d.ts +24 -0
  66. package/lib/types/equipment/item/WeaponAccessory.js +5 -0
  67. package/lib/types/equipment/item/_Item.d.ts +24 -0
  68. package/lib/types/equipment/item/_Item.js +5 -1
  69. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +21 -0
  70. package/lib/types/prerequisites/PrerequisiteGroups.js +6 -0
  71. package/package.json +1 -1
@@ -320,6 +320,30 @@ export declare const Item: DB.Entity<"Item", {
320
320
  Invaluable: DB.EnumCase<null>;
321
321
  }, []>>, true>;
322
322
  }>, []>>, false>;
323
+ 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", {
324
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
325
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
326
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
327
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
328
+ Hide: DB.EnumCase<null>;
329
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
330
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
331
+ Standalone: DB.EnumCase<null>;
332
+ Connected: DB.EnumCase<null>;
333
+ }, []>>, false>;
334
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
335
+ replacement: DB.MemberDecl<DB.String, true>;
336
+ }>, true>;
337
+ }>, []>>>;
338
+ }, []>>, false>;
339
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
340
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
341
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
342
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
343
+ text: DB.MemberDecl<DB.String, true>;
344
+ }>, true>;
345
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
346
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
323
347
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
324
348
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
325
349
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -2,6 +2,7 @@ import { isNotEmpty } from "@elyukai/utils/array/nonEmpty";
2
2
  import { isNotNullish } from "@elyukai/utils/nullable";
3
3
  import * as DB from "tsondb/schema/dsl";
4
4
  import { EquipmentCategoryIdentifier } from "../../_Identifier.js";
5
+ import { EquipmentPrerequisites } from "../../_Prerequisite.js";
5
6
  import { CloseCombatTechnique, RangedCombatTechnique } from "../../CombatTechnique.js";
6
7
  import { NestedTranslationMap } from "../../Locale.js";
7
8
  import { Errata } from "../../source/_Erratum.js";
@@ -73,6 +74,10 @@ export const Item = DB.Entity(import.meta.url, {
73
74
  comment: "The weapon is a known item, which implies some additional values.",
74
75
  type: DB.IncludeIdentifier(KnownItemSpecifics),
75
76
  }),
77
+ prerequisites: DB.Optional({
78
+ 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.",
79
+ type: DB.IncludeIdentifier(EquipmentPrerequisites),
80
+ }),
76
81
  src,
77
82
  translations: NestedTranslationMap(DB.Required, "Item", DB.Object({
78
83
  name: DB.Required({
@@ -86,6 +86,30 @@ export declare const ItemComponent: DB.Entity<"ItemComponent", {
86
86
  breakingPointRating: DB.MemberDecl<DB.Integer, false>;
87
87
  }>, []>>, false>;
88
88
  }>, []>>, false>;
89
+ 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", {
90
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
91
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
92
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
93
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
94
+ Hide: DB.EnumCase<null>;
95
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
96
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
97
+ Standalone: DB.EnumCase<null>;
98
+ Connected: DB.EnumCase<null>;
99
+ }, []>>, false>;
100
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
101
+ replacement: DB.MemberDecl<DB.String, true>;
102
+ }>, true>;
103
+ }>, []>>>;
104
+ }, []>>, false>;
105
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
106
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
107
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
108
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
109
+ text: DB.MemberDecl<DB.String, true>;
110
+ }>, true>;
111
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
112
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
89
113
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
90
114
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
91
115
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -1,5 +1,6 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  import { AmmunitionIdentifier, ArmorIdentifier, CloseCombatTechniqueIdentifier, ItemComponentIdentifier, RangedCombatTechniqueIdentifier, WeaponIdentifier, } from "../../_Identifier.js";
3
+ import { EquipmentPrerequisites } from "../../_Prerequisite.js";
3
4
  import { CloseCombatTechnique, RangedCombatTechnique } from "../../CombatTechnique.js";
4
5
  import { NestedTranslationMap } from "../../Locale.js";
5
6
  import { Errata } from "../../source/_Erratum.js";
@@ -35,6 +36,10 @@ export const ItemComponent = DB.Entity(import.meta.url, {
35
36
  comment: "Special rules for the item component.",
36
37
  type: DB.IncludeIdentifier(ItemComponentRules),
37
38
  }),
39
+ prerequisites: DB.Optional({
40
+ 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.",
41
+ type: DB.IncludeIdentifier(EquipmentPrerequisites),
42
+ }),
38
43
  src,
39
44
  translations: NestedTranslationMap(DB.Required, "ItemComponent", DB.Object({
40
45
  name: DB.Required({
@@ -88,6 +88,30 @@ export declare const Jewelry: DB.Entity<"Jewelry", {
88
88
  points: DB.MemberDecl<DB.Integer, true>;
89
89
  }>, []>>>, []>>>;
90
90
  }, []>>, true>;
91
+ 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", {
92
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
93
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
94
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
95
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
96
+ Hide: DB.EnumCase<null>;
97
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
98
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
99
+ Standalone: DB.EnumCase<null>;
100
+ Connected: DB.EnumCase<null>;
101
+ }, []>>, false>;
102
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
103
+ replacement: DB.MemberDecl<DB.String, true>;
104
+ }>, true>;
105
+ }>, []>>>;
106
+ }, []>>, false>;
107
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
108
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
109
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
110
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
111
+ text: DB.MemberDecl<DB.String, true>;
112
+ }>, true>;
113
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
114
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
91
115
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
92
116
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
93
117
  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, DefaultItemTranslations, StructurePoints, Weight } from "./_Item.js";
4
5
  export const Jewelry = DB.Entity(import.meta.url, {
@@ -23,6 +24,10 @@ export const Jewelry = DB.Entity(import.meta.url, {
23
24
  comment: "The structure points of the item. Use an array if the item consists of multiple components that have individual structure points.",
24
25
  type: DB.IncludeIdentifier(StructurePoints),
25
26
  }),
27
+ prerequisites: DB.Optional({
28
+ 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.",
29
+ type: DB.IncludeIdentifier(EquipmentPrerequisites),
30
+ }),
26
31
  src,
27
32
  translations: DefaultItemTranslations("Jewelry"),
28
33
  }),
@@ -96,6 +96,30 @@ export declare const Laboratory: DB.Entity<"Laboratory", {
96
96
  }>, []>>>;
97
97
  }, []>>, false>;
98
98
  level: DB.MemberDecl<DB.Integer, true>;
99
+ 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", {
100
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
101
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
102
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
103
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
104
+ Hide: DB.EnumCase<null>;
105
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
106
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
107
+ Standalone: DB.EnumCase<null>;
108
+ Connected: DB.EnumCase<null>;
109
+ }, []>>, false>;
110
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
111
+ replacement: DB.MemberDecl<DB.String, true>;
112
+ }>, true>;
113
+ }>, []>>>;
114
+ }, []>>, false>;
115
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
116
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
117
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
118
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
119
+ text: DB.MemberDecl<DB.String, true>;
120
+ }>, true>;
121
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
122
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
99
123
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
100
124
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
101
125
  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 Laboratory = DB.Entity(import.meta.url, {
@@ -21,6 +22,10 @@ export const Laboratory = DB.Entity(import.meta.url, {
21
22
  comment: "The level of the laboratory.",
22
23
  type: DB.Integer({ minimum: 1 }),
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("Laboratory"),
26
31
  }),
@@ -271,6 +271,30 @@ export declare const Liebesspielzeug: DB.Entity<"Liebesspielzeug", {
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 Liebesspielzeug = 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("Liebesspielzeug"),
31
36
  }),
@@ -271,6 +271,30 @@ export declare const LuxuryGood: DB.Entity<"LuxuryGood", {
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 LuxuryGood = 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("LuxuryGood"),
31
36
  }),
@@ -271,6 +271,30 @@ export declare const MagicalArtifact: DB.Entity<"MagicalArtifact", {
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 { NestedTranslationMap } from "../../Locale.js";
3
4
  import { Errata } from "../../source/_Erratum.js";
4
5
  import { src } from "../../source/_PublicationRef.js";
@@ -28,6 +29,10 @@ export const MagicalArtifact = DB.Entity(import.meta.url, {
28
29
  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.",
29
30
  type: DB.IncludeIdentifier(CombatUse),
30
31
  }),
32
+ prerequisites: DB.Optional({
33
+ 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.",
34
+ type: DB.IncludeIdentifier(EquipmentPrerequisites),
35
+ }),
31
36
  src,
32
37
  translations: NestedTranslationMap(DB.Required, `MagicalArtifact`, DB.Object({
33
38
  name: DB.Required({
@@ -271,6 +271,30 @@ export declare const MusicalInstrument: DB.Entity<"MusicalInstrument", {
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 MusicalInstrument = 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("MusicalInstrument"),
31
36
  }),
@@ -270,6 +270,30 @@ export declare const OrienteeringAid: 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, {
@@ -341,6 +341,30 @@ export declare const Poison: DB.Entity<"Poison", {
341
341
  }>, false>;
342
342
  }>, []>>>;
343
343
  }, []>>, false>;
344
+ 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", {
345
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
346
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
347
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
348
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
349
+ Hide: DB.EnumCase<null>;
350
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
351
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
352
+ Standalone: DB.EnumCase<null>;
353
+ Connected: DB.EnumCase<null>;
354
+ }, []>>, false>;
355
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
356
+ replacement: DB.MemberDecl<DB.String, true>;
357
+ }>, true>;
358
+ }>, []>>>;
359
+ }, []>>, false>;
360
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
361
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
362
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
363
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
364
+ text: DB.MemberDecl<DB.String, true>;
365
+ }>, true>;
366
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
367
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
344
368
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
345
369
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
346
370
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -4,6 +4,7 @@ import { Dice } from "../../_Dice.js";
4
4
  import { Reduceable, Resistance } from "../../_DiseasePoison.js";
5
5
  import { DiseaseIdentifier } from "../../_Identifier.js";
6
6
  import { MathOperation } from "../../_MathExpression.js";
7
+ import { EquipmentPrerequisites } from "../../_Prerequisite.js";
7
8
  import { NestedTranslationMap } from "../../Locale.js";
8
9
  import { Errata } from "../../source/_Erratum.js";
9
10
  import { src } from "../../source/_PublicationRef.js";
@@ -44,6 +45,10 @@ export const Poison = DB.Entity(import.meta.url, {
44
45
  comment: "Price for one dose, in silverthalers.",
45
46
  type: DB.IncludeIdentifier(PoisonCost),
46
47
  }),
48
+ prerequisites: DB.Optional({
49
+ 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.",
50
+ type: DB.IncludeIdentifier(EquipmentPrerequisites),
51
+ }),
47
52
  src,
48
53
  translations: NestedTranslationMap(DB.Required, "Poison", DB.Object({
49
54
  name: DB.Required({
@@ -270,6 +270,30 @@ export declare const RopeOrChain: 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, {
@@ -270,6 +270,30 @@ export declare const Stationery: 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, {