@optolith/database-schema 0.47.4 → 0.48.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 (32) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/gen/types.d.ts +95 -202
  3. package/lib/types/Ceremony.d.ts +7 -80
  4. package/lib/types/FamiliarsTrick.d.ts +3 -3
  5. package/lib/types/FamiliarsTrick.js +2 -2
  6. package/lib/types/LiturgicalChant.d.ts +7 -80
  7. package/lib/types/Ritual.d.ts +7 -80
  8. package/lib/types/Spell.d.ts +7 -80
  9. package/lib/types/_ActivatableSkill.d.ts +21 -218
  10. package/lib/types/_ActivatableSkill.js +15 -0
  11. package/lib/types/_ActivatableSkillDuration.d.ts +6 -50
  12. package/lib/types/_ActivatableSkillDuration.js +8 -13
  13. package/lib/types/_ActivatableSkillRange.d.ts +11 -22
  14. package/lib/types/_ActivatableSkillRange.js +7 -12
  15. package/lib/types/magicalActions/AnimistPower.d.ts +3 -29
  16. package/lib/types/magicalActions/AnimistPower.js +2 -3
  17. package/lib/types/magicalActions/Bannzeichen.d.ts +6 -28
  18. package/lib/types/magicalActions/Bannzeichen.js +4 -4
  19. package/lib/types/magicalActions/Curse.d.ts +6 -58
  20. package/lib/types/magicalActions/Curse.js +3 -5
  21. package/lib/types/magicalActions/DominationRitual.d.ts +6 -58
  22. package/lib/types/magicalActions/DominationRitual.js +3 -18
  23. package/lib/types/magicalActions/GeodeRitual.d.ts +3 -29
  24. package/lib/types/magicalActions/GeodeRitual.js +2 -3
  25. package/lib/types/magicalActions/GoblinRitual.d.ts +7 -33
  26. package/lib/types/magicalActions/GoblinRitual.js +7 -8
  27. package/lib/types/magicalActions/JesterTrick.d.ts +9 -87
  28. package/lib/types/magicalActions/JesterTrick.js +2 -16
  29. package/lib/types/magicalActions/MagicalRune.d.ts +6 -28
  30. package/lib/types/magicalActions/MagicalRune.js +3 -3
  31. package/lib/types/magicalActions/ZibiljaRitual.d.ts +5 -58
  32. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,17 @@
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.48.0](https://github.com/Optolith/database-schema/compare/v0.47.4...v0.48.0) (2026-06-13)
6
+
7
+
8
+ ### ⚠ BREAKING CHANGES
9
+
10
+ * unify some skill durations and ranges with expressions
11
+
12
+ ### Features
13
+
14
+ * unify some skill durations and ranges with expressions ([31798ca](https://github.com/Optolith/database-schema/commit/31798ca33fab12b1d1c0c6edec0c543173c8f4ac))
15
+
5
16
  ## [0.47.4](https://github.com/Optolith/database-schema/compare/v0.47.3...v0.47.4) (2026-06-13)
6
17
 
7
18
 
package/gen/types.d.ts CHANGED
@@ -260,7 +260,6 @@ export type EnumMap = {
260
260
  CastingTime: CastingTime<unknown>
261
261
  CastingTimeDuringLovemakingUnit: CastingTimeDuringLovemakingUnit
262
262
  CheckResultArithmetic: CheckResultArithmetic
263
- CheckResultValue: CheckResultValue
264
263
  CollectorsValue: CollectorsValue
265
264
  CombatAnimalPowerType: CombatAnimalPowerType
266
265
  CombatRelatedSpecialAbilityIdentifier: CombatRelatedSpecialAbilityIdentifier
@@ -301,6 +300,7 @@ export type EnumMap = {
301
300
  EncumbranceInfluence: EncumbranceInfluence
302
301
  EnhancementPrerequisiteGroup: EnhancementPrerequisiteGroup
303
302
  EquipmentIdentifier: EquipmentIdentifier
303
+ ExpressionBasedParameterExpressionValue: ExpressionBasedParameterExpressionValue
304
304
  ExpressionBasedPoisonTimeExpressionValue: ExpressionBasedPoisonTimeExpressionValue
305
305
  ExtensionRuleIdentifier: ExtensionRuleIdentifier
306
306
  FamiliarsTrickOneTimeCost: FamiliarsTrickOneTimeCost
@@ -527,9 +527,7 @@ export type TypeAliasMap = {
527
527
  CastingTimeDuringLovemaking: CastingTimeDuringLovemaking
528
528
  CastingTimeIncludingLovemaking: CastingTimeIncludingLovemaking<unknown>
529
529
  Cause: Cause
530
- CheckResultBasedDuration: CheckResultBasedDuration
531
530
  CheckResultBasedModifier: CheckResultBasedModifier
532
- CheckResultBasedRange: CheckResultBasedRange
533
531
  ChildNode: ChildNode
534
532
  CloseCombatTechniqueSpecialRules: CloseCombatTechniqueSpecialRules
535
533
  CombatAnimalPower: CombatAnimalPower
@@ -597,8 +595,11 @@ export type TypeAliasMap = {
597
595
  Errata: Errata
598
596
  Erratum: Erratum
599
597
  ExclusiveCantripNote: ExclusiveCantripNote
598
+ ExpressionBasedDuration: ExpressionBasedDuration
599
+ ExpressionBasedParameterValue: ExpressionBasedParameterValue
600
600
  ExpressionBasedPoisonTime: ExpressionBasedPoisonTime
601
601
  ExpressionBasedPoisonTimeValue: ExpressionBasedPoisonTimeValue
602
+ ExpressionBasedRange: ExpressionBasedRange
602
603
  FamiliarsTrickAllOneTimeCost: FamiliarsTrickAllOneTimeCost
603
604
  FamiliarsTrickFixedOneTimeCost: FamiliarsTrickFixedOneTimeCost
604
605
  FamiliarsTrickOneTimeIntervalCost: FamiliarsTrickOneTimeIntervalCost
@@ -622,11 +623,8 @@ export type TypeAliasMap = {
622
623
  FixedCantripDuration: FixedCantripDuration
623
624
  FixedCost: FixedCost
624
625
  FixedCurseCost: FixedCurseCost
625
- FixedDominationRitualDuration: FixedDominationRitualDuration
626
- FixedDuration: FixedDuration
627
626
  FixedGeodeRitualCost: FixedGeodeRitualCost
628
627
  FixedGeodeRitualRange: FixedGeodeRitualRange
629
- FixedJesterTrickDuration: FixedJesterTrickDuration
630
628
  FixedJesterTrickRange: FixedJesterTrickRange
631
629
  FixedLifePointsCost: FixedLifePointsCost
632
630
  FixedMagicalDanceCost: FixedMagicalDanceCost
@@ -6862,12 +6860,8 @@ export type RangeValue =
6862
6860
  kind: "Touch"
6863
6861
  }
6864
6862
  | {
6865
- kind: "Fixed"
6866
- Fixed: FixedRange
6867
- }
6868
- | {
6869
- kind: "CheckResultBased"
6870
- CheckResultBased: CheckResultBasedRange
6863
+ kind: "Expression"
6864
+ Expression: ExpressionBasedRange
6871
6865
  }
6872
6866
 
6873
6867
  export interface ModifiableRange {
@@ -6887,51 +6881,16 @@ export interface ModifiableRange {
6887
6881
  is_radius?: boolean
6888
6882
  }
6889
6883
 
6890
- export interface FixedRange {
6891
- /**
6892
- * If `true`, the range is a maximum range.
6893
- */
6894
- is_maximum?: boolean
6895
-
6896
- /**
6897
- * The (unitless) range value.
6898
- */
6899
- value: number
6900
-
6901
- /**
6902
- * The unit of the `value`.
6903
- */
6904
- unit: RangeUnit
6905
-
6906
- /**
6907
- * If `true`, the range is a radius.
6908
- */
6909
- is_radius?: boolean
6910
- }
6911
-
6912
- export type RangeUnit =
6913
- | {
6914
- kind: "Steps"
6915
- }
6916
- | {
6917
- kind: "Miles"
6918
- }
6919
-
6920
- export interface CheckResultBasedRange {
6884
+ export interface ExpressionBasedRange {
6921
6885
  /**
6922
6886
  * If the range is the maximum range.
6923
6887
  */
6924
6888
  is_maximum?: boolean
6925
6889
 
6926
6890
  /**
6927
- * The base value that is derived from the check result.
6928
- */
6929
- base: CheckResultValue
6930
-
6931
- /**
6932
- * If defined, it modifies the base value.
6891
+ * An expression that evaluates to the range.
6933
6892
  */
6934
- modifier?: CheckResultBasedModifier
6893
+ value: ExpressionBasedParameterValue
6935
6894
 
6936
6895
  /**
6937
6896
  * The duration unit.
@@ -6944,41 +6903,26 @@ export interface CheckResultBasedRange {
6944
6903
  is_radius?: boolean
6945
6904
  }
6946
6905
 
6947
- /**
6948
- * Defines the derived (unitless) value.
6949
- */
6950
- export type CheckResultValue =
6906
+ export type ExpressionBasedParameterValue = MathOperation<ExpressionBasedParameterExpressionValue>
6907
+
6908
+ export type ExpressionBasedParameterExpressionValue =
6951
6909
  | {
6952
- kind: "QualityLevels"
6910
+ kind: "Constant"
6911
+ Constant: number
6953
6912
  }
6954
6913
  | {
6955
- kind: "SkillPoints"
6914
+ kind: "QualityLevels"
6956
6915
  }
6957
6916
  | {
6958
- kind: "SkillRating"
6917
+ kind: "SkillPoints"
6959
6918
  }
6960
6919
 
6961
- export interface CheckResultBasedModifier {
6962
- /**
6963
- * The arithmetic how to apply the `value` to the `base`.
6964
- */
6965
- arithmetic: CheckResultArithmetic
6966
-
6967
- /**
6968
- * The value that is applied to the `base` using the defined `arithmetic`.
6969
- */
6970
- value: number
6971
- }
6972
-
6973
- /**
6974
- * Defines how the the `value` is set off against the check result.
6975
- */
6976
- export type CheckResultArithmetic =
6920
+ export type RangeUnit =
6977
6921
  | {
6978
- kind: "Multiply"
6922
+ kind: "Steps"
6979
6923
  }
6980
6924
  | {
6981
- kind: "Divide"
6925
+ kind: "Miles"
6982
6926
  }
6983
6927
 
6984
6928
  export type DurationForOneTime =
@@ -6991,12 +6935,8 @@ export type DurationForOneTime =
6991
6935
  Permanent: PermanentDuration
6992
6936
  }
6993
6937
  | {
6994
- kind: "Fixed"
6995
- Fixed: FixedDuration
6996
- }
6997
- | {
6998
- kind: "CheckResultBased"
6999
- CheckResultBased: CheckResultBasedDuration
6938
+ kind: "Expression"
6939
+ Expression: ExpressionBasedDuration
7000
6940
  }
7001
6941
  | {
7002
6942
  kind: "Indefinite"
@@ -7084,52 +7024,16 @@ export interface PermanentDurationTranslation {
7084
7024
  replacement?: ResponsiveTextReplace
7085
7025
  }
7086
7026
 
7087
- export interface FixedDuration {
7088
- /**
7089
- * If the duration is the maximum duration, so it may end earlier.
7090
- */
7091
- is_maximum?: boolean
7092
-
7093
- /**
7094
- * The (unitless) duration.
7095
- */
7096
- value: number
7097
-
7098
- /**
7099
- * The duration unit.
7100
- */
7101
- unit: DurationUnit
7102
-
7103
- /**
7104
- * All translations for the entry, identified by IETF language tag (BCP47).
7105
- */
7106
- translations?: {
7107
- [localeId: string]: FixedDurationTranslation
7108
- }
7109
- }
7110
-
7111
- export interface FixedDurationTranslation {
7112
- /**
7113
- * A replacement string.
7114
- */
7115
- replacement?: ResponsiveTextReplace
7116
- }
7117
-
7118
- export interface CheckResultBasedDuration {
7027
+ export interface ExpressionBasedDuration {
7119
7028
  /**
7120
7029
  * If the duration is the maximum duration, so it may end earlier.
7121
7030
  */
7122
7031
  is_maximum?: boolean
7123
7032
 
7124
7033
  /**
7125
- * The base value that is derived from the check result.
7126
- */
7127
- base: CheckResultValue
7128
-
7129
- /**
7130
- * If defined, it modifies the base value.
7034
+ * An expression that evaluates to the duration.
7131
7035
  */
7132
- modifier?: CheckResultBasedModifier
7036
+ value: ExpressionBasedParameterValue
7133
7037
 
7134
7038
  /**
7135
7039
  * The duration unit.
@@ -7140,11 +7044,11 @@ export interface CheckResultBasedDuration {
7140
7044
  * All translations for the entry, identified by IETF language tag (BCP47).
7141
7045
  */
7142
7046
  translations?: {
7143
- [localeId: string]: CheckResultBasedDurationTranslation
7047
+ [localeId: string]: ExpressionBasedDurationTranslation
7144
7048
  }
7145
7049
  }
7146
7050
 
7147
- export interface CheckResultBasedDurationTranslation {
7051
+ export interface ExpressionBasedDurationTranslation {
7148
7052
  /**
7149
7053
  * A replacement string.
7150
7054
  */
@@ -7672,6 +7576,28 @@ export type BlessingRange =
7672
7576
  Fixed: FixedRange
7673
7577
  }
7674
7578
 
7579
+ export interface FixedRange {
7580
+ /**
7581
+ * If `true`, the range is a maximum range.
7582
+ */
7583
+ is_maximum?: boolean
7584
+
7585
+ /**
7586
+ * The (unitless) range value.
7587
+ */
7588
+ value: number
7589
+
7590
+ /**
7591
+ * The unit of the `value`.
7592
+ */
7593
+ unit: RangeUnit
7594
+
7595
+ /**
7596
+ * If `true`, the range is a radius.
7597
+ */
7598
+ is_radius?: boolean
7599
+ }
7600
+
7675
7601
  export type BlessingDuration =
7676
7602
  | {
7677
7603
  kind: "Immediate"
@@ -17810,12 +17736,12 @@ export interface BannzeichenDuration {
17810
17736
  /**
17811
17737
  * The duration on slow Bannzeichen application.
17812
17738
  */
17813
- slow: CheckResultBasedDuration
17739
+ slow: ExpressionBasedDuration
17814
17740
 
17815
17741
  /**
17816
17742
  * The duration on fast Bannzeichen application.
17817
17743
  */
17818
- fast: CheckResultBasedDuration
17744
+ fast: ExpressionBasedDuration
17819
17745
  }
17820
17746
 
17821
17747
  export type BannzeichenImprovementCost =
@@ -17940,12 +17866,8 @@ export type CurseDuration =
17940
17866
  kind: "Immediate"
17941
17867
  }
17942
17868
  | {
17943
- kind: "Fixed"
17944
- Fixed: DurationUnitValue
17945
- }
17946
- | {
17947
- kind: "CheckResultBased"
17948
- CheckResultBased: CheckResultBasedDuration
17869
+ kind: "Expression"
17870
+ Expression: ExpressionBasedDuration
17949
17871
  }
17950
17872
  | {
17951
17873
  kind: "Indefinite"
@@ -17975,12 +17897,8 @@ export interface IndefiniteCurseDurationTranslation {
17975
17897
 
17976
17898
  export type MaximumIndefiniteCurseDuration =
17977
17899
  | {
17978
- kind: "Fixed"
17979
- Fixed: DurationUnitValue
17980
- }
17981
- | {
17982
- kind: "CheckResultBased"
17983
- CheckResultBased: CheckResultBasedDuration
17900
+ kind: "Expression"
17901
+ Expression: ExpressionBasedDuration
17984
17902
  }
17985
17903
 
17986
17904
  export interface ElvenMagicalSong {
@@ -18196,30 +18114,14 @@ export interface DominationRitualCostTranslation {
18196
18114
 
18197
18115
  export type DominationRitualDuration =
18198
18116
  | {
18199
- kind: "Fixed"
18200
- Fixed: FixedDominationRitualDuration
18201
- }
18202
- | {
18203
- kind: "CheckResultBased"
18204
- CheckResultBased: CheckResultBasedDuration
18117
+ kind: "Expression"
18118
+ Expression: ExpressionBasedDuration
18205
18119
  }
18206
18120
  | {
18207
18121
  kind: "Indefinite"
18208
18122
  Indefinite: IndefiniteDominationRitualDuration
18209
18123
  }
18210
18124
 
18211
- export interface FixedDominationRitualDuration {
18212
- /**
18213
- * The (unitless) duration.
18214
- */
18215
- value: number
18216
-
18217
- /**
18218
- * The duration unit.
18219
- */
18220
- unit: DurationUnit
18221
- }
18222
-
18223
18125
  export interface IndefiniteDominationRitualDuration {
18224
18126
  /**
18225
18127
  * Specified if the duration has a maximum time span.
@@ -18243,12 +18145,8 @@ export interface IndefiniteDominationRitualDurationTranslation {
18243
18145
 
18244
18146
  export type MaximumIndefiniteDominationRitualDuration =
18245
18147
  | {
18246
- kind: "Fixed"
18247
- Fixed: FixedDominationRitualDuration
18248
- }
18249
- | {
18250
- kind: "CheckResultBased"
18251
- CheckResultBased: CheckResultBasedDuration
18148
+ kind: "Expression"
18149
+ Expression: ExpressionBasedDuration
18252
18150
  }
18253
18151
 
18254
18152
  export interface MagicalMelody {
@@ -18567,6 +18465,29 @@ export interface IndefiniteMagicalDanceCostTranslation {
18567
18465
  description: ResponsiveText
18568
18466
  }
18569
18467
 
18468
+ export interface CheckResultBasedModifier {
18469
+ /**
18470
+ * The arithmetic how to apply the `value` to the `base`.
18471
+ */
18472
+ arithmetic: CheckResultArithmetic
18473
+
18474
+ /**
18475
+ * The value that is applied to the `base` using the defined `arithmetic`.
18476
+ */
18477
+ value: number
18478
+ }
18479
+
18480
+ /**
18481
+ * Defines how the the `value` is set off against the check result.
18482
+ */
18483
+ export type CheckResultArithmetic =
18484
+ | {
18485
+ kind: "Multiply"
18486
+ }
18487
+ | {
18488
+ kind: "Divide"
18489
+ }
18490
+
18570
18491
  /**
18571
18492
  * A reference to a music tradition with the music-tradition-specific name of the entry.
18572
18493
  */
@@ -18750,26 +18671,10 @@ export type JesterTrickDuration =
18750
18671
  kind: "Immediate"
18751
18672
  }
18752
18673
  | {
18753
- kind: "Fixed"
18754
- Fixed: FixedJesterTrickDuration
18755
- }
18756
- | {
18757
- kind: "CheckResultBased"
18758
- CheckResultBased: CheckResultBasedDuration
18674
+ kind: "Expression"
18675
+ Expression: ExpressionBasedDuration
18759
18676
  }
18760
18677
 
18761
- export interface FixedJesterTrickDuration {
18762
- /**
18763
- * The (unitless) duration.
18764
- */
18765
- value: number
18766
-
18767
- /**
18768
- * The duration unit.
18769
- */
18770
- unit: DurationUnit
18771
- }
18772
-
18773
18678
  export interface AnimistPower {
18774
18679
  /**
18775
18680
  * Lists the linked three attributes used to make a skill check.
@@ -18934,12 +18839,8 @@ export type OneTimeAnimistPowerDuration =
18934
18839
  kind: "Immediate"
18935
18840
  }
18936
18841
  | {
18937
- kind: "Fixed"
18938
- Fixed: DurationUnitValue
18939
- }
18940
- | {
18941
- kind: "CheckResultBased"
18942
- CheckResultBased: CheckResultBasedDuration
18842
+ kind: "Expression"
18843
+ Expression: ExpressionBasedDuration
18943
18844
  }
18944
18845
 
18945
18846
  export interface SustainedAnimistPowerPerformanceParameters {
@@ -19167,12 +19068,8 @@ export type GeodeRitualDuration =
19167
19068
  kind: "Immediate"
19168
19069
  }
19169
19070
  | {
19170
- kind: "Fixed"
19171
- Fixed: DurationUnitValue
19172
- }
19173
- | {
19174
- kind: "CheckResultBased"
19175
- CheckResultBased: CheckResultBasedDuration
19071
+ kind: "Expression"
19072
+ Expression: ExpressionBasedDuration
19176
19073
  }
19177
19074
 
19178
19075
  export type GeodeRitualPrerequisites = PlainPrerequisites<GeodeRitualPrerequisiteGroup>
@@ -19350,8 +19247,8 @@ export type GoblinRitualRangeValue =
19350
19247
  kind: "Touch"
19351
19248
  }
19352
19249
  | {
19353
- kind: "Fixed"
19354
- Fixed: FixedRange
19250
+ kind: "Expression"
19251
+ Expression: ExpressionBasedRange
19355
19252
  }
19356
19253
 
19357
19254
  export type GoblinRitualDuration =
@@ -19359,12 +19256,8 @@ export type GoblinRitualDuration =
19359
19256
  kind: "Immediate"
19360
19257
  }
19361
19258
  | {
19362
- kind: "Fixed"
19363
- Fixed: DurationUnitValue
19364
- }
19365
- | {
19366
- kind: "CheckResultBased"
19367
- CheckResultBased: CheckResultBasedDuration
19259
+ kind: "Expression"
19260
+ Expression: ExpressionBasedDuration
19368
19261
  }
19369
19262
 
19370
19263
  export interface GoblinRitualSustainedPerformanceParameters {
@@ -19731,12 +19624,12 @@ export interface MagicalRuneDuration {
19731
19624
  /**
19732
19625
  * The duration on slow rune application.
19733
19626
  */
19734
- slow: CheckResultBasedDuration
19627
+ slow: ExpressionBasedDuration
19735
19628
 
19736
19629
  /**
19737
19630
  * The duration on fast rune application.
19738
19631
  */
19739
- fast: CheckResultBasedDuration
19632
+ fast: ExpressionBasedDuration
19740
19633
  }
19741
19634
 
19742
19635
  export type MagicalRuneImprovementCost =
@@ -24758,8 +24651,8 @@ export type FamiliarsTrickOneTimeDuration =
24758
24651
  kind: "Immediate"
24759
24652
  }
24760
24653
  | {
24761
- kind: "Fixed"
24762
- Fixed: FixedDuration
24654
+ kind: "Expression"
24655
+ Expression: ExpressionBasedDuration
24763
24656
  }
24764
24657
  | {
24765
24658
  kind: "Indefinite"
@@ -180,29 +180,9 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
180
180
  Self: DB.EnumCase<null>;
181
181
  Global: DB.EnumCase<null>;
182
182
  Touch: DB.EnumCase<null>;
183
- Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedRange", DB.Object<{
183
+ Expression: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ExpressionBasedRange", DB.Object<{
184
184
  is_maximum: DB.MemberDecl<DB.Boolean, false>;
185
- value: DB.MemberDecl<DB.Integer, true>;
186
- unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"RangeUnit", {
187
- Steps: DB.EnumCase<null>;
188
- Miles: DB.EnumCase<null>;
189
- }, []>>, true>;
190
- is_radius: DB.MemberDecl<DB.Boolean, false>;
191
- }>, []>>>;
192
- CheckResultBased: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CheckResultBasedRange", DB.Object<{
193
- is_maximum: DB.MemberDecl<DB.Boolean, false>;
194
- base: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultValue", {
195
- QualityLevels: DB.EnumCase<null>;
196
- SkillPoints: DB.EnumCase<null>;
197
- SkillRating: DB.EnumCase<null>;
198
- }, []>>, true>;
199
- modifier: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"CheckResultBasedModifier", DB.Object<{
200
- arithmetic: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultArithmetic", {
201
- Multiply: DB.EnumCase<null>;
202
- Divide: DB.EnumCase<null>;
203
- }, []>>, true>;
204
- value: DB.MemberDecl<DB.Integer, true>;
205
- }>, []>>, false>;
185
+ value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ExpressionBasedParameterValue", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], import("./_MathExpression.ts").MathOperation>, []>>, true>;
206
186
  unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"RangeUnit", {
207
187
  Steps: DB.EnumCase<null>;
208
188
  Miles: DB.EnumCase<null>;
@@ -253,42 +233,9 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
253
233
  }>, []>>, false>;
254
234
  }>, false>;
255
235
  }>, []>>>;
256
- Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedDuration", DB.Object<{
257
- is_maximum: DB.MemberDecl<DB.Boolean, false>;
258
- value: DB.MemberDecl<DB.Integer, true>;
259
- unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
260
- Seconds: DB.EnumCase<null>;
261
- Minutes: DB.EnumCase<null>;
262
- Hours: DB.EnumCase<null>;
263
- Days: DB.EnumCase<null>;
264
- Weeks: DB.EnumCase<null>;
265
- Months: DB.EnumCase<null>;
266
- Years: DB.EnumCase<null>;
267
- Centuries: DB.EnumCase<null>;
268
- Actions: DB.EnumCase<null>;
269
- CombatRounds: DB.EnumCase<null>;
270
- }, []>>, true>;
271
- translations: DB.MemberDecl<DB.NestedEntityMap<"FixedDurationTranslation", {
272
- replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextReplace", DB.Object<{
273
- full: DB.MemberDecl<DB.String, true>;
274
- compressed: DB.MemberDecl<DB.String, true>;
275
- }>, []>>, false>;
276
- }>, false>;
277
- }>, []>>>;
278
- CheckResultBased: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CheckResultBasedDuration", DB.Object<{
236
+ Expression: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ExpressionBasedDuration", DB.Object<{
279
237
  is_maximum: DB.MemberDecl<DB.Boolean, false>;
280
- base: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultValue", {
281
- QualityLevels: DB.EnumCase<null>;
282
- SkillPoints: DB.EnumCase<null>;
283
- SkillRating: DB.EnumCase<null>;
284
- }, []>>, true>;
285
- modifier: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"CheckResultBasedModifier", DB.Object<{
286
- arithmetic: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultArithmetic", {
287
- Multiply: DB.EnumCase<null>;
288
- Divide: DB.EnumCase<null>;
289
- }, []>>, true>;
290
- value: DB.MemberDecl<DB.Integer, true>;
291
- }>, []>>, false>;
238
+ value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ExpressionBasedParameterValue", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], import("./_MathExpression.ts").MathOperation>, []>>, true>;
292
239
  unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
293
240
  Seconds: DB.EnumCase<null>;
294
241
  Minutes: DB.EnumCase<null>;
@@ -301,7 +248,7 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
301
248
  Actions: DB.EnumCase<null>;
302
249
  CombatRounds: DB.EnumCase<null>;
303
250
  }, []>>, true>;
304
- translations: DB.MemberDecl<DB.NestedEntityMap<"CheckResultBasedDurationTranslation", {
251
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ExpressionBasedDurationTranslation", {
305
252
  replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextReplace", DB.Object<{
306
253
  full: DB.MemberDecl<DB.String, true>;
307
254
  compressed: DB.MemberDecl<DB.String, true>;
@@ -423,29 +370,9 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
423
370
  Self: DB.EnumCase<null>;
424
371
  Global: DB.EnumCase<null>;
425
372
  Touch: DB.EnumCase<null>;
426
- Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedRange", DB.Object<{
373
+ Expression: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ExpressionBasedRange", DB.Object<{
427
374
  is_maximum: DB.MemberDecl<DB.Boolean, false>;
428
- value: DB.MemberDecl<DB.Integer, true>;
429
- unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"RangeUnit", {
430
- Steps: DB.EnumCase<null>;
431
- Miles: DB.EnumCase<null>;
432
- }, []>>, true>;
433
- is_radius: DB.MemberDecl<DB.Boolean, false>;
434
- }>, []>>>;
435
- CheckResultBased: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CheckResultBasedRange", DB.Object<{
436
- is_maximum: DB.MemberDecl<DB.Boolean, false>;
437
- base: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultValue", {
438
- QualityLevels: DB.EnumCase<null>;
439
- SkillPoints: DB.EnumCase<null>;
440
- SkillRating: DB.EnumCase<null>;
441
- }, []>>, true>;
442
- modifier: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"CheckResultBasedModifier", DB.Object<{
443
- arithmetic: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultArithmetic", {
444
- Multiply: DB.EnumCase<null>;
445
- Divide: DB.EnumCase<null>;
446
- }, []>>, true>;
447
- value: DB.MemberDecl<DB.Integer, true>;
448
- }>, []>>, false>;
375
+ value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ExpressionBasedParameterValue", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], import("./_MathExpression.ts").MathOperation>, []>>, true>;
449
376
  unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"RangeUnit", {
450
377
  Steps: DB.EnumCase<null>;
451
378
  Miles: DB.EnumCase<null>;
@@ -47,9 +47,9 @@ export declare const FamiliarsTrick: DB.Entity<"FamiliarsTrick", {
47
47
  }, []>>, true>;
48
48
  duration: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"FamiliarsTrickOneTimeDuration", {
49
49
  Immediate: DB.EnumCase<null>;
50
- Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedDuration", DB.Object<{
50
+ Expression: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ExpressionBasedDuration", DB.Object<{
51
51
  is_maximum: DB.MemberDecl<DB.Boolean, false>;
52
- value: DB.MemberDecl<DB.Integer, true>;
52
+ value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ExpressionBasedParameterValue", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], import("./_MathExpression.ts").MathOperation>, []>>, true>;
53
53
  unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
54
54
  Seconds: DB.EnumCase<null>;
55
55
  Minutes: DB.EnumCase<null>;
@@ -62,7 +62,7 @@ export declare const FamiliarsTrick: DB.Entity<"FamiliarsTrick", {
62
62
  Actions: DB.EnumCase<null>;
63
63
  CombatRounds: DB.EnumCase<null>;
64
64
  }, []>>, true>;
65
- translations: DB.MemberDecl<DB.NestedEntityMap<"FixedDurationTranslation", {
65
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ExpressionBasedDurationTranslation", {
66
66
  replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextReplace", DB.Object<{
67
67
  full: DB.MemberDecl<DB.String, true>;
68
68
  compressed: DB.MemberDecl<DB.String, true>;
@@ -1,7 +1,7 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  import { OldParameter } from "./_ActivatableSkill.js";
3
3
  import { IndefiniteOneTimeCost, NonModifiableOneTimeCostPerCountable, } from "./_ActivatableSkillCost.js";
4
- import { DurationUnitValue, FixedDuration, IndefiniteDuration, } from "./_ActivatableSkillDuration.js";
4
+ import { DurationUnitValue, ExpressionBasedDuration, IndefiniteDuration, } from "./_ActivatableSkillDuration.js";
5
5
  import { AnimalTypeIdentifier, MagicalTraditionIdentifier, PropertyIdentifier, } from "./_Identifier.js";
6
6
  import { ResponsiveText } from "./_ResponsiveText.js";
7
7
  import { NestedTranslationMap } from "./Locale.js";
@@ -154,7 +154,7 @@ const FamiliarsTrickOneTimeDuration = DB.Enum(import.meta.url, {
154
154
  name: "FamiliarsTrickOneTimeDuration",
155
155
  values: () => ({
156
156
  Immediate: DB.EnumCase({ type: null }),
157
- Fixed: DB.EnumCase({ type: DB.IncludeIdentifier(FixedDuration) }),
157
+ Expression: DB.EnumCase({ type: DB.IncludeIdentifier(ExpressionBasedDuration) }),
158
158
  Indefinite: DB.EnumCase({ type: DB.IncludeIdentifier(IndefiniteDuration) }),
159
159
  }),
160
160
  });