@optolith/database-schema 0.79.1 → 0.80.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 (39) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/gen/types.d.ts +24 -1
  3. package/lib/types/Culture.js +1 -1
  4. package/lib/types/equipment/item/Ammunition.d.ts +5 -1
  5. package/lib/types/equipment/item/Animal.d.ts +5 -1
  6. package/lib/types/equipment/item/AnimalCare.d.ts +5 -1
  7. package/lib/types/equipment/item/Armor.d.ts +5 -1
  8. package/lib/types/equipment/item/BandageOrRemedy.d.ts +5 -1
  9. package/lib/types/equipment/item/Book.d.ts +10 -2
  10. package/lib/types/equipment/item/CeremonialItem.d.ts +5 -1
  11. package/lib/types/equipment/item/Clothes.d.ts +5 -1
  12. package/lib/types/equipment/item/ClothingPackage.d.ts +5 -1
  13. package/lib/types/equipment/item/Container.d.ts +5 -1
  14. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +5 -1
  15. package/lib/types/equipment/item/GemOrPreciousStone.d.ts +5 -1
  16. package/lib/types/equipment/item/IlluminationLightSource.d.ts +5 -1
  17. package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +5 -1
  18. package/lib/types/equipment/item/Item.d.ts +5 -1
  19. package/lib/types/equipment/item/Laboratory.d.ts +5 -1
  20. package/lib/types/equipment/item/Liebesspielzeug.d.ts +5 -1
  21. package/lib/types/equipment/item/LuxuryGood.d.ts +5 -1
  22. package/lib/types/equipment/item/MagicalArtifact.d.ts +5 -1
  23. package/lib/types/equipment/item/MusicalInstrument.d.ts +5 -1
  24. package/lib/types/equipment/item/Newspaper.d.ts +5 -1
  25. package/lib/types/equipment/item/OrienteeringAid.d.ts +5 -1
  26. package/lib/types/equipment/item/RopeOrChain.d.ts +5 -1
  27. package/lib/types/equipment/item/Stationery.d.ts +5 -1
  28. package/lib/types/equipment/item/ThievesTool.d.ts +5 -1
  29. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +5 -1
  30. package/lib/types/equipment/item/TravelGearOrTool.d.ts +5 -1
  31. package/lib/types/equipment/item/Vehicle.d.ts +5 -1
  32. package/lib/types/equipment/item/Weapon.d.ts +5 -1
  33. package/lib/types/equipment/item/WeaponAccessory.d.ts +5 -1
  34. package/lib/types/equipment/item/WorkingSupernaturalCreature.d.ts +5 -1
  35. package/lib/types/equipment/item/_Item.d.ts +10 -2
  36. package/lib/types/equipment/item/_Item.js +9 -1
  37. package/lib/types/specialAbility/sub/Language.d.ts +2 -0
  38. package/lib/types/specialAbility/sub/Language.js +4 -0
  39. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [0.80.0](https://github.com/Optolith/database-schema/compare/v0.79.1...v0.80.0) (2026-10-06)
6
+
7
+ ### ⚠ BREAKING CHANGES
8
+
9
+ * culture-only language specialization flag
10
+ * invaluable item cost translation
11
+
12
+ ### Features
13
+
14
+ * culture-only language specialization flag ([e7e35cd](https://github.com/Optolith/database-schema/commit/e7e35cdb78c9b1e92353f64bfb6858a32fdbdd40))
15
+ * invaluable item cost translation ([61e6e22](https://github.com/Optolith/database-schema/commit/61e6e22b19a761309c4666ba03d4770c5a59e86d))
16
+
5
17
  ## [0.79.1](https://github.com/Optolith/database-schema/compare/v0.79.0...v0.79.1) (2026-10-05)
6
18
 
7
19
  ### Bug Fixes
package/gen/types.d.ts CHANGED
@@ -736,6 +736,7 @@ export type TypeAliasMap = {
736
736
  IntoxicantAddictionCheck: IntoxicantAddictionCheck
737
737
  IntoxicantAddictionWithdrawalPrevention: IntoxicantAddictionWithdrawalPrevention
738
738
  IntoxicantLegality: IntoxicantLegality
739
+ InvaluableCost: InvaluableCost
739
740
  JesterTrickCastingTime: JesterTrickCastingTime
740
741
  JesterTrickCost: JesterTrickCost
741
742
  JesterTrickPerformanceParameters: JesterTrickPerformanceParameters
@@ -5714,6 +5715,11 @@ export interface LanguageSpecialization {
5714
5715
  */
5715
5716
  parent: Language_ID
5716
5717
 
5718
+ /**
5719
+ * The specialization is only mentioned in a culture’s description and not where the language itself is defined.
5720
+ */
5721
+ onlyForCulture: boolean
5722
+
5717
5723
  /**
5718
5724
  * All translations for the entry, identified by IETF language tag (BCP47).
5719
5725
  */
@@ -9862,7 +9868,7 @@ export interface CultureLanguageTranslation {
9862
9868
  specialization?: string
9863
9869
 
9864
9870
  /**
9865
- * A different promt fro the language specialization, if the language allows to specify arbitrary text.
9871
+ * A different prompt for the language specialization, if the language allows to specify arbitrary text.
9866
9872
  */
9867
9873
  specializationPrompt?: string
9868
9874
  }
@@ -12417,6 +12423,7 @@ export type Cost =
12417
12423
  }
12418
12424
  | {
12419
12425
  kind: "Invaluable"
12426
+ Invaluable: InvaluableCost
12420
12427
  }
12421
12428
  | {
12422
12429
  kind: "Fixed"
@@ -12427,6 +12434,22 @@ export type Cost =
12427
12434
  Range: CostRange
12428
12435
  }
12429
12436
 
12437
+ export interface InvaluableCost {
12438
+ /**
12439
+ * All translations for the entry, identified by IETF language tag (BCP47).
12440
+ */
12441
+ translations?: {
12442
+ [localeId: string]: InvaluableCostTranslation
12443
+ }
12444
+ }
12445
+
12446
+ export interface InvaluableCostTranslation {
12447
+ /**
12448
+ * The cost get wrapped by this text using a placeholder in the text.
12449
+ */
12450
+ wrap_in_text: string
12451
+ }
12452
+
12430
12453
  export interface FixedCost {
12431
12454
  /**
12432
12455
  * The cost in silverthalers.
@@ -122,7 +122,7 @@ const CultureLanguage = DB.TypeAlias(import.meta.url, {
122
122
  type: DB.String({ minLength: 1 }),
123
123
  }),
124
124
  specializationPrompt: DB.Optional({
125
- comment: "A different promt fro the language specialization, if the language allows to specify arbitrary text.",
125
+ comment: "A different prompt for the language specialization, if the language allows to specify arbitrary text.",
126
126
  type: DB.String({ minLength: 1 }),
127
127
  }),
128
128
  }, { minProperties: 1 })),
@@ -3,7 +3,11 @@ export declare const Ammunition: DB.Entity<"Ammunition", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const Animal: DB.Entity<"Animal", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -5,7 +5,11 @@ export declare const AnimalCare: DB.Entity<"AnimalCare", {
5
5
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
6
6
  Free: DB.EnumCase<null>;
7
7
  Various: DB.EnumCase<null>;
8
- Invaluable: DB.EnumCase<null>;
8
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
9
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
10
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
11
+ }>, false>;
12
+ }>, []>>>;
9
13
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
10
14
  value: DB.MemberDecl<DB.Float, true>;
11
15
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const Armor: DB.Entity<"Armor", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const BandageOrRemedy: DB.Entity<"BandageOrRemedy", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -19,7 +19,11 @@ export declare const Book: DB.Entity<"Book", {
19
19
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
20
20
  Free: DB.EnumCase<null>;
21
21
  Various: DB.EnumCase<null>;
22
- Invaluable: DB.EnumCase<null>;
22
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
23
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
24
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
25
+ }>, false>;
26
+ }>, []>>>;
23
27
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
24
28
  value: DB.MemberDecl<DB.Float, true>;
25
29
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -50,7 +54,11 @@ export declare const Book: DB.Entity<"Book", {
50
54
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
51
55
  Free: DB.EnumCase<null>;
52
56
  Various: DB.EnumCase<null>;
53
- Invaluable: DB.EnumCase<null>;
57
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
58
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
59
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
60
+ }>, false>;
61
+ }>, []>>>;
54
62
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
55
63
  value: DB.MemberDecl<DB.Float, true>;
56
64
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const CeremonialItem: DB.Entity<"CeremonialItem", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const Clothes: DB.Entity<"Clothes", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const ClothingPackage: DB.Entity<"ClothingPackage", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const Container: DB.Entity<"Container", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const EquipmentOfBlessedOnes: DB.Entity<"EquipmentOfBlessedOnes",
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const GemOrPreciousStone: DB.Entity<"GemOrPreciousStone", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const IlluminationLightSource: DB.Entity<"IlluminationLightSource
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const IlluminationRefillOrSupply: DB.Entity<"IlluminationRefillOr
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -4,7 +4,11 @@ export declare const Item: DB.Entity<"Item", {
4
4
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
5
5
  Free: DB.EnumCase<null>;
6
6
  Various: DB.EnumCase<null>;
7
- Invaluable: DB.EnumCase<null>;
7
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
8
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
9
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
10
+ }>, false>;
11
+ }>, []>>>;
8
12
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
9
13
  value: DB.MemberDecl<DB.Float, true>;
10
14
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const Laboratory: DB.Entity<"Laboratory", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const Liebesspielzeug: DB.Entity<"Liebesspielzeug", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const LuxuryGood: DB.Entity<"LuxuryGood", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const MagicalArtifact: DB.Entity<"MagicalArtifact", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const MusicalInstrument: DB.Entity<"MusicalInstrument", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const Newspaper: DB.Entity<"Newspaper", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -2,7 +2,11 @@ export declare const OrienteeringAid: import("tsondb/schema/dsl").Entity<string,
2
2
  cost: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"Cost", {
3
3
  Free: import("tsondb/schema/dsl").EnumCase<null>;
4
4
  Various: import("tsondb/schema/dsl").EnumCase<null>;
5
- Invaluable: import("tsondb/schema/dsl").EnumCase<null>;
5
+ Invaluable: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"InvaluableCost", import("tsondb/schema/dsl").Object<{
6
+ translations: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").NestedEntityMap<"InvaluableCostTranslation", {
7
+ wrap_in_text: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").String, true>;
8
+ }>, false>;
9
+ }>, []>>>;
6
10
  Fixed: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"FixedCost", import("tsondb/schema/dsl").Object<{
7
11
  value: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Float, true>;
8
12
  translations: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").NestedEntityMap<"FixedCostTranslation", {
@@ -2,7 +2,11 @@ export declare const RopeOrChain: import("tsondb/schema/dsl").Entity<string, {
2
2
  cost: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"Cost", {
3
3
  Free: import("tsondb/schema/dsl").EnumCase<null>;
4
4
  Various: import("tsondb/schema/dsl").EnumCase<null>;
5
- Invaluable: import("tsondb/schema/dsl").EnumCase<null>;
5
+ Invaluable: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"InvaluableCost", import("tsondb/schema/dsl").Object<{
6
+ translations: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").NestedEntityMap<"InvaluableCostTranslation", {
7
+ wrap_in_text: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").String, true>;
8
+ }>, false>;
9
+ }>, []>>>;
6
10
  Fixed: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"FixedCost", import("tsondb/schema/dsl").Object<{
7
11
  value: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Float, true>;
8
12
  translations: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").NestedEntityMap<"FixedCostTranslation", {
@@ -2,7 +2,11 @@ export declare const Stationery: import("tsondb/schema/dsl").Entity<string, {
2
2
  cost: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"Cost", {
3
3
  Free: import("tsondb/schema/dsl").EnumCase<null>;
4
4
  Various: import("tsondb/schema/dsl").EnumCase<null>;
5
- Invaluable: import("tsondb/schema/dsl").EnumCase<null>;
5
+ Invaluable: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"InvaluableCost", import("tsondb/schema/dsl").Object<{
6
+ translations: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").NestedEntityMap<"InvaluableCostTranslation", {
7
+ wrap_in_text: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").String, true>;
8
+ }>, false>;
9
+ }>, []>>>;
6
10
  Fixed: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"FixedCost", import("tsondb/schema/dsl").Object<{
7
11
  value: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Float, true>;
8
12
  translations: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").NestedEntityMap<"FixedCostTranslation", {
@@ -2,7 +2,11 @@ export declare const ThievesTool: import("tsondb/schema/dsl").Entity<string, {
2
2
  cost: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"Cost", {
3
3
  Free: import("tsondb/schema/dsl").EnumCase<null>;
4
4
  Various: import("tsondb/schema/dsl").EnumCase<null>;
5
- Invaluable: import("tsondb/schema/dsl").EnumCase<null>;
5
+ Invaluable: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"InvaluableCost", import("tsondb/schema/dsl").Object<{
6
+ translations: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").NestedEntityMap<"InvaluableCostTranslation", {
7
+ wrap_in_text: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").String, true>;
8
+ }>, false>;
9
+ }>, []>>>;
6
10
  Fixed: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"FixedCost", import("tsondb/schema/dsl").Object<{
7
11
  value: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Float, true>;
8
12
  translations: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const ToolOfTheTrade: DB.Entity<"ToolOfTheTrade", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const TravelGearOrTool: DB.Entity<"TravelGearOrTool", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const Vehicle: DB.Entity<"Vehicle", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const Weapon: DB.Entity<"Weapon", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const WeaponAccessory: DB.Entity<"WeaponAccessory", {
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const WorkingSupernaturalCreature: DB.Entity<"WorkingSupernatural
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -3,7 +3,11 @@ export declare const DefaultItem: (sourceUrl: string, singularName: string, plur
3
3
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
4
4
  Free: DB.EnumCase<null>;
5
5
  Various: DB.EnumCase<null>;
6
- Invaluable: DB.EnumCase<null>;
6
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
7
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
8
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
9
+ }>, false>;
10
+ }>, []>>>;
7
11
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
8
12
  value: DB.MemberDecl<DB.Float, true>;
9
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -396,7 +400,11 @@ export declare const StructurePoints: DB.TypeAlias<"StructurePoints", DB.Array<D
396
400
  export declare const Cost: DB.Enum<"Cost", {
397
401
  Free: DB.EnumCase<null>;
398
402
  Various: DB.EnumCase<null>;
399
- Invaluable: DB.EnumCase<null>;
403
+ Invaluable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"InvaluableCost", DB.Object<{
404
+ translations: DB.MemberDecl<DB.NestedEntityMap<"InvaluableCostTranslation", {
405
+ wrap_in_text: DB.MemberDecl<DB.String, true>;
406
+ }>, false>;
407
+ }>, []>>>;
400
408
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
401
409
  value: DB.MemberDecl<DB.Float, true>;
402
410
  translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
@@ -102,7 +102,7 @@ export const Cost = DB.Enum(import.meta.url, {
102
102
  values: () => ({
103
103
  Free: DB.EnumCase({ type: null }),
104
104
  Various: DB.EnumCase({ type: null }),
105
- Invaluable: DB.EnumCase({ type: null }),
105
+ Invaluable: DB.EnumCase({ type: DB.IncludeIdentifier(InvaluableCost) }),
106
106
  Fixed: DB.EnumCase({ type: DB.IncludeIdentifier(FixedCost) }),
107
107
  Range: DB.EnumCase({ type: DB.IncludeIdentifier(CostRange) }),
108
108
  }),
@@ -111,6 +111,14 @@ const wrap_in_text = DB.Required({
111
111
  comment: "The cost get wrapped by this text using a placeholder in the text.",
112
112
  type: DB.String({ minLength: 1, pattern: /\{0\}/ }),
113
113
  });
114
+ const InvaluableCost = DB.TypeAlias(import.meta.url, {
115
+ name: "InvaluableCost",
116
+ type: () => DB.Object({
117
+ translations: NestedTranslationMap(DB.Optional, "InvaluableCost", DB.Object({
118
+ wrap_in_text,
119
+ })),
120
+ }),
121
+ });
114
122
  export const FixedCost = DB.TypeAlias(import.meta.url, {
115
123
  name: "FixedCost",
116
124
  type: () => DB.Object({
@@ -6,6 +6,7 @@ export declare const Language: DB.Entity<"Language", {
6
6
  }>, []>>>, true>;
7
7
  specializations: DB.MemberDecl<DB.ChildEntities<DB.Entity<"LanguageSpecialization", {
8
8
  parent: DB.MemberDecl<DB.ReferenceIdentifier, true>;
9
+ onlyForCulture: DB.MemberDecl<DB.Boolean, true>;
9
10
  translations: DB.MemberDecl<DB.NestedEntityMap<"LanguageSpecializationTranslation", {
10
11
  name: DB.MemberDecl<DB.String, true>;
11
12
  description: DB.MemberDecl<DB.String, false>;
@@ -102,6 +103,7 @@ export declare const Language: DB.Entity<"Language", {
102
103
  }, undefined>;
103
104
  export declare const LanguageSpecialization: DB.Entity<"LanguageSpecialization", {
104
105
  parent: DB.MemberDecl<DB.ReferenceIdentifier, true>;
106
+ onlyForCulture: DB.MemberDecl<DB.Boolean, true>;
105
107
  translations: DB.MemberDecl<DB.NestedEntityMap<"LanguageSpecializationTranslation", {
106
108
  name: DB.MemberDecl<DB.String, true>;
107
109
  description: DB.MemberDecl<DB.String, false>;
@@ -63,6 +63,10 @@ export const LanguageSpecialization = DB.Entity(import.meta.url, {
63
63
  comment: "The language this specialization belongs to.",
64
64
  type: LanguageIdentifier(),
65
65
  }),
66
+ onlyForCulture: DB.Required({
67
+ comment: "The specialization is only mentioned in a culture’s description and not where the language itself is defined.",
68
+ type: DB.Boolean(),
69
+ }),
66
70
  translations: NestedTranslationMap(DB.Required, "LanguageSpecialization", DB.Object({
67
71
  name: DB.Required({
68
72
  comment: "The specialization’s name.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optolith/database-schema",
3
- "version": "0.79.1",
3
+ "version": "0.80.0",
4
4
  "description": "Definitions and utilities for the flat-file database of Optolith, a character creation tool for the Pen and Paper RPG “The Dark Eye 5”, and its external integrations into other software.",
5
5
  "keywords": [
6
6
  "tde",