optolith-database-schema 0.31.4 → 0.32.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 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.32.0](https://github.com/elyukai/optolith-database-schema/compare/v0.31.4...v0.32.0) (2026-02-21)
6
+
7
+
8
+ ### ⚠ BREAKING CHANGES
9
+
10
+ * streamline types
11
+
12
+ * streamline types ([9fd01ec](https://github.com/elyukai/optolith-database-schema/commit/9fd01ec1f287b881548f91d562eea7efcfc2e50f))
13
+
14
+
15
+ ### Features
16
+
17
+ * add translations for magical actions ([db431e2](https://github.com/elyukai/optolith-database-schema/commit/db431e25cf45b732ea5ed4be9faca7b6e98617ca))
18
+
5
19
  ## [0.31.4](https://github.com/elyukai/optolith-database-schema/compare/v0.31.3...v0.31.4) (2026-02-16)
6
20
 
7
21
 
package/gen/types.d.ts CHANGED
@@ -316,7 +316,6 @@ export type EnumMap = {
316
316
  MagicalRuneCheckPenalty: MagicalRuneCheckPenalty
317
317
  MagicalRuneCost: MagicalRuneCost
318
318
  MagicalRuneImprovementCost: MagicalRuneImprovementCost
319
- MagicalRuneOptionCost: MagicalRuneOptionCost
320
319
  MagicalRuneSuboption: MagicalRuneSuboption
321
320
  MagicalSignCost: MagicalSignCost
322
321
  MagicalTraditionPrerequisiteRestriction: MagicalTraditionPrerequisiteRestriction
@@ -566,7 +565,6 @@ export type TypeAliasMap = {
566
565
  FavoredSkillsSelection: FavoredSkillsSelection
567
566
  FirstPersonMagicalMelodyCost: FirstPersonMagicalMelodyCost
568
567
  FixedAdventurePointsValue: FixedAdventurePointsValue
569
- FixedAnimistPowerCost: FixedAnimistPowerCost
570
568
  FixedArcaneEnergyCost: FixedArcaneEnergyCost
571
569
  FixedAttributeAdjustment: FixedAttributeAdjustment
572
570
  FixedAutomaticEntryTarget: FixedAutomaticEntryTarget
@@ -584,8 +582,10 @@ export type TypeAliasMap = {
584
582
  FixedLifePointsCost: FixedLifePointsCost
585
583
  FixedMagicalDanceCost: FixedMagicalDanceCost
586
584
  FixedMagicalMelodyCost: FixedMagicalMelodyCost
585
+ FixedOneTimeAnimistPowerCost: FixedOneTimeAnimistPowerCost
587
586
  FixedPactGiftPermanentDemonicConsumption: FixedPactGiftPermanentDemonicConsumption
588
587
  FixedRange: FixedRange
588
+ FixedSustainedAnimistPowerCost: FixedSustainedAnimistPowerCost
589
589
  FixedVolume: FixedVolume
590
590
  GeneralAnimalCare: GeneralAnimalCare
591
591
  GeneralPrerequisites: GeneralPrerequisites
@@ -648,6 +648,7 @@ export type TypeAliasMap = {
648
648
  MagicalRuneCombatTechniqueCheckPenaltyRest: MagicalRuneCombatTechniqueCheckPenaltyRest
649
649
  MagicalRuneCostDisjunction: MagicalRuneCostDisjunction
650
650
  MagicalRuneCraftingTime: MagicalRuneCraftingTime
651
+ MagicalRuneCraftingTimePerCountable: MagicalRuneCraftingTimePerCountable
651
652
  MagicalRuneDuration: MagicalRuneDuration
652
653
  MagicalRunePerformanceParameters: MagicalRunePerformanceParameters
653
654
  MagicalSkillRating: MagicalSkillRating
@@ -1926,11 +1927,12 @@ export interface Locale {
1926
1927
  "at least {$value}": string & { __params: { "value": StringableTranslationParameter } }
1927
1928
  "/{$value}": string & { __params: { "value": StringableTranslationParameter } }
1928
1929
  " per {$value}": string & { __params: { "value": StringableTranslationParameter } }
1929
- ", minimum of {$value}": string & { __params: { "value": StringableTranslationParameter } }
1930
+ "{$baseCost}, minimum of {$value}": string & { __params: { "baseCost": StringableTranslationParameter; "value": StringableTranslationParameter } }
1930
1931
  " ({$value} perm.)": string & { __params: { "value": StringableTranslationParameter } }
1931
1932
  ".input {$value :number} {{, {$value} of which are permanent}}": string & { __params: { "value": number } }
1932
1933
  ", {$value} of which are permanent": string & { __params: { "value": StringableTranslationParameter } }
1933
1934
  "half of the activation cost": string
1935
+ "50%": string
1934
1936
  " and ": string
1935
1937
  " + ": string
1936
1938
  " or ": string
@@ -1963,6 +1965,7 @@ export interface Locale {
1963
1965
  "Touch": string
1964
1966
  "Radius": string
1965
1967
  " (casting)": string
1968
+ "activation": string
1966
1969
  "Zone": string
1967
1970
  "Liturgical Chants and Ceremonies": string
1968
1971
  "Spellworks": string
@@ -2263,13 +2266,15 @@ export interface Locale {
2263
2266
  "{$points} points for levels {$levels}": string & { __params: { "points": StringableTranslationParameter; "levels": StringableTranslationParameter } }
2264
2267
  "{$value} LP": string & { __params: { "value": StringableTranslationParameter } }
2265
2268
  ".input {$value :number} {{{$value} permanent AE}}": string & { __params: { "value": number } }
2269
+ "{$value} permanent AE": string & { __params: { "value": StringableTranslationParameter } }
2270
+ "{$value} pAE": string & { __params: { "value": StringableTranslationParameter } }
2266
2271
  "{$cost} per {$interval}": string & { __params: { "cost": StringableTranslationParameter; "interval": StringableTranslationParameter } }
2272
+ "{$cost}/{$interval}": string & { __params: { "cost": StringableTranslationParameter; "interval": StringableTranslationParameter } }
2267
2273
  "{$cost} per {$countable}": string & { __params: { "cost": StringableTranslationParameter; "countable": StringableTranslationParameter } }
2274
+ "{$cost}/{$countable}": string & { __params: { "cost": StringableTranslationParameter; "countable": StringableTranslationParameter } }
2268
2275
  "{$cost} per level": string & { __params: { "cost": StringableTranslationParameter } }
2269
2276
  "{$cost} for level {$level}": string & { __params: { "cost": StringableTranslationParameter; "level": StringableTranslationParameter } }
2270
- "{$cost} (activation) + {$halvedCost} per {$interval}": string & { __params: { "cost": StringableTranslationParameter; "halvedCost": StringableTranslationParameter; "interval": StringableTranslationParameter } }
2271
2277
  "Variable": string
2272
- "{$value} permanent AE": string & { __params: { "value": StringableTranslationParameter } }
2273
2278
  "Guideline": string
2274
2279
  "Elective Spellworks Package": string
2275
2280
  "Restricted Spellworks": string
@@ -2386,6 +2391,24 @@ export interface Locale {
2386
2391
  "Animal Types": string
2387
2392
  "Communicability to Intelligent Creatures": string
2388
2393
  "Can be combined with": string
2394
+ "Skill": string
2395
+ "{$defaultDuration}, but no more than {$maximumDuration}": string & { __params: { "defaultDuration": StringableTranslationParameter; "maximumDuration": StringableTranslationParameter } }
2396
+ "Music Tradition": string
2397
+ "long": string
2398
+ "short": string
2399
+ "one-time": string
2400
+ "sustainable": string
2401
+ "{$firstPersonValue} for the first person; {$additionalPersonValue} for each additional person": string & { __params: { "firstPersonValue": StringableTranslationParameter; "additionalPersonValue": StringableTranslationParameter } }
2402
+ "Tribe Tradition": string
2403
+ "Depends on animal type": string
2404
+ "Crafting Time (slow / fast)": string
2405
+ "Duration (slow / fast)": string
2406
+ "Combat Technique": string
2407
+ "CT": string
2408
+ "All familiars know this trick by default.": string
2409
+ "All AE": string
2410
+ "All AE, at least {$value} AE": string & { __params: { "value": StringableTranslationParameter } }
2411
+ "depends on spent AE": string
2389
2412
  }
2390
2413
  }
2391
2414
 
@@ -5527,7 +5550,7 @@ export interface NonModifiableOneTimeCostPerCountable {
5527
5550
  /**
5528
5551
  * All translations for the entry, identified by IETF language tag (BCP47).
5529
5552
  */
5530
- translations?: {
5553
+ translations: {
5531
5554
  [localeId: string]: NonModifiableOneTimeCostPerCountableTranslation
5532
5555
  }
5533
5556
  }
@@ -7448,7 +7471,7 @@ export interface InfluenceEffect {
7448
7471
  /**
7449
7472
  * An optional label that is displayed and placed before the actual text.
7450
7473
  */
7451
- label?: string
7474
+ label: string
7452
7475
 
7453
7476
  /**
7454
7477
  * The effect text.
@@ -16498,18 +16521,9 @@ export interface ElvenMagicalSongCost {
16498
16521
  permanent?: ElvenMagicalSongPermanentCost
16499
16522
 
16500
16523
  /**
16501
- * All translations for the entry, identified by IETF language tag (BCP47).
16502
- */
16503
- translations?: {
16504
- [localeId: string]: ElvenMagicalSongCostTranslation
16505
- }
16506
- }
16507
-
16508
- export interface ElvenMagicalSongCostTranslation {
16509
- /**
16510
- * The cost have to be per a specific countable entity, e.g. `8 AE per person`.
16524
+ * The cost have to be per a specific countable entity, e.g. `8 KP per person`.
16511
16525
  */
16512
- per: ResponsiveText
16526
+ per?: NonModifiableOneTimeCostPerCountable
16513
16527
  }
16514
16528
 
16515
16529
  export interface ElvenMagicalSongPermanentCost {
@@ -16932,26 +16946,17 @@ export interface FixedMagicalDanceCost {
16932
16946
  */
16933
16947
  value: number
16934
16948
 
16935
- /**
16936
- * All translations for the entry, identified by IETF language tag (BCP47).
16937
- */
16938
- translations?: {
16939
- [localeId: string]: FixedMagicalDanceCostTranslation
16940
- }
16941
- }
16942
-
16943
- export interface FixedMagicalDanceCostTranslation {
16944
16949
  /**
16945
16950
  * The cost have to be per a specific countable entity, e.g. `8 KP per person`.
16946
16951
  */
16947
- per?: ResponsiveTextOptional
16952
+ per?: NonModifiableOneTimeCostPerCountable
16948
16953
  }
16949
16954
 
16950
16955
  export interface IndefiniteMagicalDanceCost {
16951
16956
  /**
16952
16957
  * Specified if the indefinite description's result value is to be modified by a certain number.
16953
16958
  */
16954
- maximum?: CheckResultBasedModifier
16959
+ modifier?: CheckResultBasedModifier
16955
16960
 
16956
16961
  /**
16957
16962
  * All translations for the entry, identified by IETF language tag (BCP47).
@@ -17257,21 +17262,21 @@ export interface OneTimeAnimistPowerPerformanceParameters {
17257
17262
  export type OneTimeAnimistPowerCost =
17258
17263
  | {
17259
17264
  kind: "Fixed"
17260
- Fixed: FixedAnimistPowerCost
17265
+ Fixed: FixedOneTimeAnimistPowerCost
17261
17266
  }
17262
17267
  | {
17263
17268
  kind: "ByPrimaryPatron"
17264
17269
  ByPrimaryPatron: AnimistPowerCostByPrimaryPatron
17265
17270
  }
17266
17271
 
17267
- export interface FixedAnimistPowerCost {
17272
+ export interface FixedOneTimeAnimistPowerCost {
17268
17273
  /**
17269
17274
  * The (temporary) AE cost value.
17270
17275
  */
17271
17276
  value: number
17272
17277
 
17273
17278
  /**
17274
- * If defined, half of the AE cost `value` has to be paid each interval.
17279
+ * If defined, the AE cost has to be paid each interval.
17275
17280
  */
17276
17281
  interval?: DurationUnitValue
17277
17282
  }
@@ -17320,13 +17325,25 @@ export interface SustainedAnimistPowerPerformanceParameters {
17320
17325
  export type SustainedAnimistPowerCost =
17321
17326
  | {
17322
17327
  kind: "Fixed"
17323
- Fixed: FixedAnimistPowerCost
17328
+ Fixed: FixedSustainedAnimistPowerCost
17324
17329
  }
17325
17330
  | {
17326
17331
  kind: "ByPrimaryPatron"
17327
17332
  ByPrimaryPatron: AnimistPowerCostByPrimaryPatron
17328
17333
  }
17329
17334
 
17335
+ export interface FixedSustainedAnimistPowerCost {
17336
+ /**
17337
+ * The (temporary) AE cost value.
17338
+ */
17339
+ value: number
17340
+
17341
+ /**
17342
+ * Half of the AE cost `value` has to be paid each interval.
17343
+ */
17344
+ interval: DurationUnitValue
17345
+ }
17346
+
17330
17347
  export type AnimistPowerImprovementCost =
17331
17348
  | {
17332
17349
  kind: "Fixed"
@@ -17699,7 +17716,7 @@ export interface MagicalRuneOption {
17699
17716
  /**
17700
17717
  * The option-specific AE cost.
17701
17718
  */
17702
- cost?: MagicalRuneOptionCost
17719
+ cost?: SingleMagicalRuneCost
17703
17720
 
17704
17721
  /**
17705
17722
  * The option-specific improvement cost.
@@ -17735,16 +17752,6 @@ export interface MagicalRuneOptionTranslation {
17735
17752
  native_name: string
17736
17753
  }
17737
17754
 
17738
- export type MagicalRuneOptionCost =
17739
- | {
17740
- kind: "Single"
17741
- Single: SingleMagicalRuneCost
17742
- }
17743
- | {
17744
- kind: "Disjunction"
17745
- Disjunction: MagicalRuneCostDisjunction
17746
- }
17747
-
17748
17755
  export interface SingleMagicalRuneCost {
17749
17756
  /**
17750
17757
  * The AE cost value.
@@ -17766,13 +17773,6 @@ export interface SingleMagicalRuneCostTranslation {
17766
17773
  note: ResponsiveTextOptional
17767
17774
  }
17768
17775
 
17769
- export interface MagicalRuneCostDisjunction {
17770
- /**
17771
- * A set of possible AE cost values.
17772
- */
17773
- list: SingleMagicalRuneCost[]
17774
- }
17775
-
17776
17776
  export type MagicalRuneSuboption =
17777
17777
  | {
17778
17778
  kind: "Custom"
@@ -17862,25 +17862,39 @@ export type MagicalRuneCost =
17862
17862
  kind: "DerivedFromOption"
17863
17863
  }
17864
17864
 
17865
+ export interface MagicalRuneCostDisjunction {
17866
+ /**
17867
+ * A set of possible AE cost values.
17868
+ */
17869
+ list: SingleMagicalRuneCost[]
17870
+ }
17871
+
17865
17872
  export interface MagicalRuneCraftingTime {
17866
17873
  /**
17867
17874
  * The crafting time in actions.
17868
17875
  */
17869
17876
  value: number
17870
17877
 
17878
+ /**
17879
+ * The crafting time has to be per a specific countable entity, e.g. `8 Actions per person`.
17880
+ */
17881
+ per?: MagicalRuneCraftingTimePerCountable
17882
+ }
17883
+
17884
+ export interface MagicalRuneCraftingTimePerCountable {
17871
17885
  /**
17872
17886
  * All translations for the entry, identified by IETF language tag (BCP47).
17873
17887
  */
17874
- translations?: {
17875
- [localeId: string]: MagicalRuneCraftingTimeTranslation
17888
+ translations: {
17889
+ [localeId: string]: MagicalRuneCraftingTimePerCountableTranslation
17876
17890
  }
17877
17891
  }
17878
17892
 
17879
- export interface MagicalRuneCraftingTimeTranslation {
17893
+ export interface MagicalRuneCraftingTimePerCountableTranslation {
17880
17894
  /**
17881
- * The crafting time has to be per a specific countable entity, e.g. `8 actions per person`.
17895
+ * The countable entity name.
17882
17896
  */
17883
- per: ResponsiveText
17897
+ countable: ResponsiveText
17884
17898
  }
17885
17899
 
17886
17900
  export interface MagicalRuneDuration {
@@ -18652,6 +18666,9 @@ export type AdvantageDisadvantagePrerequisiteGroup =
18652
18666
  | {
18653
18667
  kind: "CommonSuggestedByRCP"
18654
18668
  }
18669
+ | {
18670
+ kind: "NoOtherAncestorBloodAdvantage"
18671
+ }
18655
18672
  | {
18656
18673
  kind: "Sex"
18657
18674
  Sex: SexPrerequisite
@@ -18716,9 +18733,6 @@ export type AdvantageDisadvantagePrerequisiteGroup =
18716
18733
  kind: "Text"
18717
18734
  Text: TextPrerequisite
18718
18735
  }
18719
- | {
18720
- kind: "NoOtherAncestorBloodAdvantage"
18721
- }
18722
18736
  | {
18723
18737
  kind: "SexualCharacteristic"
18724
18738
  SexualCharacteristic: SexualCharacteristicPrerequisite
@@ -22848,7 +22862,7 @@ export interface FamiliarsTrickFixedOneTimeCost {
22848
22862
  /**
22849
22863
  * The AE cost value.
22850
22864
  */
22851
- ae_value: number
22865
+ value: number
22852
22866
 
22853
22867
  /**
22854
22868
  * The LP cost value.
@@ -22860,19 +22874,10 @@ export interface FamiliarsTrickFixedOneTimeCost {
22860
22874
  */
22861
22875
  interval?: DurationUnitValue
22862
22876
 
22863
- /**
22864
- * All translations for the entry, identified by IETF language tag (BCP47).
22865
- */
22866
- translations?: {
22867
- [localeId: string]: FamiliarsTrickFixedOneTimeCostTranslation
22868
- }
22869
- }
22870
-
22871
- export interface FamiliarsTrickFixedOneTimeCostTranslation {
22872
22877
  /**
22873
22878
  * The cost have to be per a specific countable entity, e.g. `8 KP per person`.
22874
22879
  */
22875
- per?: ResponsiveTextOptional
22880
+ per?: NonModifiableOneTimeCostPerCountable
22876
22881
  }
22877
22882
 
22878
22883
  export interface FamiliarsTrickAllOneTimeCost {
@@ -22903,12 +22908,7 @@ export interface FamiliarsTrickOneTimeIntervalCost {
22903
22908
  /**
22904
22909
  * The AE cost value.
22905
22910
  */
22906
- ae_value: number
22907
-
22908
- /**
22909
- * The LP cost value.
22910
- */
22911
- lp_value?: number
22911
+ value: number
22912
22912
 
22913
22913
  /**
22914
22914
  * The duration granted/added by paying the given AE cost.
@@ -22924,12 +22924,7 @@ export interface FamiliarsTrickSustainedCost {
22924
22924
  /**
22925
22925
  * The AE cost value.
22926
22926
  */
22927
- ae_value: number
22928
-
22929
- /**
22930
- * The LP cost value.
22931
- */
22932
- lp_value?: number
22927
+ value: number
22933
22928
 
22934
22929
  /**
22935
22930
  * The interval in which you have to pay the AE cost again.
@@ -23111,7 +23106,7 @@ export interface PersonalityTraitEffect {
23111
23106
  /**
23112
23107
  * A label that is displayed and placed before the actual text.
23113
23108
  */
23114
- label?: string
23109
+ label: string
23115
23110
 
23116
23111
  /**
23117
23112
  * The effect text.
@@ -36,7 +36,7 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
36
36
  full: DB.MemberDecl<DB.String, true>;
37
37
  compressed: DB.MemberDecl<DB.String, true>;
38
38
  }>, []>>, true>;
39
- }>, false>;
39
+ }>, true>;
40
40
  }>, []>>, false>;
41
41
  translations: DB.MemberDecl<DB.NestedEntityMap<"NonModifiableOneTimeCostTranslation", {
42
42
  note: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -76,7 +76,7 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
76
76
  full: DB.MemberDecl<DB.String, true>;
77
77
  compressed: DB.MemberDecl<DB.String, true>;
78
78
  }>, []>>, true>;
79
- }>, false>;
79
+ }>, true>;
80
80
  }>, []>>, false>;
81
81
  translations: DB.MemberDecl<DB.NestedEntityMap<"NonModifiableOneTimeCostTranslation", {
82
82
  note: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -116,7 +116,7 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
116
116
  full: DB.MemberDecl<DB.String, true>;
117
117
  compressed: DB.MemberDecl<DB.String, true>;
118
118
  }>, []>>, true>;
119
- }>, false>;
119
+ }>, true>;
120
120
  }>, []>>, false>;
121
121
  translations: DB.MemberDecl<DB.NestedEntityMap<"NonModifiableOneTimeCostTranslation", {
122
122
  note: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -5,7 +5,7 @@ export declare const FamiliarsTrick: DB.Entity<"FamiliarsTrick", {
5
5
  OneTime: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FamiliarsTrickOneTimePerformanceParameters", DB.Object<{
6
6
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"FamiliarsTrickOneTimeCost", {
7
7
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FamiliarsTrickFixedOneTimeCost", DB.Object<{
8
- ae_value: DB.MemberDecl<DB.Integer, true>;
8
+ value: DB.MemberDecl<DB.Integer, true>;
9
9
  lp_value: DB.MemberDecl<DB.Integer, false>;
10
10
  interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
11
11
  value: DB.MemberDecl<DB.Integer, true>;
@@ -22,12 +22,15 @@ export declare const FamiliarsTrick: DB.Entity<"FamiliarsTrick", {
22
22
  CombatRounds: DB.EnumCase<null>;
23
23
  }, []>>, true>;
24
24
  }>, []>>, false>;
25
- translations: DB.MemberDecl<DB.NestedEntityMap<"FamiliarsTrickFixedOneTimeCostTranslation", {
26
- per: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
27
- full: DB.MemberDecl<DB.String, true>;
28
- compressed: DB.MemberDecl<DB.String, false>;
29
- }>, []>>, false>;
30
- }>, false>;
25
+ per: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"NonModifiableOneTimeCostPerCountable", DB.Object<{
26
+ minimum_total: DB.MemberDecl<DB.Integer, false>;
27
+ translations: DB.MemberDecl<DB.NestedEntityMap<"NonModifiableOneTimeCostPerCountableTranslation", {
28
+ countable: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveText", DB.Object<{
29
+ full: DB.MemberDecl<DB.String, true>;
30
+ compressed: DB.MemberDecl<DB.String, true>;
31
+ }>, []>>, true>;
32
+ }>, true>;
33
+ }>, []>>, false>;
31
34
  }>, []>>>;
32
35
  All: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FamiliarsTrickAllOneTimeCost", DB.Object<{
33
36
  minimum: DB.MemberDecl<DB.Integer, false>;
@@ -77,8 +80,7 @@ export declare const FamiliarsTrick: DB.Entity<"FamiliarsTrick", {
77
80
  }>, []>>>;
78
81
  OneTimeInterval: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FamiliarsTrickOneTimeIntervalPerformanceParameters", DB.Object<{
79
82
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"FamiliarsTrickOneTimeIntervalCost", DB.Object<{
80
- ae_value: DB.MemberDecl<DB.Integer, true>;
81
- lp_value: DB.MemberDecl<DB.Integer, false>;
83
+ value: DB.MemberDecl<DB.Integer, true>;
82
84
  interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
83
85
  value: DB.MemberDecl<DB.Integer, true>;
84
86
  unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
@@ -98,8 +100,7 @@ export declare const FamiliarsTrick: DB.Entity<"FamiliarsTrick", {
98
100
  }>, []>>>;
99
101
  Sustained: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FamiliarsTrickSustainedPerformanceParameters", DB.Object<{
100
102
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"FamiliarsTrickSustainedCost", DB.Object<{
101
- ae_value: DB.MemberDecl<DB.Integer, true>;
102
- lp_value: DB.MemberDecl<DB.Integer, false>;
103
+ value: DB.MemberDecl<DB.Integer, true>;
103
104
  interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
104
105
  value: DB.MemberDecl<DB.Integer, true>;
105
106
  unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
@@ -1,9 +1,9 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  import { OldParameter } from "./_ActivatableSkill.js";
3
- import { IndefiniteOneTimeCost } from "./_ActivatableSkillCost.js";
3
+ import { IndefiniteOneTimeCost, NonModifiableOneTimeCostPerCountable, } from "./_ActivatableSkillCost.js";
4
4
  import { DurationUnitValue, FixedDuration, IndefiniteDuration, } from "./_ActivatableSkillDuration.js";
5
5
  import { AnimalTypeIdentifier, PropertyIdentifier } from "./_Identifier.js";
6
- import { ResponsiveText, ResponsiveTextOptional } from "./_ResponsiveText.js";
6
+ 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";
@@ -117,7 +117,7 @@ const FamiliarsTrickOneTimeCost = DB.Enum(import.meta.url, {
117
117
  const FamiliarsTrickFixedOneTimeCost = DB.TypeAlias(import.meta.url, {
118
118
  name: "FamiliarsTrickFixedOneTimeCost",
119
119
  type: () => DB.Object({
120
- ae_value: DB.Required({
120
+ value: DB.Required({
121
121
  comment: "The AE cost value.",
122
122
  type: DB.Integer({ minimum: 1 }),
123
123
  }),
@@ -129,12 +129,10 @@ const FamiliarsTrickFixedOneTimeCost = DB.TypeAlias(import.meta.url, {
129
129
  comment: "The interval in which you have to pay the AE cost again.",
130
130
  type: DB.IncludeIdentifier(DurationUnitValue),
131
131
  }),
132
- translations: NestedTranslationMap(DB.Optional, "FamiliarsTrickFixedOneTimeCost", DB.Object({
133
- per: DB.Optional({
134
- comment: "The cost have to be per a specific countable entity, e.g. `8 KP per person`.",
135
- type: DB.IncludeIdentifier(ResponsiveTextOptional),
136
- }),
137
- }, { minProperties: 1 })),
132
+ per: DB.Optional({
133
+ comment: "The cost have to be per a specific countable entity, e.g. `8 KP per person`.",
134
+ type: DB.IncludeIdentifier(NonModifiableOneTimeCostPerCountable),
135
+ }),
138
136
  }),
139
137
  });
140
138
  const FamiliarsTrickAllOneTimeCost = DB.TypeAlias(import.meta.url, {
@@ -165,14 +163,10 @@ const FamiliarsTrickOneTimeIntervalPerformanceParameters = DB.TypeAlias(import.m
165
163
  const FamiliarsTrickOneTimeIntervalCost = DB.TypeAlias(import.meta.url, {
166
164
  name: "FamiliarsTrickOneTimeIntervalCost",
167
165
  type: () => DB.Object({
168
- ae_value: DB.Required({
166
+ value: DB.Required({
169
167
  comment: "The AE cost value.",
170
168
  type: DB.Integer({ minimum: 1 }),
171
169
  }),
172
- lp_value: DB.Optional({
173
- comment: "The LP cost value.",
174
- type: DB.Integer({ minimum: 1 }),
175
- }),
176
170
  interval: DB.Required({
177
171
  comment: "The duration granted/added by paying the given AE cost.",
178
172
  type: DB.IncludeIdentifier(DurationUnitValue),
@@ -190,14 +184,10 @@ const FamiliarsTrickSustainedPerformanceParameters = DB.TypeAlias(import.meta.ur
190
184
  const FamiliarsTrickSustainedCost = DB.TypeAlias(import.meta.url, {
191
185
  name: "FamiliarsTrickSustainedCost",
192
186
  type: () => DB.Object({
193
- ae_value: DB.Required({
187
+ value: DB.Required({
194
188
  comment: "The AE cost value.",
195
189
  type: DB.Integer({ minimum: 1 }),
196
190
  }),
197
- lp_value: DB.Optional({
198
- comment: "The LP cost value.",
199
- type: DB.Integer({ minimum: 1 }),
200
- }),
201
191
  interval: DB.Optional({
202
192
  comment: "The interval in which you have to pay the AE cost again.",
203
193
  type: DB.IncludeIdentifier(DurationUnitValue),
@@ -36,7 +36,7 @@ export declare const LiturgicalChant: DB.Entity<"LiturgicalChant", {
36
36
  full: DB.MemberDecl<DB.String, true>;
37
37
  compressed: DB.MemberDecl<DB.String, true>;
38
38
  }>, []>>, true>;
39
- }>, false>;
39
+ }>, true>;
40
40
  }>, []>>, false>;
41
41
  translations: DB.MemberDecl<DB.NestedEntityMap<"NonModifiableOneTimeCostTranslation", {
42
42
  note: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -76,7 +76,7 @@ export declare const LiturgicalChant: DB.Entity<"LiturgicalChant", {
76
76
  full: DB.MemberDecl<DB.String, true>;
77
77
  compressed: DB.MemberDecl<DB.String, true>;
78
78
  }>, []>>, true>;
79
- }>, false>;
79
+ }>, true>;
80
80
  }>, []>>, false>;
81
81
  translations: DB.MemberDecl<DB.NestedEntityMap<"NonModifiableOneTimeCostTranslation", {
82
82
  note: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -116,7 +116,7 @@ export declare const LiturgicalChant: DB.Entity<"LiturgicalChant", {
116
116
  full: DB.MemberDecl<DB.String, true>;
117
117
  compressed: DB.MemberDecl<DB.String, true>;
118
118
  }>, []>>, true>;
119
- }>, false>;
119
+ }>, true>;
120
120
  }>, []>>, false>;
121
121
  translations: DB.MemberDecl<DB.NestedEntityMap<"NonModifiableOneTimeCostTranslation", {
122
122
  note: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -992,11 +992,12 @@ export declare const Locale: DB.Entity<"Locale", {
992
992
  "at least {$value}": null;
993
993
  "/{$value}": null;
994
994
  " per {$value}": null;
995
- ", minimum of {$value}": null;
995
+ "{$baseCost}, minimum of {$value}": null;
996
996
  " ({$value} perm.)": null;
997
997
  ".input {$value :number} {{, {$value} of which are permanent}}": null;
998
998
  ", {$value} of which are permanent": null;
999
999
  "half of the activation cost": null;
1000
+ "50%": null;
1000
1001
  " and ": null;
1001
1002
  " + ": null;
1002
1003
  " or ": null;
@@ -1029,6 +1030,7 @@ export declare const Locale: DB.Entity<"Locale", {
1029
1030
  Touch: null;
1030
1031
  Radius: null;
1031
1032
  " (casting)": null;
1033
+ activation: null;
1032
1034
  Zone: null;
1033
1035
  "Liturgical Chants and Ceremonies": null;
1034
1036
  Spellworks: null;
@@ -1344,13 +1346,15 @@ export declare const Locale: DB.Entity<"Locale", {
1344
1346
  "{$points} points for levels {$levels}": null;
1345
1347
  "{$value} LP": null;
1346
1348
  ".input {$value :number} {{{$value} permanent AE}}": null;
1349
+ "{$value} permanent AE": null;
1350
+ "{$value} pAE": null;
1347
1351
  "{$cost} per {$interval}": null;
1352
+ "{$cost}/{$interval}": null;
1348
1353
  "{$cost} per {$countable}": null;
1354
+ "{$cost}/{$countable}": null;
1349
1355
  "{$cost} per level": null;
1350
1356
  "{$cost} for level {$level}": null;
1351
- "{$cost} (activation) + {$halvedCost} per {$interval}": null;
1352
1357
  Variable: null;
1353
- "{$value} permanent AE": null;
1354
1358
  Guideline: null;
1355
1359
  "Elective Spellworks Package": null;
1356
1360
  "Restricted Spellworks": null;
@@ -1467,6 +1471,24 @@ export declare const Locale: DB.Entity<"Locale", {
1467
1471
  "Animal Types": null;
1468
1472
  "Communicability to Intelligent Creatures": null;
1469
1473
  "Can be combined with": null;
1474
+ Skill: null;
1475
+ "{$defaultDuration}, but no more than {$maximumDuration}": null;
1476
+ "Music Tradition": null;
1477
+ long: null;
1478
+ short: null;
1479
+ "one-time": null;
1480
+ sustainable: null;
1481
+ "{$firstPersonValue} for the first person; {$additionalPersonValue} for each additional person": null;
1482
+ "Tribe Tradition": null;
1483
+ "Depends on animal type": null;
1484
+ "Crafting Time (slow / fast)": null;
1485
+ "Duration (slow / fast)": null;
1486
+ "Combat Technique": null;
1487
+ CT: null;
1488
+ "All familiars know this trick by default.": null;
1489
+ "All AE": null;
1490
+ "All AE, at least {$value} AE": null;
1491
+ "depends on spent AE": null;
1470
1492
  }>, false>;
1471
1493
  }, undefined>;
1472
1494
  export declare const NestedTranslationMap: <Name extends string, T extends Record<string, DB.MemberDecl>, R extends boolean>(MemberDeclCreator: <T_1 extends DB.Type>(options: {