@optolith/database-schema 0.49.0 → 0.50.1
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 +20 -0
- package/gen/types.d.ts +52 -15
- package/lib/types/Ceremony.d.ts +7 -1
- package/lib/types/LiturgicalChant.d.ts +7 -1
- package/lib/types/Ritual.d.ts +7 -1
- package/lib/types/Spell.d.ts +7 -1
- package/lib/types/_ActivatableSkillCheckResultBased.d.ts +0 -19
- package/lib/types/_ActivatableSkillCheckResultBased.js +0 -23
- package/lib/types/_Enhancements.d.ts +14 -2
- package/lib/types/_Enhancements.js +33 -5
- package/lib/types/equipment/item/HerbalAid.d.ts +27 -0
- package/lib/types/equipment/item/HerbalAid.js +5 -1
- package/lib/types/specialAbility/BlessedTradition.d.ts +1 -0
- package/lib/types/specialAbility/BlessedTradition.js +4 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,26 @@
|
|
|
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.50.1](https://github.com/Optolith/database-schema/compare/v0.50.0...v0.50.1) (2026-06-14)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* primary blessing for tradition ([9d97dd4](https://github.com/Optolith/database-schema/commit/9d97dd4ec95c8dd42cb6e31873a4702684a941de))
|
|
11
|
+
* trade secrets for herbal aids ([27236a7](https://github.com/Optolith/database-schema/commit/27236a75884fdb891a60a0105ebb5ff82147cbc1)), closes [#159](https://github.com/Optolith/database-schema/issues/159) [#158](https://github.com/Optolith/database-schema/issues/158)
|
|
12
|
+
|
|
13
|
+
## [0.50.0](https://github.com/Optolith/database-schema/compare/v0.49.0...v0.50.0) (2026-06-14)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### ⚠ BREAKING CHANGES
|
|
17
|
+
|
|
18
|
+
* allow arbitrary AP values for enhancements
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* allow arbitrary AP values for enhancements ([1d06407](https://github.com/Optolith/database-schema/commit/1d06407eb4dee8fec24bc9f8d0d6e31833e4f995))
|
|
23
|
+
* allow arbitrary text input for enhancements ([3a3af6e](https://github.com/Optolith/database-schema/commit/3a3af6e574c1a7d05113ebc75d5d6fa1b92c8dce))
|
|
24
|
+
|
|
5
25
|
## [0.49.0](https://github.com/Optolith/database-schema/compare/v0.48.0...v0.49.0) (2026-06-13)
|
|
6
26
|
|
|
7
27
|
|
package/gen/types.d.ts
CHANGED
|
@@ -298,6 +298,7 @@ export type EnumMap = {
|
|
|
298
298
|
ElixirEffect: ElixirEffect
|
|
299
299
|
EnchantmentCost: EnchantmentCost
|
|
300
300
|
EncumbranceInfluence: EncumbranceInfluence
|
|
301
|
+
EnhancementAdventurePoints: EnhancementAdventurePoints
|
|
301
302
|
EnhancementPrerequisiteGroup: EnhancementPrerequisiteGroup
|
|
302
303
|
EquipmentIdentifier: EquipmentIdentifier
|
|
303
304
|
ExpressionBasedParameterExpressionValue: ExpressionBasedParameterExpressionValue
|
|
@@ -571,6 +572,7 @@ export type TypeAliasMap = {
|
|
|
571
572
|
DerivedCharacteristicPermanentLoss: DerivedCharacteristicPermanentLoss
|
|
572
573
|
DerivedCharacteristicPrerequisites: DerivedCharacteristicPrerequisites
|
|
573
574
|
DerivedCharacteristicPurchase: DerivedCharacteristicPurchase
|
|
575
|
+
DerivedEnhancementAdventurePoints: DerivedEnhancementAdventurePoints
|
|
574
576
|
Dice: Dice
|
|
575
577
|
DiceBasedIntoxicantAddictionInterval: DiceBasedIntoxicantAddictionInterval
|
|
576
578
|
DieType: DieType
|
|
@@ -7401,6 +7403,11 @@ export interface BlessedTradition {
|
|
|
7401
7403
|
*/
|
|
7402
7404
|
aspects?: [Aspect_ID, Aspect_ID]
|
|
7403
7405
|
|
|
7406
|
+
/**
|
|
7407
|
+
* The tradition’s primary blessing. Leave empty if the tradition does not have one.
|
|
7408
|
+
*/
|
|
7409
|
+
primaryBlessing?: Blessing_ID
|
|
7410
|
+
|
|
7404
7411
|
/**
|
|
7405
7412
|
* If a tradition restricts the possible blessings, the blessings that are **not** allowed.
|
|
7406
7413
|
*/
|
|
@@ -7497,19 +7504,6 @@ export interface BlessedTraditionTranslation {
|
|
|
7497
7504
|
errata?: Errata
|
|
7498
7505
|
}
|
|
7499
7506
|
|
|
7500
|
-
/**
|
|
7501
|
-
* If a tradition restricts the possible blessings, the blessings that are **not** allowed.
|
|
7502
|
-
*/
|
|
7503
|
-
export type RestrictedBlessings =
|
|
7504
|
-
| {
|
|
7505
|
-
kind: "Three"
|
|
7506
|
-
Three: [Blessing_ID, Blessing_ID, Blessing_ID]
|
|
7507
|
-
}
|
|
7508
|
-
| {
|
|
7509
|
-
kind: "Six"
|
|
7510
|
-
Six: [Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID]
|
|
7511
|
-
}
|
|
7512
|
-
|
|
7513
7507
|
export interface Blessing {
|
|
7514
7508
|
/**
|
|
7515
7509
|
* Measurable parameters of a blessing.
|
|
@@ -7642,6 +7636,19 @@ export interface IndefiniteBlessingDurationTranslation {
|
|
|
7642
7636
|
description: string
|
|
7643
7637
|
}
|
|
7644
7638
|
|
|
7639
|
+
/**
|
|
7640
|
+
* If a tradition restricts the possible blessings, the blessings that are **not** allowed.
|
|
7641
|
+
*/
|
|
7642
|
+
export type RestrictedBlessings =
|
|
7643
|
+
| {
|
|
7644
|
+
kind: "Three"
|
|
7645
|
+
Three: [Blessing_ID, Blessing_ID, Blessing_ID]
|
|
7646
|
+
}
|
|
7647
|
+
| {
|
|
7648
|
+
kind: "Six"
|
|
7649
|
+
Six: [Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID]
|
|
7650
|
+
}
|
|
7651
|
+
|
|
7645
7652
|
export type FavoredCombatTechniques =
|
|
7646
7653
|
| {
|
|
7647
7654
|
kind: "All"
|
|
@@ -7955,9 +7962,9 @@ export interface Enhancement {
|
|
|
7955
7962
|
skill_rating: number
|
|
7956
7963
|
|
|
7957
7964
|
/**
|
|
7958
|
-
*
|
|
7965
|
+
* Defines how to determine the AP cost of an enhancement.
|
|
7959
7966
|
*/
|
|
7960
|
-
|
|
7967
|
+
adventurePoints: EnhancementAdventurePoints
|
|
7961
7968
|
|
|
7962
7969
|
prerequisites?: EnhancementPrerequisites
|
|
7963
7970
|
|
|
@@ -7990,6 +7997,11 @@ export interface EnhancementTranslation {
|
|
|
7990
7997
|
*/
|
|
7991
7998
|
effect: string
|
|
7992
7999
|
|
|
8000
|
+
/**
|
|
8001
|
+
* A string that is used as a label for an input field.
|
|
8002
|
+
*/
|
|
8003
|
+
input?: string
|
|
8004
|
+
|
|
7993
8005
|
errata?: Errata
|
|
7994
8006
|
}
|
|
7995
8007
|
|
|
@@ -19930,6 +19942,26 @@ export interface InfluenceEffect {
|
|
|
19930
19942
|
text: string
|
|
19931
19943
|
}
|
|
19932
19944
|
|
|
19945
|
+
/**
|
|
19946
|
+
* Defines how to determine the AP cost of an enhancement.
|
|
19947
|
+
*/
|
|
19948
|
+
export type EnhancementAdventurePoints =
|
|
19949
|
+
| {
|
|
19950
|
+
kind: "DerivedFromImprovementCost"
|
|
19951
|
+
DerivedFromImprovementCost: DerivedEnhancementAdventurePoints
|
|
19952
|
+
}
|
|
19953
|
+
| {
|
|
19954
|
+
kind: "Constant"
|
|
19955
|
+
Constant: number
|
|
19956
|
+
}
|
|
19957
|
+
|
|
19958
|
+
export interface DerivedEnhancementAdventurePoints {
|
|
19959
|
+
/**
|
|
19960
|
+
* The value to multiply with the numeric representation of the associated skill's improvement cost to form the final AP cost of this enhancement.
|
|
19961
|
+
*/
|
|
19962
|
+
multiplier: number
|
|
19963
|
+
}
|
|
19964
|
+
|
|
19933
19965
|
export type EnhancementPrerequisites = PlainPrerequisites<EnhancementPrerequisiteGroup>
|
|
19934
19966
|
|
|
19935
19967
|
export type EnhancementPrerequisiteGroup =
|
|
@@ -24731,6 +24763,11 @@ export interface HerbalAid {
|
|
|
24731
24763
|
*/
|
|
24732
24764
|
crafting_difficulty: number
|
|
24733
24765
|
|
|
24766
|
+
/**
|
|
24767
|
+
* AP value and prerequisites of the herbal aid�s trade secret.
|
|
24768
|
+
*/
|
|
24769
|
+
trade_secret?: RecipeTradeSecret
|
|
24770
|
+
|
|
24734
24771
|
/**
|
|
24735
24772
|
* The armor or weapon this herbal aid represents.
|
|
24736
24773
|
*/
|
package/lib/types/Ceremony.d.ts
CHANGED
|
@@ -549,7 +549,12 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
|
|
|
549
549
|
Ceremony: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
550
550
|
}, []>>, true>;
|
|
551
551
|
skill_rating: DB.MemberDecl<DB.Integer, true>;
|
|
552
|
-
|
|
552
|
+
adventurePoints: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"EnhancementAdventurePoints", {
|
|
553
|
+
DerivedFromImprovementCost: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"DerivedEnhancementAdventurePoints", DB.Object<{
|
|
554
|
+
multiplier: DB.MemberDecl<DB.Integer, true>;
|
|
555
|
+
}>, []>>>;
|
|
556
|
+
Constant: DB.EnumCase<DB.Integer>;
|
|
557
|
+
}, []>>, true>;
|
|
553
558
|
prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"EnhancementPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
|
|
554
559
|
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
555
560
|
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
@@ -618,6 +623,7 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
|
|
|
618
623
|
translations: DB.MemberDecl<DB.NestedEntityMap<"EnhancementTranslation", {
|
|
619
624
|
name: DB.MemberDecl<DB.String, true>;
|
|
620
625
|
effect: DB.MemberDecl<DB.String, true>;
|
|
626
|
+
input: DB.MemberDecl<DB.String, false>;
|
|
621
627
|
errata: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Errata", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"Erratum", DB.Object<{
|
|
622
628
|
date: DB.MemberDecl<DB.Date, true>;
|
|
623
629
|
description: DB.MemberDecl<DB.String, true>;
|
|
@@ -549,7 +549,12 @@ export declare const LiturgicalChant: DB.Entity<"LiturgicalChant", {
|
|
|
549
549
|
Ceremony: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
550
550
|
}, []>>, true>;
|
|
551
551
|
skill_rating: DB.MemberDecl<DB.Integer, true>;
|
|
552
|
-
|
|
552
|
+
adventurePoints: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"EnhancementAdventurePoints", {
|
|
553
|
+
DerivedFromImprovementCost: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"DerivedEnhancementAdventurePoints", DB.Object<{
|
|
554
|
+
multiplier: DB.MemberDecl<DB.Integer, true>;
|
|
555
|
+
}>, []>>>;
|
|
556
|
+
Constant: DB.EnumCase<DB.Integer>;
|
|
557
|
+
}, []>>, true>;
|
|
553
558
|
prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"EnhancementPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
|
|
554
559
|
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
555
560
|
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
@@ -618,6 +623,7 @@ export declare const LiturgicalChant: DB.Entity<"LiturgicalChant", {
|
|
|
618
623
|
translations: DB.MemberDecl<DB.NestedEntityMap<"EnhancementTranslation", {
|
|
619
624
|
name: DB.MemberDecl<DB.String, true>;
|
|
620
625
|
effect: DB.MemberDecl<DB.String, true>;
|
|
626
|
+
input: DB.MemberDecl<DB.String, false>;
|
|
621
627
|
errata: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Errata", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"Erratum", DB.Object<{
|
|
622
628
|
date: DB.MemberDecl<DB.Date, true>;
|
|
623
629
|
description: DB.MemberDecl<DB.String, true>;
|
package/lib/types/Ritual.d.ts
CHANGED
|
@@ -552,7 +552,12 @@ export declare const Ritual: DB.Entity<"Ritual", {
|
|
|
552
552
|
Ceremony: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
553
553
|
}, []>>, true>;
|
|
554
554
|
skill_rating: DB.MemberDecl<DB.Integer, true>;
|
|
555
|
-
|
|
555
|
+
adventurePoints: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"EnhancementAdventurePoints", {
|
|
556
|
+
DerivedFromImprovementCost: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"DerivedEnhancementAdventurePoints", DB.Object<{
|
|
557
|
+
multiplier: DB.MemberDecl<DB.Integer, true>;
|
|
558
|
+
}>, []>>>;
|
|
559
|
+
Constant: DB.EnumCase<DB.Integer>;
|
|
560
|
+
}, []>>, true>;
|
|
556
561
|
prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"EnhancementPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
|
|
557
562
|
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
558
563
|
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
@@ -621,6 +626,7 @@ export declare const Ritual: DB.Entity<"Ritual", {
|
|
|
621
626
|
translations: DB.MemberDecl<DB.NestedEntityMap<"EnhancementTranslation", {
|
|
622
627
|
name: DB.MemberDecl<DB.String, true>;
|
|
623
628
|
effect: DB.MemberDecl<DB.String, true>;
|
|
629
|
+
input: DB.MemberDecl<DB.String, false>;
|
|
624
630
|
errata: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Errata", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"Erratum", DB.Object<{
|
|
625
631
|
date: DB.MemberDecl<DB.Date, true>;
|
|
626
632
|
description: DB.MemberDecl<DB.String, true>;
|
package/lib/types/Spell.d.ts
CHANGED
|
@@ -552,7 +552,12 @@ export declare const Spell: DB.Entity<"Spell", {
|
|
|
552
552
|
Ceremony: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
553
553
|
}, []>>, true>;
|
|
554
554
|
skill_rating: DB.MemberDecl<DB.Integer, true>;
|
|
555
|
-
|
|
555
|
+
adventurePoints: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"EnhancementAdventurePoints", {
|
|
556
|
+
DerivedFromImprovementCost: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"DerivedEnhancementAdventurePoints", DB.Object<{
|
|
557
|
+
multiplier: DB.MemberDecl<DB.Integer, true>;
|
|
558
|
+
}>, []>>>;
|
|
559
|
+
Constant: DB.EnumCase<DB.Integer>;
|
|
560
|
+
}, []>>, true>;
|
|
556
561
|
prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"EnhancementPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
|
|
557
562
|
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
558
563
|
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
@@ -621,6 +626,7 @@ export declare const Spell: DB.Entity<"Spell", {
|
|
|
621
626
|
translations: DB.MemberDecl<DB.NestedEntityMap<"EnhancementTranslation", {
|
|
622
627
|
name: DB.MemberDecl<DB.String, true>;
|
|
623
628
|
effect: DB.MemberDecl<DB.String, true>;
|
|
629
|
+
input: DB.MemberDecl<DB.String, false>;
|
|
624
630
|
errata: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Errata", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"Erratum", DB.Object<{
|
|
625
631
|
date: DB.MemberDecl<DB.Date, true>;
|
|
626
632
|
description: DB.MemberDecl<DB.String, true>;
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
|
-
export declare const CheckResultValue: DB.Enum<"CheckResultValue", {
|
|
3
|
-
QualityLevels: DB.EnumCase<null>;
|
|
4
|
-
SkillPoints: DB.EnumCase<null>;
|
|
5
|
-
SkillRating: DB.EnumCase<null>;
|
|
6
|
-
}, []>;
|
|
7
2
|
export declare const CheckResultBasedModifier: DB.TypeAlias<"CheckResultBasedModifier", DB.Object<{
|
|
8
3
|
arithmetic: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultArithmetic", {
|
|
9
4
|
Multiply: DB.EnumCase<null>;
|
|
@@ -11,17 +6,3 @@ export declare const CheckResultBasedModifier: DB.TypeAlias<"CheckResultBasedMod
|
|
|
11
6
|
}, []>>, true>;
|
|
12
7
|
value: DB.MemberDecl<DB.Integer, true>;
|
|
13
8
|
}>, []>;
|
|
14
|
-
export declare const CheckResultBased: DB.TypeAlias<"CheckResultBased", DB.Object<{
|
|
15
|
-
base: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultValue", {
|
|
16
|
-
QualityLevels: DB.EnumCase<null>;
|
|
17
|
-
SkillPoints: DB.EnumCase<null>;
|
|
18
|
-
SkillRating: DB.EnumCase<null>;
|
|
19
|
-
}, []>>, true>;
|
|
20
|
-
modifier: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"CheckResultBasedModifier", DB.Object<{
|
|
21
|
-
arithmetic: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultArithmetic", {
|
|
22
|
-
Multiply: DB.EnumCase<null>;
|
|
23
|
-
Divide: DB.EnumCase<null>;
|
|
24
|
-
}, []>>, true>;
|
|
25
|
-
value: DB.MemberDecl<DB.Integer, true>;
|
|
26
|
-
}>, []>>, false>;
|
|
27
|
-
}>, []>;
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
|
-
export const CheckResultValue = DB.Enum(import.meta.url, {
|
|
3
|
-
name: "CheckResultValue",
|
|
4
|
-
comment: "Defines the derived (unitless) value.",
|
|
5
|
-
values: () => ({
|
|
6
|
-
QualityLevels: DB.EnumCase({ type: null }),
|
|
7
|
-
SkillPoints: DB.EnumCase({ type: null }),
|
|
8
|
-
SkillRating: DB.EnumCase({ type: null }),
|
|
9
|
-
}),
|
|
10
|
-
});
|
|
11
2
|
const CheckResultArithmetic = DB.Enum(import.meta.url, {
|
|
12
3
|
name: "CheckResultArithmetic",
|
|
13
4
|
comment: "Defines how the the `value` is set off against the check result.",
|
|
@@ -29,17 +20,3 @@ export const CheckResultBasedModifier = DB.TypeAlias(import.meta.url, {
|
|
|
29
20
|
}),
|
|
30
21
|
}),
|
|
31
22
|
});
|
|
32
|
-
export const CheckResultBased = DB.TypeAlias(import.meta.url, {
|
|
33
|
-
name: "CheckResultBased",
|
|
34
|
-
comment: "Defines a parameter being based on a check result.",
|
|
35
|
-
type: () => DB.Object({
|
|
36
|
-
base: DB.Required({
|
|
37
|
-
comment: "The base value that is derived from the check result.",
|
|
38
|
-
type: DB.IncludeIdentifier(CheckResultValue),
|
|
39
|
-
}),
|
|
40
|
-
modifier: DB.Optional({
|
|
41
|
-
comment: "If defined, it modifies the base value.",
|
|
42
|
-
type: DB.IncludeIdentifier(CheckResultBasedModifier),
|
|
43
|
-
}),
|
|
44
|
-
}),
|
|
45
|
-
});
|
|
@@ -10,7 +10,12 @@ export declare const Enhancements: DB.TypeAlias<"Enhancements", DB.ChildEntities
|
|
|
10
10
|
Ceremony: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
11
11
|
}, []>>, true>;
|
|
12
12
|
skill_rating: DB.MemberDecl<DB.Integer, true>;
|
|
13
|
-
|
|
13
|
+
adventurePoints: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"EnhancementAdventurePoints", {
|
|
14
|
+
DerivedFromImprovementCost: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"DerivedEnhancementAdventurePoints", DB.Object<{
|
|
15
|
+
multiplier: DB.MemberDecl<DB.Integer, true>;
|
|
16
|
+
}>, []>>>;
|
|
17
|
+
Constant: DB.EnumCase<DB.Integer>;
|
|
18
|
+
}, []>>, true>;
|
|
14
19
|
prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"EnhancementPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
|
|
15
20
|
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
16
21
|
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
@@ -79,6 +84,7 @@ export declare const Enhancements: DB.TypeAlias<"Enhancements", DB.ChildEntities
|
|
|
79
84
|
translations: DB.MemberDecl<DB.NestedEntityMap<"EnhancementTranslation", {
|
|
80
85
|
name: DB.MemberDecl<DB.String, true>;
|
|
81
86
|
effect: DB.MemberDecl<DB.String, true>;
|
|
87
|
+
input: DB.MemberDecl<DB.String, false>;
|
|
82
88
|
errata: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Errata", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"Erratum", DB.Object<{
|
|
83
89
|
date: DB.MemberDecl<DB.Date, true>;
|
|
84
90
|
description: DB.MemberDecl<DB.String, true>;
|
|
@@ -93,7 +99,12 @@ export declare const Enhancement: DB.Entity<"Enhancement", {
|
|
|
93
99
|
Ceremony: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
94
100
|
}, []>>, true>;
|
|
95
101
|
skill_rating: DB.MemberDecl<DB.Integer, true>;
|
|
96
|
-
|
|
102
|
+
adventurePoints: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"EnhancementAdventurePoints", {
|
|
103
|
+
DerivedFromImprovementCost: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"DerivedEnhancementAdventurePoints", DB.Object<{
|
|
104
|
+
multiplier: DB.MemberDecl<DB.Integer, true>;
|
|
105
|
+
}>, []>>>;
|
|
106
|
+
Constant: DB.EnumCase<DB.Integer>;
|
|
107
|
+
}, []>>, true>;
|
|
97
108
|
prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"EnhancementPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
|
|
98
109
|
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
99
110
|
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
@@ -162,6 +173,7 @@ export declare const Enhancement: DB.Entity<"Enhancement", {
|
|
|
162
173
|
translations: DB.MemberDecl<DB.NestedEntityMap<"EnhancementTranslation", {
|
|
163
174
|
name: DB.MemberDecl<DB.String, true>;
|
|
164
175
|
effect: DB.MemberDecl<DB.String, true>;
|
|
176
|
+
input: DB.MemberDecl<DB.String, false>;
|
|
165
177
|
errata: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Errata", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"Erratum", DB.Object<{
|
|
166
178
|
date: DB.MemberDecl<DB.Date, true>;
|
|
167
179
|
description: DB.MemberDecl<DB.String, true>;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @title Enhancements
|
|
3
3
|
*/
|
|
4
4
|
import * as DB from "tsondb/schema/dsl";
|
|
5
|
+
import { input } from "./_Activatable.js";
|
|
5
6
|
import { SkillWithEnhancementsIdentifier } from "./_IdentifierGroup.js";
|
|
6
7
|
import { EnhancementPrerequisites } from "./_Prerequisite.js";
|
|
7
8
|
import { NestedTranslationMap } from "./Locale.js";
|
|
@@ -28,11 +29,9 @@ export const Enhancement = DB.Entity(import.meta.url, {
|
|
|
28
29
|
multipleOf: 2,
|
|
29
30
|
}),
|
|
30
31
|
}),
|
|
31
|
-
|
|
32
|
-
comment: "
|
|
33
|
-
type: DB.
|
|
34
|
-
minimum: 1,
|
|
35
|
-
}),
|
|
32
|
+
adventurePoints: DB.Required({
|
|
33
|
+
comment: "Defines how to determine the AP cost of an enhancement.",
|
|
34
|
+
type: DB.IncludeIdentifier(EnhancementAdventurePoints),
|
|
36
35
|
}),
|
|
37
36
|
prerequisites: DB.Optional({
|
|
38
37
|
type: DB.IncludeIdentifier(EnhancementPrerequisites),
|
|
@@ -55,6 +54,7 @@ export const Enhancement = DB.Entity(import.meta.url, {
|
|
|
55
54
|
markdown: "block",
|
|
56
55
|
}),
|
|
57
56
|
}),
|
|
57
|
+
input,
|
|
58
58
|
errata: DB.Optional({
|
|
59
59
|
type: DB.IncludeIdentifier(Errata),
|
|
60
60
|
}),
|
|
@@ -78,3 +78,31 @@ export const Enhancement = DB.Entity(import.meta.url, {
|
|
|
78
78
|
],
|
|
79
79
|
],
|
|
80
80
|
});
|
|
81
|
+
const EnhancementAdventurePoints = DB.Enum(import.meta.url, {
|
|
82
|
+
name: "EnhancementAdventurePoints",
|
|
83
|
+
comment: "Defines how to determine the AP cost of an enhancement.",
|
|
84
|
+
values: () => ({
|
|
85
|
+
DerivedFromImprovementCost: DB.EnumCase({
|
|
86
|
+
comment: "Use the numeric representation of the associated skill's improvement cost as the AP cost of this enhancement.",
|
|
87
|
+
type: DB.IncludeIdentifier(DerivedEnhancementAdventurePoints),
|
|
88
|
+
}),
|
|
89
|
+
Constant: DB.EnumCase({
|
|
90
|
+
comment: "Use the specified constant value as the AP cost of this enhancement.",
|
|
91
|
+
type: DB.Integer({
|
|
92
|
+
minimum: 1,
|
|
93
|
+
}),
|
|
94
|
+
}),
|
|
95
|
+
}),
|
|
96
|
+
});
|
|
97
|
+
const DerivedEnhancementAdventurePoints = DB.TypeAlias(import.meta.url, {
|
|
98
|
+
name: "DerivedEnhancementAdventurePoints",
|
|
99
|
+
type: () => DB.Object({
|
|
100
|
+
multiplier: DB.Required({
|
|
101
|
+
comment: "The value to multiply with the numeric representation of the associated skill's improvement cost to form the final AP cost of this enhancement.",
|
|
102
|
+
type: DB.Integer({
|
|
103
|
+
minimum: 1,
|
|
104
|
+
maximum: 3,
|
|
105
|
+
}),
|
|
106
|
+
}),
|
|
107
|
+
}),
|
|
108
|
+
});
|
|
@@ -10,6 +10,33 @@ export declare const HerbalAid: DB.Entity<"HerbalAid", {
|
|
|
10
10
|
Supernatural: DB.EnumCase<null>;
|
|
11
11
|
}, []>>>, true>;
|
|
12
12
|
crafting_difficulty: DB.MemberDecl<DB.Integer, true>;
|
|
13
|
+
trade_secret: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"RecipeTradeSecret", DB.Object<{
|
|
14
|
+
ap_value: DB.MemberDecl<DB.Integer, true>;
|
|
15
|
+
prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
|
|
16
|
+
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
17
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
18
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
19
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
20
|
+
Hide: DB.EnumCase<null>;
|
|
21
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
22
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
23
|
+
Standalone: DB.EnumCase<null>;
|
|
24
|
+
Connected: DB.EnumCase<null>;
|
|
25
|
+
}, []>>, false>;
|
|
26
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
27
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
28
|
+
}>, true>;
|
|
29
|
+
}>, []>>>;
|
|
30
|
+
}, []>>, false>;
|
|
31
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
32
|
+
Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
|
|
33
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
34
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
35
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
36
|
+
}>, true>;
|
|
37
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
38
|
+
}, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
|
|
39
|
+
}>, []>>, false>;
|
|
13
40
|
combatUse: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HerbalAidCombatUse", {
|
|
14
41
|
Weapon: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
15
42
|
Armor: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
@@ -2,7 +2,7 @@ import * as DB from "tsondb/schema/dsl";
|
|
|
2
2
|
import { src } from "../../source/_PublicationRef.js";
|
|
3
3
|
import { NestedTranslationMap } from "../../Locale.js";
|
|
4
4
|
import { WeaponIdentifier, ArmorIdentifier } from "../../_Identifier.js";
|
|
5
|
-
import { EffectType } from "./_Herbary.js";
|
|
5
|
+
import { EffectType, RecipeTradeSecret } from "./_Herbary.js";
|
|
6
6
|
export const HerbalAid = DB.Entity(import.meta.url, {
|
|
7
7
|
name: "HerbalAid",
|
|
8
8
|
namePlural: "HerbalAids",
|
|
@@ -15,6 +15,10 @@ export const HerbalAid = DB.Entity(import.meta.url, {
|
|
|
15
15
|
comment: "The difficulty for this aid to craft.",
|
|
16
16
|
type: DB.Integer(),
|
|
17
17
|
}),
|
|
18
|
+
trade_secret: DB.Optional({
|
|
19
|
+
comment: "AP value and prerequisites of the herbal aid�s trade secret.",
|
|
20
|
+
type: DB.IncludeIdentifier(RecipeTradeSecret),
|
|
21
|
+
}),
|
|
18
22
|
combatUse: DB.Optional({
|
|
19
23
|
comment: "The armor or weapon this herbal aid represents.",
|
|
20
24
|
type: DB.IncludeIdentifier(HerbalAidCombatUse),
|
|
@@ -940,6 +940,7 @@ export declare const BlessedTradition: DB.Entity<"BlessedTradition", {
|
|
|
940
940
|
}, "parent">>, true>;
|
|
941
941
|
primary: DB.MemberDecl<DB.ReferenceIdentifier, false>;
|
|
942
942
|
aspects: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, false>;
|
|
943
|
+
primaryBlessing: DB.MemberDecl<DB.ReferenceIdentifier, false>;
|
|
943
944
|
restricted_blessings: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"RestrictedBlessings", {
|
|
944
945
|
Three: DB.EnumCase<DB.Array<DB.ReferenceIdentifier>>;
|
|
945
946
|
Six: DB.EnumCase<DB.Array<DB.ReferenceIdentifier>>;
|
|
@@ -27,6 +27,10 @@ export const BlessedTradition = DB.Entity(import.meta.url, {
|
|
|
27
27
|
comment: "The tradition’s aspects, if any.",
|
|
28
28
|
type: DB.Array(AspectIdentifier(), { minItems: 2, maxItems: 2 }),
|
|
29
29
|
}),
|
|
30
|
+
primaryBlessing: DB.Optional({
|
|
31
|
+
comment: "The tradition’s primary blessing. Leave empty if the tradition does not have one.",
|
|
32
|
+
type: BlessingIdentifier(),
|
|
33
|
+
}),
|
|
30
34
|
restricted_blessings: DB.Optional({
|
|
31
35
|
comment: "If a tradition restricts the possible blessings, the blessings that are **not** allowed.",
|
|
32
36
|
type: DB.IncludeIdentifier(RestrictedBlessings),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@optolith/database-schema",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.50.1",
|
|
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",
|