@optolith/database-schema 0.79.1 → 0.81.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 (41) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/gen/types.d.ts +25 -1
  3. package/lib/types/Culture.js +1 -1
  4. package/lib/types/Locale.d.ts +1 -0
  5. package/lib/types/Locale.js +1 -0
  6. package/lib/types/equipment/item/Ammunition.d.ts +5 -1
  7. package/lib/types/equipment/item/Animal.d.ts +5 -1
  8. package/lib/types/equipment/item/AnimalCare.d.ts +5 -1
  9. package/lib/types/equipment/item/Armor.d.ts +5 -1
  10. package/lib/types/equipment/item/BandageOrRemedy.d.ts +5 -1
  11. package/lib/types/equipment/item/Book.d.ts +10 -2
  12. package/lib/types/equipment/item/CeremonialItem.d.ts +5 -1
  13. package/lib/types/equipment/item/Clothes.d.ts +5 -1
  14. package/lib/types/equipment/item/ClothingPackage.d.ts +5 -1
  15. package/lib/types/equipment/item/Container.d.ts +5 -1
  16. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +5 -1
  17. package/lib/types/equipment/item/GemOrPreciousStone.d.ts +5 -1
  18. package/lib/types/equipment/item/IlluminationLightSource.d.ts +5 -1
  19. package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +5 -1
  20. package/lib/types/equipment/item/Item.d.ts +5 -1
  21. package/lib/types/equipment/item/Laboratory.d.ts +5 -1
  22. package/lib/types/equipment/item/Liebesspielzeug.d.ts +5 -1
  23. package/lib/types/equipment/item/LuxuryGood.d.ts +5 -1
  24. package/lib/types/equipment/item/MagicalArtifact.d.ts +5 -1
  25. package/lib/types/equipment/item/MusicalInstrument.d.ts +5 -1
  26. package/lib/types/equipment/item/Newspaper.d.ts +5 -1
  27. package/lib/types/equipment/item/OrienteeringAid.d.ts +5 -1
  28. package/lib/types/equipment/item/RopeOrChain.d.ts +5 -1
  29. package/lib/types/equipment/item/Stationery.d.ts +5 -1
  30. package/lib/types/equipment/item/ThievesTool.d.ts +5 -1
  31. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +5 -1
  32. package/lib/types/equipment/item/TravelGearOrTool.d.ts +5 -1
  33. package/lib/types/equipment/item/Vehicle.d.ts +5 -1
  34. package/lib/types/equipment/item/Weapon.d.ts +5 -1
  35. package/lib/types/equipment/item/WeaponAccessory.d.ts +5 -1
  36. package/lib/types/equipment/item/WorkingSupernaturalCreature.d.ts +5 -1
  37. package/lib/types/equipment/item/_Item.d.ts +10 -2
  38. package/lib/types/equipment/item/_Item.js +9 -1
  39. package/lib/types/specialAbility/sub/Language.d.ts +2 -0
  40. package/lib/types/specialAbility/sub/Language.js +4 -0
  41. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,28 @@
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.81.0](https://github.com/Optolith/database-schema/compare/v0.80.0...v0.81.0) (2026-10-06)
6
+
7
+ ### ⚠ BREAKING CHANGES
8
+
9
+ * special damage translation
10
+
11
+ ### Bug Fixes
12
+
13
+ * special damage translation ([69dc121](https://github.com/Optolith/database-schema/commit/69dc121fcdd4d66c0cdb43e50df3ff8fd443e50a))
14
+
15
+ ## [0.80.0](https://github.com/Optolith/database-schema/compare/v0.79.1...v0.80.0) (2026-10-06)
16
+
17
+ ### ⚠ BREAKING CHANGES
18
+
19
+ * culture-only language specialization flag
20
+ * invaluable item cost translation
21
+
22
+ ### Features
23
+
24
+ * culture-only language specialization flag ([e7e35cd](https://github.com/Optolith/database-schema/commit/e7e35cdb78c9b1e92353f64bfb6858a32fdbdd40))
25
+ * invaluable item cost translation ([61e6e22](https://github.com/Optolith/database-schema/commit/61e6e22b19a761309c4666ba03d4770c5a59e86d))
26
+
5
27
  ## [0.79.1](https://github.com/Optolith/database-schema/compare/v0.79.0...v0.79.1) (2026-10-05)
6
28
 
7
29
  ### 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
@@ -2579,6 +2580,7 @@ export interface Locale {
2579
2580
  "invaluable": string
2580
2581
  "Damage Points": string
2581
2582
  "DP": string
2583
+ "Special (Damage)": string
2582
2584
  "Primary Attribute + Damage Threshold": string
2583
2585
  "P+T": string
2584
2586
  "Attack/Parry Modifier": string
@@ -5714,6 +5716,11 @@ export interface LanguageSpecialization {
5714
5716
  */
5715
5717
  parent: Language_ID
5716
5718
 
5719
+ /**
5720
+ * The specialization is only mentioned in a culture’s description and not where the language itself is defined.
5721
+ */
5722
+ onlyForCulture: boolean
5723
+
5717
5724
  /**
5718
5725
  * All translations for the entry, identified by IETF language tag (BCP47).
5719
5726
  */
@@ -9862,7 +9869,7 @@ export interface CultureLanguageTranslation {
9862
9869
  specialization?: string
9863
9870
 
9864
9871
  /**
9865
- * A different promt fro the language specialization, if the language allows to specify arbitrary text.
9872
+ * A different prompt for the language specialization, if the language allows to specify arbitrary text.
9866
9873
  */
9867
9874
  specializationPrompt?: string
9868
9875
  }
@@ -12417,6 +12424,7 @@ export type Cost =
12417
12424
  }
12418
12425
  | {
12419
12426
  kind: "Invaluable"
12427
+ Invaluable: InvaluableCost
12420
12428
  }
12421
12429
  | {
12422
12430
  kind: "Fixed"
@@ -12427,6 +12435,22 @@ export type Cost =
12427
12435
  Range: CostRange
12428
12436
  }
12429
12437
 
12438
+ export interface InvaluableCost {
12439
+ /**
12440
+ * All translations for the entry, identified by IETF language tag (BCP47).
12441
+ */
12442
+ translations?: {
12443
+ [localeId: string]: InvaluableCostTranslation
12444
+ }
12445
+ }
12446
+
12447
+ export interface InvaluableCostTranslation {
12448
+ /**
12449
+ * The cost get wrapped by this text using a placeholder in the text.
12450
+ */
12451
+ wrap_in_text: string
12452
+ }
12453
+
12430
12454
  export interface FixedCost {
12431
12455
  /**
12432
12456
  * 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 })),
@@ -1442,6 +1442,7 @@ export declare const Locale: DB.Entity<"Locale", {
1442
1442
  invaluable: null;
1443
1443
  "Damage Points": null;
1444
1444
  DP: null;
1445
+ "Special (Damage)": null;
1445
1446
  "Primary Attribute + Damage Threshold": null;
1446
1447
  "P+T": null;
1447
1448
  "Attack/Parry Modifier": null;
@@ -1483,6 +1483,7 @@ export const Locale = DB.Entity(import.meta.url, {
1483
1483
  "invaluable": null,
1484
1484
  "Damage Points": null,
1485
1485
  "DP": null,
1486
+ "Special (Damage)": null,
1486
1487
  "Primary Attribute + Damage Threshold": null,
1487
1488
  "P+T": null,
1488
1489
  "Attack/Parry Modifier": null,
@@ -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.81.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",
@@ -39,7 +39,7 @@
39
39
  "license": "MPL-2.0",
40
40
  "dependencies": {
41
41
  "@elyukai/utils": "^0.3.6",
42
- "tsondb": "^0.21.4",
42
+ "tsondb": "^0.21.5",
43
43
  "yaml": "^2.9.1"
44
44
  },
45
45
  "devDependencies": {