@optolith/database-schema 0.103.2 → 0.105.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 (34) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/gen/types.d.ts +40 -3
  3. package/lib/types/Locale.d.ts +1 -0
  4. package/lib/types/Locale.js +1 -0
  5. package/lib/types/_ActivatableNonMundane.d.ts +0 -1
  6. package/lib/types/_ActivatableNonMundane.js +0 -4
  7. package/lib/types/equipment/item/ArmorAccessory.d.ts +6 -3
  8. package/lib/types/equipment/item/BandageOrRemedy.d.ts +6 -3
  9. package/lib/types/equipment/item/Book.d.ts +6 -3
  10. package/lib/types/equipment/item/CeremonialItem.d.ts +6 -3
  11. package/lib/types/equipment/item/Clothes.d.ts +6 -3
  12. package/lib/types/equipment/item/Container.d.ts +6 -3
  13. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +6 -3
  14. package/lib/types/equipment/item/IlluminationLightSource.d.ts +6 -3
  15. package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +6 -3
  16. package/lib/types/equipment/item/Item.d.ts +6 -3
  17. package/lib/types/equipment/item/Jewelry.d.ts +6 -3
  18. package/lib/types/equipment/item/Liebesspielzeug.d.ts +6 -3
  19. package/lib/types/equipment/item/LuxuryGood.d.ts +6 -3
  20. package/lib/types/equipment/item/MagicalArtifact.d.ts +6 -3
  21. package/lib/types/equipment/item/MusicalInstrument.d.ts +6 -3
  22. package/lib/types/equipment/item/OrienteeringAid.d.ts +6 -3
  23. package/lib/types/equipment/item/RopeOrChain.d.ts +6 -3
  24. package/lib/types/equipment/item/Stationery.d.ts +6 -3
  25. package/lib/types/equipment/item/ThievesTool.d.ts +6 -3
  26. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +6 -3
  27. package/lib/types/equipment/item/TravelGearOrTool.d.ts +6 -3
  28. package/lib/types/equipment/item/Weapon.d.ts +6 -3
  29. package/lib/types/equipment/item/WeaponAccessory.d.ts +6 -3
  30. package/lib/types/equipment/item/_Item.d.ts +12 -6
  31. package/lib/types/equipment/item/_Item.js +9 -1
  32. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +6 -1
  33. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +30 -3
  34. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,31 @@
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.105.0](https://github.com/Optolith/database-schema/compare/v0.104.0...v0.105.0) (2026-10-16)
6
+
7
+ ### ⚠ BREAKING CHANGES
8
+
9
+ * aspects by tradition for ceremonial item special abilities
10
+ * rename unbreakable to indestructible
11
+
12
+ ### Features
13
+
14
+ * aspects by tradition for ceremonial item special abilities ([6f64bed](https://github.com/Optolith/database-schema/commit/6f64bedbcac3874f8ccd331773a2a0c2b76513a1))
15
+
16
+ ### Bug Fixes
17
+
18
+ * rename unbreakable to indestructible ([4fcd4d3](https://github.com/Optolith/database-schema/commit/4fcd4d31f555ee7f22eaba77a2e12c9ccd3c3cf9))
19
+
20
+ ## [0.104.0](https://github.com/Optolith/database-schema/compare/v0.103.2...v0.104.0) (2026-10-15)
21
+
22
+ ### ⚠ BREAKING CHANGES
23
+
24
+ * unbreakable item
25
+
26
+ ### Features
27
+
28
+ * unbreakable item ([33a049b](https://github.com/Optolith/database-schema/commit/33a049b15a560dff757d9253229c20bc1c6bb683))
29
+
5
30
  ## [0.103.2](https://github.com/Optolith/database-schema/compare/v0.103.1...v0.103.2) (2026-10-15)
6
31
 
7
32
  ### Features
package/gen/types.d.ts CHANGED
@@ -286,6 +286,7 @@ export type EnumMap = {
286
286
  CantripRange: CantripRange
287
287
  CastingTime: CastingTime<unknown>
288
288
  CastingTimeDuringLovemakingUnit: CastingTimeDuringLovemakingUnit
289
+ CeremonialItemSpecialAbilityAspect: CeremonialItemSpecialAbilityAspect
289
290
  CheckResultArithmetic: CheckResultArithmetic
290
291
  ChildEntityForSelectOption: ChildEntityForSelectOption
291
292
  CollectorsValue: CollectorsValue
@@ -484,6 +485,7 @@ export type EnumMap = {
484
485
  SpellworkIdentifier: SpellworkIdentifier
485
486
  SpellworkPrerequisiteGroup: SpellworkPrerequisiteGroup
486
487
  SpellworkTraditions: SpellworkTraditions
488
+ StructurePoints: StructurePoints
487
489
  SustainedAnimistPowerCost: SustainedAnimistPowerCost
488
490
  SustainedCost: SustainedCost
489
491
  SustainedCostMap: SustainedCostMap
@@ -603,6 +605,7 @@ export type TypeAliasMap = {
603
605
  CastingTimeDuringLovemaking: CastingTimeDuringLovemaking
604
606
  CastingTimeIncludingLovemaking: CastingTimeIncludingLovemaking<unknown>
605
607
  Cause: Cause
608
+ CeremonialItemSpecialAbilityAspectByTradition: CeremonialItemSpecialAbilityAspectByTradition
606
609
  CheckResultBasedModifier: CheckResultBasedModifier
607
610
  ChildNode: ChildNode
608
611
  ChildSelectOptionRuleValue: ChildSelectOptionRuleValue
@@ -955,6 +958,7 @@ export type TypeAliasMap = {
955
958
  ShamanisticBlessedTradition: ShamanisticBlessedTradition
956
959
  Since: Since
957
960
  SingleBannzeichenCost: SingleBannzeichenCost
961
+ SingleCeremonialItemSpecialAbilityAspect: SingleCeremonialItemSpecialAbilityAspect
958
962
  SingleCommonnessRatedAdvantageDisadvantage: SingleCommonnessRatedAdvantageDisadvantage<unknown>
959
963
  SingleCommonnessRatedAdvantageDisadvantageInGroup: SingleCommonnessRatedAdvantageDisadvantageInGroup<unknown>
960
964
  SingleDerivedCharacteristicSkillCheckPenalty: SingleDerivedCharacteristicSkillCheckPenalty
@@ -1000,8 +1004,8 @@ export type TypeAliasMap = {
1000
1004
  StandardArmorType: StandardArmorType
1001
1005
  StandardVariantArmorType: StandardVariantArmorType
1002
1006
  StatePrerequisite: StatePrerequisite
1003
- StructurePoints: StructurePoints
1004
1007
  StructurePointsComponent: StructurePointsComponent
1008
+ StructurePointsPoints: StructurePointsPoints
1005
1009
  StyleSpecialAbilitySettings: StyleSpecialAbilitySettings
1006
1010
  SupernaturalBaseAdvantageSettings: SupernaturalBaseAdvantageSettings
1007
1011
  SustainedAnimistPowerPerformanceParameters: SustainedAnimistPowerPerformanceParameters
@@ -2700,6 +2704,7 @@ export interface Locale {
2700
2704
  "Medium Shield": string
2701
2705
  "Small Shield": string
2702
2706
  "{$value} structure points": string & { __params: { "value": string } }
2707
+ "indestructible": string
2703
2708
  "additional {$value} AT for main weapon": string & { __params: { "value": string } }
2704
2709
  "Price": string
2705
2710
  "all armor": string
@@ -12779,10 +12784,22 @@ export interface ComplexComplexity {
12779
12784
  src?: PublicationRefs
12780
12785
  }
12781
12786
 
12787
+ /**
12788
+ * The structure points of the item. Use an array if the item consists of multiple components that have individual structure points. The item may also be declared as indestructible, in which case the item has no structure points.
12789
+ */
12790
+ export type StructurePoints =
12791
+ | {
12792
+ kind: "Indestructible"
12793
+ }
12794
+ | {
12795
+ kind: "Points"
12796
+ Points: StructurePointsPoints
12797
+ }
12798
+
12782
12799
  /**
12783
12800
  * The structure points of the item. Use an array if the item consists of multiple components that have individual structure points.
12784
12801
  */
12785
- export type StructurePoints = StructurePointsComponent[]
12802
+ export type StructurePointsPoints = StructurePointsComponent[]
12786
12803
 
12787
12804
  export interface StructurePointsComponent {
12788
12805
  /**
@@ -13620,7 +13637,7 @@ export interface CeremonialItemSpecialAbility {
13620
13637
  /**
13621
13638
  * The blessed aspect.
13622
13639
  */
13623
- aspect?: Aspect_ID
13640
+ aspect?: CeremonialItemSpecialAbilityAspect
13624
13641
 
13625
13642
  prerequisites?: GeneralPrerequisites
13626
13643
 
@@ -13704,6 +13721,26 @@ export interface CeremonialItemSpecialAbilityGroupTranslation {
13704
13721
  nameForSorting: string
13705
13722
  }
13706
13723
 
13724
+ export type CeremonialItemSpecialAbilityAspect =
13725
+ | {
13726
+ kind: "Single"
13727
+ Single: SingleCeremonialItemSpecialAbilityAspect
13728
+ }
13729
+ | {
13730
+ kind: "ByTradition"
13731
+ ByTradition: CeremonialItemSpecialAbilityAspectByTradition
13732
+ }
13733
+
13734
+ export type SingleCeremonialItemSpecialAbilityAspect = Aspect_ID
13735
+
13736
+ export type CeremonialItemSpecialAbilityAspectByTradition = {
13737
+ [blessedTraditionId: string]: CeremonialItemSpecialAbilityAspectForTradition
13738
+ }
13739
+
13740
+ export interface CeremonialItemSpecialAbilityAspectForTradition {
13741
+ aspect: Aspect_ID
13742
+ }
13743
+
13707
13744
  export interface ChronicleEnchantment {
13708
13745
  /**
13709
13746
  * Number of available levels.
@@ -1511,6 +1511,7 @@ export declare const Locale: DB.Entity<"Locale", {
1511
1511
  "Medium Shield": null;
1512
1512
  "Small Shield": null;
1513
1513
  "{$value} structure points": null;
1514
+ indestructible: null;
1514
1515
  "additional {$value} AT for main weapon": null;
1515
1516
  Price: null;
1516
1517
  "all armor": null;
@@ -1553,6 +1553,7 @@ export const Locale = DB.Entity(import.meta.url, {
1553
1553
  "Medium Shield": null,
1554
1554
  "Small Shield": null,
1555
1555
  "{$value} structure points": null,
1556
+ "indestructible": null,
1556
1557
  "additional {$value} AT for main weapon": null,
1557
1558
  "Price": null,
1558
1559
  "all armor": null,
@@ -471,4 +471,3 @@ export declare const propertyOptional: () => DB.MemberDecl<DB.IncludeIdentifier<
471
471
  Fixed: DB.EnumCase<DB.ReferenceIdentifier>;
472
472
  }, []>>, false>;
473
473
  export declare const aspect: () => DB.MemberDecl<DB.ReferenceIdentifier, true>;
474
- export declare const aspectOptional: () => DB.MemberDecl<DB.ReferenceIdentifier, false>;
@@ -479,7 +479,3 @@ export const aspect = () => DB.Required({
479
479
  comment: "The blessed aspect.",
480
480
  type: AspectIdentifier(),
481
481
  });
482
- export const aspectOptional = () => DB.Optional({
483
- comment: "The blessed aspect.",
484
- type: AspectIdentifier(),
485
- });
@@ -95,9 +95,12 @@ export declare const ArmorAccessory: DB.Entity<"ArmorAccessory", {
95
95
  }>, []>>>, []>>, false>;
96
96
  }>, []>>>;
97
97
  }, []>>, false>;
98
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
99
- points: DB.MemberDecl<DB.Integer, true>;
100
- }>, []>>>, []>>, false>;
98
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
99
+ Indestructible: DB.EnumCase<null>;
100
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
101
+ points: DB.MemberDecl<DB.Integer, true>;
102
+ }>, []>>>, []>>>;
103
+ }, []>>, false>;
101
104
  combat_use: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CombatUse", {
102
105
  Weapon: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ImprovisedWeapon", DB.Object<{
103
106
  melee_uses: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -95,9 +95,12 @@ export declare const BandageOrRemedy: DB.Entity<"BandageOrRemedy", {
95
95
  }>, []>>>, []>>, false>;
96
96
  }>, []>>>;
97
97
  }, []>>, false>;
98
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
99
- points: DB.MemberDecl<DB.Integer, true>;
100
- }>, []>>>, []>>, false>;
98
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
99
+ Indestructible: DB.EnumCase<null>;
100
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
101
+ points: DB.MemberDecl<DB.Integer, true>;
102
+ }>, []>>>, []>>>;
103
+ }, []>>, false>;
101
104
  combat_use: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CombatUse", {
102
105
  Weapon: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ImprovisedWeapon", DB.Object<{
103
106
  melee_uses: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -182,9 +182,12 @@ export declare const Book: DB.Entity<"Book", {
182
182
  }>, []>>>, []>>, false>;
183
183
  }>, []>>>;
184
184
  }, []>>, false>;
185
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
186
- points: DB.MemberDecl<DB.Integer, true>;
187
- }>, []>>>, []>>, false>;
185
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
186
+ Indestructible: DB.EnumCase<null>;
187
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
188
+ points: DB.MemberDecl<DB.Integer, true>;
189
+ }>, []>>>, []>>>;
190
+ }, []>>, false>;
188
191
  contentQuality: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"BookContentQuality", {
189
192
  Modest: DB.EnumCase<null>;
190
193
  Average: DB.EnumCase<null>;
@@ -95,9 +95,12 @@ export declare const CeremonialItem: DB.Entity<"CeremonialItem", {
95
95
  }>, []>>>, []>>, false>;
96
96
  }>, []>>>;
97
97
  }, []>>, false>;
98
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
99
- points: DB.MemberDecl<DB.Integer, true>;
100
- }>, []>>>, []>>, false>;
98
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
99
+ Indestructible: DB.EnumCase<null>;
100
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
101
+ points: DB.MemberDecl<DB.Integer, true>;
102
+ }>, []>>>, []>>>;
103
+ }, []>>, false>;
101
104
  associated_tradition: DB.MemberDecl<DB.ReferenceIdentifier, true>;
102
105
  combat_use: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CombatUse", {
103
106
  Weapon: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ImprovisedWeapon", DB.Object<{
@@ -95,9 +95,12 @@ export declare const Clothes: DB.Entity<"Clothes", {
95
95
  }>, []>>>, []>>, false>;
96
96
  }>, []>>>;
97
97
  }, []>>, false>;
98
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
99
- points: DB.MemberDecl<DB.Integer, true>;
100
- }>, []>>>, []>>, false>;
98
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
99
+ Indestructible: DB.EnumCase<null>;
100
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
101
+ points: DB.MemberDecl<DB.Integer, true>;
102
+ }>, []>>>, []>>>;
103
+ }, []>>, false>;
101
104
  combat_use: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CombatUse", {
102
105
  Weapon: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ImprovisedWeapon", DB.Object<{
103
106
  melee_uses: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -95,9 +95,12 @@ export declare const Container: DB.Entity<"Container", {
95
95
  }>, []>>>, []>>, false>;
96
96
  }>, []>>>;
97
97
  }, []>>, false>;
98
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
99
- points: DB.MemberDecl<DB.Integer, true>;
100
- }>, []>>>, []>>, false>;
98
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
99
+ Indestructible: DB.EnumCase<null>;
100
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
101
+ points: DB.MemberDecl<DB.Integer, true>;
102
+ }>, []>>>, []>>>;
103
+ }, []>>, false>;
101
104
  combat_use: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CombatUse", {
102
105
  Weapon: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ImprovisedWeapon", DB.Object<{
103
106
  melee_uses: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -22,9 +22,12 @@ export declare const EquipmentOfBlessedOnes: DB.Entity<"EquipmentOfBlessedOnes",
22
22
  }>, false>;
23
23
  }>, []>>>;
24
24
  }, []>>, true>;
25
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
26
- points: DB.MemberDecl<DB.Integer, true>;
27
- }>, []>>>, []>>, true>;
25
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
26
+ Indestructible: DB.EnumCase<null>;
27
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
28
+ points: DB.MemberDecl<DB.Integer, true>;
29
+ }>, []>>>, []>>>;
30
+ }, []>>, true>;
28
31
  associatedTraditions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"AssociatedTradition", {
29
32
  Specific: DB.EnumCase<DB.ReferenceIdentifier>;
30
33
  ManyShamans: DB.EnumCase<null>;
@@ -95,9 +95,12 @@ export declare const IlluminationLightSource: DB.Entity<"IlluminationLightSource
95
95
  }>, []>>>, []>>, false>;
96
96
  }>, []>>>;
97
97
  }, []>>, false>;
98
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
99
- points: DB.MemberDecl<DB.Integer, true>;
100
- }>, []>>>, []>>, true>;
98
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
99
+ Indestructible: DB.EnumCase<null>;
100
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
101
+ points: DB.MemberDecl<DB.Integer, true>;
102
+ }>, []>>>, []>>>;
103
+ }, []>>, true>;
101
104
  burning_time: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"BurningTime", {
102
105
  Unlimited: DB.EnumCase<null>;
103
106
  Limited: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"LimitedBurningTime", DB.Object<{
@@ -95,9 +95,12 @@ export declare const IlluminationRefillOrSupply: DB.Entity<"IlluminationRefillOr
95
95
  }>, []>>>, []>>, false>;
96
96
  }>, []>>>;
97
97
  }, []>>, false>;
98
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
99
- points: DB.MemberDecl<DB.Integer, true>;
100
- }>, []>>>, []>>, false>;
98
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
99
+ Indestructible: DB.EnumCase<null>;
100
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
101
+ points: DB.MemberDecl<DB.Integer, true>;
102
+ }>, []>>>, []>>>;
103
+ }, []>>, false>;
101
104
  combat_use: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CombatUse", {
102
105
  Weapon: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ImprovisedWeapon", DB.Object<{
103
106
  melee_uses: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -96,9 +96,12 @@ export declare const Item: DB.Entity<"Item", {
96
96
  }>, []>>>, []>>, false>;
97
97
  }>, []>>>;
98
98
  }, []>>, false>;
99
- structurePoints: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
100
- points: DB.MemberDecl<DB.Integer, true>;
101
- }>, []>>>, []>>, true>;
99
+ structurePoints: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
100
+ Indestructible: DB.EnumCase<null>;
101
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
102
+ points: DB.MemberDecl<DB.Integer, true>;
103
+ }>, []>>>, []>>>;
104
+ }, []>>, true>;
102
105
  burningTime: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"BurningTime", {
103
106
  Unlimited: DB.EnumCase<null>;
104
107
  Limited: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"LimitedBurningTime", DB.Object<{
@@ -82,9 +82,12 @@ export declare const Jewelry: DB.Entity<"Jewelry", {
82
82
  }>, []>>>, []>>, false>;
83
83
  }>, []>>>;
84
84
  }, []>>, false>;
85
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
86
- points: DB.MemberDecl<DB.Integer, true>;
87
- }>, []>>>, []>>, true>;
85
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
86
+ Indestructible: DB.EnumCase<null>;
87
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
88
+ points: DB.MemberDecl<DB.Integer, true>;
89
+ }>, []>>>, []>>>;
90
+ }, []>>, true>;
88
91
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
89
92
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
90
93
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -95,9 +95,12 @@ export declare const Liebesspielzeug: DB.Entity<"Liebesspielzeug", {
95
95
  }>, []>>>, []>>, false>;
96
96
  }>, []>>>;
97
97
  }, []>>, false>;
98
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
99
- points: DB.MemberDecl<DB.Integer, true>;
100
- }>, []>>>, []>>, false>;
98
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
99
+ Indestructible: DB.EnumCase<null>;
100
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
101
+ points: DB.MemberDecl<DB.Integer, true>;
102
+ }>, []>>>, []>>>;
103
+ }, []>>, false>;
101
104
  combat_use: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CombatUse", {
102
105
  Weapon: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ImprovisedWeapon", DB.Object<{
103
106
  melee_uses: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -95,9 +95,12 @@ export declare const LuxuryGood: DB.Entity<"LuxuryGood", {
95
95
  }>, []>>>, []>>, false>;
96
96
  }>, []>>>;
97
97
  }, []>>, false>;
98
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
99
- points: DB.MemberDecl<DB.Integer, true>;
100
- }>, []>>>, []>>, false>;
98
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
99
+ Indestructible: DB.EnumCase<null>;
100
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
101
+ points: DB.MemberDecl<DB.Integer, true>;
102
+ }>, []>>>, []>>>;
103
+ }, []>>, false>;
101
104
  combat_use: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CombatUse", {
102
105
  Weapon: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ImprovisedWeapon", DB.Object<{
103
106
  melee_uses: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -95,9 +95,12 @@ export declare const MagicalArtifact: DB.Entity<"MagicalArtifact", {
95
95
  }>, []>>>, []>>, false>;
96
96
  }>, []>>>;
97
97
  }, []>>, false>;
98
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
99
- points: DB.MemberDecl<DB.Integer, true>;
100
- }>, []>>>, []>>, false>;
98
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
99
+ Indestructible: DB.EnumCase<null>;
100
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
101
+ points: DB.MemberDecl<DB.Integer, true>;
102
+ }>, []>>>, []>>>;
103
+ }, []>>, false>;
101
104
  combat_use: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CombatUse", {
102
105
  Weapon: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ImprovisedWeapon", DB.Object<{
103
106
  melee_uses: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -95,9 +95,12 @@ export declare const MusicalInstrument: DB.Entity<"MusicalInstrument", {
95
95
  }>, []>>>, []>>, false>;
96
96
  }>, []>>>;
97
97
  }, []>>, false>;
98
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
99
- points: DB.MemberDecl<DB.Integer, true>;
100
- }>, []>>>, []>>, false>;
98
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
99
+ Indestructible: DB.EnumCase<null>;
100
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
101
+ points: DB.MemberDecl<DB.Integer, true>;
102
+ }>, []>>>, []>>>;
103
+ }, []>>, false>;
101
104
  combat_use: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CombatUse", {
102
105
  Weapon: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ImprovisedWeapon", DB.Object<{
103
106
  melee_uses: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -94,9 +94,12 @@ export declare const OrienteeringAid: import("tsondb/schema/dsl").Entity<string,
94
94
  }>, []>>>, []>>, false>;
95
95
  }>, []>>>;
96
96
  }, []>>, false>;
97
- structure_points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StructurePoints", import("tsondb/schema/dsl").Array<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StructurePointsComponent", import("tsondb/schema/dsl").Object<{
98
- points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
99
- }>, []>>>, []>>, true>;
97
+ structure_points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"StructurePoints", {
98
+ Indestructible: import("tsondb/schema/dsl").EnumCase<null>;
99
+ Points: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StructurePointsPoints", import("tsondb/schema/dsl").Array<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StructurePointsComponent", import("tsondb/schema/dsl").Object<{
100
+ points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
101
+ }>, []>>>, []>>>;
102
+ }, []>>, true>;
100
103
  combat_use: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"CombatUse", {
101
104
  Weapon: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"ImprovisedWeapon", import("tsondb/schema/dsl").Object<{
102
105
  melee_uses: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").NestedEntityMap<string, {
@@ -94,9 +94,12 @@ export declare const RopeOrChain: import("tsondb/schema/dsl").Entity<string, {
94
94
  }>, []>>>, []>>, false>;
95
95
  }>, []>>>;
96
96
  }, []>>, false>;
97
- structure_points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StructurePoints", import("tsondb/schema/dsl").Array<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StructurePointsComponent", import("tsondb/schema/dsl").Object<{
98
- points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
99
- }>, []>>>, []>>, true>;
97
+ structure_points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"StructurePoints", {
98
+ Indestructible: import("tsondb/schema/dsl").EnumCase<null>;
99
+ Points: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StructurePointsPoints", import("tsondb/schema/dsl").Array<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StructurePointsComponent", import("tsondb/schema/dsl").Object<{
100
+ points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
101
+ }>, []>>>, []>>>;
102
+ }, []>>, true>;
100
103
  combat_use: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"CombatUse", {
101
104
  Weapon: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"ImprovisedWeapon", import("tsondb/schema/dsl").Object<{
102
105
  melee_uses: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").NestedEntityMap<string, {
@@ -94,9 +94,12 @@ export declare const Stationery: import("tsondb/schema/dsl").Entity<string, {
94
94
  }>, []>>>, []>>, false>;
95
95
  }>, []>>>;
96
96
  }, []>>, false>;
97
- structure_points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StructurePoints", import("tsondb/schema/dsl").Array<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StructurePointsComponent", import("tsondb/schema/dsl").Object<{
98
- points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
99
- }>, []>>>, []>>, true>;
97
+ structure_points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"StructurePoints", {
98
+ Indestructible: import("tsondb/schema/dsl").EnumCase<null>;
99
+ Points: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StructurePointsPoints", import("tsondb/schema/dsl").Array<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StructurePointsComponent", import("tsondb/schema/dsl").Object<{
100
+ points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
101
+ }>, []>>>, []>>>;
102
+ }, []>>, true>;
100
103
  combat_use: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"CombatUse", {
101
104
  Weapon: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"ImprovisedWeapon", import("tsondb/schema/dsl").Object<{
102
105
  melee_uses: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").NestedEntityMap<string, {
@@ -94,9 +94,12 @@ export declare const ThievesTool: import("tsondb/schema/dsl").Entity<string, {
94
94
  }>, []>>>, []>>, false>;
95
95
  }>, []>>>;
96
96
  }, []>>, false>;
97
- structure_points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StructurePoints", import("tsondb/schema/dsl").Array<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StructurePointsComponent", import("tsondb/schema/dsl").Object<{
98
- points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
99
- }>, []>>>, []>>, true>;
97
+ structure_points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"StructurePoints", {
98
+ Indestructible: import("tsondb/schema/dsl").EnumCase<null>;
99
+ Points: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StructurePointsPoints", import("tsondb/schema/dsl").Array<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"StructurePointsComponent", import("tsondb/schema/dsl").Object<{
100
+ points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
101
+ }>, []>>>, []>>>;
102
+ }, []>>, true>;
100
103
  combat_use: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"CombatUse", {
101
104
  Weapon: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"ImprovisedWeapon", import("tsondb/schema/dsl").Object<{
102
105
  melee_uses: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").NestedEntityMap<string, {
@@ -95,9 +95,12 @@ export declare const ToolOfTheTrade: DB.Entity<"ToolOfTheTrade", {
95
95
  }>, []>>>, []>>, false>;
96
96
  }>, []>>>;
97
97
  }, []>>, false>;
98
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
99
- points: DB.MemberDecl<DB.Integer, true>;
100
- }>, []>>>, []>>, true>;
98
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
99
+ Indestructible: DB.EnumCase<null>;
100
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
101
+ points: DB.MemberDecl<DB.Integer, true>;
102
+ }>, []>>>, []>>>;
103
+ }, []>>, true>;
101
104
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
102
105
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
103
106
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -95,9 +95,12 @@ export declare const TravelGearOrTool: DB.Entity<"TravelGearOrTool", {
95
95
  }>, []>>>, []>>, false>;
96
96
  }>, []>>>;
97
97
  }, []>>, false>;
98
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
99
- points: DB.MemberDecl<DB.Integer, true>;
100
- }>, []>>>, []>>, false>;
98
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
99
+ Indestructible: DB.EnumCase<null>;
100
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
101
+ points: DB.MemberDecl<DB.Integer, true>;
102
+ }>, []>>>, []>>>;
103
+ }, []>>, false>;
101
104
  combat_use: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CombatUse", {
102
105
  Weapon: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ImprovisedWeapon", DB.Object<{
103
106
  melee_uses: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -95,9 +95,12 @@ export declare const Weapon: DB.Entity<"Weapon", {
95
95
  }>, []>>>, []>>, false>;
96
96
  }>, []>>>;
97
97
  }, []>>, false>;
98
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
99
- points: DB.MemberDecl<DB.Integer, true>;
100
- }>, []>>>, []>>, false>;
98
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
99
+ Indestructible: DB.EnumCase<null>;
100
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
101
+ points: DB.MemberDecl<DB.Integer, true>;
102
+ }>, []>>>, []>>>;
103
+ }, []>>, false>;
101
104
  melee_uses: DB.MemberDecl<DB.NestedEntityMap<string, {
102
105
  damage: DB.MemberDecl<DB.TypeArgument<DB.Param<"Damage", DB.Type>>, true>;
103
106
  damage_threshold: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"PrimaryAttributeDamageThreshold", {
@@ -95,9 +95,12 @@ export declare const WeaponAccessory: DB.Entity<"WeaponAccessory", {
95
95
  }>, []>>>, []>>, false>;
96
96
  }>, []>>>;
97
97
  }, []>>, false>;
98
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
99
- points: DB.MemberDecl<DB.Integer, true>;
100
- }>, []>>>, []>>, false>;
98
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
99
+ Indestructible: DB.EnumCase<null>;
100
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
101
+ points: DB.MemberDecl<DB.Integer, true>;
102
+ }>, []>>>, []>>>;
103
+ }, []>>, false>;
101
104
  combat_use: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CombatUse", {
102
105
  Weapon: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ImprovisedWeapon", DB.Object<{
103
106
  melee_uses: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -95,9 +95,12 @@ export declare const DefaultItem: (sourceUrl: string, singularName: string, plur
95
95
  }>, []>>>, []>>, false>;
96
96
  }>, []>>>;
97
97
  }, []>>, false>;
98
- structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
99
- points: DB.MemberDecl<DB.Integer, true>;
100
- }>, []>>>, []>>, true>;
98
+ structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
99
+ Indestructible: DB.EnumCase<null>;
100
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
101
+ points: DB.MemberDecl<DB.Integer, true>;
102
+ }>, []>>>, []>>>;
103
+ }, []>>, true>;
101
104
  combat_use: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CombatUse", {
102
105
  Weapon: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ImprovisedWeapon", DB.Object<{
103
106
  melee_uses: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -500,9 +503,12 @@ export declare const CombatUse: DB.Enum<"CombatUse", {
500
503
  }>, false>;
501
504
  }>, []>>>;
502
505
  }, []>;
503
- export declare const StructurePoints: DB.TypeAlias<"StructurePoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
504
- points: DB.MemberDecl<DB.Integer, true>;
505
- }>, []>>>, []>;
506
+ export declare const StructurePoints: DB.Enum<"StructurePoints", {
507
+ Indestructible: DB.EnumCase<null>;
508
+ Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
509
+ points: DB.MemberDecl<DB.Integer, true>;
510
+ }>, []>>>, []>>>;
511
+ }, []>;
506
512
  export declare const Cost: DB.Enum<"Cost", {
507
513
  Free: DB.EnumCase<null>;
508
514
  Various: DB.EnumCase<null>;
@@ -83,8 +83,16 @@ export const CombatUse = DB.Enum(import.meta.url, {
83
83
  Armor: DB.EnumCase({ type: DB.IncludeIdentifier(SecondaryArmor) }),
84
84
  }),
85
85
  });
86
- export const StructurePoints = DB.TypeAlias(import.meta.url, {
86
+ export const StructurePoints = DB.Enum(import.meta.url, {
87
87
  name: "StructurePoints",
88
+ comment: "The structure points of the item. Use an array if the item consists of multiple components that have individual structure points. The item may also be declared as indestructible, in which case the item has no structure points.",
89
+ values: () => ({
90
+ Indestructible: DB.EnumCase({ type: null }),
91
+ Points: DB.EnumCase({ type: DB.IncludeIdentifier(StructurePointsPoints) }),
92
+ }),
93
+ });
94
+ const StructurePointsPoints = DB.TypeAlias(import.meta.url, {
95
+ name: "StructurePointsPoints",
88
96
  comment: "The structure points of the item. Use an array if the item consists of multiple components that have individual structure points.",
89
97
  type: () => DB.Array(DB.IncludeIdentifier(StructurePointsComponent), { minItems: 1 }),
90
98
  });
@@ -1125,7 +1125,12 @@ export declare const CeremonialItemSpecialAbility: DB.Entity<"CeremonialItemSpec
1125
1125
  }>, false>;
1126
1126
  }, "parent">>, true>;
1127
1127
  maximum: DB.MemberDecl<DB.Integer, false>;
1128
- aspect: DB.MemberDecl<DB.ReferenceIdentifier, false>;
1128
+ aspect: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CeremonialItemSpecialAbilityAspect", {
1129
+ Single: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SingleCeremonialItemSpecialAbilityAspect", DB.ReferenceIdentifier, []>>>;
1130
+ ByTradition: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CeremonialItemSpecialAbilityAspectByTradition", DB.NestedEntityMap<string, {
1131
+ aspect: DB.MemberDecl<DB.ReferenceIdentifier, true>;
1132
+ }>, []>>>;
1133
+ }, []>>, false>;
1129
1134
  prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"GeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesForLevels", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteForLevel", DB.Object<{
1130
1135
  level: DB.MemberDecl<DB.Integer, true>;
1131
1136
  prerequisite: DB.MemberDecl<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
@@ -2,14 +2,14 @@ import * as DB from "tsondb/schema/dsl";
2
2
  import { effect, levels, maximum, name, name_in_library } from "../_Activatable.js";
3
3
  import { ap_value, ap_value_append, ap_value_l10n } from "../_ActivatableAdventurePointsValue.js";
4
4
  import { nameBuilderRules } from "../_ActivatableNames.js";
5
- import { aspectOptional } from "../_ActivatableNonMundane.js";
6
5
  import { explicit_select_options, select_options, verifySelectOptionRules, } from "../_ActivatableSelectOptions.js";
7
6
  import { skill_applications, skill_uses } from "../_ActivatableSkillApplicationsAndUses.js";
8
- import { CeremonialItemSpecialAbilityGroupIdentifier } from "../_Identifier.js";
7
+ import { AspectIdentifier, CeremonialItemSpecialAbilityGroupIdentifier } from "../_Identifier.js";
9
8
  import { GeneralPrerequisites } from "../_Prerequisite.js";
10
9
  import { NestedTranslationMap } from "../Locale.js";
11
10
  import { Errata } from "../source/_Erratum.js";
12
11
  import { src } from "../source/_PublicationRef.js";
12
+ import { BlessedTradition } from "./BlessedTradition.js";
13
13
  export const CeremonialItemSpecialAbility = DB.Entity(import.meta.url, {
14
14
  name: "CeremonialItemSpecialAbility",
15
15
  namePlural: "CeremonialItemSpecialAbilities",
@@ -24,7 +24,10 @@ export const CeremonialItemSpecialAbility = DB.Entity(import.meta.url, {
24
24
  skill_applications,
25
25
  skill_uses,
26
26
  maximum,
27
- aspect: aspectOptional(),
27
+ aspect: DB.Optional({
28
+ comment: "The blessed aspect.",
29
+ type: DB.IncludeIdentifier(CeremonialItemSpecialAbilityAspect),
30
+ }),
28
31
  prerequisites: DB.Optional({
29
32
  type: DB.IncludeIdentifier(GeneralPrerequisites),
30
33
  }),
@@ -79,3 +82,27 @@ export const CeremonialItemSpecialAbility = DB.Entity(import.meta.url, {
79
82
  ],
80
83
  customConstraints: deps => verifySelectOptionRules("CeremonialItemSpecialAbility", deps),
81
84
  });
85
+ const CeremonialItemSpecialAbilityAspect = DB.Enum(import.meta.url, {
86
+ name: "CeremonialItemSpecialAbilityAspect",
87
+ values: () => ({
88
+ Single: DB.EnumCase({ type: DB.IncludeIdentifier(SingleCeremonialItemSpecialAbilityAspect) }),
89
+ ByTradition: DB.EnumCase({
90
+ type: DB.IncludeIdentifier(CeremonialItemSpecialAbilityAspectByTradition),
91
+ }),
92
+ }),
93
+ });
94
+ const SingleCeremonialItemSpecialAbilityAspect = DB.TypeAlias(import.meta.url, {
95
+ name: "SingleCeremonialItemSpecialAbilityAspect",
96
+ type: () => AspectIdentifier(),
97
+ });
98
+ const CeremonialItemSpecialAbilityAspectByTradition = DB.TypeAlias(import.meta.url, {
99
+ name: "CeremonialItemSpecialAbilityAspectByTradition",
100
+ type: () => DB.NestedEntityMap({
101
+ name: "CeremonialItemSpecialAbilityAspectForTradition",
102
+ namePlural: "CeremonialItemSpecialAbilityAspectForTraditions",
103
+ secondaryEntity: BlessedTradition,
104
+ type: DB.Object({
105
+ aspect: DB.Required({ type: AspectIdentifier() }),
106
+ }),
107
+ }),
108
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optolith/database-schema",
3
- "version": "0.103.2",
3
+ "version": "0.105.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",