@optolith/database-schema 0.92.0 → 0.94.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 (77) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/gen/types.d.ts +54 -33
  3. package/lib/cache/activatableSelectOptions.d.ts +1 -1
  4. package/lib/cache/activatableSelectOptions.js +39 -0
  5. package/lib/cache/tradeSecrets.js +14 -3
  6. package/lib/types/Advantage.d.ts +3 -0
  7. package/lib/types/Disadvantage.d.ts +3 -0
  8. package/lib/types/Profession.d.ts +252 -161
  9. package/lib/types/Profession.js +18 -21
  10. package/lib/types/Settings.d.ts +56 -0
  11. package/lib/types/Settings.js +5 -0
  12. package/lib/types/_ActivatableSelectOptionCategory.d.ts +3 -0
  13. package/lib/types/_ActivatableSelectOptionCategory.js +13 -1
  14. package/lib/types/_ActivatableSelectOptions.d.ts +6 -0
  15. package/lib/types/equipment/item/Ammunition.d.ts +72 -0
  16. package/lib/types/equipment/item/Ammunition.js +5 -1
  17. package/lib/types/equipment/item/Armor.d.ts +24 -0
  18. package/lib/types/equipment/item/BandageOrRemedy.d.ts +24 -0
  19. package/lib/types/equipment/item/Book.d.ts +24 -0
  20. package/lib/types/equipment/item/CeremonialItem.d.ts +24 -0
  21. package/lib/types/equipment/item/Clothes.d.ts +24 -0
  22. package/lib/types/equipment/item/Container.d.ts +24 -0
  23. package/lib/types/equipment/item/IlluminationLightSource.d.ts +24 -0
  24. package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +24 -0
  25. package/lib/types/equipment/item/Item.d.ts +24 -0
  26. package/lib/types/equipment/item/Jewelry.d.ts +24 -0
  27. package/lib/types/equipment/item/Laboratory.d.ts +24 -0
  28. package/lib/types/equipment/item/Liebesspielzeug.d.ts +24 -0
  29. package/lib/types/equipment/item/LuxuryGood.d.ts +24 -0
  30. package/lib/types/equipment/item/MagicalArtifact.d.ts +24 -0
  31. package/lib/types/equipment/item/MusicalInstrument.d.ts +24 -0
  32. package/lib/types/equipment/item/OrienteeringAid.d.ts +24 -0
  33. package/lib/types/equipment/item/Poison.d.ts +0 -6
  34. package/lib/types/equipment/item/Poison.js +0 -6
  35. package/lib/types/equipment/item/RopeOrChain.d.ts +24 -0
  36. package/lib/types/equipment/item/Stationery.d.ts +24 -0
  37. package/lib/types/equipment/item/ThievesTool.d.ts +24 -0
  38. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +24 -0
  39. package/lib/types/equipment/item/TravelGearOrTool.d.ts +24 -0
  40. package/lib/types/equipment/item/Vehicle.d.ts +24 -0
  41. package/lib/types/equipment/item/Weapon.d.ts +26 -2
  42. package/lib/types/equipment/item/Weapon.js +2 -2
  43. package/lib/types/equipment/item/WeaponAccessory.d.ts +24 -0
  44. package/lib/types/equipment/item/_Item.d.ts +72 -0
  45. package/lib/types/equipment/item/_Item.js +5 -0
  46. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +1 -0
  47. package/lib/types/magicalActions/ElvenMagicalSong.js +4 -0
  48. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +3 -0
  49. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +3 -0
  50. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +3 -0
  51. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +3 -0
  52. package/lib/types/specialAbility/AncestorGlyph.d.ts +3 -0
  53. package/lib/types/specialAbility/BlessedTradition.d.ts +3 -0
  54. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +3 -0
  55. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +3 -0
  56. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +3 -0
  57. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +3 -0
  58. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +3 -0
  59. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +3 -0
  60. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +3 -0
  61. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +3 -0
  62. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +3 -0
  63. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +3 -0
  64. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +3 -0
  65. package/lib/types/specialAbility/LycantropicGift.d.ts +3 -0
  66. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +3 -0
  67. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +3 -0
  68. package/lib/types/specialAbility/MagicalTradition.d.ts +3 -0
  69. package/lib/types/specialAbility/PactGift.d.ts +3 -0
  70. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +3 -0
  71. package/lib/types/specialAbility/Sermon.d.ts +3 -0
  72. package/lib/types/specialAbility/SexSpecialAbility.d.ts +3 -0
  73. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +3 -0
  74. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +3 -0
  75. package/lib/types/specialAbility/VampiricGift.d.ts +3 -0
  76. package/lib/types/specialAbility/Vision.d.ts +3 -0
  77. package/package.json +1 -1
@@ -315,7 +315,7 @@ const VariantSpecialAbilityAction = DB.Enum(import.meta.url, {
315
315
  const ProfessionSpecialAbility = DB.Enum(import.meta.url, {
316
316
  name: "ProfessionSpecialAbility",
317
317
  values: () => ({
318
- Constant: DB.EnumCase({ type: DB.IncludeIdentifier(ConstantProfessionSpecialAbility) }),
318
+ Constant: DB.EnumCase({ type: DB.IncludeIdentifier(SingleProfessionSpecialAbility) }),
319
319
  Selection: DB.EnumCase({ type: DB.IncludeIdentifier(ProfessionSpecialAbilitySelection) }),
320
320
  }),
321
321
  });
@@ -323,35 +323,32 @@ const ProfessionSpecialAbilityOption = DB.Enum(import.meta.url, {
323
323
  name: "ProfessionSpecialAbilityOption",
324
324
  values: () => ({
325
325
  Identifier: DB.EnumCase({
326
- comment: "The option is defined by the profession.",
326
+ comment: "The option is a option specified in the database.",
327
327
  type: DB.IncludeIdentifier(RequirableSelectOptionIdentifier),
328
328
  }),
329
+ Text: DB.EnumCase({
330
+ comment: "The option is a text.",
331
+ type: DB.IncludeIdentifier(ProfessionSpecialAbilityTextOption),
332
+ }),
329
333
  Select: DB.EnumCase({
330
334
  comment: "The option has to be chosen when applying the profession.",
331
335
  type: null,
332
336
  }),
333
337
  }),
334
338
  });
335
- const ConstantProfessionSpecialAbility = DB.TypeAlias(import.meta.url, {
336
- name: "ConstantProfessionSpecialAbility",
339
+ const ProfessionSpecialAbilityTextOption = DB.TypeAlias(import.meta.url, {
340
+ name: "ProfessionSpecialAbilityTextOption",
337
341
  type: () => DB.Object({
338
- id: DB.Required({
339
- comment: "The identifier of the special ability to grant.",
340
- type: DB.IncludeIdentifier(ProfessionSpecialAbilityIdentifier),
341
- }),
342
- level: DB.Optional({
343
- comment: "The level of the received special ability. If not specified and the special ability has levels, level 1 is used automatically.",
344
- type: DB.Integer({ minimum: 1 }),
345
- }),
346
- options: DB.Optional({
347
- comment: "Received select options. Order is important. Typically, you only need the first array index, though.",
348
- type: DB.Array(DB.IncludeIdentifier(ProfessionSpecialAbilityOption), { minItems: 1 }),
349
- }),
342
+ translations: NestedTranslationMap(DB.Required, "ProfessionSpecialAbilityTextOption", DB.Object({
343
+ text: DB.Required({
344
+ comment: "The text of the option.",
345
+ type: DB.String({ minLength: 1 }),
346
+ }),
347
+ })),
350
348
  }),
351
- customConstraints: ({ instanceContent, getInstanceById, getAllChildInstancesForParent }) => verifyOptionsForActivatableEntry(instanceContent, getInstanceById, getAllChildInstancesForParent),
352
349
  });
353
- const ProfessionSpecialAbilitySelectionItem = DB.TypeAlias(import.meta.url, {
354
- name: "ProfessionSpecialAbilitySelectionItem",
350
+ const SingleProfessionSpecialAbility = DB.TypeAlias(import.meta.url, {
351
+ name: "SingleProfessionSpecialAbility",
355
352
  type: () => DB.Object({
356
353
  id: DB.Required({
357
354
  comment: "The identifier of the special ability to grant.",
@@ -363,7 +360,7 @@ const ProfessionSpecialAbilitySelectionItem = DB.TypeAlias(import.meta.url, {
363
360
  }),
364
361
  options: DB.Optional({
365
362
  comment: "Received select options. Order is important. Typically, you only need the first array index, though.",
366
- type: DB.Array(DB.IncludeIdentifier(RequirableSelectOptionIdentifier), { minItems: 1 }),
363
+ type: DB.Array(DB.IncludeIdentifier(ProfessionSpecialAbilityOption), { minItems: 1 }),
367
364
  }),
368
365
  }),
369
366
  customConstraints: ({ instanceContent, getInstanceById, getAllChildInstancesForParent }) => verifyOptionsForActivatableEntry(instanceContent, getInstanceById, getAllChildInstancesForParent),
@@ -373,7 +370,7 @@ const ProfessionSpecialAbilitySelection = DB.TypeAlias(import.meta.url, {
373
370
  type: () => DB.Object({
374
371
  options: DB.Required({
375
372
  comment: `The list of special abilities to choose from. Must contain at least two entries.`,
376
- type: DB.Array(DB.IncludeIdentifier(ProfessionSpecialAbilitySelectionItem), {
373
+ type: DB.Array(DB.IncludeIdentifier(SingleProfessionSpecialAbility), {
377
374
  minItems: 2,
378
375
  }),
379
376
  }),
@@ -59,6 +59,62 @@ export declare const Settings: DB.SingletonEntity<"Settings", {
59
59
  VampiricGift: DB.EnumCase<DB.ReferenceIdentifier>;
60
60
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
61
61
  }, []>>, true>;
62
+ requiredSpecialAbilityForAmmunition: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SpecialAbilityIdentifier", {
63
+ ArcaneOrbEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
64
+ AttireEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
65
+ Beutelzauber: DB.EnumCase<DB.ReferenceIdentifier>;
66
+ BowlEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
67
+ CauldronEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
68
+ ChronicleEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
69
+ DaggerRitual: DB.EnumCase<DB.ReferenceIdentifier>;
70
+ FoolsHatEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
71
+ Haubenzauber: DB.EnumCase<DB.ReferenceIdentifier>;
72
+ Hauerkettenzauber: DB.EnumCase<DB.ReferenceIdentifier>;
73
+ InstrumentEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
74
+ Keulenzauber: DB.EnumCase<DB.ReferenceIdentifier>;
75
+ Krallenkettenzauber: DB.EnumCase<DB.ReferenceIdentifier>;
76
+ Kristallkugelzauber: DB.EnumCase<DB.ReferenceIdentifier>;
77
+ OrbEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
78
+ RingEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
79
+ Schweinetrommelzauber: DB.EnumCase<DB.ReferenceIdentifier>;
80
+ SickleRitual: DB.EnumCase<DB.ReferenceIdentifier>;
81
+ SpellSwordEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
82
+ StaffEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
83
+ ToyEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
84
+ Trinkhornzauber: DB.EnumCase<DB.ReferenceIdentifier>;
85
+ WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
86
+ WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
87
+ AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
88
+ AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
89
+ AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
90
+ AdvancedSkillSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
91
+ AncestorGlyph: DB.EnumCase<DB.ReferenceIdentifier>;
92
+ BlessedTradition: DB.EnumCase<DB.ReferenceIdentifier>;
93
+ BrawlingSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
94
+ CeremonialItemSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
95
+ CombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
96
+ CombatStyleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
97
+ CommandSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
98
+ FamiliarSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
99
+ FatePointSexSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
100
+ FatePointSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
101
+ GeneralSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
102
+ KarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
103
+ LiturgicalStyleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
104
+ LycantropicGift: DB.EnumCase<DB.ReferenceIdentifier>;
105
+ MagicalSign: DB.EnumCase<DB.ReferenceIdentifier>;
106
+ MagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
107
+ MagicalTradition: DB.EnumCase<DB.ReferenceIdentifier>;
108
+ MagicStyleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
109
+ PactGift: DB.EnumCase<DB.ReferenceIdentifier>;
110
+ ProtectiveWardingCircleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
111
+ Sermon: DB.EnumCase<DB.ReferenceIdentifier>;
112
+ SexSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
113
+ SikaryanDrainSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
114
+ SkillStyleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
115
+ VampiricGift: DB.EnumCase<DB.ReferenceIdentifier>;
116
+ Vision: DB.EnumCase<DB.ReferenceIdentifier>;
117
+ }, []>>, true>;
62
118
  requiredSpecialAbilityForArmor: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SpecialAbilityIdentifier", {
63
119
  ArcaneOrbEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
64
120
  AttireEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -52,6 +52,11 @@ const DerivedTradeSecretsSettings = DB.TypeAlias(import.meta.url, {
52
52
  comment: "The special ability required to buy derived trade secrets for weapons.",
53
53
  type: DB.IncludeIdentifier(SpecialAbilityIdentifier),
54
54
  }),
55
+ requiredSpecialAbilityForAmmunition: DB.Required({
56
+ displayName: "Required Special Ability for Ammunition",
57
+ comment: "The special ability required to buy derived trade secrets for ammunition.",
58
+ type: DB.IncludeIdentifier(SpecialAbilityIdentifier),
59
+ }),
55
60
  requiredSpecialAbilityForArmor: DB.Required({
56
61
  displayName: "Required Special Ability for Armor",
57
62
  comment: "The special ability required to buy derived trade secrets for armor.",
@@ -830,6 +830,9 @@ export declare const SelectOptionCategory: DB.Enum<"SelectOptionCategory", {
830
830
  volume: DB.MemberDecl<DB.Integer, false>;
831
831
  }>, []>>>, true>;
832
832
  }>, []>>>;
833
+ Advantages: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"AdvantagesSelectOptionCategory", DB.Object<{
834
+ dependingOn: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, true>;
835
+ }>, []>>>;
833
836
  }, []>;
834
837
  export declare const TradeSecretSelectOptionCategory: DB.Enum<"TradeSecretSelectOptionCategory", {
835
838
  Blessings: DB.EnumCase<null>;
@@ -1,5 +1,5 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
- import { CeremonyIdentifier, CloseCombatTechniqueIdentifier, ElementIdentifier, LiturgicalChantIdentifier, PropertyIdentifier, RangedCombatTechniqueIdentifier, RitualIdentifier, SkillGroupIdentifier, SkillIdentifier, SpellIdentifier, TargetCategoryIdentifier, } from "./_Identifier.js";
2
+ import { AdvantageIdentifier, CeremonyIdentifier, CloseCombatTechniqueIdentifier, ElementIdentifier, LiturgicalChantIdentifier, PropertyIdentifier, RangedCombatTechniqueIdentifier, RitualIdentifier, SkillGroupIdentifier, SkillIdentifier, SpellIdentifier, TargetCategoryIdentifier, } from "./_Identifier.js";
3
3
  import { ActivatableIdentifier, CombatTechniqueIdentifier, SkillishIdentifier, } from "./_IdentifierGroup.js";
4
4
  import { NestedTranslationMap } from "./Locale.js";
5
5
  export const SelectOptionCategory = DB.Enum(import.meta.url, {
@@ -33,6 +33,9 @@ export const SelectOptionCategory = DB.Enum(import.meta.url, {
33
33
  TargetCategories: DB.EnumCase({
34
34
  type: DB.IncludeIdentifier(TargetCategoriesSelectOptionCategory),
35
35
  }),
36
+ Advantages: DB.EnumCase({
37
+ type: DB.IncludeIdentifier(AdvantagesSelectOptionCategory),
38
+ }),
36
39
  }),
37
40
  });
38
41
  export const TradeSecretSelectOptionCategory = DB.Enum(import.meta.url, {
@@ -504,3 +507,12 @@ const SpecificTargetCategory = DB.TypeAlias(import.meta.url, {
504
507
  }),
505
508
  }),
506
509
  });
510
+ const AdvantagesSelectOptionCategory = DB.TypeAlias(import.meta.url, {
511
+ name: "AdvantagesSelectOptionCategory",
512
+ type: () => DB.Object({
513
+ dependingOn: DB.Required({
514
+ comment: "A list of advantages of which the generated advantages must depend on at least one of them each.",
515
+ type: DB.Array(AdvantageIdentifier(), { minItems: 1, uniqueItems: true }),
516
+ }),
517
+ }),
518
+ });
@@ -833,6 +833,9 @@ declare const SelectOptions: DB.TypeAlias<"SelectOptions", DB.Object<{
833
833
  volume: DB.MemberDecl<DB.Integer, false>;
834
834
  }>, []>>>, true>;
835
835
  }>, []>>>;
836
+ Advantages: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"AdvantagesSelectOptionCategory", DB.Object<{
837
+ dependingOn: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, true>;
838
+ }>, []>>>;
836
839
  }, []>>, false>;
837
840
  rules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRules", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRule", DB.Object<{
838
841
  value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionRuleValue", {
@@ -1696,6 +1699,9 @@ export declare const select_options: DB.MemberDecl<DB.IncludeIdentifier<[], DB.T
1696
1699
  volume: DB.MemberDecl<DB.Integer, false>;
1697
1700
  }>, []>>>, true>;
1698
1701
  }>, []>>>;
1702
+ Advantages: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"AdvantagesSelectOptionCategory", DB.Object<{
1703
+ dependingOn: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, true>;
1704
+ }>, []>>>;
1699
1705
  }, []>>, false>;
1700
1706
  rules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRules", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRule", DB.Object<{
1701
1707
  value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionRuleValue", {
@@ -22,6 +22,78 @@ export declare const Ammunition: DB.Entity<"Ammunition", {
22
22
  }>, false>;
23
23
  }>, []>>>;
24
24
  }, []>>, true>;
25
+ complexity: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Complexity", {
26
+ Primitive: DB.EnumCase<null>;
27
+ Simple: DB.EnumCase<null>;
28
+ Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
29
+ ap_value: DB.MemberDecl<DB.Integer, true>;
30
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
31
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
32
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
33
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
34
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
35
+ Hide: DB.EnumCase<null>;
36
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
37
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
38
+ Standalone: DB.EnumCase<null>;
39
+ Connected: DB.EnumCase<null>;
40
+ }, []>>, false>;
41
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
42
+ replacement: DB.MemberDecl<DB.String, true>;
43
+ }>, true>;
44
+ }>, []>>>;
45
+ }, []>>, false>;
46
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
47
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
48
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
49
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
50
+ text: DB.MemberDecl<DB.String, true>;
51
+ }>, true>;
52
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
53
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
54
+ src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
55
+ id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
56
+ occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
57
+ initial: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"InitialOccurrence", DB.Object<{
58
+ printing: DB.MemberDecl<DB.Integer, false>;
59
+ pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
60
+ first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
61
+ InsideCoverFront: DB.EnumCase<null>;
62
+ InsideCoverBack: DB.EnumCase<null>;
63
+ Numbered: DB.EnumCase<DB.Integer>;
64
+ }, []>>, true>;
65
+ last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
66
+ InsideCoverFront: DB.EnumCase<null>;
67
+ InsideCoverBack: DB.EnumCase<null>;
68
+ Numbered: DB.EnumCase<DB.Integer>;
69
+ }, []>>, false>;
70
+ }>, []>>>, true>;
71
+ isRemoved: DB.MemberDecl<DB.Boolean, false>;
72
+ }>, []>>, true>;
73
+ revisions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"Revision", {
74
+ Since: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Since", DB.Object<{
75
+ printing: DB.MemberDecl<DB.Integer, true>;
76
+ pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
77
+ first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
78
+ InsideCoverFront: DB.EnumCase<null>;
79
+ InsideCoverBack: DB.EnumCase<null>;
80
+ Numbered: DB.EnumCase<DB.Integer>;
81
+ }, []>>, true>;
82
+ last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
83
+ InsideCoverFront: DB.EnumCase<null>;
84
+ InsideCoverBack: DB.EnumCase<null>;
85
+ Numbered: DB.EnumCase<DB.Integer>;
86
+ }, []>>, false>;
87
+ }>, []>>>, true>;
88
+ }>, []>>>;
89
+ Deprecated: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Deprecation", DB.Object<{
90
+ printing: DB.MemberDecl<DB.Integer, true>;
91
+ }>, []>>>;
92
+ }, []>>>, false>;
93
+ }>, true>;
94
+ }>, []>>>, []>>, false>;
95
+ }>, []>>>;
96
+ }, []>>, false>;
25
97
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
26
98
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
27
99
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -2,7 +2,7 @@ import * as DB from "tsondb/schema/dsl";
2
2
  import { NestedTranslationMap } from "../../Locale.js";
3
3
  import { Errata } from "../../source/_Erratum.js";
4
4
  import { src } from "../../source/_PublicationRef.js";
5
- import { Cost } from "./_Item.js";
5
+ import { Complexity, Cost } from "./_Item.js";
6
6
  export const Ammunition = DB.Entity(import.meta.url, {
7
7
  name: "Ammunition",
8
8
  namePlural: "Ammunitions",
@@ -11,6 +11,10 @@ export const Ammunition = DB.Entity(import.meta.url, {
11
11
  comment: "The cost in silverthalers.",
12
12
  type: DB.IncludeIdentifier(Cost),
13
13
  }),
14
+ complexity: DB.Optional({
15
+ comment: "The complexity of crafting the item.",
16
+ type: DB.IncludeIdentifier(Complexity),
17
+ }),
14
18
  src,
15
19
  translations: NestedTranslationMap(DB.Required, "Ammunition", DB.Object({
16
20
  name: DB.Required({
@@ -28,6 +28,30 @@ export declare const Armor: DB.Entity<"Armor", {
28
28
  Simple: DB.EnumCase<null>;
29
29
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
30
30
  ap_value: DB.MemberDecl<DB.Integer, true>;
31
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
32
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
33
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
34
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
35
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
36
+ Hide: DB.EnumCase<null>;
37
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
38
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
39
+ Standalone: DB.EnumCase<null>;
40
+ Connected: DB.EnumCase<null>;
41
+ }, []>>, false>;
42
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
43
+ replacement: DB.MemberDecl<DB.String, true>;
44
+ }>, true>;
45
+ }>, []>>>;
46
+ }, []>>, false>;
47
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
48
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
49
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
50
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
51
+ text: DB.MemberDecl<DB.String, true>;
52
+ }>, true>;
53
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
54
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
31
55
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
32
56
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
33
57
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -28,6 +28,30 @@ export declare const BandageOrRemedy: DB.Entity<"BandageOrRemedy", {
28
28
  Simple: DB.EnumCase<null>;
29
29
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
30
30
  ap_value: DB.MemberDecl<DB.Integer, true>;
31
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
32
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
33
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
34
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
35
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
36
+ Hide: DB.EnumCase<null>;
37
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
38
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
39
+ Standalone: DB.EnumCase<null>;
40
+ Connected: DB.EnumCase<null>;
41
+ }, []>>, false>;
42
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
43
+ replacement: DB.MemberDecl<DB.String, true>;
44
+ }>, true>;
45
+ }>, []>>>;
46
+ }, []>>, false>;
47
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
48
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
49
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
50
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
51
+ text: DB.MemberDecl<DB.String, true>;
52
+ }>, true>;
53
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
54
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
31
55
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
32
56
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
33
57
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -91,6 +91,30 @@ export declare const Book: DB.Entity<"Book", {
91
91
  Simple: DB.EnumCase<null>;
92
92
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
93
93
  ap_value: DB.MemberDecl<DB.Integer, true>;
94
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
95
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
96
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
97
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
98
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
99
+ Hide: DB.EnumCase<null>;
100
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
101
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
102
+ Standalone: DB.EnumCase<null>;
103
+ Connected: DB.EnumCase<null>;
104
+ }, []>>, false>;
105
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
106
+ replacement: DB.MemberDecl<DB.String, true>;
107
+ }>, true>;
108
+ }>, []>>>;
109
+ }, []>>, false>;
110
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
111
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
112
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
113
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
114
+ text: DB.MemberDecl<DB.String, true>;
115
+ }>, true>;
116
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
117
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
94
118
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
95
119
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
96
120
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -28,6 +28,30 @@ export declare const CeremonialItem: DB.Entity<"CeremonialItem", {
28
28
  Simple: DB.EnumCase<null>;
29
29
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
30
30
  ap_value: DB.MemberDecl<DB.Integer, true>;
31
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
32
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
33
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
34
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
35
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
36
+ Hide: DB.EnumCase<null>;
37
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
38
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
39
+ Standalone: DB.EnumCase<null>;
40
+ Connected: DB.EnumCase<null>;
41
+ }, []>>, false>;
42
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
43
+ replacement: DB.MemberDecl<DB.String, true>;
44
+ }>, true>;
45
+ }>, []>>>;
46
+ }, []>>, false>;
47
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
48
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
49
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
50
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
51
+ text: DB.MemberDecl<DB.String, true>;
52
+ }>, true>;
53
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
54
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
31
55
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
32
56
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
33
57
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -28,6 +28,30 @@ export declare const Clothes: DB.Entity<"Clothes", {
28
28
  Simple: DB.EnumCase<null>;
29
29
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
30
30
  ap_value: DB.MemberDecl<DB.Integer, true>;
31
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
32
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
33
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
34
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
35
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
36
+ Hide: DB.EnumCase<null>;
37
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
38
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
39
+ Standalone: DB.EnumCase<null>;
40
+ Connected: DB.EnumCase<null>;
41
+ }, []>>, false>;
42
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
43
+ replacement: DB.MemberDecl<DB.String, true>;
44
+ }>, true>;
45
+ }>, []>>>;
46
+ }, []>>, false>;
47
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
48
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
49
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
50
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
51
+ text: DB.MemberDecl<DB.String, true>;
52
+ }>, true>;
53
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
54
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
31
55
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
32
56
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
33
57
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -28,6 +28,30 @@ export declare const Container: DB.Entity<"Container", {
28
28
  Simple: DB.EnumCase<null>;
29
29
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
30
30
  ap_value: DB.MemberDecl<DB.Integer, true>;
31
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
32
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
33
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
34
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
35
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
36
+ Hide: DB.EnumCase<null>;
37
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
38
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
39
+ Standalone: DB.EnumCase<null>;
40
+ Connected: DB.EnumCase<null>;
41
+ }, []>>, false>;
42
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
43
+ replacement: DB.MemberDecl<DB.String, true>;
44
+ }>, true>;
45
+ }>, []>>>;
46
+ }, []>>, false>;
47
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
48
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
49
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
50
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
51
+ text: DB.MemberDecl<DB.String, true>;
52
+ }>, true>;
53
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
54
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
31
55
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
32
56
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
33
57
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -28,6 +28,30 @@ export declare const IlluminationLightSource: DB.Entity<"IlluminationLightSource
28
28
  Simple: DB.EnumCase<null>;
29
29
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
30
30
  ap_value: DB.MemberDecl<DB.Integer, true>;
31
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
32
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
33
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
34
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
35
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
36
+ Hide: DB.EnumCase<null>;
37
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
38
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
39
+ Standalone: DB.EnumCase<null>;
40
+ Connected: DB.EnumCase<null>;
41
+ }, []>>, false>;
42
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
43
+ replacement: DB.MemberDecl<DB.String, true>;
44
+ }>, true>;
45
+ }>, []>>>;
46
+ }, []>>, false>;
47
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
48
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
49
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
50
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
51
+ text: DB.MemberDecl<DB.String, true>;
52
+ }>, true>;
53
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
54
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
31
55
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
32
56
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
33
57
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -28,6 +28,30 @@ export declare const IlluminationRefillOrSupply: DB.Entity<"IlluminationRefillOr
28
28
  Simple: DB.EnumCase<null>;
29
29
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
30
30
  ap_value: DB.MemberDecl<DB.Integer, true>;
31
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
32
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
33
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
34
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
35
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
36
+ Hide: DB.EnumCase<null>;
37
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
38
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
39
+ Standalone: DB.EnumCase<null>;
40
+ Connected: DB.EnumCase<null>;
41
+ }, []>>, false>;
42
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
43
+ replacement: DB.MemberDecl<DB.String, true>;
44
+ }>, true>;
45
+ }>, []>>>;
46
+ }, []>>, false>;
47
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
48
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
49
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
50
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
51
+ text: DB.MemberDecl<DB.String, true>;
52
+ }>, true>;
53
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
54
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
31
55
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
32
56
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
33
57
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -29,6 +29,30 @@ export declare const Item: DB.Entity<"Item", {
29
29
  Simple: DB.EnumCase<null>;
30
30
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
31
31
  ap_value: DB.MemberDecl<DB.Integer, true>;
32
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
33
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
34
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
35
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
36
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
37
+ Hide: DB.EnumCase<null>;
38
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
39
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
40
+ Standalone: DB.EnumCase<null>;
41
+ Connected: DB.EnumCase<null>;
42
+ }, []>>, false>;
43
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
44
+ replacement: DB.MemberDecl<DB.String, true>;
45
+ }>, true>;
46
+ }>, []>>>;
47
+ }, []>>, false>;
48
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
49
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
50
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
51
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
52
+ text: DB.MemberDecl<DB.String, true>;
53
+ }>, true>;
54
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
55
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
32
56
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
33
57
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
34
58
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {