@optolith/database-schema 0.104.0 → 0.106.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.
- package/CHANGELOG.md +25 -0
- package/gen/types.d.ts +28 -5
- package/lib/types/Locale.d.ts +1 -1
- package/lib/types/Locale.js +1 -1
- package/lib/types/_ActivatableNonMundane.d.ts +0 -1
- package/lib/types/_ActivatableNonMundane.js +0 -4
- package/lib/types/equipment/item/ArmorAccessory.d.ts +1 -1
- package/lib/types/equipment/item/BandageOrRemedy.d.ts +1 -1
- package/lib/types/equipment/item/Book.d.ts +1 -1
- package/lib/types/equipment/item/CeremonialItem.d.ts +6 -2
- package/lib/types/equipment/item/CeremonialItem.js +2 -3
- package/lib/types/equipment/item/Clothes.d.ts +1 -1
- package/lib/types/equipment/item/Container.d.ts +1 -1
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +1 -1
- package/lib/types/equipment/item/IlluminationLightSource.d.ts +1 -1
- package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +1 -1
- package/lib/types/equipment/item/Item.d.ts +1 -1
- package/lib/types/equipment/item/Jewelry.d.ts +1 -1
- package/lib/types/equipment/item/Liebesspielzeug.d.ts +1 -1
- package/lib/types/equipment/item/LuxuryGood.d.ts +1 -1
- package/lib/types/equipment/item/MagicalArtifact.d.ts +1 -1
- package/lib/types/equipment/item/MusicalInstrument.d.ts +1 -1
- package/lib/types/equipment/item/OrienteeringAid.d.ts +1 -1
- package/lib/types/equipment/item/RopeOrChain.d.ts +1 -1
- package/lib/types/equipment/item/Stationery.d.ts +1 -1
- package/lib/types/equipment/item/ThievesTool.d.ts +1 -1
- package/lib/types/equipment/item/ToolOfTheTrade.d.ts +1 -1
- package/lib/types/equipment/item/TravelGearOrTool.d.ts +1 -1
- package/lib/types/equipment/item/Weapon.d.ts +1 -1
- package/lib/types/equipment/item/WeaponAccessory.d.ts +1 -1
- package/lib/types/equipment/item/_Item.d.ts +2 -2
- package/lib/types/equipment/item/_Item.js +2 -2
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +6 -1
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +30 -3
- 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.106.0](https://github.com/Optolith/database-schema/compare/v0.105.0...v0.106.0) (2026-10-16)
|
|
6
|
+
|
|
7
|
+
### ⚠ BREAKING CHANGES
|
|
8
|
+
|
|
9
|
+
* allow blessed tradition groups as associated traditions for ceremonial items
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* allow blessed tradition groups as associated traditions for ceremonial items ([315ddc7](https://github.com/Optolith/database-schema/commit/315ddc7a46ca48511ecee0c448fe0f691a1bc165))
|
|
14
|
+
|
|
15
|
+
## [0.105.0](https://github.com/Optolith/database-schema/compare/v0.104.0...v0.105.0) (2026-10-16)
|
|
16
|
+
|
|
17
|
+
### ⚠ BREAKING CHANGES
|
|
18
|
+
|
|
19
|
+
* aspects by tradition for ceremonial item special abilities
|
|
20
|
+
* rename unbreakable to indestructible
|
|
21
|
+
|
|
22
|
+
### Features
|
|
23
|
+
|
|
24
|
+
* aspects by tradition for ceremonial item special abilities ([6f64bed](https://github.com/Optolith/database-schema/commit/6f64bedbcac3874f8ccd331773a2a0c2b76513a1))
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
* rename unbreakable to indestructible ([4fcd4d3](https://github.com/Optolith/database-schema/commit/4fcd4d31f555ee7f22eaba77a2e12c9ccd3c3cf9))
|
|
29
|
+
|
|
5
30
|
## [0.104.0](https://github.com/Optolith/database-schema/compare/v0.103.2...v0.104.0) (2026-10-15)
|
|
6
31
|
|
|
7
32
|
### ⚠ BREAKING CHANGES
|
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
|
|
@@ -604,6 +605,7 @@ export type TypeAliasMap = {
|
|
|
604
605
|
CastingTimeDuringLovemaking: CastingTimeDuringLovemaking
|
|
605
606
|
CastingTimeIncludingLovemaking: CastingTimeIncludingLovemaking<unknown>
|
|
606
607
|
Cause: Cause
|
|
608
|
+
CeremonialItemSpecialAbilityAspectByTradition: CeremonialItemSpecialAbilityAspectByTradition
|
|
607
609
|
CheckResultBasedModifier: CheckResultBasedModifier
|
|
608
610
|
ChildNode: ChildNode
|
|
609
611
|
ChildSelectOptionRuleValue: ChildSelectOptionRuleValue
|
|
@@ -956,6 +958,7 @@ export type TypeAliasMap = {
|
|
|
956
958
|
ShamanisticBlessedTradition: ShamanisticBlessedTradition
|
|
957
959
|
Since: Since
|
|
958
960
|
SingleBannzeichenCost: SingleBannzeichenCost
|
|
961
|
+
SingleCeremonialItemSpecialAbilityAspect: SingleCeremonialItemSpecialAbilityAspect
|
|
959
962
|
SingleCommonnessRatedAdvantageDisadvantage: SingleCommonnessRatedAdvantageDisadvantage<unknown>
|
|
960
963
|
SingleCommonnessRatedAdvantageDisadvantageInGroup: SingleCommonnessRatedAdvantageDisadvantageInGroup<unknown>
|
|
961
964
|
SingleDerivedCharacteristicSkillCheckPenalty: SingleDerivedCharacteristicSkillCheckPenalty
|
|
@@ -2701,7 +2704,7 @@ export interface Locale {
|
|
|
2701
2704
|
"Medium Shield": string
|
|
2702
2705
|
"Small Shield": string
|
|
2703
2706
|
"{$value} structure points": string & { __params: { "value": string } }
|
|
2704
|
-
"
|
|
2707
|
+
"indestructible": string
|
|
2705
2708
|
"additional {$value} AT for main weapon": string & { __params: { "value": string } }
|
|
2706
2709
|
"Price": string
|
|
2707
2710
|
"all armor": string
|
|
@@ -12782,11 +12785,11 @@ export interface ComplexComplexity {
|
|
|
12782
12785
|
}
|
|
12783
12786
|
|
|
12784
12787
|
/**
|
|
12785
|
-
* 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
|
|
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.
|
|
12786
12789
|
*/
|
|
12787
12790
|
export type StructurePoints =
|
|
12788
12791
|
| {
|
|
12789
|
-
kind: "
|
|
12792
|
+
kind: "Indestructible"
|
|
12790
12793
|
}
|
|
12791
12794
|
| {
|
|
12792
12795
|
kind: "Points"
|
|
@@ -13634,7 +13637,7 @@ export interface CeremonialItemSpecialAbility {
|
|
|
13634
13637
|
/**
|
|
13635
13638
|
* The blessed aspect.
|
|
13636
13639
|
*/
|
|
13637
|
-
aspect?:
|
|
13640
|
+
aspect?: CeremonialItemSpecialAbilityAspect
|
|
13638
13641
|
|
|
13639
13642
|
prerequisites?: GeneralPrerequisites
|
|
13640
13643
|
|
|
@@ -13718,6 +13721,26 @@ export interface CeremonialItemSpecialAbilityGroupTranslation {
|
|
|
13718
13721
|
nameForSorting: string
|
|
13719
13722
|
}
|
|
13720
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
|
+
|
|
13721
13744
|
export interface ChronicleEnchantment {
|
|
13722
13745
|
/**
|
|
13723
13746
|
* Number of available levels.
|
|
@@ -24938,7 +24961,7 @@ export interface CeremonialItem {
|
|
|
24938
24961
|
/**
|
|
24939
24962
|
* The deity associated with the equipment item.
|
|
24940
24963
|
*/
|
|
24941
|
-
associated_tradition:
|
|
24964
|
+
associated_tradition: RestrictedToBlessedTraditionsScope
|
|
24942
24965
|
|
|
24943
24966
|
/**
|
|
24944
24967
|
* The item can also be used either as an improvised weapon or as an armor, although this is not the primary use case of the item.
|
package/lib/types/Locale.d.ts
CHANGED
|
@@ -1511,7 +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
|
-
|
|
1514
|
+
indestructible: null;
|
|
1515
1515
|
"additional {$value} AT for main weapon": null;
|
|
1516
1516
|
Price: null;
|
|
1517
1517
|
"all armor": null;
|
package/lib/types/Locale.js
CHANGED
|
@@ -1553,7 +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
|
-
"
|
|
1556
|
+
"indestructible": null,
|
|
1557
1557
|
"additional {$value} AT for main weapon": null,
|
|
1558
1558
|
"Price": null,
|
|
1559
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>;
|
|
@@ -96,7 +96,7 @@ export declare const ArmorAccessory: DB.Entity<"ArmorAccessory", {
|
|
|
96
96
|
}>, []>>>;
|
|
97
97
|
}, []>>, false>;
|
|
98
98
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
99
|
-
|
|
99
|
+
Indestructible: DB.EnumCase<null>;
|
|
100
100
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
@@ -96,7 +96,7 @@ export declare const BandageOrRemedy: DB.Entity<"BandageOrRemedy", {
|
|
|
96
96
|
}>, []>>>;
|
|
97
97
|
}, []>>, false>;
|
|
98
98
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
99
|
-
|
|
99
|
+
Indestructible: DB.EnumCase<null>;
|
|
100
100
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
@@ -183,7 +183,7 @@ export declare const Book: DB.Entity<"Book", {
|
|
|
183
183
|
}>, []>>>;
|
|
184
184
|
}, []>>, false>;
|
|
185
185
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
186
|
-
|
|
186
|
+
Indestructible: DB.EnumCase<null>;
|
|
187
187
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
188
188
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
189
189
|
}>, []>>>, []>>>;
|
|
@@ -96,12 +96,16 @@ export declare const CeremonialItem: DB.Entity<"CeremonialItem", {
|
|
|
96
96
|
}>, []>>>;
|
|
97
97
|
}, []>>, false>;
|
|
98
98
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
99
|
-
|
|
99
|
+
Indestructible: DB.EnumCase<null>;
|
|
100
100
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
103
103
|
}, []>>, false>;
|
|
104
|
-
associated_tradition: DB.MemberDecl<DB.
|
|
104
|
+
associated_tradition: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"RestrictedToBlessedTraditionsScope", {
|
|
105
|
+
Specific: DB.EnumCase<DB.Array<DB.ReferenceIdentifier>>;
|
|
106
|
+
Church: DB.EnumCase<null>;
|
|
107
|
+
Shamanistic: DB.EnumCase<null>;
|
|
108
|
+
}, []>>, true>;
|
|
105
109
|
combat_use: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CombatUse", {
|
|
106
110
|
Weapon: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ImprovisedWeapon", DB.Object<{
|
|
107
111
|
melee_uses: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
|
-
import { BlessedTraditionIdentifier } from "../../_Identifier.js";
|
|
3
2
|
import { src } from "../../source/_PublicationRef.js";
|
|
4
|
-
import { CombatUse, Complexity, Cost, DefaultItemTranslations, StructurePoints, Weight, } from "./_Item.js";
|
|
3
|
+
import { CombatUse, Complexity, Cost, DefaultItemTranslations, RestrictedToBlessedTraditionsScope, StructurePoints, Weight, } from "./_Item.js";
|
|
5
4
|
import { checkWeaponCombatTechniqueIntegrity } from "./_Weapon.js";
|
|
6
5
|
export const CeremonialItem = DB.Entity(import.meta.url, {
|
|
7
6
|
name: "CeremonialItem",
|
|
@@ -25,7 +24,7 @@ export const CeremonialItem = DB.Entity(import.meta.url, {
|
|
|
25
24
|
}),
|
|
26
25
|
associated_tradition: DB.Required({
|
|
27
26
|
comment: "The deity associated with the equipment item.",
|
|
28
|
-
type:
|
|
27
|
+
type: DB.IncludeIdentifier(RestrictedToBlessedTraditionsScope),
|
|
29
28
|
}),
|
|
30
29
|
combat_use: DB.Optional({
|
|
31
30
|
comment: "The item can also be used either as an improvised weapon or as an armor, although this is not the primary use case of the item.",
|
|
@@ -96,7 +96,7 @@ export declare const Clothes: DB.Entity<"Clothes", {
|
|
|
96
96
|
}>, []>>>;
|
|
97
97
|
}, []>>, false>;
|
|
98
98
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
99
|
-
|
|
99
|
+
Indestructible: DB.EnumCase<null>;
|
|
100
100
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
@@ -96,7 +96,7 @@ export declare const Container: DB.Entity<"Container", {
|
|
|
96
96
|
}>, []>>>;
|
|
97
97
|
}, []>>, false>;
|
|
98
98
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
99
|
-
|
|
99
|
+
Indestructible: DB.EnumCase<null>;
|
|
100
100
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
@@ -23,7 +23,7 @@ export declare const EquipmentOfBlessedOnes: DB.Entity<"EquipmentOfBlessedOnes",
|
|
|
23
23
|
}>, []>>>;
|
|
24
24
|
}, []>>, true>;
|
|
25
25
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
26
|
-
|
|
26
|
+
Indestructible: DB.EnumCase<null>;
|
|
27
27
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
28
28
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
29
29
|
}>, []>>>, []>>>;
|
|
@@ -96,7 +96,7 @@ export declare const IlluminationLightSource: DB.Entity<"IlluminationLightSource
|
|
|
96
96
|
}>, []>>>;
|
|
97
97
|
}, []>>, false>;
|
|
98
98
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
99
|
-
|
|
99
|
+
Indestructible: DB.EnumCase<null>;
|
|
100
100
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
@@ -96,7 +96,7 @@ export declare const IlluminationRefillOrSupply: DB.Entity<"IlluminationRefillOr
|
|
|
96
96
|
}>, []>>>;
|
|
97
97
|
}, []>>, false>;
|
|
98
98
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
99
|
-
|
|
99
|
+
Indestructible: DB.EnumCase<null>;
|
|
100
100
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
@@ -97,7 +97,7 @@ export declare const Item: DB.Entity<"Item", {
|
|
|
97
97
|
}>, []>>>;
|
|
98
98
|
}, []>>, false>;
|
|
99
99
|
structurePoints: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
100
|
-
|
|
100
|
+
Indestructible: DB.EnumCase<null>;
|
|
101
101
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
102
102
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
103
103
|
}>, []>>>, []>>>;
|
|
@@ -83,7 +83,7 @@ export declare const Jewelry: DB.Entity<"Jewelry", {
|
|
|
83
83
|
}>, []>>>;
|
|
84
84
|
}, []>>, false>;
|
|
85
85
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
86
|
-
|
|
86
|
+
Indestructible: DB.EnumCase<null>;
|
|
87
87
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
88
88
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
89
89
|
}>, []>>>, []>>>;
|
|
@@ -96,7 +96,7 @@ export declare const Liebesspielzeug: DB.Entity<"Liebesspielzeug", {
|
|
|
96
96
|
}>, []>>>;
|
|
97
97
|
}, []>>, false>;
|
|
98
98
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
99
|
-
|
|
99
|
+
Indestructible: DB.EnumCase<null>;
|
|
100
100
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
@@ -96,7 +96,7 @@ export declare const LuxuryGood: DB.Entity<"LuxuryGood", {
|
|
|
96
96
|
}>, []>>>;
|
|
97
97
|
}, []>>, false>;
|
|
98
98
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
99
|
-
|
|
99
|
+
Indestructible: DB.EnumCase<null>;
|
|
100
100
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
@@ -96,7 +96,7 @@ export declare const MagicalArtifact: DB.Entity<"MagicalArtifact", {
|
|
|
96
96
|
}>, []>>>;
|
|
97
97
|
}, []>>, false>;
|
|
98
98
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
99
|
-
|
|
99
|
+
Indestructible: DB.EnumCase<null>;
|
|
100
100
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
@@ -96,7 +96,7 @@ export declare const MusicalInstrument: DB.Entity<"MusicalInstrument", {
|
|
|
96
96
|
}>, []>>>;
|
|
97
97
|
}, []>>, false>;
|
|
98
98
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
99
|
-
|
|
99
|
+
Indestructible: DB.EnumCase<null>;
|
|
100
100
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
@@ -95,7 +95,7 @@ export declare const OrienteeringAid: import("tsondb/schema/dsl").Entity<string,
|
|
|
95
95
|
}>, []>>>;
|
|
96
96
|
}, []>>, false>;
|
|
97
97
|
structure_points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"StructurePoints", {
|
|
98
|
-
|
|
98
|
+
Indestructible: import("tsondb/schema/dsl").EnumCase<null>;
|
|
99
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
100
|
points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
|
|
101
101
|
}>, []>>>, []>>>;
|
|
@@ -95,7 +95,7 @@ export declare const RopeOrChain: import("tsondb/schema/dsl").Entity<string, {
|
|
|
95
95
|
}>, []>>>;
|
|
96
96
|
}, []>>, false>;
|
|
97
97
|
structure_points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"StructurePoints", {
|
|
98
|
-
|
|
98
|
+
Indestructible: import("tsondb/schema/dsl").EnumCase<null>;
|
|
99
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
100
|
points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
|
|
101
101
|
}>, []>>>, []>>>;
|
|
@@ -95,7 +95,7 @@ export declare const Stationery: import("tsondb/schema/dsl").Entity<string, {
|
|
|
95
95
|
}>, []>>>;
|
|
96
96
|
}, []>>, false>;
|
|
97
97
|
structure_points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"StructurePoints", {
|
|
98
|
-
|
|
98
|
+
Indestructible: import("tsondb/schema/dsl").EnumCase<null>;
|
|
99
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
100
|
points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
|
|
101
101
|
}>, []>>>, []>>>;
|
|
@@ -95,7 +95,7 @@ export declare const ThievesTool: import("tsondb/schema/dsl").Entity<string, {
|
|
|
95
95
|
}>, []>>>;
|
|
96
96
|
}, []>>, false>;
|
|
97
97
|
structure_points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"StructurePoints", {
|
|
98
|
-
|
|
98
|
+
Indestructible: import("tsondb/schema/dsl").EnumCase<null>;
|
|
99
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
100
|
points: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").Integer, true>;
|
|
101
101
|
}>, []>>>, []>>>;
|
|
@@ -96,7 +96,7 @@ export declare const ToolOfTheTrade: DB.Entity<"ToolOfTheTrade", {
|
|
|
96
96
|
}>, []>>>;
|
|
97
97
|
}, []>>, false>;
|
|
98
98
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
99
|
-
|
|
99
|
+
Indestructible: DB.EnumCase<null>;
|
|
100
100
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
@@ -96,7 +96,7 @@ export declare const TravelGearOrTool: DB.Entity<"TravelGearOrTool", {
|
|
|
96
96
|
}>, []>>>;
|
|
97
97
|
}, []>>, false>;
|
|
98
98
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
99
|
-
|
|
99
|
+
Indestructible: DB.EnumCase<null>;
|
|
100
100
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
@@ -96,7 +96,7 @@ export declare const Weapon: DB.Entity<"Weapon", {
|
|
|
96
96
|
}>, []>>>;
|
|
97
97
|
}, []>>, false>;
|
|
98
98
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
99
|
-
|
|
99
|
+
Indestructible: DB.EnumCase<null>;
|
|
100
100
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
@@ -96,7 +96,7 @@ export declare const WeaponAccessory: DB.Entity<"WeaponAccessory", {
|
|
|
96
96
|
}>, []>>>;
|
|
97
97
|
}, []>>, false>;
|
|
98
98
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
99
|
-
|
|
99
|
+
Indestructible: DB.EnumCase<null>;
|
|
100
100
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
@@ -96,7 +96,7 @@ export declare const DefaultItem: (sourceUrl: string, singularName: string, plur
|
|
|
96
96
|
}>, []>>>;
|
|
97
97
|
}, []>>, false>;
|
|
98
98
|
structure_points: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"StructurePoints", {
|
|
99
|
-
|
|
99
|
+
Indestructible: DB.EnumCase<null>;
|
|
100
100
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
101
101
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
102
102
|
}>, []>>>, []>>>;
|
|
@@ -504,7 +504,7 @@ export declare const CombatUse: DB.Enum<"CombatUse", {
|
|
|
504
504
|
}>, []>>>;
|
|
505
505
|
}, []>;
|
|
506
506
|
export declare const StructurePoints: DB.Enum<"StructurePoints", {
|
|
507
|
-
|
|
507
|
+
Indestructible: DB.EnumCase<null>;
|
|
508
508
|
Points: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsPoints", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"StructurePointsComponent", DB.Object<{
|
|
509
509
|
points: DB.MemberDecl<DB.Integer, true>;
|
|
510
510
|
}>, []>>>, []>>>;
|
|
@@ -85,9 +85,9 @@ export const CombatUse = DB.Enum(import.meta.url, {
|
|
|
85
85
|
});
|
|
86
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
|
|
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
89
|
values: () => ({
|
|
90
|
-
|
|
90
|
+
Indestructible: DB.EnumCase({ type: null }),
|
|
91
91
|
Points: DB.EnumCase({ type: DB.IncludeIdentifier(StructurePointsPoints) }),
|
|
92
92
|
}),
|
|
93
93
|
});
|
|
@@ -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.
|
|
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:
|
|
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.
|
|
3
|
+
"version": "0.106.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",
|