@optolith/database-schema 0.47.1 → 0.47.3

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 (55) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/gen/types.d.ts +216 -96
  3. package/lib/types/Profession.js +1 -1
  4. package/lib/types/Race.d.ts +100 -52
  5. package/lib/types/Race.js +13 -4
  6. package/lib/types/Skill.d.ts +123 -0
  7. package/lib/types/Skill.js +2 -1
  8. package/lib/types/_ActivatableNonMundane.d.ts +4 -0
  9. package/lib/types/_ActivatableNonMundane.js +4 -0
  10. package/lib/types/magicalActions/AnimistPower.d.ts +13 -0
  11. package/lib/types/magicalActions/AnimistPower.js +5 -0
  12. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +4 -0
  13. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +5 -18
  14. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +4 -0
  15. package/lib/types/traditionArtifacts/AttireEnchantment.js +5 -18
  16. package/lib/types/traditionArtifacts/Beutelzauber.d.ts +4 -0
  17. package/lib/types/traditionArtifacts/Beutelzauber.js +5 -18
  18. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +4 -0
  19. package/lib/types/traditionArtifacts/BowlEnchantment.js +5 -18
  20. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +4 -0
  21. package/lib/types/traditionArtifacts/CauldronEnchantment.js +5 -18
  22. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +4 -0
  23. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +5 -18
  24. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +4 -0
  25. package/lib/types/traditionArtifacts/DaggerRitual.js +5 -18
  26. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +4 -0
  27. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +5 -18
  28. package/lib/types/traditionArtifacts/Haubenzauber.d.ts +4 -0
  29. package/lib/types/traditionArtifacts/Haubenzauber.js +5 -18
  30. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +4 -0
  31. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +5 -18
  32. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +4 -0
  33. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +5 -18
  34. package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +4 -0
  35. package/lib/types/traditionArtifacts/Kristallkugelzauber.js +5 -18
  36. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +4 -0
  37. package/lib/types/traditionArtifacts/OrbEnchantment.js +5 -18
  38. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +4 -0
  39. package/lib/types/traditionArtifacts/RingEnchantment.js +5 -18
  40. package/lib/types/traditionArtifacts/SickleRitual.d.ts +4 -0
  41. package/lib/types/traditionArtifacts/SickleRitual.js +5 -18
  42. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +4 -0
  43. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +5 -18
  44. package/lib/types/traditionArtifacts/StaffEnchantment.js +5 -23
  45. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +4 -0
  46. package/lib/types/traditionArtifacts/ToyEnchantment.js +5 -18
  47. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +4 -0
  48. package/lib/types/traditionArtifacts/Trinkhornzauber.js +5 -18
  49. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +4 -0
  50. package/lib/types/traditionArtifacts/WandEnchantment.js +5 -18
  51. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +4 -0
  52. package/lib/types/traditionArtifacts/WeaponEnchantment.js +5 -18
  53. package/lib/types/traditionArtifacts/_shared.d.ts +19 -0
  54. package/lib/types/traditionArtifacts/_shared.js +20 -0
  55. 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.47.3](https://github.com/Optolith/database-schema/compare/v0.47.2...v0.47.3) (2026-06-13)
6
+
7
+
8
+ ### Features
9
+
10
+ * level and options for automatic and str. rec. dis/advantages in sub-races ([a7b8e7e](https://github.com/Optolith/database-schema/commit/a7b8e7ec0c6c1c90b8a656b9b19cd156d403382b)), closes [#150](https://github.com/Optolith/database-schema/issues/150)
11
+ * optional sources for skill applications ([cdb86e9](https://github.com/Optolith/database-schema/commit/cdb86e9aa6768601c9f017f01bde6d70108db083))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * profession cantrips must be unique ([6c9f7a6](https://github.com/Optolith/database-schema/commit/6c9f7a6ec2bafb35c40680d1199739f1b435e6a9))
17
+
18
+ ## [0.47.2](https://github.com/Optolith/database-schema/compare/v0.47.1...v0.47.2) (2026-06-08)
19
+
20
+
21
+ ### Features
22
+
23
+ * optional target category for animist powers ([aa556a4](https://github.com/Optolith/database-schema/commit/aa556a48c842fabc80b2564c15743fc68b730668))
24
+
5
25
  ## [0.47.1](https://github.com/Optolith/database-schema/compare/v0.47.0...v0.47.1) (2026-06-08)
6
26
 
7
27
 
package/gen/types.d.ts CHANGED
@@ -3886,6 +3886,11 @@ export interface SkillApplication {
3886
3886
  */
3887
3887
  parent: Skill_ID
3888
3888
 
3889
+ /**
3890
+ * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
3891
+ */
3892
+ src?: PublicationRefs
3893
+
3889
3894
  /**
3890
3895
  * All translations for the entry, identified by IETF language tag (BCP47).
3891
3896
  */
@@ -3906,98 +3911,6 @@ export interface SkillApplicationTranslation {
3906
3911
  name: string
3907
3912
  }
3908
3913
 
3909
- /**
3910
- * Indicates whether encumbrance gives a penalty for checks with the skill.
3911
- */
3912
- export type EncumbranceInfluence =
3913
- | {
3914
- kind: "Yes"
3915
- }
3916
- | {
3917
- kind: "No"
3918
- }
3919
- | {
3920
- kind: "Maybe"
3921
- }
3922
-
3923
- export type ImprovementCost =
3924
- | {
3925
- kind: "A"
3926
- }
3927
- | {
3928
- kind: "B"
3929
- }
3930
- | {
3931
- kind: "C"
3932
- }
3933
- | {
3934
- kind: "D"
3935
- }
3936
-
3937
- export interface SkillGroup {
3938
- /**
3939
- * The position of the skill group in lists. This has to be a unique value.
3940
- */
3941
- position: number
3942
-
3943
- /**
3944
- * The skill group’s skill check attributes
3945
- */
3946
- check: SkillCheck
3947
-
3948
- /**
3949
- * The display color of the skill group.
3950
- */
3951
- color: GradientColor
3952
-
3953
- /**
3954
- * All translations for the entry, identified by IETF language tag (BCP47).
3955
- */
3956
- translations: {
3957
- [localeId: string]: SkillGroupTranslation
3958
- }
3959
- }
3960
-
3961
- /**
3962
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
3963
- */
3964
- export type SkillGroup_ID = string
3965
-
3966
- export interface SkillGroupTranslation {
3967
- /**
3968
- * The skill group’s name.
3969
- */
3970
- name: string
3971
-
3972
- /**
3973
- * The skill group’s long name.
3974
- */
3975
- longName: string
3976
- }
3977
-
3978
- /**
3979
- * A display color for entries that have a certain color as a gradient in the header of their box in the official publications.
3980
- */
3981
- export type GradientColor =
3982
- | {
3983
- kind: "Gaia"
3984
- }
3985
- | {
3986
- kind: "LightHarvestGold"
3987
- }
3988
- | {
3989
- kind: "OldRed"
3990
- }
3991
- | {
3992
- kind: "SanMarino"
3993
- }
3994
- | {
3995
- kind: "TribalTeal"
3996
- }
3997
- | {
3998
- kind: "Verdigris"
3999
- }
4000
-
4001
3914
  /**
4002
3915
  * The publications where you can find the entry.
4003
3916
  */
@@ -4284,6 +4197,98 @@ export interface Deprecation {
4284
4197
  printing: number
4285
4198
  }
4286
4199
 
4200
+ /**
4201
+ * Indicates whether encumbrance gives a penalty for checks with the skill.
4202
+ */
4203
+ export type EncumbranceInfluence =
4204
+ | {
4205
+ kind: "Yes"
4206
+ }
4207
+ | {
4208
+ kind: "No"
4209
+ }
4210
+ | {
4211
+ kind: "Maybe"
4212
+ }
4213
+
4214
+ export type ImprovementCost =
4215
+ | {
4216
+ kind: "A"
4217
+ }
4218
+ | {
4219
+ kind: "B"
4220
+ }
4221
+ | {
4222
+ kind: "C"
4223
+ }
4224
+ | {
4225
+ kind: "D"
4226
+ }
4227
+
4228
+ export interface SkillGroup {
4229
+ /**
4230
+ * The position of the skill group in lists. This has to be a unique value.
4231
+ */
4232
+ position: number
4233
+
4234
+ /**
4235
+ * The skill group’s skill check attributes
4236
+ */
4237
+ check: SkillCheck
4238
+
4239
+ /**
4240
+ * The display color of the skill group.
4241
+ */
4242
+ color: GradientColor
4243
+
4244
+ /**
4245
+ * All translations for the entry, identified by IETF language tag (BCP47).
4246
+ */
4247
+ translations: {
4248
+ [localeId: string]: SkillGroupTranslation
4249
+ }
4250
+ }
4251
+
4252
+ /**
4253
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
4254
+ */
4255
+ export type SkillGroup_ID = string
4256
+
4257
+ export interface SkillGroupTranslation {
4258
+ /**
4259
+ * The skill group’s name.
4260
+ */
4261
+ name: string
4262
+
4263
+ /**
4264
+ * The skill group’s long name.
4265
+ */
4266
+ longName: string
4267
+ }
4268
+
4269
+ /**
4270
+ * A display color for entries that have a certain color as a gradient in the header of their box in the official publications.
4271
+ */
4272
+ export type GradientColor =
4273
+ | {
4274
+ kind: "Gaia"
4275
+ }
4276
+ | {
4277
+ kind: "LightHarvestGold"
4278
+ }
4279
+ | {
4280
+ kind: "OldRed"
4281
+ }
4282
+ | {
4283
+ kind: "SanMarino"
4284
+ }
4285
+ | {
4286
+ kind: "TribalTeal"
4287
+ }
4288
+ | {
4289
+ kind: "Verdigris"
4290
+ }
4291
+
4287
4292
  /**
4288
4293
  * A list of errata for the entry in the specific language.
4289
4294
  */
@@ -10613,6 +10618,11 @@ export interface ArcaneOrbEnchantmentTranslation {
10613
10618
  */
10614
10619
  effect: string
10615
10620
 
10621
+ /**
10622
+ * A note, appended to the generated cost string in parenthesis.
10623
+ */
10624
+ cost_note?: ResponsiveTextOptional
10625
+
10616
10626
  /**
10617
10627
  * The binding cost for an enchantment.
10618
10628
  * @deprecated
@@ -11310,6 +11320,11 @@ export interface AttireEnchantmentTranslation {
11310
11320
  */
11311
11321
  effect: string
11312
11322
 
11323
+ /**
11324
+ * A note, appended to the generated cost string in parenthesis.
11325
+ */
11326
+ cost_note?: ResponsiveTextOptional
11327
+
11313
11328
  /**
11314
11329
  * The binding cost for an enchantment.
11315
11330
  * @deprecated
@@ -11428,6 +11443,11 @@ export interface BeutelzauberTranslation {
11428
11443
  */
11429
11444
  effect: string
11430
11445
 
11446
+ /**
11447
+ * A note, appended to the generated cost string in parenthesis.
11448
+ */
11449
+ cost_note?: ResponsiveTextOptional
11450
+
11431
11451
  /**
11432
11452
  * The binding cost for an enchantment.
11433
11453
  * @deprecated
@@ -11546,6 +11566,11 @@ export interface BowlEnchantmentTranslation {
11546
11566
  */
11547
11567
  effect: string
11548
11568
 
11569
+ /**
11570
+ * A note, appended to the generated cost string in parenthesis.
11571
+ */
11572
+ cost_note?: ResponsiveTextOptional
11573
+
11549
11574
  /**
11550
11575
  * The binding cost for an enchantment.
11551
11576
  * @deprecated
@@ -12701,6 +12726,11 @@ export interface CauldronEnchantmentTranslation {
12701
12726
  */
12702
12727
  effect: string
12703
12728
 
12729
+ /**
12730
+ * A note, appended to the generated cost string in parenthesis.
12731
+ */
12732
+ cost_note?: ResponsiveTextOptional
12733
+
12704
12734
  /**
12705
12735
  * The binding cost for an enchantment.
12706
12736
  * @deprecated
@@ -12930,6 +12960,11 @@ export interface ChronicleEnchantmentTranslation {
12930
12960
  */
12931
12961
  effect: string
12932
12962
 
12963
+ /**
12964
+ * A note, appended to the generated cost string in parenthesis.
12965
+ */
12966
+ cost_note?: ResponsiveTextOptional
12967
+
12933
12968
  /**
12934
12969
  * The binding cost for an enchantment.
12935
12970
  * @deprecated
@@ -13938,6 +13973,11 @@ export interface DaggerRitualTranslation {
13938
13973
  */
13939
13974
  effect: string
13940
13975
 
13976
+ /**
13977
+ * A note, appended to the generated cost string in parenthesis.
13978
+ */
13979
+ cost_note?: ResponsiveTextOptional
13980
+
13941
13981
  /**
13942
13982
  * The binding cost for an enchantment.
13943
13983
  * @deprecated
@@ -14339,6 +14379,11 @@ export interface FoolsHatEnchantmentTranslation {
14339
14379
  */
14340
14380
  effect: string
14341
14381
 
14382
+ /**
14383
+ * A note, appended to the generated cost string in parenthesis.
14384
+ */
14385
+ cost_note?: ResponsiveTextOptional
14386
+
14342
14387
  /**
14343
14388
  * The binding cost for an enchantment.
14344
14389
  * @deprecated
@@ -14547,6 +14592,11 @@ export interface HaubenzauberTranslation {
14547
14592
  */
14548
14593
  effect: string
14549
14594
 
14595
+ /**
14596
+ * A note, appended to the generated cost string in parenthesis.
14597
+ */
14598
+ cost_note?: ResponsiveTextOptional
14599
+
14550
14600
  /**
14551
14601
  * The binding cost for an enchantment.
14552
14602
  * @deprecated
@@ -14665,6 +14715,11 @@ export interface InstrumentEnchantmentTranslation {
14665
14715
  */
14666
14716
  effect: string
14667
14717
 
14718
+ /**
14719
+ * A note, appended to the generated cost string in parenthesis.
14720
+ */
14721
+ cost_note?: ResponsiveTextOptional
14722
+
14668
14723
  /**
14669
14724
  * The binding cost for an enchantment.
14670
14725
  * @deprecated
@@ -14868,6 +14923,11 @@ export interface KrallenkettenzauberTranslation {
14868
14923
  */
14869
14924
  effect: string
14870
14925
 
14926
+ /**
14927
+ * A note, appended to the generated cost string in parenthesis.
14928
+ */
14929
+ cost_note?: ResponsiveTextOptional
14930
+
14871
14931
  /**
14872
14932
  * The binding cost for an enchantment.
14873
14933
  * @deprecated
@@ -14986,6 +15046,11 @@ export interface KristallkugelzauberTranslation {
14986
15046
  */
14987
15047
  effect: string
14988
15048
 
15049
+ /**
15050
+ * A note, appended to the generated cost string in parenthesis.
15051
+ */
15052
+ cost_note?: ResponsiveTextOptional
15053
+
14989
15054
  /**
14990
15055
  * The binding cost for an enchantment.
14991
15056
  * @deprecated
@@ -15548,6 +15613,11 @@ export interface OrbEnchantmentTranslation {
15548
15613
  */
15549
15614
  effect: string
15550
15615
 
15616
+ /**
15617
+ * A note, appended to the generated cost string in parenthesis.
15618
+ */
15619
+ cost_note?: ResponsiveTextOptional
15620
+
15551
15621
  /**
15552
15622
  * The binding cost for an enchantment.
15553
15623
  * @deprecated
@@ -15936,6 +16006,11 @@ export interface RingEnchantmentTranslation {
15936
16006
  */
15937
16007
  effect: string
15938
16008
 
16009
+ /**
16010
+ * A note, appended to the generated cost string in parenthesis.
16011
+ */
16012
+ cost_note?: ResponsiveTextOptional
16013
+
15939
16014
  /**
15940
16015
  * The binding cost for an enchantment.
15941
16016
  * @deprecated
@@ -16224,6 +16299,11 @@ export interface SickleRitualTranslation {
16224
16299
  */
16225
16300
  effect: string
16226
16301
 
16302
+ /**
16303
+ * A note, appended to the generated cost string in parenthesis.
16304
+ */
16305
+ cost_note?: ResponsiveTextOptional
16306
+
16227
16307
  /**
16228
16308
  * The binding cost for an enchantment.
16229
16309
  * @deprecated
@@ -16527,6 +16607,11 @@ export interface SpellSwordEnchantmentTranslation {
16527
16607
  */
16528
16608
  effect: string
16529
16609
 
16610
+ /**
16611
+ * A note, appended to the generated cost string in parenthesis.
16612
+ */
16613
+ cost_note?: ResponsiveTextOptional
16614
+
16530
16615
  /**
16531
16616
  * The binding cost for an enchantment.
16532
16617
  * @deprecated
@@ -16768,6 +16853,11 @@ export interface ToyEnchantmentTranslation {
16768
16853
  */
16769
16854
  effect: string
16770
16855
 
16856
+ /**
16857
+ * A note, appended to the generated cost string in parenthesis.
16858
+ */
16859
+ cost_note?: ResponsiveTextOptional
16860
+
16771
16861
  /**
16772
16862
  * The binding cost for an enchantment.
16773
16863
  * @deprecated
@@ -16886,6 +16976,11 @@ export interface TrinkhornzauberTranslation {
16886
16976
  */
16887
16977
  effect: string
16888
16978
 
16979
+ /**
16980
+ * A note, appended to the generated cost string in parenthesis.
16981
+ */
16982
+ cost_note?: ResponsiveTextOptional
16983
+
16889
16984
  /**
16890
16985
  * The binding cost for an enchantment.
16891
16986
  * @deprecated
@@ -17169,6 +17264,11 @@ export interface WandEnchantmentTranslation {
17169
17264
  */
17170
17265
  effect: string
17171
17266
 
17267
+ /**
17268
+ * A note, appended to the generated cost string in parenthesis.
17269
+ */
17270
+ cost_note?: ResponsiveTextOptional
17271
+
17172
17272
  /**
17173
17273
  * The binding cost for an enchantment.
17174
17274
  * @deprecated
@@ -17287,6 +17387,11 @@ export interface WeaponEnchantmentTranslation {
17287
17387
  */
17288
17388
  effect: string
17289
17389
 
17390
+ /**
17391
+ * A note, appended to the generated cost string in parenthesis.
17392
+ */
17393
+ cost_note?: ResponsiveTextOptional
17394
+
17290
17395
  /**
17291
17396
  * The binding cost for an enchantment.
17292
17397
  * @deprecated
@@ -18662,6 +18767,11 @@ export interface AnimistPower {
18662
18767
  */
18663
18768
  parameters: AnimistPowerPerformanceParameters
18664
18769
 
18770
+ /**
18771
+ * The target category – the kind of creature or object – the skill affects.
18772
+ */
18773
+ target?: AffectedTargetCategories
18774
+
18665
18775
  /**
18666
18776
  * The associated property.
18667
18777
  */
@@ -20558,24 +20668,24 @@ export interface RaceVariant {
20558
20668
  common_cultures?: Culture_ID[]
20559
20669
 
20560
20670
  /**
20561
- * A list of automatically applied advantages. This does only work for advantages with no further configuration such as level or special selection.
20671
+ * A list of automatically applied advantages.
20562
20672
  */
20563
20673
  automatic_advantages?: AutomaticAdvantageDisadvantage<Advantage_ID>[]
20564
20674
 
20565
20675
  /**
20566
- * A list of automatically applied disadvantages. This does only work for disadvantages with no further configuration such as level or special selection.
20676
+ * A list of automatically applied disadvantages.
20567
20677
  */
20568
20678
  automatic_disadvantages?: AutomaticAdvantageDisadvantage<Disadvantage_ID>[]
20569
20679
 
20570
20680
  /**
20571
20681
  * A list of strongly recommended advantages.
20572
20682
  */
20573
- strongly_recommended_advantages?: CommonnessRatedAdvantageDisadvantage<Advantage_ID>[]
20683
+ strongly_recommended_advantages?: AutomaticAdvantageDisadvantage<Advantage_ID>[]
20574
20684
 
20575
20685
  /**
20576
20686
  * A list of strongly recommended disadvantages.
20577
20687
  */
20578
- strongly_recommended_disadvantages?: CommonnessRatedAdvantageDisadvantage<Disadvantage_ID>[]
20688
+ strongly_recommended_disadvantages?: AutomaticAdvantageDisadvantage<Disadvantage_ID>[]
20579
20689
 
20580
20690
  /**
20581
20691
  * A list of common advantages.
@@ -20732,6 +20842,16 @@ export interface AutomaticAdvantageDisadvantage<Identifier> {
20732
20842
  * The automatic advantage or disadvantage.
20733
20843
  */
20734
20844
  id: Identifier
20845
+
20846
+ /**
20847
+ * The level of the entry.
20848
+ */
20849
+ level?: number
20850
+
20851
+ /**
20852
+ * Required select options. Order is important. Typically, you only need the first array index, though.
20853
+ */
20854
+ options?: RequirableSelectOptionIdentifier[]
20735
20855
  }
20736
20856
 
20737
20857
  export interface HairColor {
@@ -184,7 +184,7 @@ export const ProfessionPackage = DB.Entity(import.meta.url, {
184
184
  }),
185
185
  cantrips: DB.Optional({
186
186
  comment: "The cantrips the profession receives from the package.",
187
- type: DB.Array(CantripIdentifier(), { minItems: 1 }),
187
+ type: DB.Array(CantripIdentifier(), { minItems: 1, uniqueItems: true }),
188
188
  }),
189
189
  spells: DB.Optional({
190
190
  comment: "The skill ratings a magical profession receives for spells; these spells are considered activated. Spells from an unfamiliar Tradition, if any, are identified as such.",