@optolith/database-schema 0.69.0 → 0.70.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 +14 -0
- package/gen/types.d.ts +64 -42
- package/lib/types/FamiliarsTrick.d.ts +3 -0
- package/lib/types/FamiliarsTrick.js +20 -0
- package/lib/types/equipment/item/HerbalAid.d.ts +34 -2
- package/lib/types/equipment/item/HerbalAid.js +7 -2
- package/lib/types/equipment/item/Plant.d.ts +2 -2
- package/lib/types/equipment/item/Plant.js +4 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
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.70.1](https://github.com/Optolith/database-schema/compare/v0.70.0...v0.70.1) (2026-09-28)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* different names for familiar's tricks based on tradition ([189a86d](https://github.com/Optolith/database-schema/commit/189a86da529c1b220030c746f8bdb0b94a29a3d9))
|
|
10
|
+
## [0.70.0](https://github.com/Optolith/database-schema/compare/v0.69.0...v0.70.0) (2026-09-27)
|
|
11
|
+
|
|
12
|
+
### ⚠ BREAKING CHANGES
|
|
13
|
+
|
|
14
|
+
* plant adjustments
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* plant adjustments ([8dcd08b](https://github.com/Optolith/database-schema/commit/8dcd08b1a3492686703fbdee7f5f12c992a5d2c5)), references [#195](https://github.com/Optolith/database-schema/issues/195)
|
|
5
19
|
## [0.69.0](https://github.com/Optolith/database-schema/compare/v0.68.1...v0.69.0) (2026-09-27)
|
|
6
20
|
|
|
7
21
|
### ⚠ BREAKING CHANGES
|
package/gen/types.d.ts
CHANGED
|
@@ -634,6 +634,7 @@ export type TypeAliasMap = {
|
|
|
634
634
|
ExpressionBasedRange: ExpressionBasedRange
|
|
635
635
|
FamiliarsTrickAllOneTimeCost: FamiliarsTrickAllOneTimeCost
|
|
636
636
|
FamiliarsTrickFixedOneTimeCost: FamiliarsTrickFixedOneTimeCost
|
|
637
|
+
FamiliarsTrickNameByTradition: FamiliarsTrickNameByTradition
|
|
637
638
|
FamiliarsTrickOneTimeIntervalCost: FamiliarsTrickOneTimeIntervalCost
|
|
638
639
|
FamiliarsTrickOneTimeIntervalPerformanceParameters: FamiliarsTrickOneTimeIntervalPerformanceParameters
|
|
639
640
|
FamiliarsTrickOneTimePerformanceParameters: FamiliarsTrickOneTimePerformanceParameters
|
|
@@ -25599,6 +25600,11 @@ export interface FamiliarsTrickTranslation {
|
|
|
25599
25600
|
*/
|
|
25600
25601
|
name: string
|
|
25601
25602
|
|
|
25603
|
+
/**
|
|
25604
|
+
* For some traditions, the name of the familiar’s trick is different.
|
|
25605
|
+
*/
|
|
25606
|
+
nameByTradition?: FamiliarsTrickNameByTradition
|
|
25607
|
+
|
|
25602
25608
|
/**
|
|
25603
25609
|
* The effect description.
|
|
25604
25610
|
*/
|
|
@@ -25747,6 +25753,17 @@ export interface IndefiniteFamiliarsTrickPropertyTranslation {
|
|
|
25747
25753
|
description: ResponsiveText
|
|
25748
25754
|
}
|
|
25749
25755
|
|
|
25756
|
+
export type FamiliarsTrickNameByTradition = {
|
|
25757
|
+
[magicalTraditionId: string]: FamiliarsTrickNameForTradition
|
|
25758
|
+
}
|
|
25759
|
+
|
|
25760
|
+
export interface FamiliarsTrickNameForTradition {
|
|
25761
|
+
/**
|
|
25762
|
+
* The familiar’s trick’s name for this tradition.
|
|
25763
|
+
*/
|
|
25764
|
+
name: string
|
|
25765
|
+
}
|
|
25766
|
+
|
|
25750
25767
|
export interface HerbalAid {
|
|
25751
25768
|
/**
|
|
25752
25769
|
* The plant types this aid belongs to.
|
|
@@ -25756,7 +25773,7 @@ export interface HerbalAid {
|
|
|
25756
25773
|
/**
|
|
25757
25774
|
* The difficulty for this aid to craft.
|
|
25758
25775
|
*/
|
|
25759
|
-
crafting_difficulty
|
|
25776
|
+
crafting_difficulty?: number
|
|
25760
25777
|
|
|
25761
25778
|
/**
|
|
25762
25779
|
* AP value and prerequisites of the herbal aid�s trade secret.
|
|
@@ -25768,6 +25785,11 @@ export interface HerbalAid {
|
|
|
25768
25785
|
*/
|
|
25769
25786
|
combatUse?: HerbalAidCombatUse
|
|
25770
25787
|
|
|
25788
|
+
/**
|
|
25789
|
+
* How long this herbal aid lasts.
|
|
25790
|
+
*/
|
|
25791
|
+
longevity?: HerbalPreservationLongevity
|
|
25792
|
+
|
|
25771
25793
|
/**
|
|
25772
25794
|
* References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
|
|
25773
25795
|
*/
|
|
@@ -25795,7 +25817,7 @@ export interface HerbalAidTranslation {
|
|
|
25795
25817
|
/**
|
|
25796
25818
|
* The herbal aid's description.
|
|
25797
25819
|
*/
|
|
25798
|
-
description
|
|
25820
|
+
description?: string
|
|
25799
25821
|
|
|
25800
25822
|
/**
|
|
25801
25823
|
* The ingredients used to craft this herbal aid.
|
|
@@ -25818,6 +25840,44 @@ export type HerbalAidCombatUse =
|
|
|
25818
25840
|
Armor: Armor_ID
|
|
25819
25841
|
}
|
|
25820
25842
|
|
|
25843
|
+
export interface HerbalPreservationLongevity {
|
|
25844
|
+
/**
|
|
25845
|
+
* An expression that evaluates to the duration.
|
|
25846
|
+
*/
|
|
25847
|
+
value: HerbalPreservationLongevityExpression
|
|
25848
|
+
|
|
25849
|
+
/**
|
|
25850
|
+
* The duration unit.
|
|
25851
|
+
*/
|
|
25852
|
+
unit: DurationUnit
|
|
25853
|
+
|
|
25854
|
+
/**
|
|
25855
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
25856
|
+
*/
|
|
25857
|
+
translations?: {
|
|
25858
|
+
[localeId: string]: HerbalPreservationLongevityTranslation
|
|
25859
|
+
}
|
|
25860
|
+
}
|
|
25861
|
+
|
|
25862
|
+
export interface HerbalPreservationLongevityTranslation {
|
|
25863
|
+
/**
|
|
25864
|
+
* A replacement string.
|
|
25865
|
+
*/
|
|
25866
|
+
replacement: ResponsiveTextReplace
|
|
25867
|
+
}
|
|
25868
|
+
|
|
25869
|
+
export type HerbalPreservationLongevityExpression = MathOperation<HerbalPreservationLongevityValue>
|
|
25870
|
+
|
|
25871
|
+
export type HerbalPreservationLongevityValue =
|
|
25872
|
+
| {
|
|
25873
|
+
kind: "Constant"
|
|
25874
|
+
Constant: number
|
|
25875
|
+
}
|
|
25876
|
+
| {
|
|
25877
|
+
kind: "Dice"
|
|
25878
|
+
Dice: Dice
|
|
25879
|
+
}
|
|
25880
|
+
|
|
25821
25881
|
export interface HerbalPreservation {
|
|
25822
25882
|
/**
|
|
25823
25883
|
* The types of this preservation.
|
|
@@ -25864,44 +25924,6 @@ export interface HerbalPreservationTranslation {
|
|
|
25864
25924
|
alternative_effect: string
|
|
25865
25925
|
}
|
|
25866
25926
|
|
|
25867
|
-
export interface HerbalPreservationLongevity {
|
|
25868
|
-
/**
|
|
25869
|
-
* An expression that evaluates to the duration.
|
|
25870
|
-
*/
|
|
25871
|
-
value: HerbalPreservationLongevityExpression
|
|
25872
|
-
|
|
25873
|
-
/**
|
|
25874
|
-
* The duration unit.
|
|
25875
|
-
*/
|
|
25876
|
-
unit: DurationUnit
|
|
25877
|
-
|
|
25878
|
-
/**
|
|
25879
|
-
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
25880
|
-
*/
|
|
25881
|
-
translations?: {
|
|
25882
|
-
[localeId: string]: HerbalPreservationLongevityTranslation
|
|
25883
|
-
}
|
|
25884
|
-
}
|
|
25885
|
-
|
|
25886
|
-
export interface HerbalPreservationLongevityTranslation {
|
|
25887
|
-
/**
|
|
25888
|
-
* A replacement string.
|
|
25889
|
-
*/
|
|
25890
|
-
replacement: ResponsiveTextReplace
|
|
25891
|
-
}
|
|
25892
|
-
|
|
25893
|
-
export type HerbalPreservationLongevityExpression = MathOperation<HerbalPreservationLongevityValue>
|
|
25894
|
-
|
|
25895
|
-
export type HerbalPreservationLongevityValue =
|
|
25896
|
-
| {
|
|
25897
|
-
kind: "Constant"
|
|
25898
|
-
Constant: number
|
|
25899
|
-
}
|
|
25900
|
-
| {
|
|
25901
|
-
kind: "Dice"
|
|
25902
|
-
Dice: Dice
|
|
25903
|
-
}
|
|
25904
|
-
|
|
25905
25927
|
export interface HomunculusType {
|
|
25906
25928
|
/**
|
|
25907
25929
|
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
@@ -26355,7 +26377,7 @@ export interface PlantLongevity {
|
|
|
26355
26377
|
/**
|
|
26356
26378
|
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
26357
26379
|
*/
|
|
26358
|
-
translations
|
|
26380
|
+
translations?: {
|
|
26359
26381
|
[localeId: string]: PlantLongevityTranslation
|
|
26360
26382
|
}
|
|
26361
26383
|
}
|
|
@@ -26364,7 +26386,7 @@ export interface PlantLongevityTranslation {
|
|
|
26364
26386
|
/**
|
|
26365
26387
|
* The longevity of the raw plant
|
|
26366
26388
|
*/
|
|
26367
|
-
raw
|
|
26389
|
+
raw?: string
|
|
26368
26390
|
|
|
26369
26391
|
/**
|
|
26370
26392
|
* The longevity of the preserved plant
|
|
@@ -219,6 +219,9 @@ export declare const FamiliarsTrick: DB.Entity<"FamiliarsTrick", {
|
|
|
219
219
|
}>, []>>>, []>>, true>;
|
|
220
220
|
translations: DB.MemberDecl<DB.NestedEntityMap<"FamiliarsTrickTranslation", {
|
|
221
221
|
name: DB.MemberDecl<DB.String, true>;
|
|
222
|
+
nameByTradition: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"FamiliarsTrickNameByTradition", DB.NestedEntityMap<string, {
|
|
223
|
+
name: DB.MemberDecl<DB.String, true>;
|
|
224
|
+
}>, []>>, false>;
|
|
222
225
|
effect: DB.MemberDecl<DB.String, true>;
|
|
223
226
|
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"OldParameter", DB.Object<{
|
|
224
227
|
full: DB.MemberDecl<DB.String, true>;
|
|
@@ -7,6 +7,7 @@ import { ResponsiveText } from "./_ResponsiveText.js";
|
|
|
7
7
|
import { NestedTranslationMap } from "./Locale.js";
|
|
8
8
|
import { Errata } from "./source/_Erratum.js";
|
|
9
9
|
import { src } from "./source/_PublicationRef.js";
|
|
10
|
+
import { MagicalTradition } from "./specialAbility/MagicalTradition.js";
|
|
10
11
|
export const FamiliarsTrick = DB.Entity(import.meta.url, {
|
|
11
12
|
name: "FamiliarsTrick",
|
|
12
13
|
namePlural: "FamiliarsTricks",
|
|
@@ -43,6 +44,10 @@ If no traditions are given, the familiars trick is not restricted by the magical
|
|
|
43
44
|
comment: "The familiar’s trick’s name.",
|
|
44
45
|
type: DB.String({ minLength: 1 }),
|
|
45
46
|
}),
|
|
47
|
+
nameByTradition: DB.Optional({
|
|
48
|
+
comment: "For some traditions, the name of the familiar’s trick is different.",
|
|
49
|
+
type: DB.IncludeIdentifier(FamiliarsTrickNameByTradition),
|
|
50
|
+
}),
|
|
46
51
|
effect: DB.Required({
|
|
47
52
|
comment: "The effect description.",
|
|
48
53
|
type: DB.String({ minLength: 1, markdown: "block" }),
|
|
@@ -68,6 +73,21 @@ If no traditions are given, the familiars trick is not restricted by the magical
|
|
|
68
73
|
},
|
|
69
74
|
],
|
|
70
75
|
});
|
|
76
|
+
const FamiliarsTrickNameByTradition = DB.TypeAlias(import.meta.url, {
|
|
77
|
+
name: "FamiliarsTrickNameByTradition",
|
|
78
|
+
type: () => DB.NestedEntityMap({
|
|
79
|
+
secondaryEntity: MagicalTradition,
|
|
80
|
+
name: "FamiliarsTrickNameForTradition",
|
|
81
|
+
namePlural: "FamiliarsTrickNameForTraditions",
|
|
82
|
+
type: DB.Object({
|
|
83
|
+
name: DB.Required({
|
|
84
|
+
comment: "The familiar’s trick’s name for this tradition.",
|
|
85
|
+
type: DB.String({ minLength: 1 }),
|
|
86
|
+
}),
|
|
87
|
+
}),
|
|
88
|
+
minProperties: 1,
|
|
89
|
+
}),
|
|
90
|
+
});
|
|
71
91
|
const FamiliarsTrickProperty = DB.Enum(import.meta.url, {
|
|
72
92
|
name: "FamiliarsTrickProperty",
|
|
73
93
|
values: () => ({
|
|
@@ -9,7 +9,7 @@ export declare const HerbalAid: DB.Entity<"HerbalAid", {
|
|
|
9
9
|
Defensive: DB.EnumCase<null>;
|
|
10
10
|
Supernatural: DB.EnumCase<null>;
|
|
11
11
|
}, []>>>, true>;
|
|
12
|
-
crafting_difficulty: DB.MemberDecl<DB.Integer,
|
|
12
|
+
crafting_difficulty: DB.MemberDecl<DB.Integer, false>;
|
|
13
13
|
trade_secret: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"RecipeTradeSecret", DB.Object<{
|
|
14
14
|
ap_value: DB.MemberDecl<DB.Integer, true>;
|
|
15
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", {
|
|
@@ -82,6 +82,38 @@ export declare const HerbalAid: DB.Entity<"HerbalAid", {
|
|
|
82
82
|
Weapon: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
83
83
|
Armor: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
84
84
|
}, []>>, false>;
|
|
85
|
+
longevity: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HerbalPreservationLongevity", DB.Object<{
|
|
86
|
+
value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HerbalPreservationLongevityExpression", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], import("../../_MathExpression.ts").MathOperation>, []>>, true>;
|
|
87
|
+
unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
|
|
88
|
+
Seconds: DB.EnumCase<null>;
|
|
89
|
+
Minutes: DB.EnumCase<null>;
|
|
90
|
+
Hours: DB.EnumCase<null>;
|
|
91
|
+
Days: DB.EnumCase<null>;
|
|
92
|
+
Weeks: DB.EnumCase<null>;
|
|
93
|
+
Months: DB.EnumCase<null>;
|
|
94
|
+
Years: DB.EnumCase<null>;
|
|
95
|
+
Decades: DB.EnumCase<null>;
|
|
96
|
+
Centuries: DB.EnumCase<null>;
|
|
97
|
+
Actions: DB.EnumCase<null>;
|
|
98
|
+
CombatRounds: DB.EnumCase<null>;
|
|
99
|
+
Custom: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CustomDurationUnit", DB.Object<{
|
|
100
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"CustomDurationUnitTranslation", {
|
|
101
|
+
name: DB.MemberDecl<DB.String, true>;
|
|
102
|
+
fullNumber: DB.MemberDecl<DB.String, true>;
|
|
103
|
+
full: DB.MemberDecl<DB.String, true>;
|
|
104
|
+
symbol: DB.MemberDecl<DB.String, true>;
|
|
105
|
+
compressedNumber: DB.MemberDecl<DB.String, true>;
|
|
106
|
+
compressed: DB.MemberDecl<DB.String, true>;
|
|
107
|
+
}>, true>;
|
|
108
|
+
}>, []>>>;
|
|
109
|
+
}, []>>, true>;
|
|
110
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"HerbalPreservationLongevityTranslation", {
|
|
111
|
+
replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextReplace", DB.Object<{
|
|
112
|
+
full: DB.MemberDecl<DB.String, true>;
|
|
113
|
+
compressed: DB.MemberDecl<DB.String, true>;
|
|
114
|
+
}>, []>>, true>;
|
|
115
|
+
}>, false>;
|
|
116
|
+
}>, []>>, false>;
|
|
85
117
|
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
86
118
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
87
119
|
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
@@ -125,7 +157,7 @@ export declare const HerbalAid: DB.Entity<"HerbalAid", {
|
|
|
125
157
|
}>, []>>>, []>>, true>;
|
|
126
158
|
translations: DB.MemberDecl<DB.NestedEntityMap<"HerbalAidTranslation", {
|
|
127
159
|
name: DB.MemberDecl<DB.String, true>;
|
|
128
|
-
description: DB.MemberDecl<DB.String,
|
|
160
|
+
description: DB.MemberDecl<DB.String, false>;
|
|
129
161
|
ingredients: DB.MemberDecl<DB.Array<DB.String>, true>;
|
|
130
162
|
typical_tools: DB.MemberDecl<DB.Array<DB.String>, false>;
|
|
131
163
|
}>, true>;
|
|
@@ -3,6 +3,7 @@ import { src } from "../../source/_PublicationRef.js";
|
|
|
3
3
|
import { NestedTranslationMap } from "../../Locale.js";
|
|
4
4
|
import { WeaponIdentifier, ArmorIdentifier } from "../../_Identifier.js";
|
|
5
5
|
import { EffectType, RecipeTradeSecret } from "./_Herbary.js";
|
|
6
|
+
import { HerbalPreservationLongevity } from "./HerbalPreservation.js";
|
|
6
7
|
export const HerbalAid = DB.Entity(import.meta.url, {
|
|
7
8
|
name: "HerbalAid",
|
|
8
9
|
namePlural: "HerbalAids",
|
|
@@ -11,7 +12,7 @@ export const HerbalAid = DB.Entity(import.meta.url, {
|
|
|
11
12
|
comment: "The plant types this aid belongs to.",
|
|
12
13
|
type: DB.Array(DB.IncludeIdentifier(EffectType), { minItems: 1, uniqueItems: true }),
|
|
13
14
|
}),
|
|
14
|
-
crafting_difficulty: DB.
|
|
15
|
+
crafting_difficulty: DB.Optional({
|
|
15
16
|
comment: "The difficulty for this aid to craft.",
|
|
16
17
|
type: DB.Integer(),
|
|
17
18
|
}),
|
|
@@ -23,13 +24,17 @@ export const HerbalAid = DB.Entity(import.meta.url, {
|
|
|
23
24
|
comment: "The armor or weapon this herbal aid represents.",
|
|
24
25
|
type: DB.IncludeIdentifier(HerbalAidCombatUse),
|
|
25
26
|
}),
|
|
27
|
+
longevity: DB.Optional({
|
|
28
|
+
comment: "How long this herbal aid lasts.",
|
|
29
|
+
type: DB.IncludeIdentifier(HerbalPreservationLongevity),
|
|
30
|
+
}),
|
|
26
31
|
src,
|
|
27
32
|
translations: NestedTranslationMap(DB.Required, "HerbalAid", DB.Object({
|
|
28
33
|
name: DB.Required({
|
|
29
34
|
comment: "The herbal aid's name.",
|
|
30
35
|
type: DB.String({ minLength: 1 }),
|
|
31
36
|
}),
|
|
32
|
-
description: DB.
|
|
37
|
+
description: DB.Optional({
|
|
33
38
|
comment: "The herbal aid's description.",
|
|
34
39
|
type: DB.String({ minLength: 1, markdown: "block" }),
|
|
35
40
|
}),
|
|
@@ -157,9 +157,9 @@ export declare const Plant: DB.Entity<"Plant", {
|
|
|
157
157
|
longevity: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlantLongevity", DB.Object<{
|
|
158
158
|
preservations: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, false>;
|
|
159
159
|
translations: DB.MemberDecl<DB.NestedEntityMap<"PlantLongevityTranslation", {
|
|
160
|
-
raw: DB.MemberDecl<DB.String,
|
|
160
|
+
raw: DB.MemberDecl<DB.String, false>;
|
|
161
161
|
preserved: DB.MemberDecl<DB.String, false>;
|
|
162
|
-
}>,
|
|
162
|
+
}>, false>;
|
|
163
163
|
}>, []>>, false>;
|
|
164
164
|
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
165
165
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
@@ -270,8 +270,8 @@ const PlantLongevity = DB.TypeAlias(import.meta.url, {
|
|
|
270
270
|
comment: "The preservations with alternative effect of this preserved plant",
|
|
271
271
|
type: DB.Array(HerbalPreservationIdentifier(), { minItems: 1, uniqueItems: true }),
|
|
272
272
|
}),
|
|
273
|
-
translations: NestedTranslationMap(DB.
|
|
274
|
-
raw: DB.
|
|
273
|
+
translations: NestedTranslationMap(DB.Optional, "PlantLongevity", DB.Object({
|
|
274
|
+
raw: DB.Optional({
|
|
275
275
|
comment: "The longevity of the raw plant",
|
|
276
276
|
type: DB.String({ minLength: 1, markdown: "block" }),
|
|
277
277
|
}),
|
|
@@ -279,6 +279,6 @@ const PlantLongevity = DB.TypeAlias(import.meta.url, {
|
|
|
279
279
|
comment: "The longevity of the preserved plant",
|
|
280
280
|
type: DB.String({ minLength: 1, markdown: "block" }),
|
|
281
281
|
}),
|
|
282
|
-
})),
|
|
283
|
-
}),
|
|
282
|
+
}, { minProperties: 1 })),
|
|
283
|
+
}, { minProperties: 1 }),
|
|
284
284
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@optolith/database-schema",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.70.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",
|